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
@@ -1457,8 +1457,11 @@ var toFunction = function toFunction(str) {
1457
1457
  if (str.indexOf('=>') > -1) {
1458
1458
  var renders = str.split('=>');
1459
1459
  var args = renders[0].replace('(', '').replace(')', '').split(',');
1460
+ var fnStr = renders[1].trim()
1460
1461
  // eslint-disable-next-line no-control-regex
1461
- var fnStr = renders[1].trim().replace(new RegExp('\n', 'gm'), '').replace(new RegExp('\t', 'gm'), '').replace(new RegExp('^\\{+|\\}+$', 'g'), '');
1462
+ .replace(new RegExp('\n', 'gm'), '')
1463
+ // eslint-disable-next-line no-control-regex
1464
+ .replace(new RegExp('\t', 'gm'), '').replace(new RegExp('^\\{+|\\}+$', 'g'), '');
1462
1465
  var fn = void 0;
1463
1466
  if (args.length) {
1464
1467
  fn = new (Function.prototype.bind.apply(Function, [null].concat(args, [fnStr])))();
@@ -1471,6 +1474,200 @@ var toFunction = function toFunction(str) {
1471
1474
  return eval(str);
1472
1475
  }
1473
1476
  };
1477
+
1478
+ /**
1479
+ * calculateNetworkDays
1480
+ * @desc 工作日天数
1481
+ * @desc 计算两个日期之间的工作日天数,可以排除周末和指定的假期
1482
+ * @param {string} start_date - 开始日期字符串,格式为 "YYYY-MM-DD"
1483
+ * @param {string} end_date - 结束日期字符串,格式为 "YYYY-MM-DD"
1484
+ * @param {Array<string>} holidays - 假期日期字符串数组,格式为 "YYYY-MM-DD"
1485
+ * @return {number} 工作日天数
1486
+ **/
1487
+ var calculateNetworkDays = function calculateNetworkDays(start_date, end_date) {
1488
+ var holidays = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
1489
+
1490
+ if (typeof start_date !== 'string' || typeof end_date !== 'string') {
1491
+ throw new Error("Invalid input. Please provide valid date strings in the format 'YYYY-MM-DD'.");
1492
+ }
1493
+
1494
+ var startDateObj = new Date(start_date);
1495
+ var endDateObj = new Date(end_date);
1496
+
1497
+ if (isNaN(startDateObj.getTime()) || isNaN(endDateObj.getTime())) {
1498
+ throw new Error("Invalid date format. Please provide valid date strings in the format 'YYYY-MM-DD'.");
1499
+ }
1500
+
1501
+ if (startDateObj > endDateObj) {
1502
+ throw new Error('Start date should be earlier than or equal to end date.');
1503
+ }
1504
+
1505
+ var workdays = 0;
1506
+
1507
+ // Iterate through each day in the date range
1508
+
1509
+ var _loop = function _loop(currentDate) {
1510
+ // Check if the current day is a weekend (Saturday or Sunday)
1511
+ var isWeekend = currentDate.getDay() === 0 || currentDate.getDay() === 6;
1512
+
1513
+ // Check if the current day is a holiday
1514
+ var isHoliday = holidays.some(function (holiday) {
1515
+ var holidayDate = new Date(holiday);
1516
+ return currentDate.toDateString() === holidayDate.toDateString();
1517
+ });
1518
+
1519
+ // If it's a workday (not a weekend or holiday), increment the workdays count
1520
+ if (!isWeekend && !isHoliday) {
1521
+ workdays++;
1522
+ }
1523
+ };
1524
+
1525
+ for (var currentDate = new Date(startDateObj); currentDate <= endDateObj; currentDate.setDate(currentDate.getDate() + 1)) {
1526
+ _loop(currentDate);
1527
+ }
1528
+
1529
+ return workdays;
1530
+ };
1531
+
1532
+ /**
1533
+ * chunkToChinese
1534
+ * @desc 将四位数的整数转换为中文大写
1535
+ * @param {number} chunk - 数字
1536
+ **/
1537
+ function chunkToChinese(chunk) {
1538
+ var numberToChinese = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
1539
+ var capitalDigits = ['', '拾', '佰', '仟'];
1540
+
1541
+ var result = '';
1542
+ var digitIndex = 0;
1543
+
1544
+ while (chunk > 0) {
1545
+ var digit = chunk % 10;
1546
+ if (digit > 0) {
1547
+ result = numberToChinese[digit] + capitalDigits[digitIndex] + result;
1548
+ } else {
1549
+ // 当前数字是零,需要判断是否需要添加零
1550
+ if (result.charAt(0) !== '零') {
1551
+ result = '零' + result;
1552
+ }
1553
+ }
1554
+ chunk = Math.floor(chunk / 10);
1555
+ digitIndex++;
1556
+ }
1557
+
1558
+ return result;
1559
+ }
1560
+
1561
+ /**
1562
+ * concatenate
1563
+ * @desc 指定连接符合并文本
1564
+ * @desc 使用指定的连接符合并文本字符串
1565
+ * @author SuTao
1566
+ * @date 2023年12月14日
1567
+ * @param {string} separator - 指定的连接符
1568
+ * @param {...string} strings - 多个文本字符串
1569
+ * @return {string} 合并后的字符串
1570
+ **/
1571
+ var concatenate = function concatenate(separator) {
1572
+ for (var _len = arguments.length, strings = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
1573
+ strings[_key - 1] = arguments[_key];
1574
+ }
1575
+
1576
+ if (typeof separator !== 'string' || !strings.every(function (str) {
1577
+ return typeof str === 'string';
1578
+ })) {
1579
+ throw new Error('Invalid input. Please provide a valid separator and valid strings.');
1580
+ }
1581
+ return strings.join(separator);
1582
+ };
1583
+
1584
+ /**
1585
+ * dateAddDays
1586
+ * @desc 加减日期天数
1587
+ * @desc 在给定的日期上加上或减去指定的天数
1588
+ * @param {string} start_date - 起始日期字符串,格式为 "YYYY-MM-DD"
1589
+ * @param {number} days - 要加上或减去的天数,正数表示加,负数表示减
1590
+ * @return {string} 计算后的日期字符串
1591
+ **/
1592
+ var dateAddDays = function dateAddDays(start_date, days) {
1593
+ if (typeof start_date !== 'string' || !Number.isInteger(days)) {
1594
+ 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.");
1595
+ }
1596
+
1597
+ var startDateObj = new Date(start_date);
1598
+ if (isNaN(startDateObj.getTime())) {
1599
+ throw new Error("Invalid date format. Please provide a valid date string in the format 'YYYY-MM-DD'.");
1600
+ }
1601
+
1602
+ var resultDateObj = new Date(startDateObj);
1603
+ resultDateObj.setDate(resultDateObj.getDate() + days);
1604
+
1605
+ var resultYear = resultDateObj.getFullYear();
1606
+ var resultMonth = String(resultDateObj.getMonth() + 1).padStart(2, '0');
1607
+ var resultDay = String(resultDateObj.getDate()).padStart(2, '0');
1608
+
1609
+ return resultYear + '-' + resultMonth + '-' + resultDay;
1610
+ };
1611
+
1612
+ /**
1613
+ * dateDiff
1614
+ * @desc 计算两个日期之间的差距
1615
+ * @author SuTao
1616
+ * @date 2023年12月14日
1617
+ * @param {String} start_date - 起始日期字符串
1618
+ * @param {String} end_date - 结束日期字符串
1619
+ * @param {String} [unit] - 计算的时间单位 ("y", "M", "d", "h", "m", "s")
1620
+ * @return {Number} 两个日期之间的差距
1621
+ **/
1622
+ var dateDiff = function dateDiff(start_date, end_date, unit) {
1623
+ // Assuming date strings are in "YYYY-MM-DD" format
1624
+ var startDate = new Date(start_date);
1625
+ var endDate = new Date(end_date);
1626
+
1627
+ // Calculate the difference in milliseconds
1628
+ var timeDifference = endDate - startDate;
1629
+
1630
+ // Convert milliseconds to the specified unit
1631
+ unit = unit || 'd'; // Set default unit to "d"
1632
+
1633
+ switch (unit) {
1634
+ case 'y':
1635
+ return endDate.getFullYear() - startDate.getFullYear();
1636
+ case 'M':
1637
+ return (endDate.getFullYear() - startDate.getFullYear()) * 12 + (endDate.getMonth() - startDate.getMonth());
1638
+ case 'd':
1639
+ return Math.floor(timeDifference / (1000 * 60 * 60 * 24));
1640
+ case 'h':
1641
+ return Math.floor(timeDifference / (1000 * 60 * 60));
1642
+ case 'm':
1643
+ return Math.floor(timeDifference / (1000 * 60));
1644
+ case 's':
1645
+ return Math.floor(timeDifference / 1000);
1646
+ default:
1647
+ throw new Error("Invalid unit. Supported units are 'y', 'M', 'd', 'h', 'm', 's'.");
1648
+ }
1649
+ };
1650
+
1651
+ /**
1652
+ * dayOfMonth
1653
+ * @desc 当月第几天
1654
+ * @desc 返回给定日期是所在月的第几天
1655
+ * @param {string} date - 日期字符串,格式为 "YYYY-MM-DD"
1656
+ * @return {number} 当月的第几天
1657
+ **/
1658
+ var dayOfMonth = function dayOfMonth(date) {
1659
+ if (typeof date !== 'string') {
1660
+ throw new Error("Invalid input. Please provide a valid date string in the format 'YYYY-MM-DD'.");
1661
+ }
1662
+
1663
+ var dateObj = new Date(date);
1664
+ if (isNaN(dateObj.getTime())) {
1665
+ throw new Error("Invalid date format. Please provide a valid date string in the format 'YYYY-MM-DD'.");
1666
+ }
1667
+
1668
+ return dateObj.getDate();
1669
+ };
1670
+
1474
1671
  /* harmony default export */ __webpack_exports__["a"] = ({
1475
1672
  esEncrypt: esEncrypt,
1476
1673
  esDecode: esDecode,
@@ -1518,7 +1715,14 @@ var toFunction = function toFunction(str) {
1518
1715
  exportXls: exportXls,
1519
1716
  generateUUID: generateUUID,
1520
1717
  uuid: uuid,
1521
- toFunction: toFunction
1718
+ toFunction: toFunction,
1719
+ toFixed: toFixed,
1720
+ calculateNetworkDays: calculateNetworkDays,
1721
+ chunkToChinese: chunkToChinese,
1722
+ concatenate: concatenate,
1723
+ dateAddDays: dateAddDays,
1724
+ dateDiff: dateDiff,
1725
+ dayOfMonth: dayOfMonth
1522
1726
  });
1523
1727
 
1524
1728
  /***/ }),
package/lib/selector.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
  /***/ }),
@@ -4017,12 +4221,12 @@ var _props, _methods;
4017
4221
  });
4018
4222
  },
4019
4223
 
4020
- /**
4021
- * delteList
4022
- * @desc:删除选中的数据
4023
- * @date 2023年3月6日
4024
- * @author liufan
4025
- * @param {String,Number} i 点击数据的下标
4224
+ /**
4225
+ * delteList
4226
+ * @desc:删除选中的数据
4227
+ * @date 2023年3月6日
4228
+ * @author liufan
4229
+ * @param {String,Number} i 点击数据的下标
4026
4230
  */
4027
4231
  delteList: function delteList(i) {
4028
4232
  this.oldIsSearch = this.isSearch;
@@ -4045,11 +4249,11 @@ var _props, _methods;
4045
4249
  }
4046
4250
  },
4047
4251
 
4048
- /**
4049
- * onSearch
4050
- * @desc:条件搜索
4051
- * @date 2023年3月6日
4052
- * @author liufan
4252
+ /**
4253
+ * onSearch
4254
+ * @desc:条件搜索
4255
+ * @date 2023年3月6日
4256
+ * @author liufan
4053
4257
  */
4054
4258
  onSearch: function onSearch() {
4055
4259
  var _this5 = this;
@@ -4068,11 +4272,11 @@ var _props, _methods;
4068
4272
  }, 1000);
4069
4273
  },
4070
4274
 
4071
- /**
4072
- * getContent
4073
- * @desc:获取数据
4074
- * @date 2023年3月6日
4075
- * @author liufan
4275
+ /**
4276
+ * getContent
4277
+ * @desc:获取数据
4278
+ * @date 2023年3月6日
4279
+ * @author liufan
4076
4280
  */
4077
4281
  getContent: function getContent(name, isSearch) {
4078
4282
  var _this6 = this;
@@ -5049,12 +5253,12 @@ var selector_field_component = Object(componentNormalizer["a" /* default */])(
5049
5253
  this.$emit('selector-click', this.showSelectorTree);
5050
5254
  },
5051
5255
 
5052
- /**
5053
- * handleDispose
5054
- * @desc:确认选人
5055
- * @date 2023年3月6日
5056
- * @author liufan
5057
- * @param {Object} val 选中的人员/单位
5256
+ /**
5257
+ * handleDispose
5258
+ * @desc:确认选人
5259
+ * @date 2023年3月6日
5260
+ * @author liufan
5261
+ * @param {Object} val 选中的人员/单位
5058
5262
  */
5059
5263
  handleDispose: function handleDispose(val) {
5060
5264
  this.inputValue = '';
@@ -5072,12 +5276,12 @@ var selector_field_component = Object(componentNormalizer["a" /* default */])(
5072
5276
  this.$emit('selector-click', this.showSelectorTree);
5073
5277
  },
5074
5278
 
5075
- /**
5076
- * handleChangeSel
5077
- * @desc:输入框数据发生变化时
5078
- * @date 2023年3月6日
5079
- * @author liufan
5080
- * @param {Array} val 变化后的选中数据
5279
+ /**
5280
+ * handleChangeSel
5281
+ * @desc:输入框数据发生变化时
5282
+ * @date 2023年3月6日
5283
+ * @author liufan
5284
+ * @param {Array} val 变化后的选中数据
5081
5285
  */
5082
5286
  handleChangeSel: function handleChangeSel(val) {
5083
5287
  if (val) {