eoss-mobiles 0.4.2 → 0.4.4

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 (213) hide show
  1. package/lib/checkbox.js +206 -2
  2. package/lib/eoss-mobile.common.js +1213 -926
  3. package/lib/flow-btn.js +206 -2
  4. package/lib/flow-list.js +206 -2
  5. package/lib/flow.js +214 -10
  6. package/lib/form.js +957 -874
  7. package/lib/index.js +1 -1
  8. package/lib/picker.js +206 -2
  9. package/lib/radio.js +211 -7
  10. package/lib/retrial-auth.js +206 -2
  11. package/lib/selector.js +234 -30
  12. package/lib/table-column.js +206 -2
  13. package/lib/table.js +206 -2
  14. package/lib/theme-chalk/fonts/iconfont.scss +98 -98
  15. package/lib/theme-chalk/fonts/iconfont1.scss +90 -90
  16. package/lib/uploader.js +206 -2
  17. package/lib/utils/util.js +206 -2
  18. package/package.json +1 -1
  19. package/packages/action-sheet/index.js +5 -5
  20. package/packages/action-sheet/src/main.vue +32 -32
  21. package/packages/button/index.js +5 -5
  22. package/packages/button/src/main.vue +15 -15
  23. package/packages/button-group/index.js +5 -5
  24. package/packages/button-group/src/main.vue +80 -80
  25. package/packages/calendar/index.js +5 -5
  26. package/packages/calendar/src/main.vue +34 -34
  27. package/packages/cascader/index.js +5 -5
  28. package/packages/cascader/src/main.vue +39 -39
  29. package/packages/cell/index.js +5 -5
  30. package/packages/cell/src/main.vue +77 -77
  31. package/packages/checkbox/index.js +5 -5
  32. package/packages/checkbox/src/main.vue +232 -232
  33. package/packages/circle/index.js +5 -5
  34. package/packages/circle/src/main.vue +27 -27
  35. package/packages/count-down/index.js +5 -5
  36. package/packages/count-down/src/main.vue +27 -27
  37. package/packages/date/index.js +5 -5
  38. package/packages/date/src/date-time.vue +290 -290
  39. package/packages/date/src/main.vue +401 -401
  40. package/packages/empty/index.js +5 -5
  41. package/packages/empty/src/main.vue +16 -16
  42. package/packages/esign/index.js +5 -5
  43. package/packages/esign/src/main.vue +144 -144
  44. package/packages/field/index.js +5 -5
  45. package/packages/flow/index.js +5 -5
  46. package/packages/flow/src/components/Circulate.vue +595 -595
  47. package/packages/flow/src/components/Handle.vue +2404 -2404
  48. package/packages/flow/src/components/Message.vue +208 -208
  49. package/packages/flow/src/components/ProcessSettings.vue +342 -342
  50. package/packages/flow/src/components/supervise.vue +139 -139
  51. package/packages/flow/src/flowMix.js +288 -288
  52. package/packages/flow/src/main.vue +116 -116
  53. package/packages/flow-btn/index.js +5 -5
  54. package/packages/flow-btn/src/main.vue +494 -494
  55. package/packages/flow-list/index.js +5 -5
  56. package/packages/flow-list/src/main.vue +248 -248
  57. package/packages/form/index.js +5 -5
  58. package/packages/form/src/CustomCard.vue +201 -201
  59. package/packages/form/src/main.vue +369 -351
  60. package/packages/grid/index.js +5 -5
  61. package/packages/grid/src/main.vue +486 -486
  62. package/packages/grid-item/index.js +5 -5
  63. package/packages/grid-item/src/main.vue +16 -16
  64. package/packages/image/index.js +5 -5
  65. package/packages/image/src/main.vue +12 -12
  66. package/packages/image-preview/index.js +5 -5
  67. package/packages/list/index.js +5 -5
  68. package/packages/list/src/main.vue +32 -32
  69. package/packages/loading/index.js +5 -5
  70. package/packages/loading/src/main.vue +19 -19
  71. package/packages/nav-bar/index.js +5 -5
  72. package/packages/nav-bar/src/main.vue +24 -24
  73. package/packages/notice-bar/index.js +5 -5
  74. package/packages/notice-bar/src/main.vue +15 -15
  75. package/packages/pagination/index.js +5 -5
  76. package/packages/pagination/src/main.vue +73 -73
  77. package/packages/picker/index.js +5 -5
  78. package/packages/popover/index.js +5 -5
  79. package/packages/popover/src/main.vue +32 -32
  80. package/packages/popup/index.js +5 -5
  81. package/packages/popup/src/main.vue +27 -27
  82. package/packages/pull-refresh/index.js +5 -5
  83. package/packages/pull-refresh/src/main.vue +31 -31
  84. package/packages/radio/index.js +5 -5
  85. package/packages/radio/src/main.vue +179 -179
  86. package/packages/rate/index.js +5 -5
  87. package/packages/rate/src/main.vue +26 -26
  88. package/packages/retrial-auth/index.js +5 -5
  89. package/packages/retrial-auth/src/main.vue +257 -257
  90. package/packages/search/index.js +5 -5
  91. package/packages/search/src/main.vue +39 -39
  92. package/packages/selector/index.js +5 -5
  93. package/packages/selector/src/main.vue +186 -186
  94. package/packages/selector/src/selector-tree.vue +1117 -1117
  95. package/packages/selector/src/tree.vue +405 -405
  96. package/packages/skeleton/index.js +5 -5
  97. package/packages/skeleton/src/main.vue +17 -17
  98. package/packages/stepper/index.js +5 -5
  99. package/packages/stepper/src/main.vue +25 -25
  100. package/packages/swipe/index.js +5 -5
  101. package/packages/swipe/src/main.vue +42 -42
  102. package/packages/switch/index.js +5 -5
  103. package/packages/switch/src/main.vue +38 -38
  104. package/packages/tab/index.js +5 -5
  105. package/packages/tab/src/main.vue +16 -16
  106. package/packages/table/index.js +5 -5
  107. package/packages/table/src/main.vue +1006 -1006
  108. package/packages/table-column/index.js +5 -5
  109. package/packages/table-column/src/main.vue +931 -931
  110. package/packages/table-column/src/mixins/table.js +12 -12
  111. package/packages/tabs/index.js +5 -5
  112. package/packages/tabs/src/main.vue +34 -34
  113. package/packages/tag/index.js +5 -5
  114. package/packages/tag/src/main.vue +16 -16
  115. package/packages/theme-chalk/gulpfile.js +25 -0
  116. package/packages/theme-chalk/src/base.scss +195 -195
  117. package/packages/theme-chalk/src/button-group.scss +25 -25
  118. package/packages/theme-chalk/src/button.scss +2 -2
  119. package/packages/theme-chalk/src/calendar.scss +11 -11
  120. package/packages/theme-chalk/src/cascader.scss +11 -11
  121. package/packages/theme-chalk/src/cell.scss +14 -14
  122. package/packages/theme-chalk/src/checkbox.scss +9 -9
  123. package/packages/theme-chalk/src/circle.scss +6 -6
  124. package/packages/theme-chalk/src/common/var.scss +1525 -1525
  125. package/packages/theme-chalk/src/esign.scss +51 -51
  126. package/packages/theme-chalk/src/field.scss +98 -98
  127. package/packages/theme-chalk/src/flow-btn.scss +99 -99
  128. package/packages/theme-chalk/src/flow-list.scss +122 -122
  129. package/packages/theme-chalk/src/fonts/iconfont.scss +98 -98
  130. package/packages/theme-chalk/src/fonts/iconfont1.scss +90 -90
  131. package/packages/theme-chalk/src/grid-item.scss +16 -16
  132. package/packages/theme-chalk/src/grid.scss +46 -46
  133. package/packages/theme-chalk/src/icon.scss +1661 -1661
  134. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  135. package/packages/theme-chalk/src/navbar.scss +5 -5
  136. package/packages/theme-chalk/src/pagination.scss +12 -12
  137. package/packages/theme-chalk/src/picker.scss +31 -31
  138. package/packages/theme-chalk/src/radio.scss +6 -6
  139. package/packages/theme-chalk/src/retrial-auth.scss +28 -28
  140. package/packages/theme-chalk/src/selector.scss +247 -247
  141. package/packages/theme-chalk/src/stepper.scss +9 -9
  142. package/packages/theme-chalk/src/switch.scss +5 -5
  143. package/packages/theme-chalk/src/table.scss +86 -86
  144. package/packages/theme-chalk/src/tabs.scss +31 -31
  145. package/packages/theme-chalk/src/tag.scss +12 -12
  146. package/packages/theme-chalk/src/theme.scss +1 -1
  147. package/packages/theme-chalk/src/tree.scss +127 -127
  148. package/packages/uploader/index.js +5 -5
  149. package/src/config/api.js +190 -190
  150. package/src/index.js +1 -1
  151. package/src/utils/axios.js +217 -217
  152. package/src/utils/date-util.js +312 -312
  153. package/src/utils/http.js +106 -106
  154. package/src/utils/rules.js +18 -18
  155. package/src/utils/store.js +21 -21
  156. package/src/utils/util.js +287 -66
  157. package/CHANGELOG.md +0 -95
  158. package/packages/theme-chalk/lib/action-sheet.css +0 -0
  159. package/packages/theme-chalk/lib/base.css +0 -1
  160. package/packages/theme-chalk/lib/button-group.css +0 -1
  161. package/packages/theme-chalk/lib/button.css +0 -1
  162. package/packages/theme-chalk/lib/calendar.css +0 -1
  163. package/packages/theme-chalk/lib/cascader.css +0 -1
  164. package/packages/theme-chalk/lib/cell.css +0 -1
  165. package/packages/theme-chalk/lib/checkbox.css +0 -1
  166. package/packages/theme-chalk/lib/circle.css +0 -1
  167. package/packages/theme-chalk/lib/count-down.css +0 -0
  168. package/packages/theme-chalk/lib/date.css +0 -0
  169. package/packages/theme-chalk/lib/empty.css +0 -0
  170. package/packages/theme-chalk/lib/esign.css +0 -1
  171. package/packages/theme-chalk/lib/field.css +0 -1
  172. package/packages/theme-chalk/lib/flow-btn.css +0 -1
  173. package/packages/theme-chalk/lib/flow-list-task-read.css +0 -1
  174. package/packages/theme-chalk/lib/flow-list.css +0 -1
  175. package/packages/theme-chalk/lib/flow.css +0 -1
  176. package/packages/theme-chalk/lib/fonts/iconfont.scss +0 -98
  177. package/packages/theme-chalk/lib/fonts/iconfont.ttf +0 -0
  178. package/packages/theme-chalk/lib/fonts/iconfont.woff +0 -0
  179. package/packages/theme-chalk/lib/fonts/iconfont1.scss +0 -90
  180. package/packages/theme-chalk/lib/form.css +0 -1
  181. package/packages/theme-chalk/lib/grid-item.css +0 -1
  182. package/packages/theme-chalk/lib/grid.css +0 -1
  183. package/packages/theme-chalk/lib/icon.css +0 -1
  184. package/packages/theme-chalk/lib/image-preview.css +0 -0
  185. package/packages/theme-chalk/lib/image.css +0 -0
  186. package/packages/theme-chalk/lib/index.css +0 -1
  187. package/packages/theme-chalk/lib/list.css +0 -0
  188. package/packages/theme-chalk/lib/loading.css +0 -0
  189. package/packages/theme-chalk/lib/nav-bar.css +0 -0
  190. package/packages/theme-chalk/lib/navbar.css +0 -1
  191. package/packages/theme-chalk/lib/notice-bar.css +0 -0
  192. package/packages/theme-chalk/lib/pagination.css +0 -1
  193. package/packages/theme-chalk/lib/picker.css +0 -1
  194. package/packages/theme-chalk/lib/popover.css +0 -0
  195. package/packages/theme-chalk/lib/popup.css +0 -0
  196. package/packages/theme-chalk/lib/pull-refresh.css +0 -0
  197. package/packages/theme-chalk/lib/radio.css +0 -1
  198. package/packages/theme-chalk/lib/rate.css +0 -0
  199. package/packages/theme-chalk/lib/retrial-auth.css +0 -1
  200. package/packages/theme-chalk/lib/search.css +0 -0
  201. package/packages/theme-chalk/lib/selector.css +0 -1
  202. package/packages/theme-chalk/lib/skeleton.css +0 -0
  203. package/packages/theme-chalk/lib/stepper.css +0 -1
  204. package/packages/theme-chalk/lib/swipe.css +0 -0
  205. package/packages/theme-chalk/lib/switch.css +0 -1
  206. package/packages/theme-chalk/lib/tab.css +0 -0
  207. package/packages/theme-chalk/lib/table-column.css +0 -0
  208. package/packages/theme-chalk/lib/table.css +0 -1
  209. package/packages/theme-chalk/lib/tabs.css +0 -1
  210. package/packages/theme-chalk/lib/tag.css +0 -1
  211. package/packages/theme-chalk/lib/theme.css +0 -0
  212. package/packages/theme-chalk/lib/tree.css +0 -1
  213. package/packages/theme-chalk/lib/uploader.css +0 -0
package/lib/picker.js CHANGED
@@ -1456,8 +1456,11 @@ var toFunction = function toFunction(str) {
1456
1456
  if (str.indexOf('=>') > -1) {
1457
1457
  var renders = str.split('=>');
1458
1458
  var args = renders[0].replace('(', '').replace(')', '').split(',');
1459
+ var fnStr = renders[1].trim()
1459
1460
  // eslint-disable-next-line no-control-regex
1460
- var fnStr = renders[1].trim().replace(new RegExp('\n', 'gm'), '').replace(new RegExp('\t', 'gm'), '').replace(new RegExp('^\\{+|\\}+$', 'g'), '');
1461
+ .replace(new RegExp('\n', 'gm'), '')
1462
+ // eslint-disable-next-line no-control-regex
1463
+ .replace(new RegExp('\t', 'gm'), '').replace(new RegExp('^\\{+|\\}+$', 'g'), '');
1461
1464
  var fn = void 0;
1462
1465
  if (args.length) {
1463
1466
  fn = new (Function.prototype.bind.apply(Function, [null].concat(args, [fnStr])))();
@@ -1470,6 +1473,200 @@ var toFunction = function toFunction(str) {
1470
1473
  return eval(str);
1471
1474
  }
1472
1475
  };
1476
+
1477
+ /**
1478
+ * calculateNetworkDays
1479
+ * @desc 工作日天数
1480
+ * @desc 计算两个日期之间的工作日天数,可以排除周末和指定的假期
1481
+ * @param {string} start_date - 开始日期字符串,格式为 "YYYY-MM-DD"
1482
+ * @param {string} end_date - 结束日期字符串,格式为 "YYYY-MM-DD"
1483
+ * @param {Array<string>} holidays - 假期日期字符串数组,格式为 "YYYY-MM-DD"
1484
+ * @return {number} 工作日天数
1485
+ **/
1486
+ var calculateNetworkDays = function calculateNetworkDays(start_date, end_date) {
1487
+ var holidays = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
1488
+
1489
+ if (typeof start_date !== 'string' || typeof end_date !== 'string') {
1490
+ throw new Error("Invalid input. Please provide valid date strings in the format 'YYYY-MM-DD'.");
1491
+ }
1492
+
1493
+ var startDateObj = new Date(start_date);
1494
+ var endDateObj = new Date(end_date);
1495
+
1496
+ if (isNaN(startDateObj.getTime()) || isNaN(endDateObj.getTime())) {
1497
+ throw new Error("Invalid date format. Please provide valid date strings in the format 'YYYY-MM-DD'.");
1498
+ }
1499
+
1500
+ if (startDateObj > endDateObj) {
1501
+ throw new Error('Start date should be earlier than or equal to end date.');
1502
+ }
1503
+
1504
+ var workdays = 0;
1505
+
1506
+ // Iterate through each day in the date range
1507
+
1508
+ var _loop = function _loop(currentDate) {
1509
+ // Check if the current day is a weekend (Saturday or Sunday)
1510
+ var isWeekend = currentDate.getDay() === 0 || currentDate.getDay() === 6;
1511
+
1512
+ // Check if the current day is a holiday
1513
+ var isHoliday = holidays.some(function (holiday) {
1514
+ var holidayDate = new Date(holiday);
1515
+ return currentDate.toDateString() === holidayDate.toDateString();
1516
+ });
1517
+
1518
+ // If it's a workday (not a weekend or holiday), increment the workdays count
1519
+ if (!isWeekend && !isHoliday) {
1520
+ workdays++;
1521
+ }
1522
+ };
1523
+
1524
+ for (var currentDate = new Date(startDateObj); currentDate <= endDateObj; currentDate.setDate(currentDate.getDate() + 1)) {
1525
+ _loop(currentDate);
1526
+ }
1527
+
1528
+ return workdays;
1529
+ };
1530
+
1531
+ /**
1532
+ * chunkToChinese
1533
+ * @desc 将四位数的整数转换为中文大写
1534
+ * @param {number} chunk - 数字
1535
+ **/
1536
+ function chunkToChinese(chunk) {
1537
+ var numberToChinese = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
1538
+ var capitalDigits = ['', '拾', '佰', '仟'];
1539
+
1540
+ var result = '';
1541
+ var digitIndex = 0;
1542
+
1543
+ while (chunk > 0) {
1544
+ var digit = chunk % 10;
1545
+ if (digit > 0) {
1546
+ result = numberToChinese[digit] + capitalDigits[digitIndex] + result;
1547
+ } else {
1548
+ // 当前数字是零,需要判断是否需要添加零
1549
+ if (result.charAt(0) !== '零') {
1550
+ result = '零' + result;
1551
+ }
1552
+ }
1553
+ chunk = Math.floor(chunk / 10);
1554
+ digitIndex++;
1555
+ }
1556
+
1557
+ return result;
1558
+ }
1559
+
1560
+ /**
1561
+ * concatenate
1562
+ * @desc 指定连接符合并文本
1563
+ * @desc 使用指定的连接符合并文本字符串
1564
+ * @author SuTao
1565
+ * @date 2023年12月14日
1566
+ * @param {string} separator - 指定的连接符
1567
+ * @param {...string} strings - 多个文本字符串
1568
+ * @return {string} 合并后的字符串
1569
+ **/
1570
+ var concatenate = function concatenate(separator) {
1571
+ for (var _len = arguments.length, strings = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
1572
+ strings[_key - 1] = arguments[_key];
1573
+ }
1574
+
1575
+ if (typeof separator !== 'string' || !strings.every(function (str) {
1576
+ return typeof str === 'string';
1577
+ })) {
1578
+ throw new Error('Invalid input. Please provide a valid separator and valid strings.');
1579
+ }
1580
+ return strings.join(separator);
1581
+ };
1582
+
1583
+ /**
1584
+ * dateAddDays
1585
+ * @desc 加减日期天数
1586
+ * @desc 在给定的日期上加上或减去指定的天数
1587
+ * @param {string} start_date - 起始日期字符串,格式为 "YYYY-MM-DD"
1588
+ * @param {number} days - 要加上或减去的天数,正数表示加,负数表示减
1589
+ * @return {string} 计算后的日期字符串
1590
+ **/
1591
+ var dateAddDays = function dateAddDays(start_date, days) {
1592
+ if (typeof start_date !== 'string' || !Number.isInteger(days)) {
1593
+ throw new Error("Invalid input. Please provide a valid date string in the format 'YYYY-MM-DD' and a valid integer for the number of days.");
1594
+ }
1595
+
1596
+ var startDateObj = new Date(start_date);
1597
+ if (isNaN(startDateObj.getTime())) {
1598
+ throw new Error("Invalid date format. Please provide a valid date string in the format 'YYYY-MM-DD'.");
1599
+ }
1600
+
1601
+ var resultDateObj = new Date(startDateObj);
1602
+ resultDateObj.setDate(resultDateObj.getDate() + days);
1603
+
1604
+ var resultYear = resultDateObj.getFullYear();
1605
+ var resultMonth = String(resultDateObj.getMonth() + 1).padStart(2, '0');
1606
+ var resultDay = String(resultDateObj.getDate()).padStart(2, '0');
1607
+
1608
+ return resultYear + '-' + resultMonth + '-' + resultDay;
1609
+ };
1610
+
1611
+ /**
1612
+ * dateDiff
1613
+ * @desc 计算两个日期之间的差距
1614
+ * @author SuTao
1615
+ * @date 2023年12月14日
1616
+ * @param {String} start_date - 起始日期字符串
1617
+ * @param {String} end_date - 结束日期字符串
1618
+ * @param {String} [unit] - 计算的时间单位 ("y", "M", "d", "h", "m", "s")
1619
+ * @return {Number} 两个日期之间的差距
1620
+ **/
1621
+ var dateDiff = function dateDiff(start_date, end_date, unit) {
1622
+ // Assuming date strings are in "YYYY-MM-DD" format
1623
+ var startDate = new Date(start_date);
1624
+ var endDate = new Date(end_date);
1625
+
1626
+ // Calculate the difference in milliseconds
1627
+ var timeDifference = endDate - startDate;
1628
+
1629
+ // Convert milliseconds to the specified unit
1630
+ unit = unit || 'd'; // Set default unit to "d"
1631
+
1632
+ switch (unit) {
1633
+ case 'y':
1634
+ return endDate.getFullYear() - startDate.getFullYear();
1635
+ case 'M':
1636
+ return (endDate.getFullYear() - startDate.getFullYear()) * 12 + (endDate.getMonth() - startDate.getMonth());
1637
+ case 'd':
1638
+ return Math.floor(timeDifference / (1000 * 60 * 60 * 24));
1639
+ case 'h':
1640
+ return Math.floor(timeDifference / (1000 * 60 * 60));
1641
+ case 'm':
1642
+ return Math.floor(timeDifference / (1000 * 60));
1643
+ case 's':
1644
+ return Math.floor(timeDifference / 1000);
1645
+ default:
1646
+ throw new Error("Invalid unit. Supported units are 'y', 'M', 'd', 'h', 'm', 's'.");
1647
+ }
1648
+ };
1649
+
1650
+ /**
1651
+ * dayOfMonth
1652
+ * @desc 当月第几天
1653
+ * @desc 返回给定日期是所在月的第几天
1654
+ * @param {string} date - 日期字符串,格式为 "YYYY-MM-DD"
1655
+ * @return {number} 当月的第几天
1656
+ **/
1657
+ var dayOfMonth = function dayOfMonth(date) {
1658
+ if (typeof date !== 'string') {
1659
+ throw new Error("Invalid input. Please provide a valid date string in the format 'YYYY-MM-DD'.");
1660
+ }
1661
+
1662
+ var dateObj = new Date(date);
1663
+ if (isNaN(dateObj.getTime())) {
1664
+ throw new Error("Invalid date format. Please provide a valid date string in the format 'YYYY-MM-DD'.");
1665
+ }
1666
+
1667
+ return dateObj.getDate();
1668
+ };
1669
+
1473
1670
  /* harmony default export */ __webpack_exports__["a"] = ({
1474
1671
  esEncrypt: esEncrypt,
1475
1672
  esDecode: esDecode,
@@ -1517,7 +1714,14 @@ var toFunction = function toFunction(str) {
1517
1714
  exportXls: exportXls,
1518
1715
  generateUUID: generateUUID,
1519
1716
  uuid: uuid,
1520
- toFunction: toFunction
1717
+ toFunction: toFunction,
1718
+ toFixed: toFixed,
1719
+ calculateNetworkDays: calculateNetworkDays,
1720
+ chunkToChinese: chunkToChinese,
1721
+ concatenate: concatenate,
1722
+ dateAddDays: dateAddDays,
1723
+ dateDiff: dateDiff,
1724
+ dayOfMonth: dayOfMonth
1521
1725
  });
1522
1726
 
1523
1727
  /***/ }),
package/lib/radio.js CHANGED
@@ -1456,8 +1456,11 @@ var toFunction = function toFunction(str) {
1456
1456
  if (str.indexOf('=>') > -1) {
1457
1457
  var renders = str.split('=>');
1458
1458
  var args = renders[0].replace('(', '').replace(')', '').split(',');
1459
+ var fnStr = renders[1].trim()
1459
1460
  // eslint-disable-next-line no-control-regex
1460
- var fnStr = renders[1].trim().replace(new RegExp('\n', 'gm'), '').replace(new RegExp('\t', 'gm'), '').replace(new RegExp('^\\{+|\\}+$', 'g'), '');
1461
+ .replace(new RegExp('\n', 'gm'), '')
1462
+ // eslint-disable-next-line no-control-regex
1463
+ .replace(new RegExp('\t', 'gm'), '').replace(new RegExp('^\\{+|\\}+$', 'g'), '');
1461
1464
  var fn = void 0;
1462
1465
  if (args.length) {
1463
1466
  fn = new (Function.prototype.bind.apply(Function, [null].concat(args, [fnStr])))();
@@ -1470,6 +1473,200 @@ var toFunction = function toFunction(str) {
1470
1473
  return eval(str);
1471
1474
  }
1472
1475
  };
1476
+
1477
+ /**
1478
+ * calculateNetworkDays
1479
+ * @desc 工作日天数
1480
+ * @desc 计算两个日期之间的工作日天数,可以排除周末和指定的假期
1481
+ * @param {string} start_date - 开始日期字符串,格式为 "YYYY-MM-DD"
1482
+ * @param {string} end_date - 结束日期字符串,格式为 "YYYY-MM-DD"
1483
+ * @param {Array<string>} holidays - 假期日期字符串数组,格式为 "YYYY-MM-DD"
1484
+ * @return {number} 工作日天数
1485
+ **/
1486
+ var calculateNetworkDays = function calculateNetworkDays(start_date, end_date) {
1487
+ var holidays = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
1488
+
1489
+ if (typeof start_date !== 'string' || typeof end_date !== 'string') {
1490
+ throw new Error("Invalid input. Please provide valid date strings in the format 'YYYY-MM-DD'.");
1491
+ }
1492
+
1493
+ var startDateObj = new Date(start_date);
1494
+ var endDateObj = new Date(end_date);
1495
+
1496
+ if (isNaN(startDateObj.getTime()) || isNaN(endDateObj.getTime())) {
1497
+ throw new Error("Invalid date format. Please provide valid date strings in the format 'YYYY-MM-DD'.");
1498
+ }
1499
+
1500
+ if (startDateObj > endDateObj) {
1501
+ throw new Error('Start date should be earlier than or equal to end date.');
1502
+ }
1503
+
1504
+ var workdays = 0;
1505
+
1506
+ // Iterate through each day in the date range
1507
+
1508
+ var _loop = function _loop(currentDate) {
1509
+ // Check if the current day is a weekend (Saturday or Sunday)
1510
+ var isWeekend = currentDate.getDay() === 0 || currentDate.getDay() === 6;
1511
+
1512
+ // Check if the current day is a holiday
1513
+ var isHoliday = holidays.some(function (holiday) {
1514
+ var holidayDate = new Date(holiday);
1515
+ return currentDate.toDateString() === holidayDate.toDateString();
1516
+ });
1517
+
1518
+ // If it's a workday (not a weekend or holiday), increment the workdays count
1519
+ if (!isWeekend && !isHoliday) {
1520
+ workdays++;
1521
+ }
1522
+ };
1523
+
1524
+ for (var currentDate = new Date(startDateObj); currentDate <= endDateObj; currentDate.setDate(currentDate.getDate() + 1)) {
1525
+ _loop(currentDate);
1526
+ }
1527
+
1528
+ return workdays;
1529
+ };
1530
+
1531
+ /**
1532
+ * chunkToChinese
1533
+ * @desc 将四位数的整数转换为中文大写
1534
+ * @param {number} chunk - 数字
1535
+ **/
1536
+ function chunkToChinese(chunk) {
1537
+ var numberToChinese = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
1538
+ var capitalDigits = ['', '拾', '佰', '仟'];
1539
+
1540
+ var result = '';
1541
+ var digitIndex = 0;
1542
+
1543
+ while (chunk > 0) {
1544
+ var digit = chunk % 10;
1545
+ if (digit > 0) {
1546
+ result = numberToChinese[digit] + capitalDigits[digitIndex] + result;
1547
+ } else {
1548
+ // 当前数字是零,需要判断是否需要添加零
1549
+ if (result.charAt(0) !== '零') {
1550
+ result = '零' + result;
1551
+ }
1552
+ }
1553
+ chunk = Math.floor(chunk / 10);
1554
+ digitIndex++;
1555
+ }
1556
+
1557
+ return result;
1558
+ }
1559
+
1560
+ /**
1561
+ * concatenate
1562
+ * @desc 指定连接符合并文本
1563
+ * @desc 使用指定的连接符合并文本字符串
1564
+ * @author SuTao
1565
+ * @date 2023年12月14日
1566
+ * @param {string} separator - 指定的连接符
1567
+ * @param {...string} strings - 多个文本字符串
1568
+ * @return {string} 合并后的字符串
1569
+ **/
1570
+ var concatenate = function concatenate(separator) {
1571
+ for (var _len = arguments.length, strings = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
1572
+ strings[_key - 1] = arguments[_key];
1573
+ }
1574
+
1575
+ if (typeof separator !== 'string' || !strings.every(function (str) {
1576
+ return typeof str === 'string';
1577
+ })) {
1578
+ throw new Error('Invalid input. Please provide a valid separator and valid strings.');
1579
+ }
1580
+ return strings.join(separator);
1581
+ };
1582
+
1583
+ /**
1584
+ * dateAddDays
1585
+ * @desc 加减日期天数
1586
+ * @desc 在给定的日期上加上或减去指定的天数
1587
+ * @param {string} start_date - 起始日期字符串,格式为 "YYYY-MM-DD"
1588
+ * @param {number} days - 要加上或减去的天数,正数表示加,负数表示减
1589
+ * @return {string} 计算后的日期字符串
1590
+ **/
1591
+ var dateAddDays = function dateAddDays(start_date, days) {
1592
+ if (typeof start_date !== 'string' || !Number.isInteger(days)) {
1593
+ throw new Error("Invalid input. Please provide a valid date string in the format 'YYYY-MM-DD' and a valid integer for the number of days.");
1594
+ }
1595
+
1596
+ var startDateObj = new Date(start_date);
1597
+ if (isNaN(startDateObj.getTime())) {
1598
+ throw new Error("Invalid date format. Please provide a valid date string in the format 'YYYY-MM-DD'.");
1599
+ }
1600
+
1601
+ var resultDateObj = new Date(startDateObj);
1602
+ resultDateObj.setDate(resultDateObj.getDate() + days);
1603
+
1604
+ var resultYear = resultDateObj.getFullYear();
1605
+ var resultMonth = String(resultDateObj.getMonth() + 1).padStart(2, '0');
1606
+ var resultDay = String(resultDateObj.getDate()).padStart(2, '0');
1607
+
1608
+ return resultYear + '-' + resultMonth + '-' + resultDay;
1609
+ };
1610
+
1611
+ /**
1612
+ * dateDiff
1613
+ * @desc 计算两个日期之间的差距
1614
+ * @author SuTao
1615
+ * @date 2023年12月14日
1616
+ * @param {String} start_date - 起始日期字符串
1617
+ * @param {String} end_date - 结束日期字符串
1618
+ * @param {String} [unit] - 计算的时间单位 ("y", "M", "d", "h", "m", "s")
1619
+ * @return {Number} 两个日期之间的差距
1620
+ **/
1621
+ var dateDiff = function dateDiff(start_date, end_date, unit) {
1622
+ // Assuming date strings are in "YYYY-MM-DD" format
1623
+ var startDate = new Date(start_date);
1624
+ var endDate = new Date(end_date);
1625
+
1626
+ // Calculate the difference in milliseconds
1627
+ var timeDifference = endDate - startDate;
1628
+
1629
+ // Convert milliseconds to the specified unit
1630
+ unit = unit || 'd'; // Set default unit to "d"
1631
+
1632
+ switch (unit) {
1633
+ case 'y':
1634
+ return endDate.getFullYear() - startDate.getFullYear();
1635
+ case 'M':
1636
+ return (endDate.getFullYear() - startDate.getFullYear()) * 12 + (endDate.getMonth() - startDate.getMonth());
1637
+ case 'd':
1638
+ return Math.floor(timeDifference / (1000 * 60 * 60 * 24));
1639
+ case 'h':
1640
+ return Math.floor(timeDifference / (1000 * 60 * 60));
1641
+ case 'm':
1642
+ return Math.floor(timeDifference / (1000 * 60));
1643
+ case 's':
1644
+ return Math.floor(timeDifference / 1000);
1645
+ default:
1646
+ throw new Error("Invalid unit. Supported units are 'y', 'M', 'd', 'h', 'm', 's'.");
1647
+ }
1648
+ };
1649
+
1650
+ /**
1651
+ * dayOfMonth
1652
+ * @desc 当月第几天
1653
+ * @desc 返回给定日期是所在月的第几天
1654
+ * @param {string} date - 日期字符串,格式为 "YYYY-MM-DD"
1655
+ * @return {number} 当月的第几天
1656
+ **/
1657
+ var dayOfMonth = function dayOfMonth(date) {
1658
+ if (typeof date !== 'string') {
1659
+ throw new Error("Invalid input. Please provide a valid date string in the format 'YYYY-MM-DD'.");
1660
+ }
1661
+
1662
+ var dateObj = new Date(date);
1663
+ if (isNaN(dateObj.getTime())) {
1664
+ throw new Error("Invalid date format. Please provide a valid date string in the format 'YYYY-MM-DD'.");
1665
+ }
1666
+
1667
+ return dateObj.getDate();
1668
+ };
1669
+
1473
1670
  /* harmony default export */ __webpack_exports__["a"] = ({
1474
1671
  esEncrypt: esEncrypt,
1475
1672
  esDecode: esDecode,
@@ -1517,7 +1714,14 @@ var toFunction = function toFunction(str) {
1517
1714
  exportXls: exportXls,
1518
1715
  generateUUID: generateUUID,
1519
1716
  uuid: uuid,
1520
- toFunction: toFunction
1717
+ toFunction: toFunction,
1718
+ toFixed: toFixed,
1719
+ calculateNetworkDays: calculateNetworkDays,
1720
+ chunkToChinese: chunkToChinese,
1721
+ concatenate: concatenate,
1722
+ dateAddDays: dateAddDays,
1723
+ dateDiff: dateDiff,
1724
+ dayOfMonth: dayOfMonth
1521
1725
  });
1522
1726
 
1523
1727
  /***/ }),
@@ -2433,11 +2637,11 @@ var _extends = Object.assign || function (target) { for (var i = 1; i < argument
2433
2637
  return util["a" /* default */].exclAttribute({ data: data, attrs: attrs });
2434
2638
  },
2435
2639
 
2436
- /**
2437
- * handleChange
2438
- * @desc:当绑定值变化时触发的事件
2439
- * @date 2023年3月6日
2440
- * @author liufan
2640
+ /**
2641
+ * handleChange
2642
+ * @desc:当绑定值变化时触发的事件
2643
+ * @date 2023年3月6日
2644
+ * @author liufan
2441
2645
  */
2442
2646
  // handleChange(val) {
2443
2647
  // this.$emit('change', val);