bxs-tools-ui 3.2.0 → 3.3.0

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 (148) hide show
  1. package/README.md +20 -20
  2. package/es/add-and-take/index.css +1 -1
  3. package/es/add-and-take/index.js +283 -64
  4. package/es/adjust-baoe/index.css +1 -1
  5. package/es/adjust-baoe/index.js +444 -195
  6. package/es/business-card/index.css +1 -1
  7. package/es/business-card/index.js +1 -0
  8. package/es/canvas-poster/index.css +1 -1
  9. package/es/canvas-poster/index.js +1 -0
  10. package/es/index.css +1 -1
  11. package/es/index.js +936 -824
  12. package/es/insure-calculate/index.css +1 -1
  13. package/es/insure-calculate/index.js +438 -265
  14. package/es/person-info/index.css +1 -1
  15. package/es/person-info/index.js +296 -1370
  16. package/es/product-info/index.css +1 -1
  17. package/es/product-info/index.js +644 -548
  18. package/es/share-sheet/index.css +1 -1
  19. package/es/share-sheet/index.js +313 -21
  20. package/es/utils/index.js +530 -429
  21. package/lib/add-and-take/index.css +1 -1
  22. package/lib/add-and-take/index.js +283 -64
  23. package/lib/adjust-baoe/index.css +1 -1
  24. package/lib/adjust-baoe/index.js +441 -194
  25. package/lib/business-card/index.css +1 -1
  26. package/lib/business-card/index.js +1 -0
  27. package/lib/canvas-poster/index.css +1 -1
  28. package/lib/canvas-poster/index.js +1 -0
  29. package/lib/index.css +1 -1
  30. package/lib/index.js +939 -826
  31. package/lib/insure-calculate/index.css +1 -1
  32. package/lib/insure-calculate/index.js +438 -268
  33. package/lib/person-info/index.css +1 -1
  34. package/lib/person-info/index.js +295 -1372
  35. package/lib/product-info/index.css +1 -1
  36. package/lib/product-info/index.js +645 -550
  37. package/lib/share-sheet/index.css +1 -1
  38. package/lib/share-sheet/index.js +313 -25
  39. package/lib/utils/index.js +531 -433
  40. package/package.json +9 -7
  41. package/packages/add-and-take/components/interest-form.less +144 -0
  42. package/packages/add-and-take/components/interest-form.vue +179 -179
  43. package/packages/add-and-take/components/interest-items.less +87 -0
  44. package/packages/add-and-take/components/interest-items.vue +67 -80
  45. package/packages/add-and-take/components/interest-table.less +111 -0
  46. package/packages/add-and-take/components/interest-table.vue +31 -31
  47. package/packages/add-and-take/constant.ts +2 -2
  48. package/packages/add-and-take/demo/index.vue +89 -86
  49. package/packages/add-and-take/handler.ts +52 -57
  50. package/packages/add-and-take/index.less +69 -0
  51. package/packages/add-and-take/index.vue +156 -156
  52. package/packages/add-and-take/readme.md +87 -98
  53. package/packages/adjust-baoe/demo/index.vue +37 -47
  54. package/packages/adjust-baoe/index.less +125 -0
  55. package/packages/adjust-baoe/index.vue +134 -147
  56. package/packages/adjust-baoe/readme.md +35 -45
  57. package/packages/business-card/demo/index.vue +7 -7
  58. package/packages/business-card/index.less +100 -0
  59. package/packages/business-card/index.vue +18 -21
  60. package/packages/business-card/readme.md +46 -53
  61. package/packages/bxs-utils/demo/index.vue +2 -2
  62. package/packages/bxs-utils/index.ts +5 -5
  63. package/packages/bxs-utils/planbook/common.ts +56 -92
  64. package/packages/bxs-utils/planbook/index.ts +4 -4
  65. package/packages/bxs-utils/planbook/insurance.ts +137 -127
  66. package/packages/bxs-utils/planbook/person.ts +143 -147
  67. package/packages/bxs-utils/planbook/product.ts +473 -509
  68. package/packages/bxs-utils/readme.md +94 -84
  69. package/packages/bxs-utils/trade/index.js +1 -1
  70. package/packages/bxs-utils/trade/insureCalculate.js +91 -204
  71. package/packages/canvas-poster/demo/index.vue +9 -13
  72. package/packages/canvas-poster/index.less +5 -0
  73. package/packages/canvas-poster/index.vue +68 -79
  74. package/packages/canvas-poster/readme.md +106 -109
  75. package/packages/index.ts +1 -1
  76. package/packages/insure-calculate/demo/index.vue +20 -20
  77. package/packages/insure-calculate/index.less +366 -0
  78. package/packages/insure-calculate/index.vue +305 -329
  79. package/packages/insure-calculate/readme.md +99 -106
  80. package/packages/person-info/crm-popup.vue +81 -80
  81. package/packages/person-info/demo/index.vue +25 -37
  82. package/packages/person-info/index-inline.less +11 -0
  83. package/packages/person-info/index.vue +53 -83
  84. package/packages/person-info/readme.md +109 -115
  85. package/packages/planbook-input/components/footer.less +54 -0
  86. package/packages/planbook-input/components/footer.vue +8 -64
  87. package/packages/planbook-input/components/handler.js +33 -44
  88. package/packages/planbook-input/components/product-table.less +235 -0
  89. package/packages/planbook-input/components/product-table.vue +114 -108
  90. package/packages/planbook-input/demo/index.vue +3 -3
  91. package/packages/planbook-input/helper.js +852 -465
  92. package/packages/planbook-input/index.less +30 -0
  93. package/packages/planbook-input/index.vue +86 -103
  94. package/packages/planbook-input/readme.md +72 -90
  95. package/packages/product-info/demo/constant.js +1 -1
  96. package/packages/product-info/demo/index.vue +31 -43
  97. package/packages/product-info/index.less +271 -0
  98. package/packages/product-info/index.vue +198 -210
  99. package/packages/product-info/readme.md +72 -75
  100. package/packages/share-sheet/constant.js +4 -4
  101. package/packages/share-sheet/demo/index.vue +10 -10
  102. package/packages/share-sheet/handler.js +14 -14
  103. package/packages/share-sheet/index.less +201 -0
  104. package/packages/share-sheet/index.vue +39 -39
  105. package/packages/share-sheet/readme.md +121 -127
  106. package/src/api/add-and-take.js +45 -0
  107. package/src/api/adjust-baoe.js +16 -0
  108. package/src/api/index.js +6 -0
  109. package/src/api/planbook.js +93 -0
  110. package/src/api/request.js +211 -0
  111. package/src/api/trade.js +56 -0
  112. package/src/api/user.js +18 -0
  113. package/src/components/common/common-age-birthday.less +66 -0
  114. package/src/components/common/common-age-birthday.vue +27 -95
  115. package/src/components/common/common-popup.less +81 -0
  116. package/src/components/common/common-popup.vue +12 -96
  117. package/src/components/common/common-radio.less +75 -0
  118. package/src/components/common/common-radio.vue +13 -91
  119. package/src/components/common/common-select.less +13 -0
  120. package/src/components/common/common-select.vue +21 -38
  121. package/src/components/common/common-title.less +115 -0
  122. package/src/components/common/common-title.vue +24 -24
  123. package/src/js/loading.js +6 -6
  124. package/src/js/md5Token.js +38 -44
  125. package/src/js/utils.js +45 -53
  126. package/src/js/variables.js +47 -25
  127. package/src/style/base.less +18 -0
  128. package/src/style/color.less +40 -0
  129. package/src/style/variables.less +21 -42
  130. package/packages/add-and-take/api.ts +0 -70
  131. package/packages/add-and-take/components/interest-form.css +0 -146
  132. package/packages/add-and-take/components/interest-items.css +0 -87
  133. package/packages/add-and-take/components/interest-table.css +0 -113
  134. package/packages/add-and-take/index.css +0 -70
  135. package/packages/adjust-baoe/index.css +0 -123
  136. package/packages/business-card/index.css +0 -101
  137. package/packages/canvas-poster/index.css +0 -5
  138. package/packages/insure-calculate/index.css +0 -368
  139. package/packages/planbook-input/api.js +0 -29
  140. package/packages/planbook-input/components/product-table.css +0 -236
  141. package/packages/planbook-input/index.css +0 -31
  142. package/packages/product-info/index.css +0 -264
  143. package/packages/share-sheet/index.css +0 -203
  144. package/src/components/common/common-title.css +0 -116
  145. package/src/js/request.js +0 -64
  146. package/src/style/apply.css +0 -25
  147. package/src/style/base.css +0 -36
  148. package/src/style/color.css +0 -74
@@ -1,4 +1,4 @@
1
- import { convertEleOrderListToObj, converUnit10000 } from './common';
1
+ import { convertEleOrderListToObj, converUnit10000 } from './common'
2
2
 
3
3
  /**
4
4
  * **初始化险种数据**
@@ -10,22 +10,22 @@ import { convertEleOrderListToObj, converUnit10000 } from './common';
10
10
  * @param {IProdInsurance} insData 必传。险种数据(单个)
11
11
  * @returns {void}
12
12
  */
13
- export function initInsuranceData(insData : IProdInsurance) : void {
13
+ export function initInsuranceData(insData: IProdInsurance): void {
14
14
  if (!insData || !insData.eleOrderList) {
15
- return;
15
+ return
16
16
  }
17
17
  if (insData.account && insData.accountData && insData.accountData.accountPart) {
18
- insData.accountData.addAndTakeData = insData.accountData.addAndTakeData || [];
18
+ insData.accountData.addAndTakeData = insData.accountData.addAndTakeData || []
19
19
  if (!insData.accountData.addAndTakeData.length) {
20
20
  insData.accountData.addAndTakeData.push({
21
21
  key: 'add',
22
22
  adjustData: []
23
- });
23
+ })
24
24
  if (['addAndTake', 'take'].includes(insData.accountData.accountPart)) {
25
25
  insData.accountData.addAndTakeData.push({
26
26
  key: 'take',
27
27
  adjustData: []
28
- });
28
+ })
29
29
  }
30
30
  }
31
31
  }
@@ -38,46 +38,67 @@ export function initInsuranceData(insData : IProdInsurance) : void {
38
38
  adjustData: []
39
39
  }
40
40
  ]
41
- };
41
+ }
42
42
  }
43
- insData.eleOrderList.forEach((e : IInsElement) => {
43
+ insData.eleOrderList.forEach((e: IInsElement) => {
44
44
  switch (e.key) {
45
45
  case 'title':
46
- e.isDisabled = e.isDisabled || null;
47
- e.isHide = e.isHide || null;
48
- break;
46
+ e.isDisabled = e.isDisabled || null
47
+ e.isHide = e.isHide || null
48
+ break
49
49
  case 'baoe':
50
- e.placeholder = e.placeholder || '请输入保额';
51
- break;
50
+ e.placeholder = e.placeholder || '请输入保额'
51
+ break
52
52
  case 'baof':
53
- e.placeholder = e.placeholder || '请输入保费';
54
- break;
53
+ e.placeholder = e.placeholder || '请输入保费'
54
+ break
55
55
  case 'payModePremium':
56
- e.placeholder = e.placeholder || '请输入期交保费';
57
- break;
56
+ e.placeholder = e.placeholder || '请输入期交保费'
57
+ break
58
58
  }
59
59
  if (e.optConf && e.optConf.length && e.optConf[1]) {
60
- let options : any = [];
61
- const [start, end, params ] : any = e.optConf || [];
62
- const { desc, valuePrefix, valfix, step } = params || {};
63
- for (let i = start; i <= end; i += (step * 1 || 1)) {
60
+ let options: any = []
61
+ const [start, end, params]: any = e.optConf || []
62
+ const { desc, valuePrefix, valfix, step } = params || {}
63
+ for (let i = start; i <= end; i += step * 1 || 1) {
64
64
  options.push({
65
65
  val: valuePrefix || valfix ? `${valuePrefix}${i}${valfix}` : i,
66
66
  desc: desc ? desc.replace(/{{&&}}/, i) : i
67
- });
67
+ })
68
68
  }
69
- e.opts = options;
69
+ e.opts = options
70
70
  }
71
71
  if (e.opts && e.opts.length) {
72
- e.opts = e.opts.map((o : any) => ({
72
+ e.opts = e.opts.map((o: any) => ({
73
73
  ...o,
74
74
  desc: o.desc || o.val,
75
75
  isHide: o.isHide || null,
76
76
  isDisabled: o.isDisabled || null,
77
77
  isInvalid: o.isInvalid || null
78
- }));
78
+ }))
79
+ }
80
+
81
+ if (e.componentName === 'cmCommonInput') {
82
+ // 输入框,默认打开普通键盘。From hyw
83
+ if (!e.inputType) {
84
+ e.inputType = 'text'
85
+ }
86
+ if (['baoe', 'baof', 'payModePremium', 'num'].includes(e.key)) {
87
+ // 输入框,默认2位小数。From hyw
88
+ if (!e.regExp) {
89
+ e.regExp = '/^\\d{1,9}(\\.\\d{1,2})?$/'
90
+ e.regExpMessage = '请输入最多9位整数和最多2位小数'
91
+ e.maxlength = 12
92
+ e.inputType = 'decimal'
93
+ }
94
+ // 输入框,整数值,使用数字键盘。From hyw
95
+ if (e.regExp === '/^\\d{1,}$/') {
96
+ e.maxlength = 9
97
+ e.inputType = 'tel'
98
+ }
99
+ }
79
100
  }
80
- });
101
+ })
81
102
  }
82
103
 
83
104
  /**
@@ -90,37 +111,35 @@ export function initInsuranceData(insData : IProdInsurance) : void {
90
111
  * @param {IPbProduct} productData 必传。产品数据(单个)
91
112
  * @returns {IProdInsurance} 险种数据(单个)
92
113
  */
93
- export function insuranceDataHandler(insData : IProdInsurance, productData : IPbProduct) : IProdInsurance {
114
+ export function insuranceDataHandler(insData: IProdInsurance, productData: IPbProduct): IProdInsurance {
94
115
  if (!insData || !insData.eleOrderList) {
95
- return insData;
116
+ return insData
96
117
  }
97
118
  if (insData.reduceBaof) {
98
- insData.reduceBaofData = insData.reduceBaofData || null;
99
- insData.duplicateReduceBaofData = insData.duplicateReduceBaofData || null;
119
+ insData.reduceBaofData = insData.reduceBaofData || null
120
+ insData.duplicateReduceBaofData = insData.duplicateReduceBaofData || null
100
121
  }
101
122
  insData.eleOrderList.forEach(ele => {
102
- ele.isDisabled = ele.isDisabled || null;
103
- ele.isHide = ele.isHide || null;
104
- ele.isIgnoreValidate = ele.isIgnoreValidate || null;
105
- ele.rules = [
106
- ...initElementValidateRules(ele, productData)
107
- ];
108
- });
123
+ ele.isDisabled = ele.isDisabled || null
124
+ ele.isHide = ele.isHide || null
125
+ ele.isIgnoreValidate = ele.isIgnoreValidate || null
126
+ ele.rules = [...initElementValidateRules(ele, productData)]
127
+ })
109
128
 
110
- const calMethod = insData.eleOrderList.find(e => e.key === 'calMethod');
111
- const baoe = insData.eleOrderList.find(e => e.key === 'baoe');
112
- const baof = insData.eleOrderList.find(e => e.key === 'baof') || insData.eleOrderList.find(e => e.key === 'payModePremium');
113
- const plan = insData.eleOrderList.find(e => e.key === 'plan');
129
+ const calMethod = insData.eleOrderList.find(e => e.key === 'calMethod')
130
+ const baoe = insData.eleOrderList.find(e => e.key === 'baoe')
131
+ const baof = insData.eleOrderList.find(e => e.key === 'baof') || insData.eleOrderList.find(e => e.key === 'payModePremium')
132
+ const plan = insData.eleOrderList.find(e => e.key === 'plan')
114
133
  // 同时有保额和计划时,若保额被隐藏则显示计划 2019.09.11)
115
134
  if (!calMethod && baoe && plan) {
116
- insData.showPlanDesc = !!baoe.isHide;
135
+ insData.showPlanDesc = !!baoe.isHide
117
136
  }
118
137
  // 切换保额保费互算问题 By Lizhao@2020.11.25
119
138
  if (calMethod && baoe && baof) {
120
- baoe.isHide = calMethod.value !== 'baoe2baof';
121
- baof.isHide = calMethod.value === 'baoe2baof';
139
+ baoe.isHide = calMethod.value !== 'baoe2baof'
140
+ baof.isHide = calMethod.value === 'baoe2baof'
122
141
  }
123
- return insData;
142
+ return insData
124
143
  }
125
144
 
126
145
  /**
@@ -136,12 +155,12 @@ export function insuranceDataHandler(insData : IProdInsurance, productData : IPb
136
155
  * @param {IPbProduct} productData 可不传。产品数据(单个)
137
156
  * @returns {object} 元素的校验规则
138
157
  */
139
- export function initElementValidateRules(ele : IInsElement, productData? : IPbProduct) : any {
140
- const mulInsOrderList = productData && productData.mulInsOrderList ? productData.mulInsOrderList : [];
141
- const insurance0 = mulInsOrderList && mulInsOrderList.length ? mulInsOrderList.find(ins => ins.key !== 'common') : null;
142
- const insurance0Name = insurance0 && insurance0.name ? insurance0.name : '';
158
+ export function initElementValidateRules(ele: IInsElement, productData?: IPbProduct): any {
159
+ const mulInsOrderList = productData && productData.mulInsOrderList ? productData.mulInsOrderList : []
160
+ const insurance0 = mulInsOrderList && mulInsOrderList.length ? mulInsOrderList.find(ins => ins.key !== 'common') : null
161
+ const insurance0Name = insurance0 && insurance0.name ? insurance0.name : ''
143
162
  const isPensionInsurance = insurance0Name.match(/个养|个人养老/)
144
- let rules : any = [];
163
+ let rules: any = []
145
164
  // 必填及正则校验
146
165
  if (['cmCommonInput'].indexOf(String(ele.componentName)) !== -1) {
147
166
  rules = [
@@ -150,33 +169,33 @@ export function initElementValidateRules(ele : IInsElement, productData? : IPbPr
150
169
  message: `请输入${ele.labelName || ''}值`
151
170
  },
152
171
  {
153
- pattern: ele.regExp ? eval(String(ele.regExp)) : (ele.key === 'num' ? /^\d*(\.\d{0,2})?$/ : /^\d*$/),
154
- message: ele.regExpMessage || (ele.regExp ? '输入不合法,请重新输入' : (ele.key === 'num' ? '请输入2位小数的数值' : '请输入整数值'))
172
+ pattern: ele.regExp ? eval(String(ele.regExp)) : ele.key === 'num' ? /^\d*(\.\d{0,2})?$/ : /^\d*$/,
173
+ message: ele.regExpMessage || (ele.regExp ? '输入不合法,请重新输入' : ele.key === 'num' ? '请输入2位小数的数值' : '请输入整数值')
155
174
  }
156
- ];
175
+ ]
157
176
  }
158
177
 
159
178
  // 取值范围校验
160
- let min : number = 0;
161
- let max : number = 0;
179
+ let min: number = 0
180
+ let max: number = 0
162
181
  if (ele.min && !isNaN(Number(ele.min))) {
163
- min = ele.min;
182
+ min = ele.min
164
183
  }
165
184
  if (ele.max && !isNaN(Number(ele.max))) {
166
- max = ele.max;
185
+ max = ele.max
167
186
  }
168
187
  if (min || max) {
169
- let message = '';
188
+ let message = ''
170
189
  if (min && max) {
171
- message = `请输入${converUnit10000(min)}~${converUnit10000(max)}之间的数值`;
190
+ message = `请输入${converUnit10000(min)}~${converUnit10000(max)}之间的数值`
172
191
  } else if (!min) {
173
- message = `请输入不大于${converUnit10000(max)}的数值`;
192
+ message = `请输入不大于${converUnit10000(max)}的数值`
174
193
  // 个人养老险,保费的最大金额限制,提示文案改成:“个人养老金,最高保费${max}元”。From hyw
175
194
  if (isPensionInsurance && ele.key === 'baof') {
176
- message = `个人养老金,最高保费${converUnit10000(max)}元`;
195
+ message = `个人养老金,最高保费${converUnit10000(max)}元`
177
196
  }
178
197
  } else if (!max) {
179
- message = `请输入不小于${converUnit10000(min)}的数值`;
198
+ message = `请输入不小于${converUnit10000(min)}的数值`
180
199
  }
181
200
  rules.push({
182
201
  type: 'number',
@@ -184,9 +203,9 @@ export function initElementValidateRules(ele : IInsElement, productData? : IPbPr
184
203
  max: max || Infinity,
185
204
  message: message,
186
205
  validator(value, rule) {
187
- return (value || value === 0) && value >= rule.min && value <= rule.max;
206
+ return (value || value === 0) && value >= rule.min && value <= rule.max
188
207
  }
189
- });
208
+ })
190
209
  }
191
210
 
192
211
  // 取值倍数校验
@@ -195,37 +214,32 @@ export function initElementValidateRules(ele : IInsElement, productData? : IPbPr
195
214
  multiple: ele.multi,
196
215
  message: `请输入${ele.multi}倍数`,
197
216
  validator(value, rule) {
198
- return (value || value === 0) && !(value % rule.multiple);
217
+ return (value || value === 0) && !(value % rule.multiple)
199
218
  }
200
- });
219
+ })
201
220
  }
202
221
 
203
222
  // 取值对比
204
- if (
205
- ele.compareItem &&
206
- ele.compareItem.length &&
207
- ele.compareItem.length >= 3 &&
208
- mulInsOrderList
209
- ) {
210
- const item1 = ele.compareItem[0].match(/(.{1,})\.(.{1,})/);
211
- const item2 = ele.compareItem[2].match(/(.{1,})\.(.{1,})/);
212
- let insurance1, insurance2, insTitle1, insTitle2, itemValue1, itemValue2;
223
+ if (ele.compareItem && ele.compareItem.length && ele.compareItem.length >= 3 && mulInsOrderList) {
224
+ const item1 = ele.compareItem[0].match(/(.{1,})\.(.{1,})/)
225
+ const item2 = ele.compareItem[2].match(/(.{1,})\.(.{1,})/)
226
+ let insurance1, insurance2, insTitle1, insTitle2, itemValue1, itemValue2
213
227
  if (item1 && item2) {
214
228
  // 查找对应的险种
215
- insurance1 = mulInsOrderList.find(ins => ins.key + '' === item1[1]);
216
- insurance2 = mulInsOrderList.find(ins => ins.key + '' === item2[1]);
229
+ insurance1 = mulInsOrderList.find(ins => ins.key + '' === item1[1])
230
+ insurance2 = mulInsOrderList.find(ins => ins.key + '' === item2[1])
217
231
  }
218
232
  if (insurance1 && insurance1.eleOrderList) {
219
233
  // 险种选中时,获取险种对应元素的值
220
- insTitle1 = insurance1.eleOrderList.find(e => e.key === 'title');
234
+ insTitle1 = insurance1.eleOrderList.find(e => e.key === 'title')
221
235
  if (insTitle1 && insTitle1.value) {
222
- itemValue1 = insurance1.eleOrderList.find(e => e.key === item1[2]);
236
+ itemValue1 = insurance1.eleOrderList.find(e => e.key === item1[2])
223
237
  }
224
238
  }
225
239
  if (insurance2 && insurance2.eleOrderList) {
226
- insTitle2 = insurance2.eleOrderList.find(e => e.key === 'title');
240
+ insTitle2 = insurance2.eleOrderList.find(e => e.key === 'title')
227
241
  if (insTitle2 && insTitle2.value) {
228
- itemValue2 = insurance2.eleOrderList.find(e => e.key === item2[2]);
242
+ itemValue2 = insurance2.eleOrderList.find(e => e.key === item2[2])
229
243
  }
230
244
  }
231
245
  if (itemValue1 && itemValue1.value && itemValue2 && itemValue2.value && ele.compareItem[1]) {
@@ -235,32 +249,32 @@ export function initElementValidateRules(ele : IInsElement, productData? : IPbPr
235
249
  operator: ele.compareItem[1],
236
250
  message: ele.compareItem[3] || '数据输入有误',
237
251
  validator(value, rule) {
238
- let bool = false;
239
- let value1 = rule.value1;
240
- let value2 = rule.value2;
241
- let operator = rule.operator;
252
+ let bool = false
253
+ let value1 = rule.value1
254
+ let value2 = rule.value2
255
+ let operator = rule.operator
242
256
  switch (operator) {
243
257
  case '<=':
244
- bool = value1 <= value2;
245
- break;
258
+ bool = value1 <= value2
259
+ break
246
260
  case '>=':
247
- bool = value1 >= value2;
248
- break;
261
+ bool = value1 >= value2
262
+ break
249
263
  case '<':
250
- bool = value1 < value2;
251
- break;
264
+ bool = value1 < value2
265
+ break
252
266
  case '>':
253
- bool = value1 > value2;
254
- break;
267
+ bool = value1 > value2
268
+ break
255
269
  default:
256
- bool = value1 <= value2;
270
+ bool = value1 <= value2
257
271
  }
258
- return bool;
272
+ return bool
259
273
  }
260
- });
274
+ })
261
275
  }
262
276
  }
263
- return rules;
277
+ return rules
264
278
  }
265
279
 
266
280
  /**
@@ -278,22 +292,22 @@ export function restrictElementsInInsurance({
278
292
  personOrderList,
279
293
  insData,
280
294
  eleData
281
- } : {
282
- personOrderList: IPbPerson []
283
- insData: IProdInsurance,
284
- eleData: IInsElement
285
- }) : string {
286
- let errorMsg : string = '';
295
+ }: {
296
+ personOrderList: IPbPerson[];
297
+ insData: IProdInsurance;
298
+ eleData: IInsElement;
299
+ }): string {
300
+ let errorMsg: string = ''
287
301
  if (insData && eleData && eleData.restrictions) {
288
- const insuredInfo : IPbPerson | undefined = personOrderList && personOrderList.find(p => p.key === 'insuredInfo');
289
- const insuranceInfo = convertEleOrderListToObj(insData);
302
+ const insuredInfo: IPbPerson | undefined = personOrderList && personOrderList.find(p => p.key === 'insuredInfo')
303
+ const insuranceInfo = convertEleOrderListToObj(insData)
290
304
  let insVerifyData
291
305
  if (insuredInfo) {
292
306
  insVerifyData = {
293
307
  sex: insuredInfo.sex,
294
308
  age: insuredInfo.age,
295
309
  ...insuranceInfo
296
- };
310
+ }
297
311
  }
298
312
  // 过滤符合当前数据的限制条件
299
313
  // 如:0-10岁 -> 保险期间10、20年 -> 交费期间15、30年
@@ -301,46 +315,42 @@ export function restrictElementsInInsurance({
301
315
  return Object.keys(restrict).every(ele => {
302
316
  return (
303
317
  // 当前字段是age,且被保人年龄在指定范围
304
- (ele === 'age' &&
305
- insVerifyData[ele] &&
306
- insVerifyData[ele] >= restrict[ele][0] &&
307
- insVerifyData[ele] <= restrict[ele][1]) ||
318
+ (ele === 'age' && insVerifyData[ele] && insVerifyData[ele] >= restrict[ele][0] && insVerifyData[ele] <= restrict[ele][1]) ||
308
319
  // 当前字段是目标元素
309
320
  ele === eleData.key ||
310
321
  // 当前约束值是字符或者数字,且数据中有该值
311
- ((restrict[ele].constructor === String || restrict[ele].constructor === Number) &&
312
- insVerifyData[ele] == restrict[ele]) ||
322
+ ((restrict[ele].constructor === String || restrict[ele].constructor === Number) && insVerifyData[ele] == restrict[ele]) ||
313
323
  // 当前约束值是数组,且数据中有一项值包含在数组中
314
324
  (restrict[ele].constructor === Array && restrict[ele].find(r => r == insVerifyData[ele]))
315
- );
316
- });
317
- });
325
+ )
326
+ })
327
+ })
318
328
 
319
- let valRange = eleRestricts && eleRestricts[0] && eleRestricts[0][eleData.key];
329
+ let valRange = eleRestricts && eleRestricts[0] && eleRestricts[0][eleData.key]
320
330
  if (valRange && valRange.length) {
321
331
  if (eleData.opts) {
322
332
  eleData.opts.forEach(o => {
323
333
  if (!valRange.find(v => v.val === o.val)) {
324
- o.isInvalid = true;
334
+ o.isInvalid = true
325
335
  }
326
- });
336
+ })
327
337
  if (!eleData.opts.find(opt => !opt.isHide && !opt.isDisabled && !opt.isInvalid && opt.val == eleData.value)) {
328
- let opt = eleData.opts.find(o => o.val == eleData.value);
329
- errorMsg = `当前条件下, 没有${eleData.labelName}${opt ? opt.desc : ''}选项, 已自动切换`;
338
+ let opt = eleData.opts.find(o => o.val == eleData.value)
339
+ errorMsg = `当前条件下, 没有${eleData.labelName}${opt ? opt.desc : ''}选项, 已自动切换`
330
340
  }
331
341
  } else if (valRange[0] || valRange[1]) {
332
- let rangeMsg = `当前条件下, ${insData.name}的${eleData.labelName}值`;
333
- let minMsg = `不得小于${converUnit10000(valRange[0])}`;
334
- let maxMsg = `不得大于${converUnit10000(valRange[1])}`;
342
+ let rangeMsg = `当前条件下, ${insData.name}的${eleData.labelName}值`
343
+ let minMsg = `不得小于${converUnit10000(valRange[0])}`
344
+ let maxMsg = `不得大于${converUnit10000(valRange[1])}`
335
345
  if (valRange[0] && valRange[1] && (eleData.value < valRange[0] || eleData.value > valRange[1])) {
336
- errorMsg = `${rangeMsg}${minMsg}且${maxMsg}`;
346
+ errorMsg = `${rangeMsg}${minMsg}且${maxMsg}`
337
347
  } else if (valRange[0] && eleData.value < valRange[0]) {
338
- errorMsg = `${rangeMsg}${minMsg}`;
348
+ errorMsg = `${rangeMsg}${minMsg}`
339
349
  } else if (valRange[1] && eleData.value > valRange[1]) {
340
- errorMsg = `${rangeMsg}${maxMsg}`;
350
+ errorMsg = `${rangeMsg}${maxMsg}`
341
351
  }
342
352
  }
343
353
  }
344
354
  }
345
- return errorMsg;
355
+ return errorMsg
346
356
  }