vxe-pc-ui
Version:
A vue based PC component library
1 lines • 3.87 kB
JavaScript
Object.defineProperty(exports,"__esModule",{value:!0}),exports.getDateByCode=getDateByCode,exports.getDateQuarter=getDateQuarter,exports.getRangeDateByCode=getRangeDateByCode,exports.handleValueFormat=handleValueFormat,exports.hasDateValueType=hasDateValueType,exports.hasTimestampValueType=hasTimestampValueType,exports.parseDateObj=parseDateObj,exports.parseDateValue=exports.parseDateString=void 0,exports.toStringTimeDate=toStringTimeDate;var _xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function hasTimestampValueType(e){return"timestamp"===e}function hasDateValueType(e){return"date"===e}function handleValueFormat(e,t){return!t||hasDateValueType(t)||hasTimestampValueType(t)?"time"===e?"HH:mm:ss":"datetime"===e?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd":t}function toStringTimeDate(s){var r=new Date(2e3,0,1);if(s){let e=0,t=0,a=0;(_xeUtils.default.isNumber(s)||/^[0-9]{11,15}$/.test(""+s))&&(s=new Date(Number(s))),_xeUtils.default.isDate(s)?(e=s.getHours(),t=s.getMinutes(),a=s.getSeconds()):(s=(s=_xeUtils.default.toValueString(s)).match(/^(\d{1,2})(:(\d{1,2}))?(:(\d{1,2}))?/))&&(e=_xeUtils.default.toNumber(s[1]),t=_xeUtils.default.toNumber(s[3]),a=_xeUtils.default.toNumber(s[5])),r.setHours(e),r.setMinutes(t),r.setSeconds(a)}return r}function getDateQuarter(e){e=e.getMonth();return e<3?1:e<6?2:e<9?3:4}let parseDateValue=(e,t,a)=>{a=a.valueFormat;return e?"time"===t?toStringTimeDate(e):_xeUtils.default.isNumber(e)||/^[0-9]{10,15}$/.test(""+e)?new Date(Number(e)):_xeUtils.default.isString(e)?_xeUtils.default.toStringDate(_xeUtils.default.last(e.split(",")),a):_xeUtils.default.toStringDate(e,a):null},parseDateString=(exports.parseDateValue=parseDateValue,(e,t,a)=>{e=parseDateValue(e,t,a);return e?_xeUtils.default.toDateString(e,a.valueFormat):""});function parseDateObj(e,t,a){var{labelFormat:s,firstDay:r}=a;let l=null,u="";return e&&(l=parseDateValue(e,t,a)),_xeUtils.default.isValidDate(l)?(u=_xeUtils.default.toDateString(l,s,{firstDay:r}),s&&"week"===t&&(e=l.getFullYear(),a=l.getMonth()+1,t=_xeUtils.default.getYearWeek(l,r),checkWeekOfsetYear(t,a))&&(r=e+1,-1<(a=s.indexOf(t="yyyy")))&&(u=u.substring(0,a)+r+u.substring(a+t.length))):l=null,{label:u,value:l}}function getDateByCode(e,t,a,s){var{valueFormat:r,firstDay:l}=s;let u=null;var i=("prev"===e||"next"===e?new Date:t?parseDateValue(t,a,s):null)||new Date;switch(e){case"prev":case"next":case"minus":case"plus":var n="plus"===e||"next"===e?1:-1;switch(a){case"date":case"datetime":u=_xeUtils.default.getWhatDay(i,n);break;case"week":u=_xeUtils.default.getWhatWeek(i,n,l,l);break;case"month":u=_xeUtils.default.getWhatMonth(i,n);break;case"quarter":u=_xeUtils.default.getWhatQuarter(i,n);break;case"year":u=_xeUtils.default.getWhatYear(i,n)}break;default:u=new Date}return{value:u?_xeUtils.default.toDateString(u,r):""}}exports.parseDateString=parseDateString;let rangeDateOffsetNumMaps={last180:-180,last90:-90,last60:-60,last30:-30,last7:-7,last3:-3,last1:-1};function getRangeDateOffsetNum(e){return rangeDateOffsetNumMaps[e]||0}function getRangeDateByCode(e,t,a,s){var{valueFormat:r,firstDay:l}=s,u=((t=_xeUtils.default.isArray(t)?t.join(""):t)?parseDateValue(t,a,s):null)||new Date;let i=null;t=u;switch(e){case"last1":case"last3":case"last7":case"last30":case"last60":case"last90":case"last180":var n=getRangeDateOffsetNum(e);switch(a){case"date":case"datetime":i=_xeUtils.default.getWhatDay(u,n);break;case"week":i=_xeUtils.default.getWhatWeek(u,n,l,l);break;case"month":i=_xeUtils.default.getWhatMonth(u,n);break;case"quarter":i=_xeUtils.default.getWhatQuarter(u,n);break;case"year":i=_xeUtils.default.getWhatYear(u,n)}break;default:i=new Date}return{startValue:i?_xeUtils.default.toDateString(i,r):"",endValue:t?_xeUtils.default.toDateString(t,r):""}}let checkWeekOfsetYear=(e,t)=>""+e=="1"&&""+t=="12";