@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
@@ -51,57 +51,119 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
51
51
  name: "FecMobileDataStat"
52
52
  }, {
53
53
  __name: "DataStat",
54
- props: {},
54
+ props: {
55
+ busType: {
56
+ type: String,
57
+ default: "lease"
58
+ }
59
+ },
55
60
  setup(__props) {
61
+ const props = __props;
56
62
  const currentInstance = getCurrentInstance();
57
63
  const ctx = currentInstance.proxy;
58
64
  const loading = ref(true);
59
65
  const dataList = ref([]);
60
- ctx.$http.postForm("/base-server/sysHome/getData4UpperLeft", {}, false).then((data) => {
61
- dataList.value = [
62
- {
63
- label: "资产总额",
64
- value: data.dueAmt,
65
- unit: "万元",
66
- theme: "blue"
67
- },
68
- {
69
- label: "客户数量",
70
- value: data.cusCount,
71
- unit: "",
72
- theme: "mint"
73
- },
74
- {
75
- label: "资产余额",
76
- value: data.dueBal,
77
- unit: "",
78
- theme: "purple"
79
- },
80
- {
81
- label: "今日到期租金",
82
- value: data.currRentAmt,
83
- unit: "",
84
- theme: "mist"
85
- },
86
- {
87
- label: "未结清合同",
88
- value: data.unSettleContNum,
89
- unit: "",
90
- theme: "orange"
91
- },
92
- {
93
- label: "未来7日到期租金",
94
- value: data.laterRentAmt,
95
- unit: "",
96
- theme: "rose"
97
- }
98
- ];
99
- }).catch((err) => {
100
- console.error("[DataStat] 加载失败", err);
101
- dataList.value = [];
102
- }).finally(() => {
103
- loading.value = false;
104
- });
66
+ if (props.busType == "lease") {
67
+ ctx.$http.postFormMobile(
68
+ "/" + window.$servers.base + "/sysHome/getData4UpperLeft",
69
+ {},
70
+ false
71
+ ).then((data) => {
72
+ dataList.value = [
73
+ {
74
+ label: "资产总额",
75
+ value: data.dueAmt,
76
+ unit: "万元",
77
+ theme: "blue"
78
+ },
79
+ {
80
+ label: "客户数量",
81
+ value: data.cusCount,
82
+ unit: "人",
83
+ theme: "mint"
84
+ },
85
+ {
86
+ label: "资产余额",
87
+ value: data.dueBal,
88
+ unit: "万",
89
+ theme: "purple"
90
+ },
91
+ {
92
+ label: "今日到期租金",
93
+ value: data.currRentAmt,
94
+ unit: "万",
95
+ theme: "mist"
96
+ },
97
+ {
98
+ label: "未结清合同",
99
+ value: data.unSettleContNum,
100
+ unit: "笔",
101
+ theme: "orange"
102
+ },
103
+ {
104
+ label: "未来7日到期租金",
105
+ value: data.laterRentAmt,
106
+ unit: "万",
107
+ theme: "rose"
108
+ }
109
+ ];
110
+ }).catch((err) => {
111
+ console.error("[DataStat] 加载失败", err);
112
+ dataList.value = [];
113
+ }).finally(() => {
114
+ loading.value = false;
115
+ });
116
+ } else if (props.busType == "gntee") {
117
+ ctx.$http.postFormMobile(
118
+ "/" + window.$servers.gntee + "/guarCont/getStatisData4HomePageUpperLeft",
119
+ {},
120
+ false
121
+ ).then((data) => {
122
+ dataList.value = [
123
+ {
124
+ label: "合同金额",
125
+ value: data.guarAmt,
126
+ unit: "万元",
127
+ theme: "blue"
128
+ },
129
+ {
130
+ label: "客户数量",
131
+ value: data.cusCount,
132
+ unit: "人",
133
+ theme: "mint"
134
+ },
135
+ {
136
+ label: "待放款金额",
137
+ value: data.guarWaitAmt,
138
+ unit: "万",
139
+ theme: "mist"
140
+ },
141
+ {
142
+ label: "在保余额",
143
+ value: data.guarBalAmt,
144
+ unit: "万",
145
+ theme: "purple"
146
+ },
147
+ {
148
+ label: "在保客户数量",
149
+ value: data.guarCusCont,
150
+ unit: "人",
151
+ theme: "orange"
152
+ },
153
+ {
154
+ label: "代偿余额",
155
+ value: data.advanceBal,
156
+ unit: "万",
157
+ theme: "rose"
158
+ }
159
+ ];
160
+ }).catch((err) => {
161
+ console.error("[DataStat] 加载失败", err);
162
+ dataList.value = [];
163
+ }).finally(() => {
164
+ loading.value = false;
165
+ });
166
+ }
105
167
  const hero = computed(() => dataList.value[0] || null);
106
168
  const rows = computed(() => {
107
169
  const rest = dataList.value.slice(1);
@@ -214,7 +276,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
214
276
  };
215
277
  }
216
278
  });
217
- const _DataStat = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f233d5ac"]]);
279
+ const _DataStat = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-1c07f859"]]);
218
280
  export {
219
281
  _DataStat as default
220
282
  };
@@ -1,11 +1,13 @@
1
- import { computed, createElementBlock, openBlock, createElementVNode, toDisplayString, Fragment, renderList } from "vue";
1
+ import { computed, createElementBlock, openBlock, createElementVNode, createCommentVNode, unref, toDisplayString, Fragment, renderList } from "vue";
2
+ import userImg from "../../../assets/images/user.png.mjs";
2
3
  import { useStore } from "../../../../../../node_modules/vuex/dist/vuex.esm-bundler.mjs";
3
4
  /* empty css */
4
5
  import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.mjs";
6
+ import { showConfirmDialog } from "../../../../../../node_modules/vant/es/dialog/function-call.mjs";
5
7
  const _hoisted_1 = { class: "mine-page" };
6
8
  const _hoisted_2 = { class: "profile-header" };
7
9
  const _hoisted_3 = { class: "avatar-box" };
8
- const _hoisted_4 = { class: "avatar-text" };
10
+ const _hoisted_4 = ["src"];
9
11
  const _hoisted_5 = { class: "name-text" };
10
12
  const _hoisted_6 = { class: "info-list" };
11
13
  const _hoisted_7 = { class: "info-label" };
@@ -18,15 +20,17 @@ const _hoisted_10 = {
18
20
  key: 1,
19
21
  class: "info-text"
20
22
  };
23
+ const _hoisted_11 = {
24
+ key: 0,
25
+ class: "logout-section"
26
+ };
21
27
  const _sfc_main = {
22
28
  __name: "Mine",
23
29
  setup(__props) {
24
30
  const store = useStore();
25
31
  const user = computed(() => store.getters.user || {});
26
- const avatarText = computed(() => {
27
- const name = user.value.opName || "";
28
- if (!name) return "";
29
- return name.charAt(0);
32
+ const isMp = computed(() => {
33
+ return !!(window.wx && wx.miniProgram);
30
34
  });
31
35
  const infoItems = computed(() => [
32
36
  { label: "角色", value: user.value.roleName.split(" ") || [] },
@@ -34,11 +38,25 @@ const _sfc_main = {
34
38
  { label: "手机", value: user.value.phone || "" },
35
39
  { label: "邮箱", value: user.value.email || "" }
36
40
  ]);
41
+ function handleLogout() {
42
+ showConfirmDialog({
43
+ message: "确定要退出当前账号吗?"
44
+ }).then(() => {
45
+ wx.miniProgram.reLaunch({
46
+ url: "/pages/login/login"
47
+ });
48
+ store.commit("logout");
49
+ });
50
+ }
37
51
  return (_ctx, _cache) => {
38
52
  return openBlock(), createElementBlock("div", _hoisted_1, [
39
53
  createElementVNode("div", _hoisted_2, [
40
54
  createElementVNode("div", _hoisted_3, [
41
- createElementVNode("div", _hoisted_4, toDisplayString(avatarText.value), 1)
55
+ createElementVNode("img", {
56
+ class: "avatar-img",
57
+ src: unref(userImg),
58
+ alt: "头像"
59
+ }, null, 8, _hoisted_4)
42
60
  ]),
43
61
  createElementVNode("div", _hoisted_5, toDisplayString(user.value.opName), 1)
44
62
  ]),
@@ -61,12 +79,18 @@ const _sfc_main = {
61
79
  ])
62
80
  ]);
63
81
  }), 128))
64
- ])
82
+ ]),
83
+ isMp.value ? (openBlock(), createElementBlock("div", _hoisted_11, [
84
+ createElementVNode("div", {
85
+ class: "logout-btn",
86
+ onClick: handleLogout
87
+ }, "退出登录")
88
+ ])) : createCommentVNode("", true)
65
89
  ]);
66
90
  };
67
91
  }
68
92
  };
69
- const _Mine = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-60a0612f"]]);
93
+ const _Mine = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-93397a65"]]);
70
94
  export {
71
95
  _Mine as default
72
96
  };
@@ -7,16 +7,18 @@ const _hoisted_3 = { class: "card-body" };
7
7
  const _hoisted_4 = { class: "rate-row rate-percents" };
8
8
  const _hoisted_5 = { class: "rate-label" };
9
9
  const _hoisted_6 = { class: "rate-value rate-pct" };
10
- const _hoisted_7 = { class: "card card-plan" };
11
- const _hoisted_8 = { class: "card-body plan-scroll" };
12
- const _hoisted_9 = ["onClick"];
13
- const _hoisted_10 = { class: "left" };
14
- const _hoisted_11 = { class: "period" };
15
- const _hoisted_12 = { class: "date" };
16
- const _hoisted_13 = { class: "right" };
17
- const _hoisted_14 = { class: "amount-line" };
18
- const _hoisted_15 = { class: "value primary" };
19
- const _hoisted_16 = { class: "amount-line sub" };
10
+ const _hoisted_7 = { class: "rate-row rate-amount" };
11
+ const _hoisted_8 = { class: "rate-value rate-amt" };
12
+ const _hoisted_9 = { class: "card card-plan" };
13
+ const _hoisted_10 = { class: "card-body plan-scroll" };
14
+ const _hoisted_11 = ["onClick"];
15
+ const _hoisted_12 = { class: "left" };
16
+ const _hoisted_13 = { class: "period" };
17
+ const _hoisted_14 = { class: "date" };
18
+ const _hoisted_15 = { class: "right" };
19
+ const _hoisted_16 = { class: "amount-line" };
20
+ const _hoisted_17 = { class: "value primary" };
21
+ const _hoisted_18 = { class: "amount-line sub" };
20
22
  const _sfc_main = {
21
23
  __name: "RentCalcResult",
22
24
  props: {
@@ -27,61 +29,13 @@ const _sfc_main = {
27
29
  eventHandler: Function
28
30
  },
29
31
  setup(__props) {
32
+ const props = __props;
30
33
  const rateList = ref([
31
- { label: "IRR", value: "5.28%", theme: "blue" },
32
- { label: "XIRR", value: "5.41%", theme: "green" },
33
- { label: "会计IRR", value: "5.12%", theme: "orange" }
34
- ]);
35
- const planList = ref([
36
- {
37
- termNum: 1,
38
- endDate: "20250815",
39
- rent: 325e3,
40
- prcp: 28e4,
41
- normInt: 45e3,
42
- afterBal: 672e4
43
- },
44
- {
45
- termNum: 2,
46
- endDate: "20260215",
47
- rent: 325e3,
48
- prcp: 282500,
49
- normInt: 42500,
50
- afterBal: 6437500
51
- },
52
- {
53
- termNum: 3,
54
- endDate: "20260815",
55
- rent: 325e3,
56
- prcp: 285e3,
57
- normInt: 4e4,
58
- afterBal: 6152500
59
- },
60
- {
61
- termNum: 4,
62
- endDate: "20270215",
63
- rent: 325e3,
64
- prcp: 287600,
65
- normInt: 37400,
66
- afterBal: 5864900
67
- },
68
- {
69
- termNum: 5,
70
- endDate: "20270815",
71
- rent: 325e3,
72
- prcp: 290200,
73
- normInt: 34800,
74
- afterBal: 5574700
75
- },
76
- {
77
- termNum: 6,
78
- endDate: "20280215",
79
- rent: 325e3,
80
- prcp: 292900,
81
- normInt: 32100,
82
- afterBal: 5281800
83
- }
34
+ { label: "IRR", value: props.params.irr, theme: "blue" },
35
+ { label: "XIRR", value: props.params.xirr, theme: "green" },
36
+ { label: "会计IRR", value: props.params.accIrr, theme: "orange" }
84
37
  ]);
38
+ const planList = ref(props.params.repayPlanList || []);
85
39
  function formatAmount(val) {
86
40
  if (val === void 0 || val === null || val === "") return "0.00";
87
41
  const n = Number(val);
@@ -91,6 +45,12 @@ const _sfc_main = {
91
45
  maximumFractionDigits: 2
92
46
  });
93
47
  }
48
+ function formatPercent(val) {
49
+ if (val === void 0 || val === null || val === "") return "0.00%";
50
+ const n = Number(val) * 100;
51
+ if (isNaN(n)) return val;
52
+ return n.toFixed(2) + "%";
53
+ }
94
54
  function formatDate(val) {
95
55
  if (val === void 0 || val === null || val === "") return "--";
96
56
  const s = String(val);
@@ -116,41 +76,41 @@ const _sfc_main = {
116
76
  key: item.label
117
77
  }, [
118
78
  createElementVNode("div", _hoisted_5, toDisplayString(item.label), 1),
119
- createElementVNode("div", _hoisted_6, toDisplayString(item.value), 1)
79
+ createElementVNode("div", _hoisted_6, toDisplayString(formatPercent(item.value)), 1)
120
80
  ]);
121
81
  }), 128))
122
82
  ]),
123
- _cache[0] || (_cache[0] = createElementVNode("div", { class: "rate-row rate-amount" }, [
124
- createElementVNode("div", { class: "rate-label" }, "预计收益"),
125
- createElementVNode("div", { class: "rate-value rate-amt" }, "328,500.00元")
126
- ], -1))
83
+ createElementVNode("div", _hoisted_7, [
84
+ _cache[0] || (_cache[0] = createElementVNode("div", { class: "rate-label" }, "预计收益", -1)),
85
+ createElementVNode("div", _hoisted_8, toDisplayString(formatAmount(__props.params.expectedRevenue)) + " ", 1)
86
+ ])
127
87
  ])
128
88
  ]),
129
- createElementVNode("div", _hoisted_7, [
89
+ createElementVNode("div", _hoisted_9, [
130
90
  _cache[3] || (_cache[3] = createElementVNode("div", { class: "card-title" }, "租金计划", -1)),
131
- createElementVNode("div", _hoisted_8, [
91
+ createElementVNode("div", _hoisted_10, [
132
92
  (openBlock(true), createElementBlock(Fragment, null, renderList(planList.value, (row, idx) => {
133
93
  return openBlock(), createElementBlock("div", {
134
94
  class: "repay-row",
135
95
  key: idx,
136
96
  onClick: ($event) => clickHandler()
137
97
  }, [
138
- createElementVNode("div", _hoisted_10, [
139
- createElementVNode("div", _hoisted_11, "第" + toDisplayString(row.termNum) + "期", 1),
140
- createElementVNode("div", _hoisted_12, "还款日:" + toDisplayString(formatDate(row.endDate)), 1)
98
+ createElementVNode("div", _hoisted_12, [
99
+ createElementVNode("div", _hoisted_13, "第" + toDisplayString(idx) + "期", 1),
100
+ createElementVNode("div", _hoisted_14, "还款日:" + toDisplayString(formatDate(row.intstDate)), 1)
141
101
  ]),
142
- createElementVNode("div", _hoisted_13, [
143
- createElementVNode("div", _hoisted_14, [
102
+ createElementVNode("div", _hoisted_15, [
103
+ createElementVNode("div", _hoisted_16, [
144
104
  _cache[2] || (_cache[2] = createElementVNode("span", { class: "label" }, "应还租金:", -1)),
145
- createElementVNode("span", _hoisted_15, toDisplayString(formatAmount(row.rent)) + "元", 1)
105
+ createElementVNode("span", _hoisted_17, toDisplayString(formatAmount(row.rent)) + "元", 1)
146
106
  ]),
147
- createElementVNode("div", _hoisted_16, [
107
+ createElementVNode("div", _hoisted_18, [
148
108
  createElementVNode("span", null, "本金:" + toDisplayString(formatAmount(row.prcp)) + "元", 1),
149
109
  createElementVNode("span", null, "利息:" + toDisplayString(formatAmount(row.normInt)) + "元", 1),
150
110
  createElementVNode("span", null, "期末:" + toDisplayString(formatAmount(row.afterBal)) + "元", 1)
151
111
  ])
152
112
  ])
153
- ], 8, _hoisted_9);
113
+ ], 8, _hoisted_11);
154
114
  }), 128))
155
115
  ])
156
116
  ])
@@ -158,7 +118,7 @@ const _sfc_main = {
158
118
  };
159
119
  }
160
120
  };
161
- const _RentCalcResult = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-2e5d76eb"]]);
121
+ const _RentCalcResult = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3c57faf0"]]);
162
122
  export {
163
123
  _RentCalcResult as default
164
124
  };
@@ -109,6 +109,13 @@ const _sfc_main = {
109
109
  ...confirmedSelections.value[fieldName] || []
110
110
  ];
111
111
  };
112
+ const allFilterOpen = () => {
113
+ props.filterData.forEach((filter) => {
114
+ activeSelections.value[filter.fieldName] = [
115
+ ...confirmedSelections.value[filter.fieldName] || []
116
+ ];
117
+ });
118
+ };
112
119
  const emitChange = () => {
113
120
  const result = [];
114
121
  props.filterData.forEach((filter) => {
@@ -188,7 +195,8 @@ const _sfc_main = {
188
195
  key: 0,
189
196
  ref_key: "allFilterRef",
190
197
  ref: allFilterRef,
191
- title: "全部筛选"
198
+ title: "全部筛选",
199
+ onOpen: allFilterOpen
192
200
  }, {
193
201
  default: withCtx(() => [
194
202
  createElementVNode("div", _hoisted_7, [
@@ -242,7 +250,7 @@ const _sfc_main = {
242
250
  };
243
251
  }
244
252
  };
245
- const QuickFilter = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3e7ddf36"]]);
253
+ const QuickFilter = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c3c07dae"]]);
246
254
  export {
247
255
  QuickFilter as default
248
256
  };