@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
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const Vue = require("vue");
|
|
4
|
+
const VueRender = require("../../../utils/idea/VueRender.vue.js");
|
|
5
|
+
;/* empty css */
|
|
6
|
+
const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.js");
|
|
7
|
+
const _sfc_main = {
|
|
8
|
+
__name: "CustomCode",
|
|
9
|
+
props: {
|
|
10
|
+
params: {
|
|
11
|
+
type: Object,
|
|
12
|
+
default: {}
|
|
13
|
+
},
|
|
14
|
+
vueTemplate: {
|
|
15
|
+
type: String,
|
|
16
|
+
default: ""
|
|
17
|
+
},
|
|
18
|
+
autoHeight: {
|
|
19
|
+
type: Boolean,
|
|
20
|
+
default: false
|
|
21
|
+
},
|
|
22
|
+
vueTemplateFunctionMapping: {
|
|
23
|
+
type: Array,
|
|
24
|
+
default: []
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
setup(__props) {
|
|
28
|
+
const props = __props;
|
|
29
|
+
const handleEvent = Vue.inject("handleEvent");
|
|
30
|
+
Vue.inject("formData");
|
|
31
|
+
function eventHandler(funcName, rowData) {
|
|
32
|
+
var _a, _b;
|
|
33
|
+
const func = props.vueTemplateFunctionMapping.find(
|
|
34
|
+
(item) => item.func == funcName
|
|
35
|
+
);
|
|
36
|
+
if (func && func.eventConfig) {
|
|
37
|
+
(_b = handleEvent.value) == null ? void 0 : _b.call(
|
|
38
|
+
handleEvent,
|
|
39
|
+
rowData,
|
|
40
|
+
func,
|
|
41
|
+
(_a = func.eventConfig) == null ? void 0 : _a.find((item) => item.name == "Click")
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
Vue.onMounted(() => {
|
|
46
|
+
});
|
|
47
|
+
return (_ctx, _cache) => {
|
|
48
|
+
return Vue.openBlock(), Vue.createElementBlock("div", {
|
|
49
|
+
class: Vue.normalizeClass(["custom-code-wrapper", { isAutoHeight: props.autoHeight }])
|
|
50
|
+
}, [
|
|
51
|
+
Vue.createVNode(VueRender.default, {
|
|
52
|
+
code: __props.vueTemplate,
|
|
53
|
+
params: { data: __props.params, eventHandler }
|
|
54
|
+
}, null, 8, ["code", "params"])
|
|
55
|
+
], 2);
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
const _CustomCode = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-9a884660"]]);
|
|
60
|
+
exports.default = _CustomCode;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const CustomCode = require("./CustomCode.vue.js");
|
|
4
|
+
const install = require("../../../utils/install.js");
|
|
5
|
+
const MobileCustomCode = install.default.withInstall(
|
|
6
|
+
"MobileCustomCode",
|
|
7
|
+
CustomCode.default
|
|
8
|
+
);
|
|
9
|
+
exports.MobileCustomCode = MobileCustomCode;
|
|
10
|
+
exports.default = MobileCustomCode;
|
|
@@ -133,7 +133,7 @@ const _sfc_main = {
|
|
|
133
133
|
}
|
|
134
134
|
function fetchData() {
|
|
135
135
|
loading.value = true;
|
|
136
|
-
ctx.$http.
|
|
136
|
+
ctx.$http.postMobile(
|
|
137
137
|
"/base-server/docBusFiletype/getRootTree4Mobile",
|
|
138
138
|
{
|
|
139
139
|
isEdit: false,
|
|
@@ -363,5 +363,5 @@ const _sfc_main = {
|
|
|
363
363
|
};
|
|
364
364
|
}
|
|
365
365
|
};
|
|
366
|
-
const _Document = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-
|
|
366
|
+
const _Document = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-c2db27bd"]]);
|
|
367
367
|
exports.default = _Document;
|
|
@@ -165,7 +165,7 @@ const _sfc_main = {
|
|
|
165
165
|
}
|
|
166
166
|
function fetchData(keyword = "") {
|
|
167
167
|
listLoading.value = true;
|
|
168
|
-
ctx.$http.
|
|
168
|
+
ctx.$http.postMobile(
|
|
169
169
|
"/base-server/mobileApi/findSysUserByPage",
|
|
170
170
|
{
|
|
171
171
|
pageNo: pageNum.value,
|
|
@@ -316,5 +316,5 @@ const _sfc_main = {
|
|
|
316
316
|
};
|
|
317
317
|
}
|
|
318
318
|
};
|
|
319
|
-
const _UserSelect = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-
|
|
319
|
+
const _UserSelect = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-4aaba0be"]]);
|
|
320
320
|
exports.default = _UserSelect;
|
|
@@ -6,6 +6,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
|
|
|
6
6
|
const Vue = require("vue");
|
|
7
7
|
const datasource = require("../../../utils/datasource.js");
|
|
8
8
|
const VueRender = require("../../../utils/idea/VueRender.vue.js");
|
|
9
|
+
const formatterUtil = require("../../../utils/formatterUtil.js");
|
|
9
10
|
;/* empty css */
|
|
10
11
|
const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.js");
|
|
11
12
|
const index = require("../../../../../../node_modules/vant/es/list/index.js");
|
|
@@ -18,6 +19,11 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
|
|
|
18
19
|
type: Object,
|
|
19
20
|
default: {}
|
|
20
21
|
},
|
|
22
|
+
columns: {
|
|
23
|
+
//格式化配置
|
|
24
|
+
type: Array,
|
|
25
|
+
default: []
|
|
26
|
+
},
|
|
21
27
|
fields: {
|
|
22
28
|
type: Array,
|
|
23
29
|
default: []
|
|
@@ -84,9 +90,13 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
|
|
|
84
90
|
vueTemplateFunctionMapping: {
|
|
85
91
|
type: Array,
|
|
86
92
|
default: []
|
|
93
|
+
},
|
|
94
|
+
dynamicInputFilter: {
|
|
95
|
+
type: Array,
|
|
96
|
+
default: []
|
|
87
97
|
}
|
|
88
98
|
},
|
|
89
|
-
setup(__props) {
|
|
99
|
+
setup(__props, { expose: __expose }) {
|
|
90
100
|
const props = __props;
|
|
91
101
|
const handleEvent = Vue.inject("handleEvent");
|
|
92
102
|
const formData = Vue.inject("formData");
|
|
@@ -94,7 +104,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
|
|
|
94
104
|
const ctx = currentInstance.proxy;
|
|
95
105
|
const listRef = Vue.ref();
|
|
96
106
|
let isDesigner = false;
|
|
97
|
-
Vue.onMounted(() => {
|
|
107
|
+
Vue.onMounted(async () => {
|
|
98
108
|
var _a, _b;
|
|
99
109
|
const device = (_b = (_a = listRef.value) == null ? void 0 : _a.$el) == null ? void 0 : _b.closest(".device-content");
|
|
100
110
|
if (device) {
|
|
@@ -117,7 +127,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
|
|
|
117
127
|
}
|
|
118
128
|
}
|
|
119
129
|
function dicHandler(dictionaryValue) {
|
|
120
|
-
return ctx.$http.
|
|
130
|
+
return ctx.$http.postFormMobile(
|
|
121
131
|
"/base-server/parm/sysParmDic/getDicListByKey",
|
|
122
132
|
{
|
|
123
133
|
keyName: dictionaryValue
|
|
@@ -131,6 +141,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
|
|
|
131
141
|
const loading = Vue.ref(false);
|
|
132
142
|
let pageNo = 1;
|
|
133
143
|
const dataSourceManager = Vue.ref();
|
|
144
|
+
const formattedColumns = Vue.ref(null);
|
|
134
145
|
function initDataSourceManager() {
|
|
135
146
|
dataSourceManager.value = datasource.createDataSource({
|
|
136
147
|
http: ctx.$http,
|
|
@@ -171,14 +182,18 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
|
|
|
171
182
|
loading.value = false;
|
|
172
183
|
}
|
|
173
184
|
}
|
|
185
|
+
const searchData = Vue.ref({});
|
|
174
186
|
async function call() {
|
|
175
187
|
var _a;
|
|
188
|
+
if (!formattedColumns.value) {
|
|
189
|
+
await formattedTableData();
|
|
190
|
+
}
|
|
176
191
|
error.value = false;
|
|
177
192
|
try {
|
|
178
193
|
dataSourceManager.value.updatePagination(pageNo, props.pageSize);
|
|
179
|
-
await dataSourceManager.value.fetch();
|
|
194
|
+
await dataSourceManager.value.fetch(searchData.value);
|
|
180
195
|
const data = ((_a = dataSourceManager.value) == null ? void 0 : _a.getData().list) || [];
|
|
181
|
-
tableData.value.push(...data);
|
|
196
|
+
tableData.value.push(...parseTableData(data));
|
|
182
197
|
if (tableData.value.length == 0 && isDesigner) {
|
|
183
198
|
tableData.value = [{}];
|
|
184
199
|
}
|
|
@@ -195,6 +210,170 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
|
|
|
195
210
|
const quickFilterConfig = Vue.computed(() => {
|
|
196
211
|
return props.quickFilter;
|
|
197
212
|
});
|
|
213
|
+
function onFilterChange(filter) {
|
|
214
|
+
const dynamicFilterFieldName = props.dynamicInputFilter.map((item) => item.fieldName).join(",");
|
|
215
|
+
searchData.value = {
|
|
216
|
+
filters: JSON.stringify({ ...filter, dynamicFilterFieldName })
|
|
217
|
+
};
|
|
218
|
+
tableData.value = [];
|
|
219
|
+
finished.value = false;
|
|
220
|
+
loading.value = true;
|
|
221
|
+
pageNo = 1;
|
|
222
|
+
call();
|
|
223
|
+
}
|
|
224
|
+
const dataSourceOptions = Vue.ref({});
|
|
225
|
+
const dictionaryOptions = Vue.ref({});
|
|
226
|
+
async function formattedTableData() {
|
|
227
|
+
var _a, _b;
|
|
228
|
+
const columns = [...props.columns];
|
|
229
|
+
const fieldDataSources = /* @__PURE__ */ new Set();
|
|
230
|
+
const dictionaryKeys = /* @__PURE__ */ new Set();
|
|
231
|
+
for (const col of columns) {
|
|
232
|
+
if (col.dataType == "select" || col.dataType == "multiple") {
|
|
233
|
+
const { optionSource, dataSourceValue, dictionaryValue } = col.optionConfig;
|
|
234
|
+
if (optionSource === "dataSource" && dataSourceValue) {
|
|
235
|
+
fieldDataSources.add(dataSourceValue);
|
|
236
|
+
} else if (optionSource === "dictionary" && dictionaryValue) {
|
|
237
|
+
dictionaryKeys.add(dictionaryValue);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
for (const dataSourceId of fieldDataSources) {
|
|
242
|
+
if (dataSourceOptions.value[dataSourceId]) continue;
|
|
243
|
+
try {
|
|
244
|
+
const dsManager = datasource.createDataSource({
|
|
245
|
+
http: ctx.$http,
|
|
246
|
+
dataSources: props.dataSources,
|
|
247
|
+
currentDataSourceId: dataSourceId,
|
|
248
|
+
pagination: false,
|
|
249
|
+
data: (formData == null ? void 0 : formData.value) || {},
|
|
250
|
+
fields: props.fields
|
|
251
|
+
});
|
|
252
|
+
const data = await dsManager.fetch();
|
|
253
|
+
let options = [];
|
|
254
|
+
if (Array.isArray(data)) {
|
|
255
|
+
options = data;
|
|
256
|
+
} else if (typeof data === "object") {
|
|
257
|
+
options = Array.isArray(data.data) ? data.data : ((_a = data.data) == null ? void 0 : _a.records) || ((_b = data.data) == null ? void 0 : _b.list) || [];
|
|
258
|
+
}
|
|
259
|
+
dataSourceOptions.value[dataSourceId] = options;
|
|
260
|
+
dsManager.destroy();
|
|
261
|
+
} catch (error2) {
|
|
262
|
+
console.error(`Failed to load data source ${dataSourceId}:`, error2);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
if (dictionaryKeys.size > 0) {
|
|
266
|
+
try {
|
|
267
|
+
const keyName = Array.from(dictionaryKeys).join(",");
|
|
268
|
+
const response = await ctx.$http.postFormMobile(
|
|
269
|
+
"/base-server/parm/sysParmDic/getDicListByKey",
|
|
270
|
+
{
|
|
271
|
+
keyName
|
|
272
|
+
},
|
|
273
|
+
false
|
|
274
|
+
);
|
|
275
|
+
const dictionaryData = response;
|
|
276
|
+
if (typeof dictionaryData === "object") {
|
|
277
|
+
Object.keys(dictionaryData).forEach((dictKey) => {
|
|
278
|
+
if (dictionaryKeys.has(dictKey)) {
|
|
279
|
+
const dictItems = dictionaryData[dictKey];
|
|
280
|
+
if (Array.isArray(dictItems)) {
|
|
281
|
+
dictionaryOptions.value[dictKey] = dictItems;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
} catch (error2) {
|
|
287
|
+
console.error("Failed to load dictionary data:", error2);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
columns.forEach((component) => {
|
|
291
|
+
if (!component.optionConfig) return;
|
|
292
|
+
const {
|
|
293
|
+
optionSource,
|
|
294
|
+
dataSourceValue,
|
|
295
|
+
dictionaryValue,
|
|
296
|
+
displayField,
|
|
297
|
+
valueField,
|
|
298
|
+
idField,
|
|
299
|
+
pidField
|
|
300
|
+
} = component.optionConfig;
|
|
301
|
+
if (optionSource === "dataSource" && dataSourceOptions.value[dataSourceValue]) {
|
|
302
|
+
const rawOptions = dataSourceOptions.value[dataSourceValue];
|
|
303
|
+
const labelField = displayField || "label";
|
|
304
|
+
const keyField = valueField || "value";
|
|
305
|
+
component.optionConfig.options = rawOptions.map((item) => ({
|
|
306
|
+
label: item[labelField],
|
|
307
|
+
value: item[keyField],
|
|
308
|
+
disabled: item.disabled || false,
|
|
309
|
+
...item
|
|
310
|
+
}));
|
|
311
|
+
} else if (optionSource === "dictionary" && dictionaryOptions.value[dictionaryValue]) {
|
|
312
|
+
const rawOptions = dictionaryOptions.value[dictionaryValue];
|
|
313
|
+
const labelField = "optName";
|
|
314
|
+
const keyField = "optCode";
|
|
315
|
+
component.optionConfig.options = rawOptions.map((item) => ({
|
|
316
|
+
label: item[labelField],
|
|
317
|
+
value: item[keyField],
|
|
318
|
+
disabled: item.disabled || false
|
|
319
|
+
}));
|
|
320
|
+
} else if (optionSource === "custom") {
|
|
321
|
+
component.optionConfig.options = component.optionConfig.options || [];
|
|
322
|
+
}
|
|
323
|
+
});
|
|
324
|
+
formattedColumns.value = columns;
|
|
325
|
+
}
|
|
326
|
+
function parseTableData(tableData2) {
|
|
327
|
+
const list = [...tableData2];
|
|
328
|
+
list.forEach((row) => {
|
|
329
|
+
formattedColumns.value.forEach((col) => {
|
|
330
|
+
let value = row[col.fieldName];
|
|
331
|
+
if (col.dataType == "select") {
|
|
332
|
+
if (isEmpty(value)) {
|
|
333
|
+
value = emptyHandler(col.emptyFormatter);
|
|
334
|
+
}
|
|
335
|
+
value = formatterUtil.selectFormatter(value, col.optionConfig.options);
|
|
336
|
+
} else if (col.dataType == "multiple") {
|
|
337
|
+
if (isEmpty(value)) {
|
|
338
|
+
value = emptyHandler(col.emptyFormatter);
|
|
339
|
+
}
|
|
340
|
+
value = formatterUtil.multipleFormatter(value, col.optionConfig.options);
|
|
341
|
+
} else if (col.dataType == "date") {
|
|
342
|
+
if (isEmpty(value)) {
|
|
343
|
+
value = emptyHandler(col.emptyFormatter);
|
|
344
|
+
}
|
|
345
|
+
value = formatterUtil.dateFormatter(value, col.dateType, col.dateFormatter);
|
|
346
|
+
} else {
|
|
347
|
+
if (isEmpty(value)) {
|
|
348
|
+
value = emptyHandler(col.emptyFormatter);
|
|
349
|
+
}
|
|
350
|
+
value = formatterUtil.textFormatter(value, col.dataFormatter);
|
|
351
|
+
}
|
|
352
|
+
row[col.fieldName] = value;
|
|
353
|
+
});
|
|
354
|
+
});
|
|
355
|
+
return list;
|
|
356
|
+
}
|
|
357
|
+
function isEmpty(cellValue) {
|
|
358
|
+
return !cellValue && cellValue !== 0;
|
|
359
|
+
}
|
|
360
|
+
function emptyHandler(emptyFormatter) {
|
|
361
|
+
if (isEmpty(emptyFormatter)) {
|
|
362
|
+
return "";
|
|
363
|
+
} else {
|
|
364
|
+
return emptyFormatter;
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
__expose({
|
|
368
|
+
onSearch: function(filter) {
|
|
369
|
+
searchData.value = filter;
|
|
370
|
+
tableData.value = [];
|
|
371
|
+
finished.value = false;
|
|
372
|
+
loading.value = true;
|
|
373
|
+
pageNo = 1;
|
|
374
|
+
call();
|
|
375
|
+
}
|
|
376
|
+
});
|
|
198
377
|
return (_ctx, _cache) => {
|
|
199
378
|
const _component_fec_mobile_search = Vue.resolveComponent("fec-mobile-search");
|
|
200
379
|
const _component_fec_mobile_card = Vue.resolveComponent("fec-mobile-card");
|
|
@@ -205,7 +384,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
|
|
|
205
384
|
placeholder: __props.filterPlaceholder,
|
|
206
385
|
filterMode: __props.filterMode,
|
|
207
386
|
dataSources: __props.dataSources,
|
|
208
|
-
filterConfig: Vue.unref(quickFilterConfig)
|
|
387
|
+
filterConfig: Vue.unref(quickFilterConfig),
|
|
388
|
+
onFilterChange
|
|
209
389
|
}, null, 8, ["placeholder", "filterMode", "dataSources", "filterConfig"])) : Vue.createCommentVNode("", true),
|
|
210
390
|
Vue.createVNode(_component_van_list, {
|
|
211
391
|
ref_key: "listRef",
|
|
@@ -244,5 +424,5 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
|
|
|
244
424
|
};
|
|
245
425
|
}
|
|
246
426
|
});
|
|
247
|
-
const _CardList = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-
|
|
427
|
+
const _CardList = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-68f16109"]]);
|
|
248
428
|
exports.default = _CardList;
|
|
@@ -59,7 +59,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
|
|
|
59
59
|
const ctx = currentInstance.proxy;
|
|
60
60
|
const loading = Vue.ref(true);
|
|
61
61
|
const dataList = Vue.ref([]);
|
|
62
|
-
ctx.$http.
|
|
62
|
+
ctx.$http.postFormMobile("/base-server/sysHome/getData4UpperLeft", {}, false).then((data) => {
|
|
63
63
|
dataList.value = [
|
|
64
64
|
{
|
|
65
65
|
label: "资产总额",
|
|
@@ -216,5 +216,5 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
|
|
|
216
216
|
};
|
|
217
217
|
}
|
|
218
218
|
});
|
|
219
|
-
const _DataStat = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-
|
|
219
|
+
const _DataStat = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-69ffb999"]]);
|
|
220
220
|
exports.default = _DataStat;
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const Vue = require("vue");
|
|
4
|
+
const user = require("../../../assets/images/user.png.js");
|
|
4
5
|
const vuex_esmBundler = require("../../../../../../node_modules/vuex/dist/vuex.esm-bundler.js");
|
|
5
6
|
;/* empty css */
|
|
6
7
|
const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.js");
|
|
8
|
+
const functionCall = require("../../../../../../node_modules/vant/es/dialog/function-call.js");
|
|
7
9
|
const _hoisted_1 = { class: "mine-page" };
|
|
8
10
|
const _hoisted_2 = { class: "profile-header" };
|
|
9
11
|
const _hoisted_3 = { class: "avatar-box" };
|
|
10
|
-
const _hoisted_4 =
|
|
12
|
+
const _hoisted_4 = ["src"];
|
|
11
13
|
const _hoisted_5 = { class: "name-text" };
|
|
12
14
|
const _hoisted_6 = { class: "info-list" };
|
|
13
15
|
const _hoisted_7 = { class: "info-label" };
|
|
@@ -20,29 +22,45 @@ const _hoisted_10 = {
|
|
|
20
22
|
key: 1,
|
|
21
23
|
class: "info-text"
|
|
22
24
|
};
|
|
25
|
+
const _hoisted_11 = {
|
|
26
|
+
key: 0,
|
|
27
|
+
class: "logout-section"
|
|
28
|
+
};
|
|
23
29
|
const _sfc_main = {
|
|
24
30
|
__name: "Mine",
|
|
25
31
|
setup(__props) {
|
|
26
32
|
const store = vuex_esmBundler.useStore();
|
|
27
|
-
const user = Vue.computed(() => store.getters.user || {});
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
if (!name) return "";
|
|
31
|
-
return name.charAt(0);
|
|
33
|
+
const user$1 = Vue.computed(() => store.getters.user || {});
|
|
34
|
+
const isMp = Vue.computed(() => {
|
|
35
|
+
return !!(window.wx && wx.miniProgram);
|
|
32
36
|
});
|
|
33
37
|
const infoItems = Vue.computed(() => [
|
|
34
|
-
{ label: "角色", value: user.value.roleName.split(" ") || [] },
|
|
35
|
-
{ label: "机构", value: user.value.brName || "" },
|
|
36
|
-
{ label: "手机", value: user.value.phone || "" },
|
|
37
|
-
{ label: "邮箱", value: user.value.email || "" }
|
|
38
|
+
{ label: "角色", value: user$1.value.roleName.split(" ") || [] },
|
|
39
|
+
{ label: "机构", value: user$1.value.brName || "" },
|
|
40
|
+
{ label: "手机", value: user$1.value.phone || "" },
|
|
41
|
+
{ label: "邮箱", value: user$1.value.email || "" }
|
|
38
42
|
]);
|
|
43
|
+
function handleLogout() {
|
|
44
|
+
functionCall.showConfirmDialog({
|
|
45
|
+
message: "确定要退出当前账号吗?"
|
|
46
|
+
}).then(() => {
|
|
47
|
+
wx.miniProgram.reLaunch({
|
|
48
|
+
url: "/pages/login/login"
|
|
49
|
+
});
|
|
50
|
+
store.commit("logout");
|
|
51
|
+
});
|
|
52
|
+
}
|
|
39
53
|
return (_ctx, _cache) => {
|
|
40
54
|
return Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1, [
|
|
41
55
|
Vue.createElementVNode("div", _hoisted_2, [
|
|
42
56
|
Vue.createElementVNode("div", _hoisted_3, [
|
|
43
|
-
Vue.createElementVNode("
|
|
57
|
+
Vue.createElementVNode("img", {
|
|
58
|
+
class: "avatar-img",
|
|
59
|
+
src: Vue.unref(user.default),
|
|
60
|
+
alt: "头像"
|
|
61
|
+
}, null, 8, _hoisted_4)
|
|
44
62
|
]),
|
|
45
|
-
Vue.createElementVNode("div", _hoisted_5, Vue.toDisplayString(user.value.opName), 1)
|
|
63
|
+
Vue.createElementVNode("div", _hoisted_5, Vue.toDisplayString(user$1.value.opName), 1)
|
|
46
64
|
]),
|
|
47
65
|
Vue.createElementVNode("div", _hoisted_6, [
|
|
48
66
|
(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(infoItems.value, (item) => {
|
|
@@ -63,10 +81,16 @@ const _sfc_main = {
|
|
|
63
81
|
])
|
|
64
82
|
]);
|
|
65
83
|
}), 128))
|
|
66
|
-
])
|
|
84
|
+
]),
|
|
85
|
+
isMp.value ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_11, [
|
|
86
|
+
Vue.createElementVNode("div", {
|
|
87
|
+
class: "logout-btn",
|
|
88
|
+
onClick: handleLogout
|
|
89
|
+
}, "退出登录")
|
|
90
|
+
])) : Vue.createCommentVNode("", true)
|
|
67
91
|
]);
|
|
68
92
|
};
|
|
69
93
|
}
|
|
70
94
|
};
|
|
71
|
-
const _Mine = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-
|
|
95
|
+
const _Mine = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-93397a65"]]);
|
|
72
96
|
exports.default = _Mine;
|
|
@@ -9,16 +9,18 @@ const _hoisted_3 = { class: "card-body" };
|
|
|
9
9
|
const _hoisted_4 = { class: "rate-row rate-percents" };
|
|
10
10
|
const _hoisted_5 = { class: "rate-label" };
|
|
11
11
|
const _hoisted_6 = { class: "rate-value rate-pct" };
|
|
12
|
-
const _hoisted_7 = { class: "
|
|
13
|
-
const _hoisted_8 = { class: "
|
|
14
|
-
const _hoisted_9 =
|
|
15
|
-
const _hoisted_10 = { class: "
|
|
16
|
-
const _hoisted_11 =
|
|
17
|
-
const _hoisted_12 = { class: "
|
|
18
|
-
const _hoisted_13 = { class: "
|
|
19
|
-
const _hoisted_14 = { class: "
|
|
20
|
-
const _hoisted_15 = { class: "
|
|
21
|
-
const _hoisted_16 = { class: "amount-line
|
|
12
|
+
const _hoisted_7 = { class: "rate-row rate-amount" };
|
|
13
|
+
const _hoisted_8 = { class: "rate-value rate-amt" };
|
|
14
|
+
const _hoisted_9 = { class: "card card-plan" };
|
|
15
|
+
const _hoisted_10 = { class: "card-body plan-scroll" };
|
|
16
|
+
const _hoisted_11 = ["onClick"];
|
|
17
|
+
const _hoisted_12 = { class: "left" };
|
|
18
|
+
const _hoisted_13 = { class: "period" };
|
|
19
|
+
const _hoisted_14 = { class: "date" };
|
|
20
|
+
const _hoisted_15 = { class: "right" };
|
|
21
|
+
const _hoisted_16 = { class: "amount-line" };
|
|
22
|
+
const _hoisted_17 = { class: "value primary" };
|
|
23
|
+
const _hoisted_18 = { class: "amount-line sub" };
|
|
22
24
|
const _sfc_main = {
|
|
23
25
|
__name: "RentCalcResult",
|
|
24
26
|
props: {
|
|
@@ -29,61 +31,13 @@ const _sfc_main = {
|
|
|
29
31
|
eventHandler: Function
|
|
30
32
|
},
|
|
31
33
|
setup(__props) {
|
|
34
|
+
const props = __props;
|
|
32
35
|
const rateList = Vue.ref([
|
|
33
|
-
{ label: "IRR", value:
|
|
34
|
-
{ label: "XIRR", value:
|
|
35
|
-
{ label: "会计IRR", value:
|
|
36
|
-
]);
|
|
37
|
-
const planList = Vue.ref([
|
|
38
|
-
{
|
|
39
|
-
termNum: 1,
|
|
40
|
-
endDate: "20250815",
|
|
41
|
-
rent: 325e3,
|
|
42
|
-
prcp: 28e4,
|
|
43
|
-
normInt: 45e3,
|
|
44
|
-
afterBal: 672e4
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
termNum: 2,
|
|
48
|
-
endDate: "20260215",
|
|
49
|
-
rent: 325e3,
|
|
50
|
-
prcp: 282500,
|
|
51
|
-
normInt: 42500,
|
|
52
|
-
afterBal: 6437500
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
termNum: 3,
|
|
56
|
-
endDate: "20260815",
|
|
57
|
-
rent: 325e3,
|
|
58
|
-
prcp: 285e3,
|
|
59
|
-
normInt: 4e4,
|
|
60
|
-
afterBal: 6152500
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
termNum: 4,
|
|
64
|
-
endDate: "20270215",
|
|
65
|
-
rent: 325e3,
|
|
66
|
-
prcp: 287600,
|
|
67
|
-
normInt: 37400,
|
|
68
|
-
afterBal: 5864900
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
termNum: 5,
|
|
72
|
-
endDate: "20270815",
|
|
73
|
-
rent: 325e3,
|
|
74
|
-
prcp: 290200,
|
|
75
|
-
normInt: 34800,
|
|
76
|
-
afterBal: 5574700
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
termNum: 6,
|
|
80
|
-
endDate: "20280215",
|
|
81
|
-
rent: 325e3,
|
|
82
|
-
prcp: 292900,
|
|
83
|
-
normInt: 32100,
|
|
84
|
-
afterBal: 5281800
|
|
85
|
-
}
|
|
36
|
+
{ label: "IRR", value: props.params.irr, theme: "blue" },
|
|
37
|
+
{ label: "XIRR", value: props.params.xirr, theme: "green" },
|
|
38
|
+
{ label: "会计IRR", value: props.params.accIrr, theme: "orange" }
|
|
86
39
|
]);
|
|
40
|
+
const planList = Vue.ref(props.params.repayPlanList || []);
|
|
87
41
|
function formatAmount(val) {
|
|
88
42
|
if (val === void 0 || val === null || val === "") return "0.00";
|
|
89
43
|
const n = Number(val);
|
|
@@ -93,6 +47,12 @@ const _sfc_main = {
|
|
|
93
47
|
maximumFractionDigits: 2
|
|
94
48
|
});
|
|
95
49
|
}
|
|
50
|
+
function formatPercent(val) {
|
|
51
|
+
if (val === void 0 || val === null || val === "") return "0.00%";
|
|
52
|
+
const n = Number(val) * 100;
|
|
53
|
+
if (isNaN(n)) return val;
|
|
54
|
+
return n.toFixed(2) + "%";
|
|
55
|
+
}
|
|
96
56
|
function formatDate(val) {
|
|
97
57
|
if (val === void 0 || val === null || val === "") return "--";
|
|
98
58
|
const s = String(val);
|
|
@@ -118,41 +78,41 @@ const _sfc_main = {
|
|
|
118
78
|
key: item.label
|
|
119
79
|
}, [
|
|
120
80
|
Vue.createElementVNode("div", _hoisted_5, Vue.toDisplayString(item.label), 1),
|
|
121
|
-
Vue.createElementVNode("div", _hoisted_6, Vue.toDisplayString(item.value), 1)
|
|
81
|
+
Vue.createElementVNode("div", _hoisted_6, Vue.toDisplayString(formatPercent(item.value)), 1)
|
|
122
82
|
]);
|
|
123
83
|
}), 128))
|
|
124
84
|
]),
|
|
125
|
-
|
|
126
|
-
Vue.createElementVNode("div", { class: "rate-label" }, "预计收益"),
|
|
127
|
-
Vue.createElementVNode("div",
|
|
128
|
-
]
|
|
85
|
+
Vue.createElementVNode("div", _hoisted_7, [
|
|
86
|
+
_cache[0] || (_cache[0] = Vue.createElementVNode("div", { class: "rate-label" }, "预计收益", -1)),
|
|
87
|
+
Vue.createElementVNode("div", _hoisted_8, Vue.toDisplayString(formatAmount(__props.params.expectedRevenue)) + "元 ", 1)
|
|
88
|
+
])
|
|
129
89
|
])
|
|
130
90
|
]),
|
|
131
|
-
Vue.createElementVNode("div",
|
|
91
|
+
Vue.createElementVNode("div", _hoisted_9, [
|
|
132
92
|
_cache[3] || (_cache[3] = Vue.createElementVNode("div", { class: "card-title" }, "租金计划", -1)),
|
|
133
|
-
Vue.createElementVNode("div",
|
|
93
|
+
Vue.createElementVNode("div", _hoisted_10, [
|
|
134
94
|
(Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(planList.value, (row, idx) => {
|
|
135
95
|
return Vue.openBlock(), Vue.createElementBlock("div", {
|
|
136
96
|
class: "repay-row",
|
|
137
97
|
key: idx,
|
|
138
98
|
onClick: ($event) => clickHandler()
|
|
139
99
|
}, [
|
|
140
|
-
Vue.createElementVNode("div",
|
|
141
|
-
Vue.createElementVNode("div",
|
|
142
|
-
Vue.createElementVNode("div",
|
|
100
|
+
Vue.createElementVNode("div", _hoisted_12, [
|
|
101
|
+
Vue.createElementVNode("div", _hoisted_13, "第" + Vue.toDisplayString(idx) + "期", 1),
|
|
102
|
+
Vue.createElementVNode("div", _hoisted_14, "还款日:" + Vue.toDisplayString(formatDate(row.intstDate)), 1)
|
|
143
103
|
]),
|
|
144
|
-
Vue.createElementVNode("div",
|
|
145
|
-
Vue.createElementVNode("div",
|
|
104
|
+
Vue.createElementVNode("div", _hoisted_15, [
|
|
105
|
+
Vue.createElementVNode("div", _hoisted_16, [
|
|
146
106
|
_cache[2] || (_cache[2] = Vue.createElementVNode("span", { class: "label" }, "应还租金:", -1)),
|
|
147
|
-
Vue.createElementVNode("span",
|
|
107
|
+
Vue.createElementVNode("span", _hoisted_17, Vue.toDisplayString(formatAmount(row.rent)) + "元", 1)
|
|
148
108
|
]),
|
|
149
|
-
Vue.createElementVNode("div",
|
|
109
|
+
Vue.createElementVNode("div", _hoisted_18, [
|
|
150
110
|
Vue.createElementVNode("span", null, "本金:" + Vue.toDisplayString(formatAmount(row.prcp)) + "元", 1),
|
|
151
111
|
Vue.createElementVNode("span", null, "利息:" + Vue.toDisplayString(formatAmount(row.normInt)) + "元", 1),
|
|
152
112
|
Vue.createElementVNode("span", null, "期末:" + Vue.toDisplayString(formatAmount(row.afterBal)) + "元", 1)
|
|
153
113
|
])
|
|
154
114
|
])
|
|
155
|
-
], 8,
|
|
115
|
+
], 8, _hoisted_11);
|
|
156
116
|
}), 128))
|
|
157
117
|
])
|
|
158
118
|
])
|
|
@@ -160,5 +120,5 @@ const _sfc_main = {
|
|
|
160
120
|
};
|
|
161
121
|
}
|
|
162
122
|
};
|
|
163
|
-
const _RentCalcResult = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-
|
|
123
|
+
const _RentCalcResult = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-3c57faf0"]]);
|
|
164
124
|
exports.default = _RentCalcResult;
|