@fecp/designer 5.5.119 → 5.5.121
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/designer/package.json.mjs +1 -1
- package/es/designer/src/packages/dataSource/index.vue.mjs +3 -3
- package/es/designer/src/packages/dialog/index.vue2.mjs +15 -15
- package/es/designer/src/packages/dialog/useDialogDialog.mjs +1 -1
- package/es/designer/src/packages/dialogGlobal/index.vue2.mjs +15 -16
- package/es/designer/src/packages/dialogGlobal/useDialogGlobalDialog.mjs +1 -1
- package/es/designer/src/packages/event/pageEvent.vue.mjs +1 -1
- package/es/designer/src/packages/form/index.vue.mjs +2 -2
- package/es/designer/src/packages/form/property/widgets.vue.mjs +2 -2
- package/es/designer.css +505 -415
- package/es/packages/mobile/index.mjs +2 -0
- package/es/packages/mobile/src/api/index.mjs +1 -1
- package/es/packages/mobile/src/assets/images/baseRate.png.mjs +1 -1
- package/es/packages/mobile/src/assets/images/home-bg.png.mjs +1 -1
- package/es/packages/mobile/src/assets/images/rentCalc.png.mjs +1 -1
- package/es/packages/mobile/src/assets/images/user.png.mjs +4 -0
- package/es/packages/mobile/src/components/all.mjs +2 -0
- package/es/packages/mobile/src/components/base/card/Card.vue.mjs +2 -2
- package/es/packages/mobile/src/components/custom/appDetail/AppDetail.vue.mjs +62 -44
- package/es/packages/mobile/src/components/custom/appTimeLine/AppTimeLine.vue.mjs +2 -2
- package/es/packages/mobile/src/components/custom/approvalBar/ApprovalBar.vue.mjs +128 -67
- package/es/packages/mobile/src/components/custom/approvalList/ApprovalList.vue.mjs +5 -5
- package/es/packages/mobile/src/components/custom/customCode/CustomCode.vue.mjs +60 -0
- package/es/packages/mobile/src/components/custom/customCode/index.mjs +10 -0
- package/es/packages/mobile/src/components/custom/document/Document.vue.mjs +2 -2
- package/es/packages/mobile/src/components/custom/userSelect/UserSelect.vue.mjs +2 -2
- package/es/packages/mobile/src/components/dataDisplay/cardList/CardList.vue.mjs +187 -7
- package/es/packages/mobile/src/components/dataDisplay/dataStat/DataStat.vue.mjs +2 -2
- package/es/packages/mobile/src/components/dataDisplay/mine/Mine.vue.mjs +33 -9
- package/es/packages/mobile/src/components/dataDisplay/rentCalcResult/RentCalcResult.vue.mjs +39 -79
- package/es/packages/mobile/src/components/feedback/quickFilter/QuickFilter.vue.mjs +10 -2
- package/es/packages/mobile/src/components/form/field/Field.vue.mjs +167 -32
- package/es/packages/mobile/src/components/form/fieldArea/FieldArea.vue.mjs +3 -2
- package/es/packages/mobile/src/components/form/fieldCalendarPicker/FieldCalendarPicker.vue.mjs +13 -15
- package/es/packages/mobile/src/components/form/fieldCascaderPicker/fieldCascaderPicker.vue.mjs +10 -10
- package/es/packages/mobile/src/components/form/fieldCheckbox/FieldCheckbox.vue.mjs +7 -23
- package/es/packages/mobile/src/components/form/fieldDatePicker/FieldDatePicker.vue.mjs +14 -26
- package/es/packages/mobile/src/components/form/fieldDateTimePicker/FieldDateTimePicker.vue.mjs +14 -15
- package/es/packages/mobile/src/components/form/fieldIndustry/FieldIndustry.vue.mjs +6 -19
- package/es/packages/mobile/src/components/form/fieldPicker/FieldPicker.vue.mjs +9 -25
- package/es/packages/mobile/src/components/form/fieldRadio/FieldRadio.vue.mjs +8 -24
- package/es/packages/mobile/src/components/form/search/Search.vue.mjs +15 -6
- package/es/packages/mobile/src/components/form/uploader/Uploader.vue.mjs +2 -2
- package/es/packages/mobile/src/components/navigation/tabbar/Tabbar.vue.mjs +9 -5
- package/es/packages/mobile/src/components/navigation/tabs/Tabs.vue.mjs +58 -25
- package/es/packages/mobile/src/index.vue.mjs +21 -4
- package/es/packages/mobile/src/page.vue.mjs +342 -138
- package/es/packages/mobile/src/utils/common.mjs +21 -0
- package/es/packages/mobile/src/utils/datasource.mjs +3 -3
- package/es/packages/mobile/src/utils/eventFlow/actionHandlers.mjs +35 -22
- package/es/packages/mobile/src/utils/formatterUtil.mjs +4 -24
- package/es/packages/mobile/src/utils/formulajs/calculate.mjs +11 -5
- package/es/packages/mobile/src/utils/optionUtil.mjs +3 -28
- package/es/packages/mobile/src/utils/pageHistory.mjs +16 -0
- package/es/packages/mobile/src/utils/validation.mjs +129 -0
- package/es/packages/vue/src/components/forms/number/Number.vue.mjs +3 -2
- package/es/packages/vue/src/components/table/TableColumn.vue.mjs +12 -8
- package/lib/designer/package.json.js +1 -1
- package/lib/designer/src/packages/dataSource/index.vue.js +3 -3
- package/lib/designer/src/packages/dialog/index.vue2.js +15 -15
- package/lib/designer/src/packages/dialog/useDialogDialog.js +1 -1
- package/lib/designer/src/packages/dialogGlobal/index.vue2.js +15 -16
- package/lib/designer/src/packages/dialogGlobal/useDialogGlobalDialog.js +1 -1
- package/lib/designer/src/packages/event/pageEvent.vue.js +1 -1
- package/lib/designer/src/packages/form/index.vue.js +2 -2
- package/lib/designer/src/packages/form/property/widgets.vue.js +2 -2
- package/lib/designer.css +505 -415
- package/lib/packages/mobile/index.js +4 -2
- package/lib/packages/mobile/src/api/index.js +1 -1
- package/lib/packages/mobile/src/assets/images/baseRate.png.js +1 -1
- package/lib/packages/mobile/src/assets/images/home-bg.png.js +1 -1
- package/lib/packages/mobile/src/assets/images/rentCalc.png.js +1 -1
- package/lib/packages/mobile/src/assets/images/user.png.js +4 -0
- package/lib/packages/mobile/src/components/all.js +2 -0
- package/lib/packages/mobile/src/components/base/card/Card.vue.js +2 -2
- package/lib/packages/mobile/src/components/custom/appDetail/AppDetail.vue.js +61 -43
- package/lib/packages/mobile/src/components/custom/appTimeLine/AppTimeLine.vue.js +2 -2
- package/lib/packages/mobile/src/components/custom/approvalBar/ApprovalBar.vue.js +131 -70
- package/lib/packages/mobile/src/components/custom/approvalList/ApprovalList.vue.js +5 -5
- package/lib/packages/mobile/src/components/custom/customCode/CustomCode.vue.js +60 -0
- package/lib/packages/mobile/src/components/custom/customCode/index.js +10 -0
- package/lib/packages/mobile/src/components/custom/document/Document.vue.js +2 -2
- package/lib/packages/mobile/src/components/custom/userSelect/UserSelect.vue.js +2 -2
- package/lib/packages/mobile/src/components/dataDisplay/cardList/CardList.vue.js +187 -7
- package/lib/packages/mobile/src/components/dataDisplay/dataStat/DataStat.vue.js +2 -2
- package/lib/packages/mobile/src/components/dataDisplay/mine/Mine.vue.js +38 -14
- package/lib/packages/mobile/src/components/dataDisplay/rentCalcResult/RentCalcResult.vue.js +39 -79
- package/lib/packages/mobile/src/components/feedback/quickFilter/QuickFilter.vue.js +10 -2
- package/lib/packages/mobile/src/components/form/field/Field.vue.js +165 -30
- package/lib/packages/mobile/src/components/form/fieldArea/FieldArea.vue.js +3 -2
- package/lib/packages/mobile/src/components/form/fieldCalendarPicker/FieldCalendarPicker.vue.js +13 -15
- package/lib/packages/mobile/src/components/form/fieldCascaderPicker/fieldCascaderPicker.vue.js +9 -9
- package/lib/packages/mobile/src/components/form/fieldCheckbox/FieldCheckbox.vue.js +6 -22
- package/lib/packages/mobile/src/components/form/fieldDatePicker/FieldDatePicker.vue.js +13 -25
- package/lib/packages/mobile/src/components/form/fieldDateTimePicker/FieldDateTimePicker.vue.js +13 -14
- package/lib/packages/mobile/src/components/form/fieldIndustry/FieldIndustry.vue.js +6 -19
- package/lib/packages/mobile/src/components/form/fieldPicker/FieldPicker.vue.js +8 -24
- package/lib/packages/mobile/src/components/form/fieldRadio/FieldRadio.vue.js +7 -23
- package/lib/packages/mobile/src/components/form/search/Search.vue.js +15 -6
- package/lib/packages/mobile/src/components/form/uploader/Uploader.vue.js +2 -2
- package/lib/packages/mobile/src/components/navigation/tabbar/Tabbar.vue.js +9 -5
- package/lib/packages/mobile/src/components/navigation/tabs/Tabs.vue.js +61 -28
- package/lib/packages/mobile/src/index.vue.js +20 -3
- package/lib/packages/mobile/src/page.vue.js +341 -137
- package/lib/packages/mobile/src/utils/common.js +21 -0
- package/lib/packages/mobile/src/utils/datasource.js +3 -3
- package/lib/packages/mobile/src/utils/eventFlow/actionHandlers.js +35 -22
- package/lib/packages/mobile/src/utils/formatterUtil.js +3 -23
- package/lib/packages/mobile/src/utils/formulajs/calculate.js +11 -5
- package/lib/packages/mobile/src/utils/optionUtil.js +2 -27
- package/lib/packages/mobile/src/utils/pageHistory.js +16 -0
- package/lib/packages/mobile/src/utils/validation.js +129 -0
- package/lib/packages/vue/src/components/forms/number/Number.vue.js +3 -2
- package/lib/packages/vue/src/components/table/TableColumn.vue.js +12 -8
- package/package.json +1 -1
|
@@ -68,7 +68,7 @@ class DataSourceManager {
|
|
|
68
68
|
if (this.sortRules && this.sortRules.length > 0) {
|
|
69
69
|
params.sortRules = JSON.stringify(this.sortRules);
|
|
70
70
|
}
|
|
71
|
-
return { ...this.initSearchData, ...params, ...extraParams };
|
|
71
|
+
return { ...this.initSearchData, ...params, ...extraParams, isMobile: true };
|
|
72
72
|
}
|
|
73
73
|
/**
|
|
74
74
|
* 根据内容类型处理请求数据
|
|
@@ -155,13 +155,13 @@ class DataSourceManager {
|
|
|
155
155
|
break;
|
|
156
156
|
case "post":
|
|
157
157
|
if (currentDs.contentType === "formData") {
|
|
158
|
-
response = await this.http.
|
|
158
|
+
response = await this.http.postFormMobile(url, params, false, false);
|
|
159
159
|
} else if (currentDs.contentType === "download") {
|
|
160
160
|
await this.http.download(url, params, false);
|
|
161
161
|
} else if (currentDs.contentType === "upload") {
|
|
162
162
|
response = await this.http.upload(url, params, false);
|
|
163
163
|
} else {
|
|
164
|
-
response = await this.http.
|
|
164
|
+
response = await this.http.postMobile(url, params, false);
|
|
165
165
|
}
|
|
166
166
|
break;
|
|
167
167
|
case "put":
|
|
@@ -10,9 +10,17 @@ import "../../../../../node_modules/element-plus/es/index.mjs";
|
|
|
10
10
|
/* empty css */
|
|
11
11
|
/* empty css */
|
|
12
12
|
import { ElMessageBox } from "../../../../../node_modules/element-plus/es/components/message-box/index.mjs";
|
|
13
|
+
import { showToast, showFailToast, showSuccessToast } from "../../../../../node_modules/vant/es/toast/function-call.mjs";
|
|
14
|
+
import "../../../../../node_modules/vant/es/toast/index.mjs";
|
|
15
|
+
import { showConfirmDialog, showDialog } from "../../../../../node_modules/vant/es/dialog/function-call.mjs";
|
|
16
|
+
import "../../../../../node_modules/vant/es/dialog/index.mjs";
|
|
13
17
|
async function handlePageJump(node, data, fields, context) {
|
|
18
|
+
var _a, _b, _c;
|
|
14
19
|
const basic = node.basic || {};
|
|
15
|
-
const
|
|
20
|
+
const formComponent = (_a = context.components) == null ? void 0 : _a.form;
|
|
21
|
+
const getFormDataMethod = (_c = (_b = formComponent == null ? void 0 : formComponent.$) == null ? void 0 : _b.exposed) == null ? void 0 : _c.getFormData;
|
|
22
|
+
let formData = getFormDataMethod();
|
|
23
|
+
const params = parseRouteParams(basic.routeParams, { ...formData, ...data }, fields);
|
|
16
24
|
if (basic.pageId) {
|
|
17
25
|
if (basic.canNotGoBack === true) {
|
|
18
26
|
emitter.emit("replaceLoadPage", { pageId: basic.pageId, params });
|
|
@@ -116,26 +124,19 @@ async function handleApiCall(node, data, fields, context, params) {
|
|
|
116
124
|
}
|
|
117
125
|
async function handleConfirm(node, data, fields, context) {
|
|
118
126
|
const basic = node.basic || {};
|
|
119
|
-
const config = {
|
|
120
|
-
messageType: basic.messageType || "warning",
|
|
121
|
-
title: basic.title || "确认操作",
|
|
122
|
-
message: basic.message || "确定要执行此操作吗?",
|
|
123
|
-
confirmText: basic.confirmText || "确定",
|
|
124
|
-
cancelText: basic.cancelText || "取消",
|
|
125
|
-
showCancel: basic.showCancel !== false,
|
|
126
|
-
confirmAction: basic.confirmAction || "continue",
|
|
127
|
-
cancelAction: basic.cancelAction || "stop"
|
|
128
|
-
};
|
|
129
127
|
try {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
128
|
+
if (basic.showCancel) {
|
|
129
|
+
await showConfirmDialog({
|
|
130
|
+
title: basic.title,
|
|
131
|
+
message: basic.message
|
|
132
|
+
});
|
|
133
|
+
} else {
|
|
134
|
+
await showDialog({
|
|
135
|
+
title: basic.title,
|
|
136
|
+
message: basic.message
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
if (basic.confirmAction === "stop") {
|
|
139
140
|
return {
|
|
140
141
|
success: false,
|
|
141
142
|
message: "用户确认后停止执行",
|
|
@@ -170,8 +171,20 @@ async function handleMessage(node, data, fields, context) {
|
|
|
170
171
|
};
|
|
171
172
|
}
|
|
172
173
|
if (node.basic) {
|
|
173
|
-
node.basic.messageType || "info";
|
|
174
|
-
node.basic.message || "操作成功";
|
|
174
|
+
const messageType = node.basic.messageType || "info";
|
|
175
|
+
const message = node.basic.message || "操作成功";
|
|
176
|
+
switch (messageType) {
|
|
177
|
+
case "success":
|
|
178
|
+
showSuccessToast(message);
|
|
179
|
+
break;
|
|
180
|
+
case "error":
|
|
181
|
+
showFailToast(message);
|
|
182
|
+
break;
|
|
183
|
+
case "info":
|
|
184
|
+
default:
|
|
185
|
+
showToast(message);
|
|
186
|
+
break;
|
|
187
|
+
}
|
|
175
188
|
}
|
|
176
189
|
return {
|
|
177
190
|
success: true,
|
|
@@ -45,7 +45,6 @@ const dateFormatter = (value, dateType, formatterType) => {
|
|
|
45
45
|
return dateValue.format(textFormat);
|
|
46
46
|
};
|
|
47
47
|
const textFormatter = (value, dataFormatter) => {
|
|
48
|
-
console.log("🚀 ~ textFormatter ~ dataFormatter:", dataFormatter);
|
|
49
48
|
switch (dataFormatter) {
|
|
50
49
|
case "money(yuan)":
|
|
51
50
|
case "money(wanyuan)":
|
|
@@ -72,6 +71,9 @@ const textFormatter = (value, dataFormatter) => {
|
|
|
72
71
|
}
|
|
73
72
|
};
|
|
74
73
|
const moneyFormatter = (value, dataFormatter) => {
|
|
74
|
+
if (!value) {
|
|
75
|
+
return value;
|
|
76
|
+
}
|
|
75
77
|
let moneyValue;
|
|
76
78
|
switch (dataFormatter) {
|
|
77
79
|
case "money(yuan)":
|
|
@@ -89,27 +91,6 @@ const moneyFormatter = (value, dataFormatter) => {
|
|
|
89
91
|
}
|
|
90
92
|
return XEUtils.commafy(moneyValue, { digits: 2 });
|
|
91
93
|
};
|
|
92
|
-
const textFormatter4Input = (value, dataFormatter) => {
|
|
93
|
-
if (!value) {
|
|
94
|
-
return value;
|
|
95
|
-
}
|
|
96
|
-
switch (dataFormatter) {
|
|
97
|
-
case "money(yuan)":
|
|
98
|
-
case "money(wanyuan)":
|
|
99
|
-
case "money(yi)":
|
|
100
|
-
return XEUtils.toNumberString(XEUtils.toNumber(value)).replace(
|
|
101
|
-
/\B(?=(\d{3})+(?!\d))/g,
|
|
102
|
-
","
|
|
103
|
-
);
|
|
104
|
-
case "bankCard":
|
|
105
|
-
return XEUtils.toValueString(value.replace(/\s+/g, "")).replace(
|
|
106
|
-
/\B(?=(\d{4})+(?!\d))/g,
|
|
107
|
-
" "
|
|
108
|
-
);
|
|
109
|
-
default:
|
|
110
|
-
return value;
|
|
111
|
-
}
|
|
112
|
-
};
|
|
113
94
|
const reverseTextFormatter = (value, dataFormatter) => {
|
|
114
95
|
if (!value) {
|
|
115
96
|
return value;
|
|
@@ -180,6 +161,5 @@ export {
|
|
|
180
161
|
reverseMoneyFormatter,
|
|
181
162
|
reverseTextFormatter,
|
|
182
163
|
selectFormatter,
|
|
183
|
-
textFormatter
|
|
184
|
-
textFormatter4Input
|
|
164
|
+
textFormatter
|
|
185
165
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import functionCore from "./functionCore.mjs";
|
|
2
|
+
import XEUtils from "xe-utils";
|
|
2
3
|
import "vue";
|
|
3
4
|
function calculate(params) {
|
|
4
5
|
const { text, value = {}, fieldsList = [] } = params;
|
|
@@ -26,11 +27,16 @@ function calculate(params) {
|
|
|
26
27
|
const fieldItem = fieldsList.find((item) => item.fieldName == enCode);
|
|
27
28
|
if (fieldItem) {
|
|
28
29
|
switch (fieldItem.fieldType) {
|
|
29
|
-
case "
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
case "text":
|
|
31
|
+
switch (fieldItem.dataFormatter) {
|
|
32
|
+
case "money(yuan)":
|
|
33
|
+
case "money(wanyuan)":
|
|
34
|
+
case "money(yi)":
|
|
35
|
+
case "percent":
|
|
36
|
+
case "thousand":
|
|
37
|
+
case "tenThousand":
|
|
38
|
+
data = XEUtils.toNumber(data);
|
|
39
|
+
break;
|
|
34
40
|
}
|
|
35
41
|
break;
|
|
36
42
|
case "switch":
|
|
@@ -25,7 +25,7 @@ const getOptions = ({
|
|
|
25
25
|
resolve([]);
|
|
26
26
|
break;
|
|
27
27
|
}
|
|
28
|
-
const response = await ctx.$http.
|
|
28
|
+
const response = await ctx.$http.postFormMobile(
|
|
29
29
|
"/base-server/parm/sysParmDic/getDicListByKey",
|
|
30
30
|
{
|
|
31
31
|
keyName: dictionaryValue
|
|
@@ -76,33 +76,9 @@ const getOptions = ({
|
|
|
76
76
|
}
|
|
77
77
|
});
|
|
78
78
|
};
|
|
79
|
-
const getTreeOptions = ({
|
|
80
|
-
optionType,
|
|
81
|
-
dataSource,
|
|
82
|
-
dataSourceParams,
|
|
83
|
-
staticOptions,
|
|
84
|
-
optionsFieldNames
|
|
85
|
-
}) => {
|
|
86
|
-
return new Promise((resolve, reject) => {
|
|
87
|
-
switch (optionType) {
|
|
88
|
-
case "static":
|
|
89
|
-
resolve(staticOptions);
|
|
90
|
-
case "library":
|
|
91
|
-
const dataSourceRef = useDataSource(dataSource);
|
|
92
|
-
dataSourceRef == null ? void 0 : dataSourceRef.load(dataSourceParams || {}).then((res) => {
|
|
93
|
-
var _a;
|
|
94
|
-
const data = ((_a = res == null ? void 0 : res.data) == null ? void 0 : _a.records) || (res == null ? void 0 : res.data) || res || [];
|
|
95
|
-
resolve(data);
|
|
96
|
-
}).catch((err) => {
|
|
97
|
-
console.error(err);
|
|
98
|
-
});
|
|
99
|
-
break;
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
};
|
|
103
79
|
const getParmDicMapByKeys = async (dicKeys) => {
|
|
104
80
|
const http = useHttp();
|
|
105
|
-
const res = await http.
|
|
81
|
+
const res = await http.postFormMobile(
|
|
106
82
|
`${baseUrl}/parm/sysParmDic/getDicListByKey`,
|
|
107
83
|
{
|
|
108
84
|
keyName: dicKeys
|
|
@@ -112,6 +88,5 @@ const getParmDicMapByKeys = async (dicKeys) => {
|
|
|
112
88
|
};
|
|
113
89
|
export {
|
|
114
90
|
getOptions,
|
|
115
|
-
getParmDicMapByKeys
|
|
116
|
-
getTreeOptions
|
|
91
|
+
getParmDicMapByKeys
|
|
117
92
|
};
|
|
@@ -39,6 +39,7 @@ class PageHistory {
|
|
|
39
39
|
if (this.history.length > 0 && this.history[this.history.length - 1].id == page.id) {
|
|
40
40
|
return;
|
|
41
41
|
}
|
|
42
|
+
this.setWmpTitle(page.name);
|
|
42
43
|
this.history.push({
|
|
43
44
|
id: page.id,
|
|
44
45
|
name: page.name || "",
|
|
@@ -59,6 +60,7 @@ class PageHistory {
|
|
|
59
60
|
this.push(page);
|
|
60
61
|
return;
|
|
61
62
|
}
|
|
63
|
+
this.setWmpTitle(page.name);
|
|
62
64
|
this.history[this.history.length - 1] = {
|
|
63
65
|
id: page.id,
|
|
64
66
|
name: page.name || "",
|
|
@@ -81,6 +83,7 @@ class PageHistory {
|
|
|
81
83
|
const pageId = prevPage ? prevPage.id : null;
|
|
82
84
|
const params = prevPage ? prevPage.params : null;
|
|
83
85
|
if (pageId) {
|
|
86
|
+
this.setWmpTitle(prevPage.name);
|
|
84
87
|
emitter.emit("loadPage", { pageId, params });
|
|
85
88
|
}
|
|
86
89
|
}
|
|
@@ -115,6 +118,19 @@ class PageHistory {
|
|
|
115
118
|
this.history = [];
|
|
116
119
|
this.saveHistory();
|
|
117
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* 设置微信小程序标题
|
|
123
|
+
*/
|
|
124
|
+
setWmpTitle(title) {
|
|
125
|
+
if (window.wx && wx.miniProgram) {
|
|
126
|
+
wx.miniProgram.postMessage({
|
|
127
|
+
data: {
|
|
128
|
+
type: "setTitle",
|
|
129
|
+
title
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
}
|
|
118
134
|
}
|
|
119
135
|
const pageHistory = new PageHistory();
|
|
120
136
|
export {
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { checkFilterMatch } from "./parseFilterConfig.mjs";
|
|
2
|
+
const VALIDATION_RULES = {
|
|
3
|
+
// 身份证
|
|
4
|
+
idCard: {
|
|
5
|
+
pattern: /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
|
|
6
|
+
message: "请输入正确的身份证号码"
|
|
7
|
+
},
|
|
8
|
+
// 统一社会信用代码
|
|
9
|
+
creditCode: {
|
|
10
|
+
pattern: /^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/,
|
|
11
|
+
message: "请输入正确的统一社会信用代码"
|
|
12
|
+
},
|
|
13
|
+
// 邮编
|
|
14
|
+
zipCode: {
|
|
15
|
+
pattern: /^[1-9]\d{5}$/,
|
|
16
|
+
message: "请输入正确的邮政编码"
|
|
17
|
+
},
|
|
18
|
+
// 传真
|
|
19
|
+
fax: {
|
|
20
|
+
pattern: /^\d{3,4}-?\d{7,8}$/,
|
|
21
|
+
message: "请输入正确的传真号码"
|
|
22
|
+
},
|
|
23
|
+
// 银行卡号
|
|
24
|
+
bankCard: {
|
|
25
|
+
pattern: /^[1-9]\d{15,18}$/,
|
|
26
|
+
message: "请输入正确的银行卡号"
|
|
27
|
+
},
|
|
28
|
+
// 邮箱
|
|
29
|
+
email: {
|
|
30
|
+
pattern: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/,
|
|
31
|
+
message: "请输入正确的邮箱地址"
|
|
32
|
+
},
|
|
33
|
+
// 手机
|
|
34
|
+
mobile: {
|
|
35
|
+
pattern: /^1[3-9]\d{9}$/,
|
|
36
|
+
message: "请输入正确的手机号码"
|
|
37
|
+
},
|
|
38
|
+
// 座机
|
|
39
|
+
phone: {
|
|
40
|
+
pattern: /^0\d{2,3}-?\d{7,8}$/,
|
|
41
|
+
message: "请输入正确的座机号码"
|
|
42
|
+
},
|
|
43
|
+
// 手机+座机
|
|
44
|
+
mobilePhone: {
|
|
45
|
+
pattern: /^(1[3-9]\d{9})|(0\d{2,3}-?\d{7,8})$/,
|
|
46
|
+
message: "请输入正确的联系电话"
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
function generateFieldRules(component, formData, fields) {
|
|
50
|
+
const rules = [];
|
|
51
|
+
if (!component.fieldName) {
|
|
52
|
+
return rules;
|
|
53
|
+
}
|
|
54
|
+
if (component.required) {
|
|
55
|
+
rules.push({
|
|
56
|
+
required: true,
|
|
57
|
+
message: component.requiredMessage || `请录入${component.label}`,
|
|
58
|
+
trigger: "blur"
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
if (component.validationType && component.validationType !== "none") {
|
|
62
|
+
if (component.validationType === "regex" && component.validationPattern) {
|
|
63
|
+
try {
|
|
64
|
+
const validator = (_rule, _value, callback) => {
|
|
65
|
+
try {
|
|
66
|
+
const isMatch = checkFilterMatch(component.validationPattern, formData.value, fields);
|
|
67
|
+
if (!isMatch) {
|
|
68
|
+
callback(new Error(component.validationMessage || "校验失败"));
|
|
69
|
+
} else {
|
|
70
|
+
callback();
|
|
71
|
+
}
|
|
72
|
+
} catch (error) {
|
|
73
|
+
console.error("Validation function error:", error);
|
|
74
|
+
callback(new Error(component.validationMessage || "校验函数执行出错"));
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
rules.push({
|
|
78
|
+
validator,
|
|
79
|
+
trigger: "change"
|
|
80
|
+
});
|
|
81
|
+
} catch (e) {
|
|
82
|
+
console.error("Invalid validation pattern:", component.validationPattern, e);
|
|
83
|
+
}
|
|
84
|
+
} else if (component.validationType === "custom" && component.customValidator) {
|
|
85
|
+
try {
|
|
86
|
+
const validator = createCustomValidator(component.customValidator);
|
|
87
|
+
if (validator) {
|
|
88
|
+
rules.push({
|
|
89
|
+
validator,
|
|
90
|
+
trigger: "blur"
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
} catch (e) {
|
|
94
|
+
console.error("Invalid custom validator:", e);
|
|
95
|
+
}
|
|
96
|
+
} else if (VALIDATION_RULES[component.validationType]) {
|
|
97
|
+
const rule = VALIDATION_RULES[component.validationType];
|
|
98
|
+
rules.push({
|
|
99
|
+
pattern: rule.pattern,
|
|
100
|
+
message: component.validationMessage || rule.message,
|
|
101
|
+
trigger: "blur"
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return rules;
|
|
106
|
+
}
|
|
107
|
+
function createCustomValidator(validatorStr) {
|
|
108
|
+
if (!validatorStr || typeof validatorStr !== "string") {
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
try {
|
|
112
|
+
const validator = new Function("return " + validatorStr)();
|
|
113
|
+
if (typeof validator === "function") {
|
|
114
|
+
return (rule, value, callback) => {
|
|
115
|
+
try {
|
|
116
|
+
validator(rule, value, callback);
|
|
117
|
+
} catch (error) {
|
|
118
|
+
callback(new Error("校验函数执行出错: " + error.message));
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
} catch (e) {
|
|
123
|
+
console.error("Failed to create validator from string:", e);
|
|
124
|
+
}
|
|
125
|
+
return null;
|
|
126
|
+
}
|
|
127
|
+
export {
|
|
128
|
+
generateFieldRules
|
|
129
|
+
};
|
|
@@ -195,7 +195,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
|
|
|
195
195
|
if (showThousandsSeparator.value) {
|
|
196
196
|
value = formatNumberWithComma(value);
|
|
197
197
|
}
|
|
198
|
-
return value;
|
|
198
|
+
return (value == null ? void 0 : value.toString()) || "";
|
|
199
199
|
};
|
|
200
200
|
const showThousandsSeparator = computed(() => {
|
|
201
201
|
return props.format == "yuan" || props.format == "wan" || props.format == "million";
|
|
@@ -449,6 +449,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
|
|
|
449
449
|
disabled: __props.disabled,
|
|
450
450
|
readonly: __props.readonly,
|
|
451
451
|
formatter,
|
|
452
|
+
maxlength: 15,
|
|
452
453
|
parser,
|
|
453
454
|
onBlur: handleBlur,
|
|
454
455
|
onInput: handleInput
|
|
@@ -504,7 +505,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
|
|
|
504
505
|
};
|
|
505
506
|
}
|
|
506
507
|
});
|
|
507
|
-
const _Number = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
508
|
+
const _Number = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-93ac5b02"]]);
|
|
508
509
|
export {
|
|
509
510
|
_Number as default
|
|
510
511
|
};
|
|
@@ -38,7 +38,8 @@ const _hoisted_2 = {
|
|
|
38
38
|
key: 0,
|
|
39
39
|
class: "prefix-content"
|
|
40
40
|
};
|
|
41
|
-
const _hoisted_3 =
|
|
41
|
+
const _hoisted_3 = ["title"];
|
|
42
|
+
const _hoisted_4 = {
|
|
42
43
|
key: 3,
|
|
43
44
|
class: "suffix-content"
|
|
44
45
|
};
|
|
@@ -271,7 +272,7 @@ const _sfc_main = {
|
|
|
271
272
|
resizable: false,
|
|
272
273
|
"show-header-overflow": "",
|
|
273
274
|
"show-footer-overflow": "",
|
|
274
|
-
"show-overflow":
|
|
275
|
+
"show-overflow": false,
|
|
275
276
|
"header-class-name": field.sortRule == "server" ? "serverSort" : ""
|
|
276
277
|
}, {
|
|
277
278
|
default: withCtx(({ row }) => [
|
|
@@ -282,18 +283,21 @@ const _sfc_main = {
|
|
|
282
283
|
field.prefix ? (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(field.prefix), 1)) : createCommentVNode("", true),
|
|
283
284
|
field.isLink ? (openBlock(), createBlock(_component_el_link, {
|
|
284
285
|
key: 1,
|
|
286
|
+
class: "cell-link",
|
|
285
287
|
type: "primary",
|
|
286
288
|
underline: "never",
|
|
289
|
+
title: __props.formatCellValue(row, field),
|
|
287
290
|
onClick: ($event) => handleButtonClick(row, field, field.linkConfig)
|
|
288
291
|
}, {
|
|
289
292
|
default: withCtx(() => [
|
|
290
293
|
createTextVNode(toDisplayString(__props.formatCellValue(row, field)), 1)
|
|
291
294
|
]),
|
|
292
295
|
_: 2
|
|
293
|
-
}, 1032, ["onClick"])) : (openBlock(), createElementBlock(
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
296
|
+
}, 1032, ["title", "onClick"])) : (openBlock(), createElementBlock("span", {
|
|
297
|
+
key: 2,
|
|
298
|
+
title: __props.formatCellValue(row, field)
|
|
299
|
+
}, toDisplayString(__props.formatCellValue(row, field)), 9, _hoisted_3)),
|
|
300
|
+
field.suffix ? (openBlock(), createElementBlock("span", _hoisted_4, toDisplayString(field.suffix), 1)) : createCommentVNode("", true),
|
|
297
301
|
field.canCopy ? (openBlock(), createBlock(_component_el_icon, {
|
|
298
302
|
key: 4,
|
|
299
303
|
class: "copy-icon",
|
|
@@ -307,7 +311,7 @@ const _sfc_main = {
|
|
|
307
311
|
], true)
|
|
308
312
|
]),
|
|
309
313
|
_: 2
|
|
310
|
-
}, 1032, ["field", "title", "width", "min-width", "fixed", "align", "header-align", "sortable", "
|
|
314
|
+
}, 1032, ["field", "title", "width", "min-width", "fixed", "align", "header-align", "sortable", "header-class-name"]);
|
|
311
315
|
}), 128)),
|
|
312
316
|
!__props.readonly && shouldShowOptColumn.value ? (openBlock(), createBlock(unref(VxeColumn), {
|
|
313
317
|
key: 3,
|
|
@@ -339,7 +343,7 @@ const _sfc_main = {
|
|
|
339
343
|
};
|
|
340
344
|
}
|
|
341
345
|
};
|
|
342
|
-
const TableColumn = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
346
|
+
const TableColumn = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-7b218935"]]);
|
|
343
347
|
export {
|
|
344
348
|
TableColumn as default
|
|
345
349
|
};
|
|
@@ -57,9 +57,9 @@ const _sfc_main = {
|
|
|
57
57
|
selectedDataSources.value = common.cloneDeep(common.getEditConfigDataSources());
|
|
58
58
|
if (selectedDataSources.value.length > 0 && activeDataSourceIndex.value === -1) {
|
|
59
59
|
activeDataSourceIndex.value = 0;
|
|
60
|
-
} else {
|
|
61
|
-
activeDataSourceIndex.value = -1;
|
|
62
60
|
}
|
|
61
|
+
} else {
|
|
62
|
+
activeDataSourceIndex.value = -1;
|
|
63
63
|
}
|
|
64
64
|
});
|
|
65
65
|
const isEditingNew = Vue.ref(false);
|
|
@@ -296,5 +296,5 @@ const _sfc_main = {
|
|
|
296
296
|
};
|
|
297
297
|
}
|
|
298
298
|
};
|
|
299
|
-
const DataSourceDialog = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-
|
|
299
|
+
const DataSourceDialog = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-c3412ba0"]]);
|
|
300
300
|
exports.default = DataSourceDialog;
|
|
@@ -1,20 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
-
|
|
4
|
-
const index$9 = require("../../../../node_modules/element-plus/es/components/form/index.js");
|
|
5
|
-
const index$5 = require("../../../../node_modules/element-plus/es/components/input/index.js");
|
|
6
|
-
const index$8 = require("../../../../node_modules/element-plus/es/components/scrollbar/index.js");
|
|
7
|
-
const index$3 = require("../../../../node_modules/element-plus/es/components/button/index.js");
|
|
8
|
-
const index$b = require("../../../../node_modules/element-plus/es/components/select/index.js");
|
|
9
|
-
const index$e = require("../../../../node_modules/element-plus/es/components/checkbox/index.js");
|
|
10
|
-
const index$a = require("../../../../node_modules/element-plus/es/components/radio/index.js");
|
|
11
|
-
const index$2 = require("../../../../node_modules/element-plus/es/components/container/index.js");
|
|
12
|
-
const index$1 = require("../../../../node_modules/element-plus/es/components/dialog/index.js");
|
|
13
|
-
const index$6 = require("../../../../node_modules/element-plus/es/components/link/index.js");
|
|
14
|
-
const index$d = require("../../../../node_modules/element-plus/es/components/switch/index.js");
|
|
15
|
-
const index$f = require("../../../../node_modules/element-plus/es/components/message/index.js");
|
|
16
|
-
const index$c = require("../../../../node_modules/element-plus/es/components/popover/index.js");
|
|
17
|
-
require("../../../../_virtual/dayjs.min.js");
|
|
3
|
+
require("../../../../node_modules/element-plus/es/index.js");
|
|
18
4
|
;/* empty css */
|
|
19
5
|
;/* empty css */
|
|
20
6
|
;/* empty css */
|
|
@@ -58,6 +44,20 @@ const widgets = require("../table/property/widgets.vue.js");
|
|
|
58
44
|
;/* empty css */
|
|
59
45
|
;/* empty css */
|
|
60
46
|
const _pluginVue_exportHelper = require("../../../../_virtual/_plugin-vue_export-helper.js");
|
|
47
|
+
const index$1 = require("../../../../node_modules/element-plus/es/components/dialog/index.js");
|
|
48
|
+
const index$2 = require("../../../../node_modules/element-plus/es/components/container/index.js");
|
|
49
|
+
const index$3 = require("../../../../node_modules/element-plus/es/components/button/index.js");
|
|
50
|
+
const index$5 = require("../../../../node_modules/element-plus/es/components/input/index.js");
|
|
51
|
+
const index$6 = require("../../../../node_modules/element-plus/es/components/link/index.js");
|
|
52
|
+
const index$7 = require("../../../../node_modules/element-plus/es/components/icon/index.js");
|
|
53
|
+
const index$8 = require("../../../../node_modules/element-plus/es/components/scrollbar/index.js");
|
|
54
|
+
const index$9 = require("../../../../node_modules/element-plus/es/components/form/index.js");
|
|
55
|
+
const index$a = require("../../../../node_modules/element-plus/es/components/radio/index.js");
|
|
56
|
+
const index$b = require("../../../../node_modules/element-plus/es/components/select/index.js");
|
|
57
|
+
const index$c = require("../../../../node_modules/element-plus/es/components/popover/index.js");
|
|
58
|
+
const index$d = require("../../../../node_modules/element-plus/es/components/switch/index.js");
|
|
59
|
+
const index$e = require("../../../../node_modules/element-plus/es/components/checkbox/index.js");
|
|
60
|
+
const index$f = require("../../../../node_modules/element-plus/es/components/message/index.js");
|
|
61
61
|
const _hoisted_1 = { key: 0 };
|
|
62
62
|
const _hoisted_2 = { class: "dialog-menu-item is-editing" };
|
|
63
63
|
const _hoisted_3 = { class: "new-item-content" };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const index = require("./index.
|
|
3
|
+
const index = require("./index.vue2.js");
|
|
4
4
|
const Vue = require("vue");
|
|
5
5
|
function useDialogDialog() {
|
|
6
6
|
const dialogDialogVisible = Vue.ref(false);
|
|
@@ -1,20 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
-
|
|
4
|
-
const index$a = require("../../../../node_modules/element-plus/es/components/form/index.js");
|
|
5
|
-
const index$7 = require("../../../../node_modules/element-plus/es/components/input/index.js");
|
|
6
|
-
const index$9 = require("../../../../node_modules/element-plus/es/components/scrollbar/index.js");
|
|
7
|
-
const index$6 = require("../../../../node_modules/element-plus/es/components/button/index.js");
|
|
8
|
-
const index$c = require("../../../../node_modules/element-plus/es/components/select/index.js");
|
|
9
|
-
const index$f = require("../../../../node_modules/element-plus/es/components/checkbox/index.js");
|
|
10
|
-
const index$b = require("../../../../node_modules/element-plus/es/components/radio/index.js");
|
|
11
|
-
const index$3 = require("../../../../node_modules/element-plus/es/components/container/index.js");
|
|
12
|
-
const index$2 = require("../../../../node_modules/element-plus/es/components/dialog/index.js");
|
|
13
|
-
const index$8 = require("../../../../node_modules/element-plus/es/components/link/index.js");
|
|
14
|
-
const index$e = require("../../../../node_modules/element-plus/es/components/switch/index.js");
|
|
15
|
-
const index$1 = require("../../../../node_modules/element-plus/es/components/message/index.js");
|
|
16
|
-
const index$d = require("../../../../node_modules/element-plus/es/components/popover/index.js");
|
|
17
|
-
require("../../../../_virtual/dayjs.min.js");
|
|
3
|
+
require("../../../../node_modules/element-plus/es/index.js");
|
|
18
4
|
;/* empty css */
|
|
19
5
|
;/* empty css */
|
|
20
6
|
;/* empty css */
|
|
@@ -57,7 +43,6 @@ const _pluginVue_exportHelper = require("../../../../_virtual/_plugin-vue_export
|
|
|
57
43
|
require("../../../../node_modules/element-plus/theme-chalk/el-tooltip.css.js");
|
|
58
44
|
;/* empty css */
|
|
59
45
|
;/* empty css */
|
|
60
|
-
require("element-plus");
|
|
61
46
|
;/* empty css */
|
|
62
47
|
;/* empty css */
|
|
63
48
|
;/* empty css */
|
|
@@ -118,6 +103,20 @@ require("../../../../node_modules/element-plus/theme-chalk/el-date-picker.css.js
|
|
|
118
103
|
;/* empty css */
|
|
119
104
|
;/* empty css */
|
|
120
105
|
;/* empty css */
|
|
106
|
+
const index$1 = require("../../../../node_modules/element-plus/es/components/message/index.js");
|
|
107
|
+
const index$2 = require("../../../../node_modules/element-plus/es/components/dialog/index.js");
|
|
108
|
+
const index$3 = require("../../../../node_modules/element-plus/es/components/container/index.js");
|
|
109
|
+
const index$4 = require("../../../../node_modules/element-plus/es/components/icon/index.js");
|
|
110
|
+
const index$6 = require("../../../../node_modules/element-plus/es/components/button/index.js");
|
|
111
|
+
const index$7 = require("../../../../node_modules/element-plus/es/components/input/index.js");
|
|
112
|
+
const index$8 = require("../../../../node_modules/element-plus/es/components/link/index.js");
|
|
113
|
+
const index$9 = require("../../../../node_modules/element-plus/es/components/scrollbar/index.js");
|
|
114
|
+
const index$a = require("../../../../node_modules/element-plus/es/components/form/index.js");
|
|
115
|
+
const index$b = require("../../../../node_modules/element-plus/es/components/radio/index.js");
|
|
116
|
+
const index$c = require("../../../../node_modules/element-plus/es/components/select/index.js");
|
|
117
|
+
const index$d = require("../../../../node_modules/element-plus/es/components/popover/index.js");
|
|
118
|
+
const index$e = require("../../../../node_modules/element-plus/es/components/switch/index.js");
|
|
119
|
+
const index$f = require("../../../../node_modules/element-plus/es/components/checkbox/index.js");
|
|
121
120
|
const _hoisted_1 = {
|
|
122
121
|
key: 0,
|
|
123
122
|
class: "loading-overlay"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const index = require("./index.
|
|
3
|
+
const index = require("./index.vue2.js");
|
|
4
4
|
const Vue = require("vue");
|
|
5
5
|
function useDialogGlobalDialog() {
|
|
6
6
|
const dialogGlobalDialogVisible = Vue.ref(false);
|
|
@@ -270,5 +270,5 @@ const _sfc_main = {
|
|
|
270
270
|
};
|
|
271
271
|
}
|
|
272
272
|
};
|
|
273
|
-
const PageEvent = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-
|
|
273
|
+
const PageEvent = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-8521b37c"]]);
|
|
274
274
|
exports.default = PageEvent;
|