@fecp/designer 5.5.120 → 5.6.1

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.
Files changed (139) hide show
  1. package/es/designer/package.json.mjs +1 -1
  2. package/es/designer/src/assets/logo.png.mjs +1 -1
  3. package/es/designer/src/components/EventConfigButton.vue.mjs +2 -2
  4. package/es/designer/src/packages/dataSource/index.vue.mjs +3 -3
  5. package/es/designer/src/packages/dialog/index.vue2.mjs +15 -15
  6. package/es/designer/src/packages/dialogGlobal/index.vue2.mjs +15 -16
  7. package/es/designer/src/packages/event/pageEvent.vue.mjs +1 -1
  8. package/es/designer/src/packages/form/index.vue.mjs +2 -2
  9. package/es/designer/src/packages/form/property/contract.vue.mjs +15 -1
  10. package/es/designer/src/packages/form/property/pageFooterBtn.vue.mjs +2 -2
  11. package/es/designer/src/packages/form/property/pageHeaderBtn.vue.mjs +2 -2
  12. package/es/designer/src/packages/form/property/widgets.vue.mjs +4 -4
  13. package/es/designer/src/packages/table/property/customBtn.vue.mjs +2 -2
  14. package/es/designer/src/packages/table/property/optBtn.vue.mjs +2 -2
  15. package/es/designer/src/packages/table/property/widgets.vue.mjs +2 -2
  16. package/es/designer.css +611 -520
  17. package/es/logo.ico +0 -0
  18. package/es/packages/mobile/index.mjs +2 -0
  19. package/es/packages/mobile/src/api/index.mjs +1 -1
  20. package/es/packages/mobile/src/assets/images/baseRate.png.mjs +1 -1
  21. package/es/packages/mobile/src/assets/images/home-bg.png.mjs +1 -1
  22. package/es/packages/mobile/src/assets/images/rentCalc.png.mjs +1 -1
  23. package/es/packages/mobile/src/assets/images/user.png.mjs +4 -0
  24. package/es/packages/mobile/src/components/all.mjs +2 -0
  25. package/es/packages/mobile/src/components/custom/appDetail/AppDetail.vue.mjs +63 -44
  26. package/es/packages/mobile/src/components/custom/appTimeLine/AppTimeLine.vue.mjs +9 -5
  27. package/es/packages/mobile/src/components/custom/approvalBar/ApprovalBar.vue.mjs +134 -71
  28. package/es/packages/mobile/src/components/custom/approvalList/ApprovalCard.vue.mjs +3 -3
  29. package/es/packages/mobile/src/components/custom/approvalList/ApprovalList.vue.mjs +36 -26
  30. package/es/packages/mobile/src/components/custom/customCode/CustomCode.vue.mjs +60 -0
  31. package/es/packages/mobile/src/components/custom/customCode/index.mjs +10 -0
  32. package/es/packages/mobile/src/components/custom/document/Document.vue.mjs +3 -3
  33. package/es/packages/mobile/src/components/custom/userSelect/UserSelect.vue.mjs +3 -3
  34. package/es/packages/mobile/src/components/dataDisplay/cardList/CardList.vue.mjs +189 -8
  35. package/es/packages/mobile/src/components/dataDisplay/dataStat/DataStat.vue.mjs +109 -47
  36. package/es/packages/mobile/src/components/dataDisplay/mine/Mine.vue.mjs +33 -9
  37. package/es/packages/mobile/src/components/dataDisplay/rentCalcResult/RentCalcResult.vue.mjs +39 -79
  38. package/es/packages/mobile/src/components/feedback/quickFilter/QuickFilter.vue.mjs +10 -2
  39. package/es/packages/mobile/src/components/form/field/Field.vue.mjs +167 -32
  40. package/es/packages/mobile/src/components/form/fieldArea/FieldArea.vue.mjs +3 -2
  41. package/es/packages/mobile/src/components/form/fieldCalendarPicker/FieldCalendarPicker.vue.mjs +13 -15
  42. package/es/packages/mobile/src/components/form/fieldCascaderPicker/fieldCascaderPicker.vue.mjs +10 -10
  43. package/es/packages/mobile/src/components/form/fieldCheckbox/FieldCheckbox.vue.mjs +7 -23
  44. package/es/packages/mobile/src/components/form/fieldDatePicker/FieldDatePicker.vue.mjs +14 -26
  45. package/es/packages/mobile/src/components/form/fieldDateTimePicker/FieldDateTimePicker.vue.mjs +14 -15
  46. package/es/packages/mobile/src/components/form/fieldIndustry/FieldIndustry.vue.mjs +6 -19
  47. package/es/packages/mobile/src/components/form/fieldPicker/FieldPicker.vue.mjs +9 -25
  48. package/es/packages/mobile/src/components/form/fieldRadio/FieldRadio.vue.mjs +8 -24
  49. package/es/packages/mobile/src/components/form/search/Search.vue.mjs +16 -7
  50. package/es/packages/mobile/src/components/form/uploader/Uploader.vue.mjs +2 -2
  51. package/es/packages/mobile/src/components/navigation/tabbar/Tabbar.vue.mjs +13 -5
  52. package/es/packages/mobile/src/components/navigation/tabs/Tabs.vue.mjs +61 -26
  53. package/es/packages/mobile/src/index.vue.mjs +21 -4
  54. package/es/packages/mobile/src/page.vue.mjs +342 -138
  55. package/es/packages/mobile/src/utils/common.mjs +21 -0
  56. package/es/packages/mobile/src/utils/datasource.mjs +4 -4
  57. package/es/packages/mobile/src/utils/eventFlow/actionHandlers.mjs +35 -22
  58. package/es/packages/mobile/src/utils/formatterUtil.mjs +4 -24
  59. package/es/packages/mobile/src/utils/formulajs/calculate.mjs +11 -5
  60. package/es/packages/mobile/src/utils/optionUtil.mjs +4 -29
  61. package/es/packages/mobile/src/utils/pageHistory.mjs +16 -0
  62. package/es/packages/mobile/src/utils/validation.mjs +129 -0
  63. package/es/packages/vue/src/components/bus/contract/Contract.vue.mjs +12 -1
  64. package/es/packages/vue/src/components/forms/form/Form.vue.mjs +5 -2
  65. package/es/packages/vue/src/components/forms/number/Number.vue.mjs +3 -2
  66. package/es/packages/vue/src/components/forms/roleSelect/RoleSelect.vue.mjs +2 -2
  67. package/es/packages/vue/src/components/forms/subTable/SubTable.vue.mjs +20 -26
  68. package/es/packages/vue/src/components/forms/userSelect/UserSelect.vue.mjs +2 -2
  69. package/es/packages/vue/src/components/table/Table.vue.mjs +5 -2
  70. package/es/packages/vue/src/components/table/TableColumn.vue.mjs +10 -8
  71. package/es/packages/vue/src/directive/auth.mjs +2 -1
  72. package/es/packages/vue/src/utils/parseRouteParams.mjs +2 -2
  73. package/lib/designer/package.json.js +1 -1
  74. package/lib/designer/src/assets/logo.png.js +1 -1
  75. package/lib/designer/src/components/EventConfigButton.vue.js +2 -2
  76. package/lib/designer/src/packages/dataSource/index.vue.js +3 -3
  77. package/lib/designer/src/packages/dialog/index.vue2.js +15 -15
  78. package/lib/designer/src/packages/dialogGlobal/index.vue2.js +15 -16
  79. package/lib/designer/src/packages/event/pageEvent.vue.js +1 -1
  80. package/lib/designer/src/packages/form/index.vue.js +2 -2
  81. package/lib/designer/src/packages/form/property/contract.vue.js +15 -1
  82. package/lib/designer.css +611 -520
  83. package/lib/logo.ico +0 -0
  84. package/lib/packages/mobile/index.js +4 -2
  85. package/lib/packages/mobile/src/api/index.js +1 -1
  86. package/lib/packages/mobile/src/assets/images/baseRate.png.js +1 -1
  87. package/lib/packages/mobile/src/assets/images/home-bg.png.js +1 -1
  88. package/lib/packages/mobile/src/assets/images/rentCalc.png.js +1 -1
  89. package/lib/packages/mobile/src/assets/images/user.png.js +4 -0
  90. package/lib/packages/mobile/src/components/all.js +2 -0
  91. package/lib/packages/mobile/src/components/custom/appDetail/AppDetail.vue.js +62 -43
  92. package/lib/packages/mobile/src/components/custom/appTimeLine/AppTimeLine.vue.js +9 -5
  93. package/lib/packages/mobile/src/components/custom/approvalBar/ApprovalBar.vue.js +137 -74
  94. package/lib/packages/mobile/src/components/custom/approvalList/ApprovalCard.vue.js +3 -3
  95. package/lib/packages/mobile/src/components/custom/approvalList/ApprovalList.vue.js +36 -26
  96. package/lib/packages/mobile/src/components/custom/customCode/CustomCode.vue.js +60 -0
  97. package/lib/packages/mobile/src/components/custom/customCode/index.js +10 -0
  98. package/lib/packages/mobile/src/components/custom/document/Document.vue.js +3 -3
  99. package/lib/packages/mobile/src/components/custom/userSelect/UserSelect.vue.js +3 -3
  100. package/lib/packages/mobile/src/components/dataDisplay/cardList/CardList.vue.js +189 -8
  101. package/lib/packages/mobile/src/components/dataDisplay/dataStat/DataStat.vue.js +109 -47
  102. package/lib/packages/mobile/src/components/dataDisplay/mine/Mine.vue.js +38 -14
  103. package/lib/packages/mobile/src/components/dataDisplay/rentCalcResult/RentCalcResult.vue.js +39 -79
  104. package/lib/packages/mobile/src/components/feedback/quickFilter/QuickFilter.vue.js +10 -2
  105. package/lib/packages/mobile/src/components/form/field/Field.vue.js +165 -30
  106. package/lib/packages/mobile/src/components/form/fieldArea/FieldArea.vue.js +3 -2
  107. package/lib/packages/mobile/src/components/form/fieldCalendarPicker/FieldCalendarPicker.vue.js +13 -15
  108. package/lib/packages/mobile/src/components/form/fieldCascaderPicker/fieldCascaderPicker.vue.js +9 -9
  109. package/lib/packages/mobile/src/components/form/fieldCheckbox/FieldCheckbox.vue.js +6 -22
  110. package/lib/packages/mobile/src/components/form/fieldDatePicker/FieldDatePicker.vue.js +13 -25
  111. package/lib/packages/mobile/src/components/form/fieldDateTimePicker/FieldDateTimePicker.vue.js +13 -14
  112. package/lib/packages/mobile/src/components/form/fieldIndustry/FieldIndustry.vue.js +6 -19
  113. package/lib/packages/mobile/src/components/form/fieldPicker/FieldPicker.vue.js +8 -24
  114. package/lib/packages/mobile/src/components/form/fieldRadio/FieldRadio.vue.js +7 -23
  115. package/lib/packages/mobile/src/components/form/search/Search.vue.js +16 -7
  116. package/lib/packages/mobile/src/components/form/uploader/Uploader.vue.js +2 -2
  117. package/lib/packages/mobile/src/components/navigation/tabbar/Tabbar.vue.js +13 -5
  118. package/lib/packages/mobile/src/components/navigation/tabs/Tabs.vue.js +64 -29
  119. package/lib/packages/mobile/src/index.vue.js +20 -3
  120. package/lib/packages/mobile/src/page.vue.js +341 -137
  121. package/lib/packages/mobile/src/utils/common.js +21 -0
  122. package/lib/packages/mobile/src/utils/datasource.js +4 -4
  123. package/lib/packages/mobile/src/utils/eventFlow/actionHandlers.js +35 -22
  124. package/lib/packages/mobile/src/utils/formatterUtil.js +3 -23
  125. package/lib/packages/mobile/src/utils/formulajs/calculate.js +11 -5
  126. package/lib/packages/mobile/src/utils/optionUtil.js +3 -28
  127. package/lib/packages/mobile/src/utils/pageHistory.js +16 -0
  128. package/lib/packages/mobile/src/utils/validation.js +129 -0
  129. package/lib/packages/vue/src/components/bus/contract/Contract.vue.js +12 -1
  130. package/lib/packages/vue/src/components/forms/form/Form.vue.js +5 -2
  131. package/lib/packages/vue/src/components/forms/number/Number.vue.js +3 -2
  132. package/lib/packages/vue/src/components/forms/roleSelect/RoleSelect.vue.js +2 -2
  133. package/lib/packages/vue/src/components/forms/subTable/SubTable.vue.js +20 -26
  134. package/lib/packages/vue/src/components/forms/userSelect/UserSelect.vue.js +2 -2
  135. package/lib/packages/vue/src/components/table/Table.vue.js +5 -2
  136. package/lib/packages/vue/src/components/table/TableColumn.vue.js +10 -8
  137. package/lib/packages/vue/src/directive/auth.js +2 -1
  138. package/lib/packages/vue/src/utils/parseRouteParams.js +2 -2
  139. package/package.json +1 -1
@@ -53,57 +53,119 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
53
53
  name: "FecMobileDataStat"
54
54
  }, {
55
55
  __name: "DataStat",
56
- props: {},
56
+ props: {
57
+ busType: {
58
+ type: String,
59
+ default: "lease"
60
+ }
61
+ },
57
62
  setup(__props) {
63
+ const props = __props;
58
64
  const currentInstance = Vue.getCurrentInstance();
59
65
  const ctx = currentInstance.proxy;
60
66
  const loading = Vue.ref(true);
61
67
  const dataList = Vue.ref([]);
62
- ctx.$http.postForm("/base-server/sysHome/getData4UpperLeft", {}, false).then((data) => {
63
- dataList.value = [
64
- {
65
- label: "资产总额",
66
- value: data.dueAmt,
67
- unit: "万元",
68
- theme: "blue"
69
- },
70
- {
71
- label: "客户数量",
72
- value: data.cusCount,
73
- unit: "",
74
- theme: "mint"
75
- },
76
- {
77
- label: "资产余额",
78
- value: data.dueBal,
79
- unit: "",
80
- theme: "purple"
81
- },
82
- {
83
- label: "今日到期租金",
84
- value: data.currRentAmt,
85
- unit: "",
86
- theme: "mist"
87
- },
88
- {
89
- label: "未结清合同",
90
- value: data.unSettleContNum,
91
- unit: "",
92
- theme: "orange"
93
- },
94
- {
95
- label: "未来7日到期租金",
96
- value: data.laterRentAmt,
97
- unit: "",
98
- theme: "rose"
99
- }
100
- ];
101
- }).catch((err) => {
102
- console.error("[DataStat] 加载失败", err);
103
- dataList.value = [];
104
- }).finally(() => {
105
- loading.value = false;
106
- });
68
+ if (props.busType == "lease") {
69
+ ctx.$http.postFormMobile(
70
+ "/" + window.$servers.base + "/sysHome/getData4UpperLeft",
71
+ {},
72
+ false
73
+ ).then((data) => {
74
+ dataList.value = [
75
+ {
76
+ label: "资产总额",
77
+ value: data.dueAmt,
78
+ unit: "万元",
79
+ theme: "blue"
80
+ },
81
+ {
82
+ label: "客户数量",
83
+ value: data.cusCount,
84
+ unit: "人",
85
+ theme: "mint"
86
+ },
87
+ {
88
+ label: "资产余额",
89
+ value: data.dueBal,
90
+ unit: "万",
91
+ theme: "purple"
92
+ },
93
+ {
94
+ label: "今日到期租金",
95
+ value: data.currRentAmt,
96
+ unit: "万",
97
+ theme: "mist"
98
+ },
99
+ {
100
+ label: "未结清合同",
101
+ value: data.unSettleContNum,
102
+ unit: "笔",
103
+ theme: "orange"
104
+ },
105
+ {
106
+ label: "未来7日到期租金",
107
+ value: data.laterRentAmt,
108
+ unit: "万",
109
+ theme: "rose"
110
+ }
111
+ ];
112
+ }).catch((err) => {
113
+ console.error("[DataStat] 加载失败", err);
114
+ dataList.value = [];
115
+ }).finally(() => {
116
+ loading.value = false;
117
+ });
118
+ } else if (props.busType == "gntee") {
119
+ ctx.$http.postFormMobile(
120
+ "/" + window.$servers.gntee + "/guarCont/getStatisData4HomePageUpperLeft",
121
+ {},
122
+ false
123
+ ).then((data) => {
124
+ dataList.value = [
125
+ {
126
+ label: "合同金额",
127
+ value: data.guarAmt,
128
+ unit: "万元",
129
+ theme: "blue"
130
+ },
131
+ {
132
+ label: "客户数量",
133
+ value: data.cusCount,
134
+ unit: "人",
135
+ theme: "mint"
136
+ },
137
+ {
138
+ label: "待放款金额",
139
+ value: data.guarWaitAmt,
140
+ unit: "万",
141
+ theme: "mist"
142
+ },
143
+ {
144
+ label: "在保余额",
145
+ value: data.guarBalAmt,
146
+ unit: "万",
147
+ theme: "purple"
148
+ },
149
+ {
150
+ label: "在保客户数量",
151
+ value: data.guarCusCont,
152
+ unit: "人",
153
+ theme: "orange"
154
+ },
155
+ {
156
+ label: "代偿余额",
157
+ value: data.advanceBal,
158
+ unit: "万",
159
+ theme: "rose"
160
+ }
161
+ ];
162
+ }).catch((err) => {
163
+ console.error("[DataStat] 加载失败", err);
164
+ dataList.value = [];
165
+ }).finally(() => {
166
+ loading.value = false;
167
+ });
168
+ }
107
169
  const hero = Vue.computed(() => dataList.value[0] || null);
108
170
  const rows = Vue.computed(() => {
109
171
  const rest = dataList.value.slice(1);
@@ -216,5 +278,5 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
216
278
  };
217
279
  }
218
280
  });
219
- const _DataStat = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-f233d5ac"]]);
281
+ const _DataStat = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-1c07f859"]]);
220
282
  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 = { class: "avatar-text" };
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 avatarText = Vue.computed(() => {
29
- const name = user.value.opName || "";
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("div", _hoisted_4, Vue.toDisplayString(avatarText.value), 1)
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-60a0612f"]]);
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: "card card-plan" };
13
- const _hoisted_8 = { class: "card-body plan-scroll" };
14
- const _hoisted_9 = ["onClick"];
15
- const _hoisted_10 = { class: "left" };
16
- const _hoisted_11 = { class: "period" };
17
- const _hoisted_12 = { class: "date" };
18
- const _hoisted_13 = { class: "right" };
19
- const _hoisted_14 = { class: "amount-line" };
20
- const _hoisted_15 = { class: "value primary" };
21
- const _hoisted_16 = { class: "amount-line sub" };
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: "5.28%", theme: "blue" },
34
- { label: "XIRR", value: "5.41%", theme: "green" },
35
- { label: "会计IRR", value: "5.12%", theme: "orange" }
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
- _cache[0] || (_cache[0] = Vue.createElementVNode("div", { class: "rate-row rate-amount" }, [
126
- Vue.createElementVNode("div", { class: "rate-label" }, "预计收益"),
127
- Vue.createElementVNode("div", { class: "rate-value rate-amt" }, "328,500.00元")
128
- ], -1))
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", _hoisted_7, [
91
+ Vue.createElementVNode("div", _hoisted_9, [
132
92
  _cache[3] || (_cache[3] = Vue.createElementVNode("div", { class: "card-title" }, "租金计划", -1)),
133
- Vue.createElementVNode("div", _hoisted_8, [
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", _hoisted_10, [
141
- Vue.createElementVNode("div", _hoisted_11, "第" + Vue.toDisplayString(row.termNum) + "期", 1),
142
- Vue.createElementVNode("div", _hoisted_12, "还款日:" + Vue.toDisplayString(formatDate(row.endDate)), 1)
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", _hoisted_13, [
145
- Vue.createElementVNode("div", _hoisted_14, [
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", _hoisted_15, Vue.toDisplayString(formatAmount(row.rent)) + "元", 1)
107
+ Vue.createElementVNode("span", _hoisted_17, Vue.toDisplayString(formatAmount(row.rent)) + "元", 1)
148
108
  ]),
149
- Vue.createElementVNode("div", _hoisted_16, [
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, _hoisted_9);
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-2e5d76eb"]]);
123
+ const _RentCalcResult = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-3c57faf0"]]);
164
124
  exports.default = _RentCalcResult;
@@ -111,6 +111,13 @@ const _sfc_main = {
111
111
  ...confirmedSelections.value[fieldName] || []
112
112
  ];
113
113
  };
114
+ const allFilterOpen = () => {
115
+ props.filterData.forEach((filter) => {
116
+ activeSelections.value[filter.fieldName] = [
117
+ ...confirmedSelections.value[filter.fieldName] || []
118
+ ];
119
+ });
120
+ };
114
121
  const emitChange = () => {
115
122
  const result = [];
116
123
  props.filterData.forEach((filter) => {
@@ -190,7 +197,8 @@ const _sfc_main = {
190
197
  key: 0,
191
198
  ref_key: "allFilterRef",
192
199
  ref: allFilterRef,
193
- title: "全部筛选"
200
+ title: "全部筛选",
201
+ onOpen: allFilterOpen
194
202
  }, {
195
203
  default: Vue.withCtx(() => [
196
204
  Vue.createElementVNode("div", _hoisted_7, [
@@ -244,5 +252,5 @@ const _sfc_main = {
244
252
  };
245
253
  }
246
254
  };
247
- const QuickFilter = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-3e7ddf36"]]);
255
+ const QuickFilter = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-c3c07dae"]]);
248
256
  exports.default = QuickFilter;