bxs-tools-ui 2.0.7 → 3.0.0-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 (89) hide show
  1. package/README.md +9 -8
  2. package/es/add-and-take/index.css +1 -0
  3. package/es/add-and-take/index.js +2877 -0
  4. package/es/adjust-baoe/index.css +1 -0
  5. package/es/adjust-baoe/index.js +1717 -0
  6. package/es/business-card/index.css +1 -0
  7. package/es/business-card/index.js +616 -0
  8. package/es/canvas-poster/index.css +1 -0
  9. package/es/canvas-poster/index.js +698 -0
  10. package/es/index.css +1 -0
  11. package/es/index.js +39458 -0
  12. package/es/insure-calculate/index.css +1 -0
  13. package/es/insure-calculate/index.js +31180 -0
  14. package/es/person-info/index.css +1 -0
  15. package/es/person-info/index.js +4240 -0
  16. package/es/product-info/index.css +1 -0
  17. package/es/product-info/index.js +4570 -0
  18. package/es/utils/index.js +3160 -0
  19. package/lib/add-and-take/index.css +1 -702
  20. package/lib/add-and-take/index.js +2641 -25431
  21. package/lib/adjust-baoe/index.css +1 -281
  22. package/lib/adjust-baoe/index.js +1534 -27044
  23. package/lib/business-card/index.css +1 -179
  24. package/lib/business-card/index.js +515 -1361
  25. package/lib/canvas-poster/index.css +1 -84
  26. package/lib/canvas-poster/index.js +594 -1414
  27. package/lib/index.css +1 -2538
  28. package/lib/index.js +36329 -40571
  29. package/lib/insure-calculate/index.css +1 -510
  30. package/lib/insure-calculate/index.js +28980 -25191
  31. package/lib/person-info/index.css +1 -562
  32. package/lib/person-info/index.js +3881 -27346
  33. package/lib/product-info/index.css +1 -510
  34. package/lib/product-info/index.js +4235 -34572
  35. package/lib/utils/index.js +3199 -0
  36. package/package.json +47 -18
  37. package/packages/add-and-take/components/interest-form.css +4 -3
  38. package/packages/add-and-take/components/interest-form.vue +11 -36
  39. package/packages/add-and-take/components/interest-items.css +1 -1
  40. package/packages/add-and-take/components/interest-table.css +46 -93
  41. package/packages/add-and-take/components/interest-table.vue +37 -196
  42. package/packages/add-and-take/demo/index.vue +86 -96
  43. package/packages/add-and-take/handler.ts +9 -8
  44. package/packages/add-and-take/index.css +3 -2
  45. package/packages/add-and-take/index.vue +7 -28
  46. package/packages/add-and-take/readme.md +17 -33
  47. package/packages/adjust-baoe/demo/index.vue +63 -66
  48. package/packages/adjust-baoe/index.css +21 -29
  49. package/packages/adjust-baoe/index.vue +41 -54
  50. package/packages/adjust-baoe/readme.md +52 -87
  51. package/packages/business-card/demo/index.vue +2 -11
  52. package/packages/business-card/index.css +1 -0
  53. package/packages/business-card/readme.md +36 -16
  54. package/packages/bxs-utils/index.ts +7 -0
  55. package/packages/bxs-utils/planbook/insurance.ts +5 -5
  56. package/packages/bxs-utils/planbook/product.ts +2 -1
  57. package/packages/canvas-poster/readme.md +86 -66
  58. package/packages/index.ts +52 -0
  59. package/packages/insure-calculate/demo/index.vue +22 -8
  60. package/packages/insure-calculate/index.css +8 -6
  61. package/packages/insure-calculate/index.vue +189 -146
  62. package/packages/insure-calculate/readme.md +1 -1
  63. package/packages/person-info/{crm-person.vue → crm-popup.vue} +117 -108
  64. package/packages/person-info/demo/index.vue +2 -1
  65. package/packages/person-info/index.vue +117 -130
  66. package/packages/person-info/readme.md +5 -8
  67. package/packages/planbook-input/components/product-table.css +2 -0
  68. package/packages/planbook-input/components/product-table.vue +38 -16
  69. package/packages/planbook-input/index.css +4 -1
  70. package/packages/planbook-input/index.vue +12 -9
  71. package/packages/product-info/demo/index.vue +4 -2
  72. package/packages/product-info/index.css +131 -116
  73. package/packages/product-info/index.vue +130 -145
  74. package/packages/product-info/readme.md +1 -2
  75. package/src/components/common/common-age-birthday.vue +205 -0
  76. package/{packages/components/common-popup/index.vue → src/components/common/common-popup.vue} +40 -25
  77. package/src/components/common/common-radio.vue +175 -0
  78. package/src/components/common/common-select.vue +132 -0
  79. package/{packages/components/form-item/title-item.css → src/components/common/common-title.css} +13 -5
  80. package/{packages/components/form-item/title-item.vue → src/components/common/common-title.vue} +6 -21
  81. package/src/js/request.js +3 -3
  82. package/src/style/apply.css +25 -0
  83. package/src/style/base.css +0 -28
  84. package/packages/components/common-radio.vue +0 -142
  85. package/packages/components/form-item/age-birthday-item.vue +0 -183
  86. package/packages/components/form-item/select-item.vue +0 -110
  87. package/packages/person-info/crm-person.css +0 -57
  88. package/packages/person-info/index.css +0 -51
  89. package/src/index.ts +0 -48
@@ -108,7 +108,16 @@
108
108
  </table>
109
109
  </div>
110
110
  </div>
111
- <CommonPopup v-model="popupConf.prodVisible" :title="popupConf.title" round closeable position="bottom" :z-index="100" @confirm="confirm(productData)">
111
+ <CommonPopup
112
+ v-model="popupConf.prodVisible"
113
+ :title="popupConf.title"
114
+ height="90%"
115
+ round
116
+ closeable
117
+ position="bottom"
118
+ :z-index="100"
119
+ @confirm="confirm(productData)"
120
+ >
112
121
  <ProductInfo
113
122
  ref="productInfo"
114
123
  :input-data="inputData"
@@ -126,6 +135,7 @@
126
135
  <CommonPopup
127
136
  v-model="takePopupConfig.visible"
128
137
  :title="takePopupConfig.title"
138
+ height="90%"
129
139
  round
130
140
  closeable
131
141
  position="bottom"
@@ -188,11 +198,13 @@ import { initAddAndTakePopupConfig } from 'packages/add-and-take/handler.ts';
188
198
  import { ADD_AND_TAKE_TITLE_MAP } from 'packages/add-and-take/constant.ts';
189
199
  import { convertInputDataToResultData } from './handler';
190
200
 
191
- import CommonPopup from 'packages/components/common-popup/index.vue';
201
+ import CommonPopup from '@src/components/common/common-popup.vue';
192
202
  import ProductInfo from 'packages/product-info/index.vue';
193
203
  import AddAndTake from 'packages/add-and-take/index.vue';
194
204
  import AdjustBaoe from 'packages/adjust-baoe/index.vue';
195
205
 
206
+ import './product-table.css';
207
+
196
208
  const { insuranceId } = QS.parse(`${location.href.split('?')[1]}`) || {};
197
209
 
198
210
  function initPopupConf() {
@@ -365,19 +377,32 @@ export default class BxtProductTable extends Vue {
365
377
  insuredAge: _get(resultData, 'personData.personOrderList[0].age'),
366
378
  periodNum: ins.periodNum,
367
379
  [name]: ins[name],
368
- [name]: {
369
- accountPart: 'addAndTake',
370
- addAndTakeData: [
371
- { key: 'add', adjustData: [[6, 6, 8000000, '']] },
372
- {
373
- key: 'take',
374
- adjustData: [
375
- [7, 7, 1000000, '风请小派送'],
376
- [8, 8, 10000, '风派送']
380
+ [name]: isReduceBaof
381
+ ? {
382
+ accountPart: 'take',
383
+ addAndTakeData: [
384
+ {
385
+ key: 'take',
386
+ adjustData: [
387
+ [7, 7, 1000000, '逐浪飞花有'],
388
+ [8, 8, 10000, '逐浪飞花角']
389
+ ]
390
+ }
377
391
  ]
378
392
  }
379
- ]
380
- },
393
+ : {
394
+ accountPart: 'addAndTake',
395
+ addAndTakeData: [
396
+ { key: 'add', adjustData: [[6, 6, 8000000, '']] },
397
+ {
398
+ key: 'take',
399
+ adjustData: [
400
+ [7, 7, 1000000, '风请小派送'],
401
+ [8, 8, 10000, '风派送']
402
+ ]
403
+ }
404
+ ]
405
+ },
381
406
  [isReduceBaof ? 'reduceBaofInsuranceId' : 'accountInsuranceId']: ins.key,
382
407
  interestData: null
383
408
  };
@@ -496,6 +521,3 @@ export default class BxtProductTable extends Vue {
496
521
  }
497
522
  }
498
523
  </script>
499
- <style lang="postcss">
500
- @import './product-table.css';
501
- </style>
@@ -1,8 +1,11 @@
1
1
  @import 'base.css';
2
+ @import 'color.css';
2
3
 
3
4
  .bxt-planbook {
4
- font-size: 15px;
5
+ min-height: 100vh;
6
+ font-size: 14px;
5
7
  box-sizing: border-box;
8
+ background: var(--color-bg-primary);
6
9
 
7
10
  &::after {
8
11
  display: block;
@@ -6,12 +6,12 @@
6
6
  <PersonInfo
7
7
  :key="person.key"
8
8
  :input-data="inputData"
9
- :verify-data="planbookData?.verifyData"
9
+ :verify-data="planbookData && planbookData.verifyData"
10
10
  :person-data="person"
11
11
  :is-show-crm-person="true"
12
12
  :params="{
13
- brokerFlag: planbookData?.brokerFlag,
14
- planbookId: planbookData?.pbId
13
+ brokerFlag: planbookData && planbookData.brokerFlag,
14
+ planbookId: planbookData && planbookData.pbId
15
15
  }"
16
16
  @change="changePersonInfo"
17
17
  />
@@ -26,13 +26,13 @@
26
26
  :key="p.key"
27
27
  :result-uuid="URL_PARAM.uuid"
28
28
  :input-data="inputData"
29
- :verify-data="planbookData?.verifyData"
29
+ :verify-data="planbookData && planbookData.verifyData"
30
30
  :params="{
31
31
  planbookId: Number(URL_PARAM.planbookId),
32
32
  publicPbUuid: URL_PARAM.publicPbUuid,
33
33
  groupKey: g.key,
34
34
  productKey: p.key,
35
- interestProductList: planbookData?.interestProductList
35
+ interestProductList: planbookData && planbookData.interestProductList
36
36
  }"
37
37
  @confirm="confirmProduct"
38
38
  @changePerson="changePersonInfo"
@@ -57,6 +57,7 @@ import { createMd5Token } from '@src/js/md5Token.js';
57
57
  import PersonInfo from '../person-info/index.vue';
58
58
  import ProductTable from './components/product-table.vue';
59
59
  import InputFooter from './components/footer.vue';
60
+ import './index.css';
60
61
 
61
62
  Vue.use(Vant);
62
63
  @Component({
@@ -163,8 +164,13 @@ export default class BxtPlanbookInput extends Vue {
163
164
  console.log(err);
164
165
  });
165
166
  }
166
- createPlanbook(planbookData: IPlanbookData): any {
167
+ createPlanbook(planbookData: IPlanbookData | null): any {
167
168
  const { URL_PARAM, inputData } = this;
169
+ if (!planbookData || !inputData) {
170
+ Toast('数据不完整');
171
+ return Promise.reject();
172
+ }
173
+
168
174
  const { pbType, planbookId, publicPbUuid, userUuid } = URL_PARAM;
169
175
  const options: any = {
170
176
  pbType,
@@ -206,6 +212,3 @@ export default class BxtPlanbookInput extends Vue {
206
212
  }
207
213
  }
208
214
  </script>
209
- <style lang="postcss">
210
- @import './index.css';
211
- </style>
@@ -8,6 +8,7 @@ import Vue from 'vue';
8
8
  import { Component } from 'vue-property-decorator';
9
9
  import QS from 'qs';
10
10
  import { PLANBOOK_API_HOSTNAME } from '@src/js/variables.js';
11
+ import { get as _get } from 'lodash';
11
12
  import { initPageData } from '../../planbook-input/helper';
12
13
  import ProductInfo from '../index.vue';
13
14
 
@@ -26,6 +27,7 @@ export default class ProductInfoDemo extends Vue {
26
27
  if (!this.URL_PARAM.publicPbUuid) {
27
28
  this.URL_PARAM.publicPbUuid = '5d6499946bbb47bb8f6a286e9d4eee77';
28
29
  }
30
+ document.body.style.backgroundColor = '#f2f2f2';
29
31
  this.getPlanbookData();
30
32
  }
31
33
  getUrlParam() {
@@ -67,8 +69,8 @@ export default class ProductInfoDemo extends Vue {
67
69
  });
68
70
  }
69
71
  cgProduct(product, obj, inst) {
70
- if (obj.type === 'change' && obj.ins && obj.ele) {
71
- this.$toast(`${obj.ins.eleOrderList[0].labelName} -> ${obj.ele.labelName}: ${obj.ele.value}`);
72
+ if (obj.type === 'change') {
73
+ this.$toast(`${_get(obj, 'insData.eleOrderList[0].labelName')} -> ${_get(obj, 'eleData.labelName')}: ${_get(obj, 'eleData.value')}`);
72
74
  }
73
75
  }
74
76
  }
@@ -1,4 +1,5 @@
1
1
  @import 'base.css';
2
+ @import 'color.css';
2
3
 
3
4
  .bxt-product-info {
4
5
  padding: 10px;
@@ -11,24 +12,22 @@
11
12
  border-radius: 6px;
12
13
 
13
14
  & .bxt-custom-result-title {
14
- padding: 15px;
15
15
  position: relative;
16
+ padding: 15px;
16
17
 
17
- & .bxt-custom-result-title_desc {
18
+ & .bxt-desc {
18
19
  & .icon-arrows_up,
19
20
  & .icon-arrows_down {
20
21
  color: var(--color-text-assist);
21
22
  }
22
23
  }
23
24
 
24
- & .bx-switch-box {
25
- @apply --vertical-center;
26
-
25
+ & .van-switch {
26
+ position: absolute;
27
+ top: 50%;
27
28
  right: 15px;
28
-
29
- & .bx-switch-circle {
30
- pointer-events: none;
31
- }
29
+ transform: translateY(-50%);
30
+ vertical-align: middle;
32
31
  }
33
32
  }
34
33
 
@@ -44,11 +43,16 @@
44
43
  background: white;
45
44
  margin-bottom: 9px;
46
45
  border-radius: 6px;
46
+ overflow: hidden;
47
47
 
48
48
  &:last-child {
49
49
  margin-bottom: 0;
50
50
  }
51
51
 
52
+ & .van-cell::after {
53
+ border-bottom: 0;
54
+ }
55
+
52
56
  &.bxt-product-info-form-follow {
53
57
  border-bottom-left-radius: 0;
54
58
  border-bottom-right-radius: 0;
@@ -60,135 +64,157 @@
60
64
  }
61
65
  }
62
66
 
63
- & .bx-form-item {
64
- text-align: right;
67
+ & .bx-form-item__inner {
68
+ & .bx-form-item__content {
69
+ & input {
70
+ text-align: right;
71
+ }
72
+
73
+ & .bx-input-icon {
74
+ & .bx-icon,
75
+ & .icon-edit2 {
76
+ color: var(--color-text-minor) !important;
77
+ }
78
+ }
65
79
 
66
- &::after {
67
- height: 0;
80
+ & .bxt-titile-content {
81
+ font-size: 15px;
82
+ }
68
83
  }
84
+ }
69
85
 
86
+ & .bxt-ins-form-radio-btn {
70
87
  & .bx-form-item__inner {
71
88
  & .bx-form-item__content {
72
- & input {
73
- text-align: right;
74
- }
89
+ margin-right: -5px;
75
90
 
76
- & .bx-input-icon {
77
- & .bx-icon,
78
- & .icon-edit2 {
79
- color: var(--color-text-minor) !important;
80
- }
91
+ & .bx-radio-warp {
92
+ padding: 10px 5px;
81
93
  }
82
94
 
83
- & .bxt-titile-content {
84
- font-size: 15px;
95
+ & input {
96
+ text-align: right;
85
97
  }
86
98
  }
87
99
  }
100
+ }
88
101
 
89
- &.bxt-ins-form-radio-btn {
90
- & .bx-form-item__inner {
91
- & .bx-form-item__content {
92
- margin-right: -5px;
102
+ & .bxt-ins-form-radio {
103
+ text-align: left;
93
104
 
94
- & .bx-radio-warp {
95
- padding: 10px 5px;
96
- }
105
+ & .van-radio-group {
106
+ width: 100%;
97
107
 
98
- & input {
99
- text-align: right;
100
- }
101
- }
102
- }
103
- }
108
+ & .van-radio {
109
+ width: 100%;
110
+ align-items: flex-start;
104
111
 
105
- &.bxt-ins-form-radio {
106
- text-align: left;
112
+ & .icon-choose_none_line {
113
+ color: var(--color-text-patch);
114
+ }
107
115
 
108
- & .bx-radio-warp {
109
- padding-left: 0;
110
- padding-right: 0;
111
- margin-right: 15px;
112
- text-align: left;
116
+ & .icon-multiple_choice {
117
+ color: var(--color-primary);
118
+ }
113
119
 
114
- & .bx-radio-icon-warp {
115
- vertical-align: middle;
120
+ & .van-radio__icon--disabled {
121
+ & .icon-choose_none_line,
122
+ & .icon-multiple_choice {
123
+ color: var(--color-text-disabled);
124
+ }
116
125
  }
117
- }
118
126
 
119
- & .bxt-ins-form-radio-content {
120
- display: inline-block;
121
-
122
- & .bxt-ins-form-radio--code {
123
- line-height: 1.45;
124
- margin-right: 4px;
125
- padding: 0 4px;
126
- border-radius: 4px;
127
- color: #ff703e;
128
- border: 1px solid #ff703e;
129
- font-size: 12px;
130
- transform: scale(0.8334);
131
- transform-origin: left center;
132
- vertical-align: 1px;
127
+ & .bx-radio-warp {
128
+ padding-left: 0;
129
+ padding-right: 0;
130
+ margin-right: 15px;
131
+ text-align: left;
132
+
133
+ & .bx-radio-icon-warp {
134
+ vertical-align: middle;
135
+ }
133
136
  }
134
137
 
135
- & .bxt-ins-form-radio--tx {
138
+ & .bxt-ins-form-radio-content {
136
139
  display: inline-block;
137
- width: auto;
138
- line-height: 1.45;
139
- max-width: 15rem;
140
- font-size: 14px;
141
- vertical-align: top;
142
-
143
- &.bxt-ins-form-radio--width {
144
- max-width: 12rem;
140
+
141
+ & .bxt-ins-form-radio--code {
142
+ line-height: 20px;
143
+ margin-right: 4px;
144
+ padding: 0 4px;
145
+ border-radius: 4px;
146
+ color: #ff703e;
147
+ border: 1px solid #ff703e;
148
+ font-size: 12px;
149
+ transform: scale(0.8334);
150
+ transform-origin: left center;
151
+ vertical-align: top;
152
+ }
153
+
154
+ & .bxt-ins-form-radio--tx {
155
+ display: inline-block;
156
+ width: auto;
157
+ line-height: 20px;
158
+ max-width: 15rem;
159
+ font-size: 14px;
160
+ vertical-align: top;
161
+
162
+ &.bxt-ins-form-radio--width {
163
+ max-width: 12rem;
164
+ }
145
165
  }
146
- }
147
166
 
148
- & .bxt-ins-form-radio--tag {
149
- margin-left: 9px;
150
- color: #f90;
151
- font-size: 12px;
152
- line-height: normal;
153
- vertical-align: middle;
167
+ & .bxt-ins-form-radio--tag {
168
+ margin-left: 9px;
169
+ color: #f90;
170
+ font-size: 12px;
171
+ line-height: 20px;
172
+ vertical-align: top;
173
+ }
154
174
  }
155
175
  }
176
+
177
+ & .van-radio:not(:first-child) {
178
+ margin-top: 6px;
179
+ }
156
180
  }
181
+ }
157
182
 
158
- & .bxt-ins-unit-tips {
159
- display: inline-block;
160
- position: absolute;
161
- top: 30px;
162
- right: 55px;
163
- margin-top: 11px;
164
- line-height: normal;
183
+ & .bxt-ins-unit-tips {
184
+ position: absolute;
185
+ display: inline-block;
186
+ right: 50px;
187
+ margin-top: -12px;
188
+ line-height: normal;
189
+ text-align: right;
190
+ z-index: 1;
165
191
 
166
- & em {
167
- position: absolute;
168
- top: -3px;
169
- left: 50%;
170
- display: inline-block;
171
- width: 6px;
172
- height: 6px;
173
- background: #666;
174
- transform: translateX(-50%) rotate(45deg);
175
- content: ' ';
176
- }
192
+ & em {
193
+ position: absolute;
194
+ top: -2px;
195
+ left: 50%;
196
+ display: inline-block;
197
+ width: 6px;
198
+ height: 6px;
199
+ background: #666;
200
+ transform: translateX(-50%) rotate(45deg);
201
+ content: ' ';
202
+ }
177
203
 
178
- & span {
179
- position: relative;
180
- display: inline-block;
181
- padding: 1px 12px;
182
- line-height: normal;
183
- background: #666;
184
- color: white;
185
- font-size: 12px;
186
- border-radius: 4px;
187
- }
204
+ & span {
205
+ position: relative;
206
+ display: inline-block;
207
+ padding: 1px 12px;
208
+ line-height: normal;
209
+ background: #666;
210
+ color: white;
211
+ font-size: 12px;
212
+ border-radius: 4px;
188
213
  }
189
214
  }
190
215
 
191
216
  & .bxt-ins-recommend-values {
217
+ margin-top: -2px;
192
218
  padding: 0 15px 18px 15px;
193
219
  text-align: right;
194
220
  white-space: nowrap;
@@ -208,19 +234,8 @@
208
234
  }
209
235
  }
210
236
 
211
- & .bxt-ins-form-radio-btn {
212
- & .bx-form-item__inner {
213
- align-items: flex-start;
214
- }
215
- }
216
-
217
- & .bx-form-item__input {
218
- & .bx-form-item__inner {
219
- align-items: flex-start;
220
- }
221
- }
222
237
 
223
- & .bx-form-item__unit {
238
+ & .van-field-unit {
224
239
  position: relative;
225
240
  z-index: 1;
226
241
  }