bxs-tools-ui 1.3.4 → 1.3.6

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.
@@ -91,7 +91,7 @@ return /******/ (function(modules) { // webpackBootstrap
91
91
  /******/
92
92
  /******/
93
93
  /******/ // Load entry module and return exports
94
- /******/ return __webpack_require__(__webpack_require__.s = 7);
94
+ /******/ return __webpack_require__(__webpack_require__.s = 6);
95
95
  /******/ })
96
96
  /************************************************************************/
97
97
  /******/ ([
@@ -856,268 +856,6 @@ module.exports = {
856
856
  /* 6 */
857
857
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
858
858
 
859
- "use strict";
860
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return initInsuranceData; });
861
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return insuranceDataHandler; });
862
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return initElementValidateRules; });
863
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return restrictElementsInInsurance; });
864
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
865
- /* harmony import */ var _common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1);
866
-
867
-
868
- function initInsuranceData(insData) {
869
- if (!insData || !insData.eleOrderList) {
870
- return;
871
- }
872
- if (insData.account && insData.accountData && insData.accountData.accountPart) {
873
- insData.accountData.addAndTakeData = insData.accountData.addAndTakeData || [];
874
- if (!insData.accountData.addAndTakeData.length) {
875
- insData.accountData.addAndTakeData.push({
876
- key: 'add',
877
- adjustData: []
878
- });
879
- if (['addAndTake', 'take'].includes(insData.accountData.accountPart)) {
880
- insData.accountData.addAndTakeData.push({
881
- key: 'take',
882
- adjustData: []
883
- });
884
- }
885
- }
886
- }
887
- if (insData.reduceBaof && !insData.reduceBaofData) {
888
- insData.reduceBaofData = {
889
- accountPart: 'take',
890
- addAndTakeData: [
891
- {
892
- key: 'take',
893
- adjustData: []
894
- }
895
- ]
896
- };
897
- }
898
- insData.eleOrderList.forEach(function (e) {
899
- switch (e.key) {
900
- case 'title':
901
- e.isDisabled = e.isDisabled || null;
902
- e.isHide = e.isHide || null;
903
- break;
904
- case 'baoe':
905
- e.placeholder = e.placeholder || '请输入保额';
906
- break;
907
- case 'baof':
908
- e.placeholder = e.placeholder || '请输入保费';
909
- break;
910
- }
911
- if (e.optConf && e.optConf.length && e.optConf[1]) {
912
- var options = [];
913
- for (var i = e.optConf[0]; i <= e.optConf[1]; i += (e.optConf[2] && e.optConf[2] && e.optConf[2].step) || 1) {
914
- options.push({
915
- val: e.optConf[2] && e.optConf[2].valfix ? "" + i + e.optConf[2].valfix : i,
916
- desc: e.optConf[2] && e.optConf[2].desc ? e.optConf[2].desc.replace(/{{&&}}/, i) : i
917
- });
918
- }
919
- e.opts = options;
920
- }
921
- if (e.opts && e.opts.length) {
922
- e.opts = e.opts.map(function (o) { return (Object(tslib__WEBPACK_IMPORTED_MODULE_0__[/* __assign */ "a"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[/* __assign */ "a"])({}, o), { desc: o.desc || o.val, isHide: o.isHide || null, isDisabled: o.isDisabled || null, isInvalid: o.isInvalid || null })); });
923
- }
924
- });
925
- }
926
- function insuranceDataHandler(insData, productData) {
927
- if (!insData || !insData.eleOrderList) {
928
- return insData;
929
- }
930
- if (insData.reduceBaof) {
931
- insData.reduceBaofData = insData.reduceBaofData || null;
932
- }
933
- insData.eleOrderList.forEach(function (ele) {
934
- ele.isDisabled = ele.isDisabled || null;
935
- ele.isHide = ele.isHide || null;
936
- ele.isIgnoreValidate = ele.isIgnoreValidate || null;
937
- ele.rules = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[/* __spreadArrays */ "g"])(initElementValidateRules(ele, productData));
938
- });
939
- var calMethod = insData.eleOrderList.find(function (e) { return e.key === 'calMethod'; });
940
- var baoe = insData.eleOrderList.find(function (e) { return e.key === 'baoe'; });
941
- var baof = insData.eleOrderList.find(function (e) { return e.key === 'baof'; });
942
- var plan = insData.eleOrderList.find(function (e) { return e.key === 'plan'; });
943
- if (!calMethod && baoe && plan) {
944
- insData.showPlanDesc = !!baoe.isHide;
945
- }
946
- if (calMethod && baoe && baof) {
947
- baoe.isHide = calMethod.value !== 'baoe2baof';
948
- baof.isHide = calMethod.value === 'baoe2baof';
949
- }
950
- return insData;
951
- }
952
- function initElementValidateRules(ele, productData) {
953
- var rules = [];
954
- if (['cmCommonInput'].indexOf(String(ele.componentName)) !== -1) {
955
- rules = [
956
- {
957
- required: ele.required !== false,
958
- message: "\u8BF7\u8F93\u5165" + (ele.labelName || '') + "\u503C"
959
- },
960
- {
961
- pattern: ele.regExp ? eval(String(ele.regExp)) : /^\d*$/,
962
- message: ele.regExpMessage || (ele.regExp ? '输入不合法,请重新输入' : '请输入整数值')
963
- }
964
- ];
965
- }
966
- var min = 0;
967
- var max = 0;
968
- if (ele.min && !isNaN(Number(ele.min))) {
969
- min = ele.min;
970
- }
971
- if (ele.max && !isNaN(Number(ele.max))) {
972
- max = ele.max;
973
- }
974
- if (min || max) {
975
- var message = '';
976
- if (min && max) {
977
- message = "\u8BF7\u8F93\u5165" + Object(_common__WEBPACK_IMPORTED_MODULE_1__[/* converUnit10000 */ "b"])(min) + "~" + Object(_common__WEBPACK_IMPORTED_MODULE_1__[/* converUnit10000 */ "b"])(max) + "\u4E4B\u95F4\u7684\u6570\u503C";
978
- }
979
- else if (!min) {
980
- message = "\u8BF7\u8F93\u5165\u4E0D\u5927\u4E8E" + Object(_common__WEBPACK_IMPORTED_MODULE_1__[/* converUnit10000 */ "b"])(max) + "\u7684\u6570\u503C";
981
- }
982
- else if (!max) {
983
- message = "\u8BF7\u8F93\u5165\u4E0D\u5C0F\u4E8E" + Object(_common__WEBPACK_IMPORTED_MODULE_1__[/* converUnit10000 */ "b"])(min) + "\u7684\u6570\u503C";
984
- }
985
- rules.push({
986
- type: 'number',
987
- min: min || -Infinity,
988
- max: max || Infinity,
989
- message: message,
990
- validator: function (rule, value) {
991
- return !value || (value >= rule.min && value <= rule.max);
992
- }
993
- });
994
- }
995
- if (ele.multi && !isNaN(Number(ele.multi))) {
996
- rules.push({
997
- multiple: ele.multi,
998
- message: "\u8BF7\u8F93\u5165" + ele.multi + "\u500D\u6570",
999
- validator: function (rule, value) {
1000
- return !value || !(value % rule.multiple);
1001
- }
1002
- });
1003
- }
1004
- if (ele.compareItem &&
1005
- ele.compareItem.length &&
1006
- ele.compareItem.length >= 3 &&
1007
- productData &&
1008
- productData.mulInsOrderList) {
1009
- var item1_1 = ele.compareItem[0].match(/(.{1,})\.(.{1,})/);
1010
- var item2_1 = ele.compareItem[2].match(/(.{1,})\.(.{1,})/);
1011
- var insurance1 = void 0, insurance2 = void 0, insTitle1 = void 0, insTitle2 = void 0, itemValue1 = void 0, itemValue2 = void 0;
1012
- if (item1_1 && item2_1) {
1013
- insurance1 = productData.mulInsOrderList.find(function (ins) { return ins.key + '' === item1_1[1]; });
1014
- insurance2 = productData.mulInsOrderList.find(function (ins) { return ins.key + '' === item2_1[1]; });
1015
- }
1016
- if (insurance1 && insurance1.eleOrderList) {
1017
- insTitle1 = insurance1.eleOrderList.find(function (e) { return e.key === 'title'; });
1018
- if (insTitle1 && insTitle1.value) {
1019
- itemValue1 = insurance1.eleOrderList.find(function (e) { return e.key === item1_1[2]; });
1020
- }
1021
- }
1022
- if (insurance2 && insurance2.eleOrderList) {
1023
- insTitle2 = insurance2.eleOrderList.find(function (e) { return e.key === 'title'; });
1024
- if (insTitle2 && insTitle2.value) {
1025
- itemValue2 = insurance2.eleOrderList.find(function (e) { return e.key === item2_1[2]; });
1026
- }
1027
- }
1028
- if (itemValue1 && itemValue1.value && itemValue2 && itemValue2.value && ele.compareItem[1]) {
1029
- rules.push({
1030
- value1: itemValue1.value,
1031
- value2: itemValue2.value,
1032
- operator: ele.compareItem[1],
1033
- message: ele.compareItem[3] || '数据输入有误',
1034
- validator: function (rule) {
1035
- var bool = false;
1036
- var value1 = rule.value1;
1037
- var value2 = rule.value2;
1038
- var operator = rule.operator;
1039
- switch (operator) {
1040
- case '<=':
1041
- bool = value1 <= value2;
1042
- break;
1043
- case '>=':
1044
- bool = value1 >= value2;
1045
- break;
1046
- case '<':
1047
- bool = value1 < value2;
1048
- break;
1049
- case '>':
1050
- bool = value1 > value2;
1051
- break;
1052
- default:
1053
- bool = value1 <= value2;
1054
- }
1055
- return bool;
1056
- }
1057
- });
1058
- }
1059
- }
1060
- return rules;
1061
- }
1062
- function restrictElementsInInsurance(_a) {
1063
- var personOrderList = _a.personOrderList, insData = _a.insData, eleData = _a.eleData;
1064
- var errorMsg = '';
1065
- if (insData && eleData && eleData.restrictions) {
1066
- var insuredInfo = personOrderList && personOrderList.find(function (p) { return p.key === 'insuredInfo'; });
1067
- var insuranceInfo = Object(_common__WEBPACK_IMPORTED_MODULE_1__[/* convertEleOrderListToObj */ "c"])(insData);
1068
- var verifyData_1;
1069
- if (insuredInfo) {
1070
- verifyData_1 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[/* __assign */ "a"])({ sex: insuredInfo.sex, age: insuredInfo.age }, insuranceInfo);
1071
- }
1072
- var eleRestricts = eleData.restrictions.filter(function (restrict) {
1073
- return Object.keys(restrict).every(function (ele) {
1074
- return ((ele === 'age' &&
1075
- verifyData_1[ele] &&
1076
- verifyData_1[ele] >= restrict[ele][0] &&
1077
- verifyData_1[ele] <= restrict[ele][1]) ||
1078
- ele === eleData.key ||
1079
- ((restrict[ele].constructor === String || restrict[ele].constructor === Number) &&
1080
- verifyData_1[ele] == restrict[ele]) ||
1081
- (restrict[ele].constructor === Array && restrict[ele].find(function (r) { return r == verifyData_1[ele]; })));
1082
- });
1083
- });
1084
- var valRange_1 = eleRestricts && eleRestricts[0] && eleRestricts[0][eleData.key];
1085
- if (valRange_1 && valRange_1.length) {
1086
- if (eleData.opts) {
1087
- eleData.opts.forEach(function (o) {
1088
- if (!valRange_1.find(function (v) { return v.val === o.val; })) {
1089
- o.isInvalid = true;
1090
- }
1091
- });
1092
- if (!eleData.opts.find(function (opt) { return !opt.isHide && !opt.isDisabled && !opt.isInvalid && opt.val == eleData.value; })) {
1093
- var opt = eleData.opts.find(function (o) { return o.val == eleData.value; });
1094
- errorMsg = "\u5F53\u524D\u6761\u4EF6\u4E0B, \u6CA1\u6709" + eleData.labelName + (opt ? opt.desc : '') + "\u9009\u9879, \u5DF2\u81EA\u52A8\u5207\u6362";
1095
- }
1096
- }
1097
- else if (valRange_1[0] || valRange_1[1]) {
1098
- var rangeMsg = "\u5F53\u524D\u6761\u4EF6\u4E0B, " + insData.name + "\u7684" + eleData.labelName + "\u503C";
1099
- var minMsg = "\u4E0D\u5F97\u5C0F\u4E8E" + Object(_common__WEBPACK_IMPORTED_MODULE_1__[/* converUnit10000 */ "b"])(valRange_1[0]);
1100
- var maxMsg = "\u4E0D\u5F97\u5927\u4E8E" + Object(_common__WEBPACK_IMPORTED_MODULE_1__[/* converUnit10000 */ "b"])(valRange_1[1]);
1101
- if (valRange_1[0] && valRange_1[1] && (eleData.value < valRange_1[0] || eleData.value > valRange_1[1])) {
1102
- errorMsg = "" + rangeMsg + minMsg + "\u4E14" + maxMsg;
1103
- }
1104
- else if (valRange_1[0] && eleData.value < valRange_1[0]) {
1105
- errorMsg = "" + rangeMsg + minMsg;
1106
- }
1107
- else if (valRange_1[1] && eleData.value > valRange_1[1]) {
1108
- errorMsg = "" + rangeMsg + maxMsg;
1109
- }
1110
- }
1111
- }
1112
- }
1113
- return errorMsg;
1114
- }
1115
-
1116
-
1117
- /***/ }),
1118
- /* 7 */
1119
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
1120
-
1121
859
  "use strict";
1122
860
  // ESM COMPAT FLAG
1123
861
  __webpack_require__.r(__webpack_exports__);
@@ -1539,27 +1277,176 @@ function tranlateCurrentData(currentData, planParams) {
1539
1277
  } // 投保人性别
1540
1278
 
1541
1279
 
1542
- if (planParams.detail_applicant_sex && item.k === 'detail_applicant_sex') {
1543
- current.v = planParams.detail_applicant_sex;
1280
+ if (planParams.detail_applicant_sex && item.k === 'detail_applicant_sex') {
1281
+ current.v = planParams.detail_applicant_sex;
1282
+ }
1283
+ }
1284
+ });
1285
+ return currentDataCopy;
1286
+ }
1287
+ /**
1288
+ * 险种计算
1289
+ * @author watson
1290
+ * @date 2022-04-26
1291
+ * @param {object} urlParams 接口URL上面的参数,c端必传uuid
1292
+ * @param {object} postParams 试算用的参数,product_id, current_data 和 scenario: 'h5Widget'
1293
+ * @param {object} planParams 计划书初始化参数
1294
+ * @returns {promise} 试算结果
1295
+ */
1296
+
1297
+
1298
+ function insureCalculate(urlParams, postParams, planParams) {
1299
+ if (!postParams || typeof_default()(postParams) !== 'object' || !postParams.product_id) {
1300
+ return postParams;
1301
+ }
1302
+
1303
+ if (postParams && !postParams.scenario) {
1304
+ postParams.scenario = 'h5Widget';
1305
+ }
1306
+
1307
+ var url = '/api/product/data/calculate';
1308
+
1309
+ if (urlParams && urlParams.uuid) {
1310
+ url += "?userUuid=".concat(urlParams.uuid);
1311
+ } else if (urlParams && urlParams.openId) {
1312
+ url += "?userUuid=".concat(urlParams.openId);
1313
+ }
1314
+
1315
+ if (urlParams && urlParams.appid) {
1316
+ if (url.indexOf('?') > -1) {
1317
+ url += "&appId=".concat(urlParams.appid);
1318
+ } else {
1319
+ url += "?appId=".concat(urlParams.appid);
1320
+ }
1321
+ }
1322
+
1323
+ if (hasPlanParams(planParams) && postParams.current_data) {
1324
+ postParams.current_data = tranlateCurrentData(postParams.current_data, planParams);
1325
+ }
1326
+
1327
+ return new Promise(function (resolve, reject) {
1328
+ request({
1329
+ baseURL: baseURL,
1330
+ url: url,
1331
+ method: 'POST',
1332
+ urlParams: urlParams,
1333
+ data: postParams
1334
+ }).then(function (res) {
1335
+ if (res.code === 200) {
1336
+ var data = JSON.parse(JSON.stringify(res.data));
1337
+
1338
+ if (hasPlanParams(planParams)) {
1339
+ var widgets = data.widgets;
1340
+ var currentData = data.current_data;
1341
+ translatePlanData(widgets, currentData, planParams);
1342
+ }
1343
+
1344
+ var cData = {
1345
+ widgets: data.widgets,
1346
+ total_premium: data.total_premium,
1347
+ terms: data.terms,
1348
+ product_id: data.product_id,
1349
+ current_data: data.current_data,
1350
+ risk_premiums: data.risk_premiums
1351
+ };
1352
+ resolve({
1353
+ code: 200,
1354
+ data: cData
1355
+ });
1356
+ } else {
1357
+ reject(res);
1358
+ }
1359
+ }).catch(function (err) {
1360
+ reject(err);
1361
+ });
1362
+ });
1363
+ }
1364
+ /**
1365
+ * **检查险种计算**
1366
+ * @author watson
1367
+ * @date 2022-04-26
1368
+ * @param {object} urlParams 接口URL上面的参数,c端必传uuid
1369
+ * @param {object} postParams 试算用的参数,product_id, current_data 和 scenario: 'h5Widget'
1370
+ * @param {object} planParams 计划书初始化参数
1371
+ * @returns {promise} 试算结果
1372
+ */
1373
+
1374
+ function checkInsureCalculate(_x, _x2, _x3) {
1375
+ return _checkInsureCalculate.apply(this, arguments);
1376
+ }
1377
+ /**
1378
+ * 描述
1379
+ * @ignore
1380
+ * @author watson
1381
+ * @date 2022-04-26
1382
+ * @param {object} urlParams
1383
+ * @param {object} postParams
1384
+ * @param {object} planParams
1385
+ * @returns {promise}
1386
+ */
1387
+
1388
+ function _checkInsureCalculate() {
1389
+ _checkInsureCalculate = asyncToGenerator_default()( /*#__PURE__*/regenerator_default.a.mark(function _callee(urlParams, postParams, planParams) {
1390
+ var res, data;
1391
+ return regenerator_default.a.wrap(function _callee$(_context) {
1392
+ while (1) {
1393
+ switch (_context.prev = _context.next) {
1394
+ case 0:
1395
+ _context.next = 2;
1396
+ return checkInsureCalculateIn(urlParams, postParams, planParams);
1397
+
1398
+ case 2:
1399
+ res = _context.sent;
1400
+
1401
+ if (!(postParams && !postParams.current_data)) {
1402
+ _context.next = 15;
1403
+ break;
1404
+ }
1405
+
1406
+ data = JSON.parse(JSON.stringify(res.data));
1407
+ postParams.current_data = data.current_data; // 重新试算
1408
+
1409
+ _context.prev = 6;
1410
+ _context.next = 9;
1411
+ return checkInsureCalculateIn(urlParams, postParams, planParams);
1412
+
1413
+ case 9:
1414
+ res = _context.sent;
1415
+ _context.next = 15;
1416
+ break;
1417
+
1418
+ case 12:
1419
+ _context.prev = 12;
1420
+ _context.t0 = _context["catch"](6);
1421
+ res = _context.t0;
1422
+
1423
+ case 15:
1424
+ if (!(res && res.code === 200)) {
1425
+ _context.next = 19;
1426
+ break;
1427
+ }
1428
+
1429
+ return _context.abrupt("return", res);
1430
+
1431
+ case 19:
1432
+ return _context.abrupt("return", Promise.reject(res));
1433
+
1434
+ case 20:
1435
+ case "end":
1436
+ return _context.stop();
1437
+ }
1544
1438
  }
1545
- }
1546
- });
1547
- return currentDataCopy;
1439
+ }, _callee, null, [[6, 12]]);
1440
+ }));
1441
+ return _checkInsureCalculate.apply(this, arguments);
1548
1442
  }
1549
- /**
1550
- * 险种计算
1551
- * @author watson
1552
- * @date 2022-04-26
1553
- * @param {object} urlParams 接口URL上面的参数,c端必传uuid
1554
- * @param {object} postParams 试算用的参数,product_id, current_data 和 scenario: 'h5Widget'
1555
- * @param {object} planParams 计划书初始化参数
1556
- * @returns {promise} 试算结果
1557
- */
1558
1443
 
1559
-
1560
- function insureCalculate(urlParams, postParams, planParams) {
1444
+ function checkInsureCalculateIn(urlParams, postParams, planParams) {
1561
1445
  if (!postParams || typeof_default()(postParams) !== 'object' || !postParams.product_id) {
1562
- return postParams;
1446
+ return Promise.reject({
1447
+ code: 400,
1448
+ msg: 'postParams参数非法'
1449
+ });
1563
1450
  }
1564
1451
 
1565
1452
  if (postParams && !postParams.scenario) {
@@ -1580,193 +1467,306 @@ function insureCalculate(urlParams, postParams, planParams) {
1580
1467
  } else {
1581
1468
  url += "?appId=".concat(urlParams.appid);
1582
1469
  }
1583
- }
1584
-
1585
- if (hasPlanParams(planParams) && postParams.current_data) {
1586
- postParams.current_data = tranlateCurrentData(postParams.current_data, planParams);
1587
- }
1588
-
1589
- return new Promise(function (resolve, reject) {
1590
- request({
1591
- baseURL: baseURL,
1592
- url: url,
1593
- method: 'POST',
1594
- urlParams: urlParams,
1595
- data: postParams
1596
- }).then(function (res) {
1597
- if (res.code === 200) {
1598
- var data = JSON.parse(JSON.stringify(res.data));
1599
-
1600
- if (hasPlanParams(planParams)) {
1601
- var widgets = data.widgets;
1602
- var currentData = data.current_data;
1603
- translatePlanData(widgets, currentData, planParams);
1470
+ }
1471
+
1472
+ if (hasPlanParams(planParams) && postParams.current_data) {
1473
+ postParams.current_data = tranlateCurrentData(postParams.current_data, planParams);
1474
+ }
1475
+
1476
+ return new Promise(function (resolve, reject) {
1477
+ request({
1478
+ baseURL: baseURL,
1479
+ url: url,
1480
+ method: 'POST',
1481
+ urlParams: urlParams,
1482
+ data: postParams
1483
+ }).then(function (res) {
1484
+ if (res.code === 200) {
1485
+ // if (postParams && !postParams.current_data) {
1486
+ // let data = JSON.parse(JSON.stringify(res.data));
1487
+ // postParams.current_data = data.current_data
1488
+ // // 重新试算
1489
+ // checkInsureCalculate(urlParams, postParams, planParams)
1490
+ // }
1491
+ resolve({
1492
+ code: 200,
1493
+ data: res.data
1494
+ });
1495
+ } else {
1496
+ reject(res);
1497
+ }
1498
+ }).catch(function (err) {
1499
+ reject(err);
1500
+ });
1501
+ });
1502
+ }
1503
+ // CONCATENATED MODULE: ./packages/bxs-utils/trade/index.js
1504
+
1505
+ // CONCATENATED MODULE: ./packages/bxs-utils/index.ts
1506
+
1507
+
1508
+
1509
+
1510
+ /***/ }),
1511
+ /* 7 */
1512
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1513
+
1514
+ "use strict";
1515
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return initInsuranceData; });
1516
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return insuranceDataHandler; });
1517
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return initElementValidateRules; });
1518
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return restrictElementsInInsurance; });
1519
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
1520
+ /* harmony import */ var _common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1);
1521
+
1522
+
1523
+ function initInsuranceData(insData) {
1524
+ if (!insData || !insData.eleOrderList) {
1525
+ return;
1526
+ }
1527
+ if (insData.account && insData.accountData && insData.accountData.accountPart) {
1528
+ insData.accountData.addAndTakeData = insData.accountData.addAndTakeData || [];
1529
+ if (!insData.accountData.addAndTakeData.length) {
1530
+ insData.accountData.addAndTakeData.push({
1531
+ key: 'add',
1532
+ adjustData: []
1533
+ });
1534
+ if (['addAndTake', 'take'].includes(insData.accountData.accountPart)) {
1535
+ insData.accountData.addAndTakeData.push({
1536
+ key: 'take',
1537
+ adjustData: []
1538
+ });
1539
+ }
1540
+ }
1541
+ }
1542
+ if (insData.reduceBaof && !insData.reduceBaofData) {
1543
+ insData.reduceBaofData = {
1544
+ accountPart: 'take',
1545
+ addAndTakeData: [
1546
+ {
1547
+ key: 'take',
1548
+ adjustData: []
1549
+ }
1550
+ ]
1551
+ };
1552
+ }
1553
+ insData.eleOrderList.forEach(function (e) {
1554
+ switch (e.key) {
1555
+ case 'title':
1556
+ e.isDisabled = e.isDisabled || null;
1557
+ e.isHide = e.isHide || null;
1558
+ break;
1559
+ case 'baoe':
1560
+ e.placeholder = e.placeholder || '请输入保额';
1561
+ break;
1562
+ case 'baof':
1563
+ e.placeholder = e.placeholder || '请输入保费';
1564
+ break;
1565
+ }
1566
+ if (e.optConf && e.optConf.length && e.optConf[1]) {
1567
+ var options = [];
1568
+ for (var i = e.optConf[0]; i <= e.optConf[1]; i += (e.optConf[2] && e.optConf[2] && e.optConf[2].step) || 1) {
1569
+ options.push({
1570
+ val: e.optConf[2] && e.optConf[2].valfix ? "" + i + e.optConf[2].valfix : i,
1571
+ desc: e.optConf[2] && e.optConf[2].desc ? e.optConf[2].desc.replace(/{{&&}}/, i) : i
1572
+ });
1573
+ }
1574
+ e.opts = options;
1575
+ }
1576
+ if (e.opts && e.opts.length) {
1577
+ e.opts = e.opts.map(function (o) { return (Object(tslib__WEBPACK_IMPORTED_MODULE_0__[/* __assign */ "a"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[/* __assign */ "a"])({}, o), { desc: o.desc || o.val, isHide: o.isHide || null, isDisabled: o.isDisabled || null, isInvalid: o.isInvalid || null })); });
1578
+ }
1579
+ });
1580
+ }
1581
+ function insuranceDataHandler(insData, productData) {
1582
+ if (!insData || !insData.eleOrderList) {
1583
+ return insData;
1584
+ }
1585
+ if (insData.reduceBaof) {
1586
+ insData.reduceBaofData = insData.reduceBaofData || null;
1587
+ }
1588
+ insData.eleOrderList.forEach(function (ele) {
1589
+ ele.isDisabled = ele.isDisabled || null;
1590
+ ele.isHide = ele.isHide || null;
1591
+ ele.isIgnoreValidate = ele.isIgnoreValidate || null;
1592
+ ele.rules = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[/* __spreadArrays */ "g"])(initElementValidateRules(ele, productData));
1593
+ });
1594
+ var calMethod = insData.eleOrderList.find(function (e) { return e.key === 'calMethod'; });
1595
+ var baoe = insData.eleOrderList.find(function (e) { return e.key === 'baoe'; });
1596
+ var baof = insData.eleOrderList.find(function (e) { return e.key === 'baof'; });
1597
+ var plan = insData.eleOrderList.find(function (e) { return e.key === 'plan'; });
1598
+ if (!calMethod && baoe && plan) {
1599
+ insData.showPlanDesc = !!baoe.isHide;
1600
+ }
1601
+ if (calMethod && baoe && baof) {
1602
+ baoe.isHide = calMethod.value !== 'baoe2baof';
1603
+ baof.isHide = calMethod.value === 'baoe2baof';
1604
+ }
1605
+ return insData;
1606
+ }
1607
+ function initElementValidateRules(ele, productData) {
1608
+ var rules = [];
1609
+ if (['cmCommonInput'].indexOf(String(ele.componentName)) !== -1) {
1610
+ rules = [
1611
+ {
1612
+ required: ele.required !== false,
1613
+ message: "\u8BF7\u8F93\u5165" + (ele.labelName || '') + "\u503C"
1614
+ },
1615
+ {
1616
+ pattern: ele.regExp ? eval(String(ele.regExp)) : /^\d*$/,
1617
+ message: ele.regExpMessage || (ele.regExp ? '输入不合法,请重新输入' : '请输入整数值')
1618
+ }
1619
+ ];
1620
+ }
1621
+ var min = 0;
1622
+ var max = 0;
1623
+ if (ele.min && !isNaN(Number(ele.min))) {
1624
+ min = ele.min;
1625
+ }
1626
+ if (ele.max && !isNaN(Number(ele.max))) {
1627
+ max = ele.max;
1628
+ }
1629
+ if (min || max) {
1630
+ var message = '';
1631
+ if (min && max) {
1632
+ message = "\u8BF7\u8F93\u5165" + Object(_common__WEBPACK_IMPORTED_MODULE_1__[/* converUnit10000 */ "b"])(min) + "~" + Object(_common__WEBPACK_IMPORTED_MODULE_1__[/* converUnit10000 */ "b"])(max) + "\u4E4B\u95F4\u7684\u6570\u503C";
1633
+ }
1634
+ else if (!min) {
1635
+ message = "\u8BF7\u8F93\u5165\u4E0D\u5927\u4E8E" + Object(_common__WEBPACK_IMPORTED_MODULE_1__[/* converUnit10000 */ "b"])(max) + "\u7684\u6570\u503C";
1636
+ }
1637
+ else if (!max) {
1638
+ message = "\u8BF7\u8F93\u5165\u4E0D\u5C0F\u4E8E" + Object(_common__WEBPACK_IMPORTED_MODULE_1__[/* converUnit10000 */ "b"])(min) + "\u7684\u6570\u503C";
1639
+ }
1640
+ rules.push({
1641
+ type: 'number',
1642
+ min: min || -Infinity,
1643
+ max: max || Infinity,
1644
+ message: message,
1645
+ validator: function (rule, value) {
1646
+ return !value || (value >= rule.min && value <= rule.max);
1647
+ }
1648
+ });
1649
+ }
1650
+ if (ele.multi && !isNaN(Number(ele.multi))) {
1651
+ rules.push({
1652
+ multiple: ele.multi,
1653
+ message: "\u8BF7\u8F93\u5165" + ele.multi + "\u500D\u6570",
1654
+ validator: function (rule, value) {
1655
+ return !value || !(value % rule.multiple);
1656
+ }
1657
+ });
1658
+ }
1659
+ if (ele.compareItem &&
1660
+ ele.compareItem.length &&
1661
+ ele.compareItem.length >= 3 &&
1662
+ productData &&
1663
+ productData.mulInsOrderList) {
1664
+ var item1_1 = ele.compareItem[0].match(/(.{1,})\.(.{1,})/);
1665
+ var item2_1 = ele.compareItem[2].match(/(.{1,})\.(.{1,})/);
1666
+ var insurance1 = void 0, insurance2 = void 0, insTitle1 = void 0, insTitle2 = void 0, itemValue1 = void 0, itemValue2 = void 0;
1667
+ if (item1_1 && item2_1) {
1668
+ insurance1 = productData.mulInsOrderList.find(function (ins) { return ins.key + '' === item1_1[1]; });
1669
+ insurance2 = productData.mulInsOrderList.find(function (ins) { return ins.key + '' === item2_1[1]; });
1670
+ }
1671
+ if (insurance1 && insurance1.eleOrderList) {
1672
+ insTitle1 = insurance1.eleOrderList.find(function (e) { return e.key === 'title'; });
1673
+ if (insTitle1 && insTitle1.value) {
1674
+ itemValue1 = insurance1.eleOrderList.find(function (e) { return e.key === item1_1[2]; });
1675
+ }
1676
+ }
1677
+ if (insurance2 && insurance2.eleOrderList) {
1678
+ insTitle2 = insurance2.eleOrderList.find(function (e) { return e.key === 'title'; });
1679
+ if (insTitle2 && insTitle2.value) {
1680
+ itemValue2 = insurance2.eleOrderList.find(function (e) { return e.key === item2_1[2]; });
1681
+ }
1682
+ }
1683
+ if (itemValue1 && itemValue1.value && itemValue2 && itemValue2.value && ele.compareItem[1]) {
1684
+ rules.push({
1685
+ value1: itemValue1.value,
1686
+ value2: itemValue2.value,
1687
+ operator: ele.compareItem[1],
1688
+ message: ele.compareItem[3] || '数据输入有误',
1689
+ validator: function (rule) {
1690
+ var bool = false;
1691
+ var value1 = rule.value1;
1692
+ var value2 = rule.value2;
1693
+ var operator = rule.operator;
1694
+ switch (operator) {
1695
+ case '<=':
1696
+ bool = value1 <= value2;
1697
+ break;
1698
+ case '>=':
1699
+ bool = value1 >= value2;
1700
+ break;
1701
+ case '<':
1702
+ bool = value1 < value2;
1703
+ break;
1704
+ case '>':
1705
+ bool = value1 > value2;
1706
+ break;
1707
+ default:
1708
+ bool = value1 <= value2;
1709
+ }
1710
+ return bool;
1711
+ }
1712
+ });
1713
+ }
1714
+ }
1715
+ return rules;
1716
+ }
1717
+ function restrictElementsInInsurance(_a) {
1718
+ var personOrderList = _a.personOrderList, insData = _a.insData, eleData = _a.eleData;
1719
+ var errorMsg = '';
1720
+ if (insData && eleData && eleData.restrictions) {
1721
+ var insuredInfo = personOrderList && personOrderList.find(function (p) { return p.key === 'insuredInfo'; });
1722
+ var insuranceInfo = Object(_common__WEBPACK_IMPORTED_MODULE_1__[/* convertEleOrderListToObj */ "c"])(insData);
1723
+ var verifyData_1;
1724
+ if (insuredInfo) {
1725
+ verifyData_1 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[/* __assign */ "a"])({ sex: insuredInfo.sex, age: insuredInfo.age }, insuranceInfo);
1604
1726
  }
1605
-
1606
- var cData = {
1607
- widgets: data.widgets,
1608
- total_premium: data.total_premium,
1609
- terms: data.terms,
1610
- product_id: data.product_id,
1611
- current_data: data.current_data,
1612
- risk_premiums: data.risk_premiums
1613
- };
1614
- resolve({
1615
- code: 200,
1616
- data: cData
1727
+ var eleRestricts = eleData.restrictions.filter(function (restrict) {
1728
+ return Object.keys(restrict).every(function (ele) {
1729
+ return ((ele === 'age' &&
1730
+ verifyData_1[ele] &&
1731
+ verifyData_1[ele] >= restrict[ele][0] &&
1732
+ verifyData_1[ele] <= restrict[ele][1]) ||
1733
+ ele === eleData.key ||
1734
+ ((restrict[ele].constructor === String || restrict[ele].constructor === Number) &&
1735
+ verifyData_1[ele] == restrict[ele]) ||
1736
+ (restrict[ele].constructor === Array && restrict[ele].find(function (r) { return r == verifyData_1[ele]; })));
1737
+ });
1617
1738
  });
1618
- } else {
1619
- reject(res);
1620
- }
1621
- }).catch(function (err) {
1622
- reject(err);
1623
- });
1624
- });
1625
- }
1626
- /**
1627
- * **检查险种计算**
1628
- * @author watson
1629
- * @date 2022-04-26
1630
- * @param {object} urlParams 接口URL上面的参数,c端必传uuid
1631
- * @param {object} postParams 试算用的参数,product_id, current_data 和 scenario: 'h5Widget'
1632
- * @param {object} planParams 计划书初始化参数
1633
- * @returns {promise} 试算结果
1634
- */
1635
-
1636
- function checkInsureCalculate(_x, _x2, _x3) {
1637
- return _checkInsureCalculate.apply(this, arguments);
1638
- }
1639
- /**
1640
- * 描述
1641
- * @ignore
1642
- * @author watson
1643
- * @date 2022-04-26
1644
- * @param {object} urlParams
1645
- * @param {object} postParams
1646
- * @param {object} planParams
1647
- * @returns {promise}
1648
- */
1649
-
1650
- function _checkInsureCalculate() {
1651
- _checkInsureCalculate = asyncToGenerator_default()( /*#__PURE__*/regenerator_default.a.mark(function _callee(urlParams, postParams, planParams) {
1652
- var res, data;
1653
- return regenerator_default.a.wrap(function _callee$(_context) {
1654
- while (1) {
1655
- switch (_context.prev = _context.next) {
1656
- case 0:
1657
- _context.next = 2;
1658
- return checkInsureCalculateIn(urlParams, postParams, planParams);
1659
-
1660
- case 2:
1661
- res = _context.sent;
1662
-
1663
- if (!(postParams && !postParams.current_data)) {
1664
- _context.next = 15;
1665
- break;
1739
+ var valRange_1 = eleRestricts && eleRestricts[0] && eleRestricts[0][eleData.key];
1740
+ if (valRange_1 && valRange_1.length) {
1741
+ if (eleData.opts) {
1742
+ eleData.opts.forEach(function (o) {
1743
+ if (!valRange_1.find(function (v) { return v.val === o.val; })) {
1744
+ o.isInvalid = true;
1745
+ }
1746
+ });
1747
+ if (!eleData.opts.find(function (opt) { return !opt.isHide && !opt.isDisabled && !opt.isInvalid && opt.val == eleData.value; })) {
1748
+ var opt = eleData.opts.find(function (o) { return o.val == eleData.value; });
1749
+ errorMsg = "\u5F53\u524D\u6761\u4EF6\u4E0B, \u6CA1\u6709" + eleData.labelName + (opt ? opt.desc : '') + "\u9009\u9879, \u5DF2\u81EA\u52A8\u5207\u6362";
1750
+ }
1666
1751
  }
1667
-
1668
- data = JSON.parse(JSON.stringify(res.data));
1669
- postParams.current_data = data.current_data; // 重新试算
1670
-
1671
- _context.prev = 6;
1672
- _context.next = 9;
1673
- return checkInsureCalculateIn(urlParams, postParams, planParams);
1674
-
1675
- case 9:
1676
- res = _context.sent;
1677
- _context.next = 15;
1678
- break;
1679
-
1680
- case 12:
1681
- _context.prev = 12;
1682
- _context.t0 = _context["catch"](6);
1683
- res = _context.t0;
1684
-
1685
- case 15:
1686
- if (!(res && res.code === 200)) {
1687
- _context.next = 19;
1688
- break;
1752
+ else if (valRange_1[0] || valRange_1[1]) {
1753
+ var rangeMsg = "\u5F53\u524D\u6761\u4EF6\u4E0B, " + insData.name + "\u7684" + eleData.labelName + "\u503C";
1754
+ var minMsg = "\u4E0D\u5F97\u5C0F\u4E8E" + Object(_common__WEBPACK_IMPORTED_MODULE_1__[/* converUnit10000 */ "b"])(valRange_1[0]);
1755
+ var maxMsg = "\u4E0D\u5F97\u5927\u4E8E" + Object(_common__WEBPACK_IMPORTED_MODULE_1__[/* converUnit10000 */ "b"])(valRange_1[1]);
1756
+ if (valRange_1[0] && valRange_1[1] && (eleData.value < valRange_1[0] || eleData.value > valRange_1[1])) {
1757
+ errorMsg = "" + rangeMsg + minMsg + "\u4E14" + maxMsg;
1758
+ }
1759
+ else if (valRange_1[0] && eleData.value < valRange_1[0]) {
1760
+ errorMsg = "" + rangeMsg + minMsg;
1761
+ }
1762
+ else if (valRange_1[1] && eleData.value > valRange_1[1]) {
1763
+ errorMsg = "" + rangeMsg + maxMsg;
1764
+ }
1689
1765
  }
1690
-
1691
- return _context.abrupt("return", res);
1692
-
1693
- case 19:
1694
- return _context.abrupt("return", Promise.reject(res));
1695
-
1696
- case 20:
1697
- case "end":
1698
- return _context.stop();
1699
1766
  }
1700
- }
1701
- }, _callee, null, [[6, 12]]);
1702
- }));
1703
- return _checkInsureCalculate.apply(this, arguments);
1704
- }
1705
-
1706
- function checkInsureCalculateIn(urlParams, postParams, planParams) {
1707
- if (!postParams || typeof_default()(postParams) !== 'object' || !postParams.product_id) {
1708
- return Promise.reject({
1709
- code: 400,
1710
- msg: 'postParams参数非法'
1711
- });
1712
- }
1713
-
1714
- if (postParams && !postParams.scenario) {
1715
- postParams.scenario = 'h5Widget';
1716
- }
1717
-
1718
- var url = '/api/product/data/calculate';
1719
-
1720
- if (urlParams && urlParams.uuid) {
1721
- url += "?userUuid=".concat(urlParams.uuid);
1722
- } else if (urlParams && urlParams.openId) {
1723
- url += "?userUuid=".concat(urlParams.openId);
1724
- }
1725
-
1726
- if (urlParams && urlParams.appid) {
1727
- if (url.indexOf('?') > -1) {
1728
- url += "&appId=".concat(urlParams.appid);
1729
- } else {
1730
- url += "?appId=".concat(urlParams.appid);
1731
1767
  }
1732
- }
1733
-
1734
- if (hasPlanParams(planParams) && postParams.current_data) {
1735
- postParams.current_data = tranlateCurrentData(postParams.current_data, planParams);
1736
- }
1737
-
1738
- return new Promise(function (resolve, reject) {
1739
- request({
1740
- baseURL: baseURL,
1741
- url: url,
1742
- method: 'POST',
1743
- urlParams: urlParams,
1744
- data: postParams
1745
- }).then(function (res) {
1746
- if (res.code === 200) {
1747
- // if (postParams && !postParams.current_data) {
1748
- // let data = JSON.parse(JSON.stringify(res.data));
1749
- // postParams.current_data = data.current_data
1750
- // // 重新试算
1751
- // checkInsureCalculate(urlParams, postParams, planParams)
1752
- // }
1753
- resolve({
1754
- code: 200,
1755
- data: res.data
1756
- });
1757
- } else {
1758
- reject(res);
1759
- }
1760
- }).catch(function (err) {
1761
- reject(err);
1762
- });
1763
- });
1768
+ return errorMsg;
1764
1769
  }
1765
- // CONCATENATED MODULE: ./packages/bxs-utils/trade/index.js
1766
-
1767
- // CONCATENATED MODULE: ./packages/bxs-utils/index.ts
1768
-
1769
-
1770
1770
 
1771
1771
 
1772
1772
  /***/ }),
@@ -1796,6 +1796,7 @@ function initPersonData(inputData, verifyData) {
1796
1796
  return;
1797
1797
  }
1798
1798
  person.createArchive = person.createArchive || false;
1799
+ person.cid = person.cid || null;
1799
1800
  if (!person.eleOrderList.find(function (e) { return e.key === 'name'; })) {
1800
1801
  person.eleOrderList.splice(1, 0, {
1801
1802
  key: 'name',
@@ -1945,9 +1946,7 @@ function personDataHandler(allPersonsData) {
1945
1946
  if (['title', 'applicantAndInsuredSame'].includes(ele.key)) {
1946
1947
  return;
1947
1948
  }
1948
- if (insuredData.cid !== undefined) {
1949
- person.cid = applicantSame_1.value ? insuredData.cid : undefined;
1950
- }
1949
+ person.cid = applicantSame_1.value ? insuredData.cid : person.cid;
1951
1950
  if (applicantSame_1.value && insuredData.eleOrderList) {
1952
1951
  var insuredEle = insuredData.eleOrderList.find(function (e) { return e.key === ele.key; });
1953
1952
  if (insuredEle) {
@@ -2152,7 +2151,7 @@ module.exports = _typeof, module.exports.__esModule = true, module.exports["defa
2152
2151
 
2153
2152
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "z", function() { return _product__WEBPACK_IMPORTED_MODULE_2__["j"]; });
2154
2153
 
2155
- /* harmony import */ var _insurance__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6);
2154
+ /* harmony import */ var _insurance__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7);
2156
2155
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "m", function() { return _insurance__WEBPACK_IMPORTED_MODULE_3__["a"]; });
2157
2156
 
2158
2157
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "n", function() { return _insurance__WEBPACK_IMPORTED_MODULE_3__["b"]; });
@@ -2189,7 +2188,7 @@ if (document && document.cookie && document.cookie.match('LIZHAO_DEBUG_CONSOLE_F
2189
2188
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
2190
2189
  /* harmony import */ var _common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1);
2191
2190
  /* harmony import */ var _person__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9);
2192
- /* harmony import */ var _insurance__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6);
2191
+ /* harmony import */ var _insurance__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7);
2193
2192
 
2194
2193
 
2195
2194