bxs-tools-ui 1.2.0 → 1.2.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.
@@ -1,6 +1,57 @@
1
+ :root {
2
+
3
+ /* 主色 */
4
+
5
+ /* 品牌色 */
6
+
7
+ /* 默认色 */
8
+
9
+ /* 背景色 */
10
+
11
+ /* 全局背景色(用于分割内容模块的底色),搜索框 */
12
+
13
+ /* 动态区评论引导背景、列表内下拉展开 */
1
14
 
15
+ /* 功能色 */
16
+
17
+ /* 删除、小红点、标签 */
18
+
19
+ /* 底部bar、标签、价格 */
20
+
21
+ /* 标签 */
22
+
23
+ /* 辅助色,公告,提示 */
24
+
25
+ /* 文字 */
26
+
27
+ /* 用于标题信息、重要内容文字信息 */
28
+
29
+ /* 次要文字 */
30
+
31
+ /* 次辅助,补充文本,next箭头左侧提示文字 */
32
+
33
+ /* 列表暗提示文字,next箭头 */
34
+
35
+ /* 失效按钮、icon(如不可点按钮、圈选时其中不可选的圆、券类失效状态 */
36
+
37
+ /* 线条 */
38
+
39
+ /* 分割线 */
40
+
41
+ /* 遮罩层 透明度 */
42
+
43
+ /* 普通浮层底部遮罩,如对话框、半浮层下的遮罩层 */
44
+
45
+ /* 无遮罩情况下的浮动弹层,tost */
46
+
47
+ /* 需要看到遮罩下方内容的变化,如计划书字体大小变化时、有浮动菜单时 */
48
+
49
+ /* type 对应的 color 列表 */
50
+ }
2
51
  .bxt-item-select .bx-input .bx-input-value .bx-input-body .bx-input-control {
3
52
  text-align: right;
53
+ color: #333 !important;
54
+ -webkit-text-fill-color: #333 !important;
4
55
  }
5
56
 
6
57
  :root {
@@ -109,7 +160,7 @@ footer {
109
160
  width: 18rem;
110
161
  padding: 15px 0;
111
162
  line-height: normal;
112
- font-size: 15px;
163
+ font-size: 17px;
113
164
  font-weight: bold;
114
165
  vertical-align: middle
115
166
  }
@@ -277,6 +328,10 @@ footer {
277
328
  .bxt-product-info .bxt-product-info-form .bx-form-item .bx-form-item__inner .bx-form-item__content input {
278
329
  text-align: right;
279
330
  }
331
+ .bxt-product-info .bxt-product-info-form .bx-form-item .bx-form-item__inner .bx-form-item__content .bx-input-icon .bx-icon,
332
+ .bxt-product-info .bxt-product-info-form .bx-form-item .bx-form-item__inner .bx-form-item__content .bx-input-icon .icon-edit2 {
333
+ color: #666 !important;
334
+ }
280
335
  .bxt-product-info .bxt-product-info-form .bx-form-item.bxt-ins-form-radio-btn .bx-form-item__inner .bx-form-item__content {
281
336
  margin-right: -5px
282
337
  }
@@ -331,6 +386,36 @@ footer {
331
386
  line-height: normal;
332
387
  vertical-align: middle;
333
388
  }
389
+ .bxt-product-info .bxt-product-info-form .bx-form-item .bxt-ins-unit-tips {
390
+ display: inline-block;
391
+ position: absolute;
392
+ top: 60%;
393
+ right: 55px;
394
+ margin-top: 11px;
395
+ line-height: normal
396
+ }
397
+ .bxt-product-info .bxt-product-info-form .bx-form-item .bxt-ins-unit-tips em {
398
+ position: absolute;
399
+ top: -3px;
400
+ left: 50%;
401
+ display: inline-block;
402
+ width: 6px;
403
+ height: 6px;
404
+ background: #666;
405
+ -webkit-transform: translateX(-50%) rotate(45deg);
406
+ transform: translateX(-50%) rotate(45deg);
407
+ content: ' ';
408
+ }
409
+ .bxt-product-info .bxt-product-info-form .bx-form-item .bxt-ins-unit-tips span {
410
+ position: relative;
411
+ display: inline-block;
412
+ padding: 1px 12px;
413
+ line-height: normal;
414
+ background: #666;
415
+ color: #fff;
416
+ font-size: 12px;
417
+ border-radius: 4px;
418
+ }
334
419
  .bxt-product-info .bxt-product-info-form .bxt-form-item-label-note {
335
420
  padding: 0 15px 15px 15px;
336
421
  font-size: 12px;
@@ -1896,7 +1896,7 @@ try {
1896
1896
 
1897
1897
  "use strict";
1898
1898
 
1899
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/form-item/select-item.vue?vue&type=template&id=41b6c7f1&
1899
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/form-item/select-item.vue?vue&type=template&id=081d6d99&
1900
1900
  var render = function render() {
1901
1901
  var _vm = this,
1902
1902
  _c = _vm._self._c,
@@ -1925,7 +1925,7 @@ var render = function render() {
1925
1925
 
1926
1926
  var staticRenderFns = [];
1927
1927
 
1928
- // CONCATENATED MODULE: ./packages/components/form-item/select-item.vue?vue&type=template&id=41b6c7f1&
1928
+ // CONCATENATED MODULE: ./packages/components/form-item/select-item.vue?vue&type=template&id=081d6d99&
1929
1929
 
1930
1930
  // EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js
1931
1931
  var tslib_es6 = __webpack_require__(0);
@@ -2044,8 +2044,8 @@ var select_itemvue_type_script_lang_ts_BxtSelectItem = (function (_super) {
2044
2044
 
2045
2045
  // CONCATENATED MODULE: ./packages/components/form-item/select-item.vue?vue&type=script&lang=ts&
2046
2046
  /* harmony default export */ var form_item_select_itemvue_type_script_lang_ts_ = (select_itemvue_type_script_lang_ts_);
2047
- // EXTERNAL MODULE: ./packages/components/form-item/select-item.vue?vue&type=style&index=0&id=41b6c7f1&prod&lang=postcss&
2048
- var select_itemvue_type_style_index_0_id_41b6c7f1_prod_lang_postcss_ = __webpack_require__(51);
2047
+ // EXTERNAL MODULE: ./packages/components/form-item/select-item.vue?vue&type=style&index=0&id=081d6d99&prod&lang=postcss&
2048
+ var select_itemvue_type_style_index_0_id_081d6d99_prod_lang_postcss_ = __webpack_require__(51);
2049
2049
 
2050
2050
  // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
2051
2051
  var componentNormalizer = __webpack_require__(7);
@@ -2074,7 +2074,7 @@ var component = Object(componentNormalizer["a" /* default */])(
2074
2074
 
2075
2075
  /***/ }),
2076
2076
 
2077
- /***/ 164:
2077
+ /***/ 165:
2078
2078
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2079
2079
 
2080
2080
  "use strict";
@@ -2085,7 +2085,7 @@ var component = Object(componentNormalizer["a" /* default */])(
2085
2085
 
2086
2086
  /***/ }),
2087
2087
 
2088
- /***/ 174:
2088
+ /***/ 175:
2089
2089
  /***/ (function(module, exports, __webpack_require__) {
2090
2090
 
2091
2091
  // extracted by mini-css-extract-plugin
@@ -2103,8 +2103,8 @@ var component = Object(componentNormalizer["a" /* default */])(
2103
2103
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2104
2104
 
2105
2105
  "use strict";
2106
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_68725d72_prod_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(174);
2107
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_68725d72_prod_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_68725d72_prod_lang_css___WEBPACK_IMPORTED_MODULE_0__);
2106
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_58aae3be_prod_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(175);
2107
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_58aae3be_prod_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_58aae3be_prod_lang_css___WEBPACK_IMPORTED_MODULE_0__);
2108
2108
  /* unused harmony reexport * */
2109
2109
 
2110
2110
 
@@ -2755,7 +2755,7 @@ module.exports = function bind(fn, thisArg) {
2755
2755
  // ESM COMPAT FLAG
2756
2756
  __webpack_require__.r(__webpack_exports__);
2757
2757
 
2758
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./packages/product-info/index.vue?vue&type=template&id=68725d72&
2758
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./packages/product-info/index.vue?vue&type=template&id=58aae3be&
2759
2759
  var render = function render() {
2760
2760
  var _vm = this,
2761
2761
  _c = _vm._self._c,
@@ -2824,6 +2824,7 @@ var render = function render() {
2824
2824
  "autosize": "",
2825
2825
  "type": "text",
2826
2826
  "border": "",
2827
+ "autocomplete": "off",
2827
2828
  "placeholder": ele.placeholder,
2828
2829
  "disabled": !!ele.isDisabled,
2829
2830
  "readonly": !!ele.isDisabled,
@@ -2834,6 +2835,16 @@ var render = function render() {
2834
2835
  }
2835
2836
  },
2836
2837
  on: {
2838
+ "focus": function focus($event) {
2839
+ _vm.activeInputKey = ele.key;
2840
+ _vm.numberUnitStr = _vm.getAmountUnit(ele);
2841
+ },
2842
+ "blur": function blur($event) {
2843
+ _vm.activeInputKey = '';
2844
+ },
2845
+ "input": function input($event) {
2846
+ _vm.numberUnitStr = _vm.getAmountUnit(ele);
2847
+ },
2837
2848
  "change": function change($event) {
2838
2849
  return _vm.change({
2839
2850
  insData: ins,
@@ -2852,7 +2863,9 @@ var render = function render() {
2852
2863
  },
2853
2864
  expression: "ele.value"
2854
2865
  }
2855
- })], 1)] : _vm._e(), ['cmCommonRadioBtn'].includes(ele.componentName) ? [_c('bxs-form-item', {
2866
+ }), _vm.activeInputKey === ele.key && _vm.numberUnitStr ? _c('div', {
2867
+ staticClass: "bxt-ins-unit-tips"
2868
+ }, [_c('em'), _c('span', [_vm._v("\n " + _vm._s(_vm.numberUnitStr) + "\n ")])]) : _vm._e()], 1)] : _vm._e(), ['cmCommonRadioBtn'].includes(ele.componentName) ? [_c('bxs-form-item', {
2856
2869
  directives: [{
2857
2870
  name: "show",
2858
2871
  rawName: "v-show",
@@ -2976,7 +2989,7 @@ var render = function render() {
2976
2989
  return !o.isHide && !o.isDisabled && !o.isInvalid;
2977
2990
  }),
2978
2991
  "disabled": _vm.isDisabled(ele),
2979
- "right-icon": "arrow-right"
2992
+ "right-icon": _vm.isDisabled(ele) ? '' : 'arrow-right'
2980
2993
  },
2981
2994
  on: {
2982
2995
  "change": function change($event) {
@@ -3004,7 +3017,7 @@ var render = function render() {
3004
3017
 
3005
3018
  var staticRenderFns = [];
3006
3019
 
3007
- // CONCATENATED MODULE: ./packages/product-info/index.vue?vue&type=template&id=68725d72&
3020
+ // CONCATENATED MODULE: ./packages/product-info/index.vue?vue&type=template&id=58aae3be&
3008
3021
 
3009
3022
  // EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js
3010
3023
  var tslib_es6 = __webpack_require__(0);
@@ -3029,7 +3042,7 @@ var title_item = __webpack_require__(70);
3029
3042
  var external_root_bxs_commonjs_bxs_ui_vue_commonjs2_bxs_ui_vue_amd_bxs_ui_vue_ = __webpack_require__(3);
3030
3043
 
3031
3044
  // EXTERNAL MODULE: ./node_modules/bxs-ui-vue/esm/index.css
3032
- var esm = __webpack_require__(89);
3045
+ var esm = __webpack_require__(90);
3033
3046
 
3034
3047
  // CONCATENATED MODULE: ./node_modules/ts-loader??ref--0!./node_modules/vue-loader/lib??vue-loader-options!./packages/product-info/index.vue?vue&type=script&lang=ts&
3035
3048
  var _a;
@@ -3044,7 +3057,10 @@ var _a;
3044
3057
  var product_infovue_type_script_lang_ts_BxtProductInfo = (function (_super) {
3045
3058
  Object(tslib_es6["d" /* __extends */])(BxtProductInfo, _super);
3046
3059
  function BxtProductInfo() {
3047
- return _super !== null && _super.apply(this, arguments) || this;
3060
+ var _this = _super !== null && _super.apply(this, arguments) || this;
3061
+ _this.activeInputKey = '';
3062
+ _this.numberUnitStr = '';
3063
+ return _this;
3048
3064
  }
3049
3065
  Object.defineProperty(BxtProductInfo.prototype, "personData", {
3050
3066
  get: function () {
@@ -3189,6 +3205,23 @@ var product_infovue_type_script_lang_ts_BxtProductInfo = (function (_super) {
3189
3205
  }
3190
3206
  return '当前投保人不能加该险种,<em>修改</em>投保人信息后选择';
3191
3207
  };
3208
+ BxtProductInfo.prototype.getAmountUnit = function (ele) {
3209
+ var digits = isNaN(ele.value * 1) ? 0 : Math.floor(Math.log10(ele.value) + 1);
3210
+ switch (digits) {
3211
+ case 5:
3212
+ return '万';
3213
+ case 6:
3214
+ return '十万';
3215
+ case 7:
3216
+ return '百万';
3217
+ case 8:
3218
+ return '千万';
3219
+ case 9:
3220
+ return '亿';
3221
+ default:
3222
+ return '';
3223
+ }
3224
+ };
3192
3225
  BxtProductInfo.prototype.validate = function () {
3193
3226
  return Object(tslib_es6["b" /* __awaiter */])(this, void 0, void 0, function () {
3194
3227
  var insKeys, validateInfo, _i, insKeys_1, k, info;
@@ -3264,8 +3297,8 @@ var product_infovue_type_script_lang_ts_BxtProductInfo = (function (_super) {
3264
3297
 
3265
3298
  // CONCATENATED MODULE: ./packages/product-info/index.vue?vue&type=script&lang=ts&
3266
3299
  /* harmony default export */ var packages_product_infovue_type_script_lang_ts_ = (product_infovue_type_script_lang_ts_);
3267
- // EXTERNAL MODULE: ./packages/product-info/index.vue?vue&type=style&index=0&id=68725d72&prod&lang=css&
3268
- var product_infovue_type_style_index_0_id_68725d72_prod_lang_css_ = __webpack_require__(196);
3300
+ // EXTERNAL MODULE: ./packages/product-info/index.vue?vue&type=style&index=0&id=58aae3be&prod&lang=css&
3301
+ var product_infovue_type_style_index_0_id_58aae3be_prod_lang_css_ = __webpack_require__(196);
3269
3302
 
3270
3303
  // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
3271
3304
  var componentNormalizer = __webpack_require__(7);
@@ -4261,8 +4294,8 @@ module.exports = {
4261
4294
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4262
4295
 
4263
4296
  "use strict";
4264
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_select_item_vue_vue_type_style_index_0_id_41b6c7f1_prod_lang_postcss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(19);
4265
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_select_item_vue_vue_type_style_index_0_id_41b6c7f1_prod_lang_postcss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_select_item_vue_vue_type_style_index_0_id_41b6c7f1_prod_lang_postcss___WEBPACK_IMPORTED_MODULE_0__);
4297
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_select_item_vue_vue_type_style_index_0_id_081d6d99_prod_lang_postcss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(19);
4298
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_select_item_vue_vue_type_style_index_0_id_081d6d99_prod_lang_postcss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_select_item_vue_vue_type_style_index_0_id_081d6d99_prod_lang_postcss___WEBPACK_IMPORTED_MODULE_0__);
4266
4299
  /* unused harmony reexport * */
4267
4300
 
4268
4301
 
@@ -6175,7 +6208,7 @@ var title_itemvue_type_script_lang_ts_BxtTitleItem = (function (_super) {
6175
6208
  // CONCATENATED MODULE: ./packages/components/form-item/title-item.vue?vue&type=script&lang=ts&
6176
6209
  /* harmony default export */ var form_item_title_itemvue_type_script_lang_ts_ = (title_itemvue_type_script_lang_ts_);
6177
6210
  // EXTERNAL MODULE: ./packages/components/form-item/title-item.vue?vue&type=style&index=0&id=069698f6&prod&lang=postcss&
6178
- var title_itemvue_type_style_index_0_id_069698f6_prod_lang_postcss_ = __webpack_require__(164);
6211
+ var title_itemvue_type_style_index_0_id_069698f6_prod_lang_postcss_ = __webpack_require__(165);
6179
6212
 
6180
6213
  // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
6181
6214
  var componentNormalizer = __webpack_require__(7);
@@ -6525,13 +6558,6 @@ function convertPersonData(allPersonsData, type) {
6525
6558
 
6526
6559
  /***/ }),
6527
6560
 
6528
- /***/ 89:
6529
- /***/ (function(module, exports, __webpack_require__) {
6530
-
6531
- // extracted by mini-css-extract-plugin
6532
-
6533
- /***/ }),
6534
-
6535
6561
  /***/ 9:
6536
6562
  /***/ (function(module, exports) {
6537
6563
 
@@ -6547,6 +6573,13 @@ function _typeof(obj) {
6547
6573
 
6548
6574
  module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
6549
6575
 
6576
+ /***/ }),
6577
+
6578
+ /***/ 90:
6579
+ /***/ (function(module, exports, __webpack_require__) {
6580
+
6581
+ // extracted by mini-css-extract-plugin
6582
+
6550
6583
  /***/ })
6551
6584
 
6552
6585
  /******/ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bxs-tools-ui",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "微易前端业务组件",
5
5
  "main": "lib/index.js",
6
6
  "files": [
@@ -54,7 +54,7 @@ export function getBeginYearOpts(values, options = {}) {
54
54
  return yearOptions;
55
55
  }
56
56
 
57
- export function rebuildAccountData(values, accountData) {
57
+ export function rebuildAccountDataBySetting(values, accountData) {
58
58
  if (!values || !accountData || !accountData.addAndTakeData) {
59
59
  return accountData;
60
60
  }
@@ -108,6 +108,40 @@ export function rebuildAccountData(values, accountData) {
108
108
  return accountData;
109
109
  }
110
110
 
111
+ export function rebuildAccountDataByResult(detailsData, accountData) {
112
+ if (!detailsData || !accountData || !accountData.addAndTakeData) {
113
+ return accountData;
114
+ }
115
+ accountData.addAndTakeData.forEach(item => {
116
+ const detailData = detailsData.find(e => e.key === item.key);
117
+ const values = detailData && detailData.values;
118
+ const details = detailData && detailData.details;
119
+ if (!(values && values.length)) {
120
+ item.adjustData = [];
121
+ return;
122
+ }
123
+ const adjustData = [];
124
+ values.forEach((ele, index) => {
125
+ if (!ele) {
126
+ return;
127
+ }
128
+ const lastAdjustData = adjustData[Math.max(0, adjustData.length - 1)];
129
+ if (lastAdjustData && lastAdjustData[1] === index && lastAdjustData[2] === ele) {
130
+ lastAdjustData[1] = index + 1;
131
+ return;
132
+ }
133
+ adjustData.push([
134
+ index + 1, // 开始年度
135
+ index + 1, // 结束年度
136
+ ele, // 金额
137
+ details && details[index] ? details[index] : '' // 用途
138
+ ]);
139
+ });
140
+ item.adjustData = adjustData;
141
+ });
142
+ return accountData;
143
+ }
144
+
111
145
  export function getEnsureCanTakeAmount(initialData, options = {}) {
112
146
  if (!initialData || !options) {
113
147
  return 0;
@@ -136,3 +170,41 @@ export function getEnsureCanTakeAmount(initialData, options = {}) {
136
170
  let precision = Math.max(Math.pow(10, Math.floor(Math.log(ensureAmount) / Math.log(10) - 2)), 100);
137
171
  return ensureAmount ? Math.floor(ensureAmount / precision) * precision : 0;
138
172
  }
173
+
174
+ export function calcColumnsWidth(tableData) {
175
+ const widthObj = {};
176
+ if (!(tableData && tableData.length)) {
177
+ return widthObj;
178
+ }
179
+ const keys = Object.keys(tableData[0]).filter(k => !['year', 'age'].includes(k));
180
+ keys.push('purpose');
181
+ keys.forEach(k => {
182
+ if (['purpose'].includes(k)) {
183
+ widthObj[k] = 0;
184
+ return;
185
+ }
186
+ if (['take', 'add'].includes(k)) {
187
+ widthObj[k] = 3;
188
+ return;
189
+ }
190
+ widthObj[k] = 5;
191
+ });
192
+ keys.forEach(k => {
193
+ tableData.forEach((ele, eleIndex) => {
194
+ if (eleIndex === 0) {
195
+ return;
196
+ }
197
+
198
+ let contentCount = 0;
199
+ if (k === 'purpose') {
200
+ if (ele.purpose) {
201
+ contentCount = (ele[k] + '').length * 0.8334 + 1;
202
+ }
203
+ } else {
204
+ contentCount = (ele[k] + '').length * 0.5 + 1;
205
+ }
206
+ widthObj[k] = Math.max(contentCount, widthObj[k]);
207
+ });
208
+ });
209
+ return widthObj;
210
+ }
@@ -56,7 +56,7 @@
56
56
  & .bxt-aat-table-content-left,
57
57
  & .bxt-aat-table-content-right {
58
58
  display: inline-block;
59
- width: 25%;
59
+ width: 16%;
60
60
  font-size: 13px;
61
61
  vertical-align: top;
62
62
  text-align: left;
@@ -68,7 +68,6 @@
68
68
  & .bxt-aat-table-content-cell {
69
69
  display: inline-block;
70
70
  flex: 1;
71
- min-width: 30%;
72
71
  padding: 12px 2px;
73
72
  text-align: center;
74
73
  overflow: hidden;
@@ -117,7 +116,7 @@
117
116
  }
118
117
 
119
118
  & .bxt-aat-table-content-right {
120
- width: 75%;
119
+ width: 84%;
121
120
  overflow: auto;
122
121
 
123
122
  & .bxt-aat-table-content-record {
@@ -128,17 +127,25 @@
128
127
  }
129
128
 
130
129
  & .bxt-aat-table-content-cell__purpose {
131
- min-width: 45%;
130
+ text-align: right;
131
+
132
+ & span {
133
+ vertical-align: middle;
134
+ }
132
135
 
133
136
  & span:nth-child(2) {
134
- display: inline-block;
135
- margin-left: 5px;
136
- padding: 1px 3px;
137
- color: rgba(10, 100, 254, 1);
138
- background: rgba(10, 100, 254, 0.1);
139
- transform: scale(0.8334);
140
- transform-origin: left center;
141
- border-radius: 2px;
137
+ text-align: left;
138
+
139
+ & em {
140
+ display: inline-block;
141
+ margin-left: 5px;
142
+ padding: 1px 3px;
143
+ color: rgba(10, 100, 254, 1);
144
+ background: rgba(10, 100, 254, 0.1);
145
+ transform: scale(0.8334);
146
+ transform-origin: left center;
147
+ border-radius: 2px;
148
+ }
142
149
  }
143
150
  }
144
151
  }
@@ -54,8 +54,12 @@
54
54
  :key="key"
55
55
  :class="{
56
56
  'bxt-aat-table-content-cell': true,
57
+ [`bxt-aat-table-content-cell_${key}`]: true,
57
58
  'bxt-aat-table-content-cell__zero': !record[key],
58
- 'bxt-aat-table-content-cell__purpose': key === 'take'
59
+ 'bxt-aat-table-content-cell__purpose': key === 'take' && columnWidthObj.purpose
60
+ }"
61
+ :style="{
62
+ 'min-width': `${(columnWidthObj[key] || 3) + (key === 'take' ? columnWidthObj.purpose : 0)}em`
59
63
  }"
60
64
  data-stat-id="zjlqblsz"
61
65
  :data-stat-ep="
@@ -67,8 +71,15 @@
67
71
  @click="onClickToForm(key, record, recordIndex)"
68
72
  >
69
73
  <span v-html="record[key]"></span>
70
- <span v-if="key === 'take' && record.purpose">
71
- {{ record.purpose }}
74
+ <span
75
+ v-if="recordIndex !== 0 && key === 'take' && columnWidthObj.purpose"
76
+ :style="{
77
+ width: `${columnWidthObj.purpose}em`
78
+ }"
79
+ >
80
+ <em v-if="record.purpose">
81
+ {{ record.purpose }}
82
+ </em>
72
83
  </span>
73
84
  </div>
74
85
  </div>
@@ -97,7 +108,7 @@
97
108
  type
98
109
  })
99
110
  "
100
- @click="onClickOpenPicker('beginYear')"
111
+ @click="onClickOpenYearPicker('beginYear')"
101
112
  >
102
113
  {{ formData.beginYear | filterOption(beginYearOptions) }}
103
114
  <i class="iconfont icon-arrows_right"></i>
@@ -113,7 +124,7 @@
113
124
  type
114
125
  })
115
126
  "
116
- @click="onClickOpenPicker('endYear')"
127
+ @click="onClickOpenYearPicker('endYear')"
117
128
  >
118
129
  {{ formData.endYear | filterOption(beginYearOptions) }}
119
130
  <i class="iconfont icon-arrows_right"></i>
@@ -269,7 +280,14 @@ import { Toast, Picker } from 'bxs-ui-vue';
269
280
  import 'bxs-ui-vue/lib/index.css';
270
281
  import { convertPersonData, convertProductData } from 'packages/bxs-utils/planbook/index';
271
282
  import { IS_PRODUCT_ENV, AAT_FORM_RULES, PURPOSE_OPTIONS, NONEED_PROD_KEYS, NONEED_INS_KEYS } from './constant.js';
272
- import { initAddAndTakeData, getBeginYearOpts, getEnsureCanTakeAmount, rebuildAccountData } from './handler.js';
283
+ import {
284
+ initAddAndTakeData,
285
+ getBeginYearOpts,
286
+ getEnsureCanTakeAmount,
287
+ rebuildAccountDataBySetting,
288
+ rebuildAccountDataByResult,
289
+ calcColumnsWidth
290
+ } from './handler.js';
273
291
  import SelectItem from 'packages/components/form-item/select-item.vue';
274
292
 
275
293
  Vue.use(Toast);
@@ -439,6 +457,10 @@ export default class AddAndTake extends Vue {
439
457
  );
440
458
  }
441
459
 
460
+ get columnWidthObj() {
461
+ return calcColumnsWidth(this.addAndTakeTable);
462
+ }
463
+
442
464
  @Watch('subName', {})
443
465
  watchMName(val: Boolean) {
444
466
  this.$emit('update:submoduleName', val);
@@ -533,7 +555,7 @@ export default class AddAndTake extends Vue {
533
555
  }
534
556
  getAddAndTakeData(values = null) {
535
557
  const { resultData, params, type, personData, productData, interestFormData, accountData } = this;
536
- const caclAccountData = rebuildAccountData(values, cloneDeep(accountData));
558
+ const caclAccountData = rebuildAccountDataBySetting(values, cloneDeep(accountData));
537
559
  const apis = {
538
560
  addAndTake: '/interest/addAndTake/detail',
539
561
  draw: '/interest/draw/detail',
@@ -597,11 +619,11 @@ export default class AddAndTake extends Vue {
597
619
  this.$toast(info);
598
620
  return Promise.reject();
599
621
  }
600
- this.accountData = caclAccountData;
601
622
  data.forEach(d => {
602
623
  d.values = d.values && d.values.map(v => (v ? Math.round(v) : v));
603
624
  });
604
625
  this.initAddAndTakeData = data;
626
+ this.accountData = rebuildAccountDataByResult(data, cloneDeep(accountData));
605
627
  return Promise.resolve(data);
606
628
  });
607
629
  }
@@ -688,7 +710,7 @@ export default class AddAndTake extends Vue {
688
710
  this.beginYearOptions = options;
689
711
  this.subName = 'Form';
690
712
  }
691
- onClickOpenPicker(key) {
713
+ onClickOpenYearPicker(key) {
692
714
  let self: any = this;
693
715
  const { formData, beginYearOptions } = self;
694
716
  const options = key === 'beginYear' ? beginYearOptions : beginYearOptions.filter(o => o.val >= formData.beginYear);