vxe-table 3.4.3 → 3.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.
@@ -68,12 +68,20 @@ function getDateQuarter(date) {
68
68
  return 4;
69
69
  }
70
70
 
71
+ function toFloatValueFixed(inputValue, digitsValue) {
72
+ if (/^-/.test('' + inputValue)) {
73
+ return _xeUtils.default.toFixed(_xeUtils.default.ceil(inputValue, digitsValue), digitsValue);
74
+ }
75
+
76
+ return _xeUtils.default.toFixed(_xeUtils.default.floor(inputValue, digitsValue), digitsValue);
77
+ }
78
+
71
79
  function getNumberValue(_vm, val) {
72
80
  var type = _vm.type,
73
81
  exponential = _vm.exponential,
74
82
  digitsValue = _vm.digitsValue,
75
83
  inpMaxlength = _vm.inpMaxlength;
76
- var restVal = type === 'float' ? _xeUtils.default.toFixed(_xeUtils.default.floor(val, digitsValue), digitsValue) : _xeUtils.default.toValueString(val);
84
+ var restVal = type === 'float' ? toFloatValueFixed(val, digitsValue) : _xeUtils.default.toValueString(val);
77
85
 
78
86
  if (exponential && (val === restVal || _xeUtils.default.toValueString(val).toLowerCase() === _xeUtils.default.toNumber(restVal).toExponential())) {
79
87
  return val;
@@ -1535,7 +1543,7 @@ var _default2 = {
1535
1543
  this.changeValue();
1536
1544
  } else if (type === 'float') {
1537
1545
  if (inputValue) {
1538
- var validValue = _xeUtils.default.toFixed(_xeUtils.default.floor(inputValue, digitsValue), digitsValue);
1546
+ var validValue = toFloatValueFixed(inputValue, digitsValue);
1539
1547
 
1540
1548
  if (inputValue !== validValue) {
1541
1549
  this.emitModel(validValue, {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_size=_interopRequireDefault(require("../../mixins/size")),_tools=require("../../tools");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function ownKeys(t,e){var i,a=Object.keys(t);return Object.getOwnPropertySymbols&&(i=Object.getOwnPropertySymbols(t),e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),a.push.apply(a,i)),a}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(i),!0).forEach(function(e){_defineProperty(t,e,i[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):ownKeys(Object(i)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))})}return t}function _defineProperty(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var yearSize=20,monthSize=20,quarterSize=8;function toStringTimeDate(e){if(e){var t,i,a,n=new Date;return _xeUtils.default.isDate(e)?(t=e.getHours(),i=e.getMinutes(),a=e.getSeconds()):(e=(e=_xeUtils.default.toValueString(e)).match(/^(\d{1,2})(:(\d{1,2}))?(:(\d{1,2}))?/))&&(t=e[1],i=e[3],a=e[5]),n.setHours(t||0),n.setMinutes(i||0),n.setSeconds(a||0),n}return new Date("")}function getDateQuarter(e){e=e.getMonth();return e<3?1:e<6?2:e<9?3:4}function getNumberValue(e,t){var i=e.type,a=e.exponential,n=e.digitsValue,e=e.inpMaxlength,n="float"===i?_xeUtils.default.toFixed(_xeUtils.default.floor(t,n),n):_xeUtils.default.toValueString(t);return!a||t!==n&&_xeUtils.default.toValueString(t).toLowerCase()!==_xeUtils.default.toNumber(n).toExponential()?n.slice(0,e):t}function renderDateLabel(t,e,i,a){var n=e.festivalMethod;if(n){n=n(_objectSpread({$input:e,type:e.datePanelType,viewType:e.datePanelType},i)),e=n?_xeUtils.default.isString(n)?{label:n}:n:{},i=e.extra?_xeUtils.default.isString(e.extra)?{label:e.extra}:e.extra:null,n=[t("span",{class:["vxe-input--date-label",{"is-notice":e.notice}]},i&&i.label?[t("span",a),t("span",{class:["vxe-input--date-label--extra",i.important?"is-important":"",i.className],style:i.style},_xeUtils.default.toValueString(i.label))]:a)],i=e.label;return i&&(i=_xeUtils.default.toValueString(i).split(","),n.push(t("span",{class:["vxe-input--date-festival",e.important?"is-important":"",e.className],style:e.style},[1<i.length?t("span",{class:["vxe-input--date-festival--overlap","overlap--".concat(i.length)]},i.map(function(e){return t("span",e.substring(0,3))})):t("span",{class:"vxe-input--date-festival--label"},i[0].substring(0,3))]))),n}return a}function isDateDisabled(e,t){var i=e.disabledMethod;return i&&i({$input:e,type:e.datePanelType,viewType:e.datePanelType,date:t.date})}function renderDateDayTable(t,i){var e=i.datePanelType,a=i.dateValue,n=i.datePanelValue,s=i.dateHeaders,r=i.dayDatas,l="yyyy-MM-dd";return[t("table",{class:"vxe-input--date-".concat(e,"-view"),attrs:{cellspacing:0,cellpadding:0,border:0}},[t("thead",[t("tr",s.map(function(e){return t("th",e.label)}))]),t("tbody",r.map(function(e){return t("tr",e.map(function(e){return t("td",{class:{"is--prev":e.isPrev,"is--current":e.isCurrent,"is--now":e.isNow,"is--next":e.isNext,"is--disabled":isDateDisabled(i,e),"is--selected":_xeUtils.default.isDateSame(a,e.date,l),"is--hover":_xeUtils.default.isDateSame(n,e.date,l)},on:{click:function(){return i.dateSelectEvent(e)},mouseenter:function(){return i.dateMouseenterEvent(e)}}},renderDateLabel(t,i,e,e.label))}))}))])]}function renderDateWeekTable(a,n){var e=n.datePanelType,s=n.dateValue,r=n.datePanelValue,t=n.weekHeaders,i=n.weekDates,l="yyyyMMdd";return[a("table",{class:"vxe-input--date-".concat(e,"-view"),attrs:{cellspacing:0,cellpadding:0,border:0}},[a("thead",[a("tr",t.map(function(e){return a("th",e.label)}))]),a("tbody",i.map(function(e){var t=e.some(function(e){return _xeUtils.default.isDateSame(s,e.date,l)}),i=e.some(function(e){return _xeUtils.default.isDateSame(r,e.date,l)});return a("tr",e.map(function(e){return a("td",{class:{"is--prev":e.isPrev,"is--current":e.isCurrent,"is--now":e.isNow,"is--next":e.isNext,"is--disabled":isDateDisabled(n,e),"is--selected":t,"is--hover":i},on:{click:function(){return n.dateSelectEvent(e)},mouseenter:function(){return n.dateMouseenterEvent(e)}}},renderDateLabel(a,n,e,e.label))}))}))])]}function renderDateMonthTable(t,i){var a=i.dateValue,e=i.datePanelType,n=i.monthDatas,s=i.datePanelValue;return[t("table",{class:"vxe-input--date-".concat(e,"-view"),attrs:{cellspacing:0,cellpadding:0,border:0}},[t("tbody",n.map(function(e){return t("tr",e.map(function(e){return t("td",{class:{"is--prev":e.isPrev,"is--current":e.isCurrent,"is--now":e.isNow,"is--next":e.isNext,"is--disabled":isDateDisabled(i,e),"is--selected":_xeUtils.default.isDateSame(a,e.date,"yyyyMM"),"is--hover":_xeUtils.default.isDateSame(s,e.date,"yyyyMM")},on:{click:function(){return i.dateSelectEvent(e)},mouseenter:function(){return i.dateMouseenterEvent(e)}}},renderDateLabel(t,i,e,_conf.default.i18n("vxe.input.date.months.m".concat(e.month))))}))}))])]}function renderDateQuarterTable(t,i){var a=i.dateValue,e=i.datePanelType,n=i.quarterDatas,s=i.datePanelValue;return[t("table",{class:"vxe-input--date-".concat(e,"-view"),attrs:{cellspacing:0,cellpadding:0,border:0}},[t("tbody",n.map(function(e){return t("tr",e.map(function(e){return t("td",{class:{"is--prev":e.isPrev,"is--current":e.isCurrent,"is--now":e.isNow,"is--next":e.isNext,"is--disabled":isDateDisabled(i,e),"is--selected":_xeUtils.default.isDateSame(a,e.date,"yyyyq"),"is--hover":_xeUtils.default.isDateSame(s,e.date,"yyyyq")},on:{click:function(){return i.dateSelectEvent(e)},mouseenter:function(){return i.dateMouseenterEvent(e)}}},renderDateLabel(t,i,e,_conf.default.i18n("vxe.input.date.quarters.q".concat(e.quarter))))}))}))])]}function renderDateYearTable(t,i){var a=i.dateValue,e=i.datePanelType,n=i.yearDatas,s=i.datePanelValue;return[t("table",{class:"vxe-input--date-".concat(e,"-view"),attrs:{cellspacing:0,cellpadding:0,border:0}},[t("tbody",n.map(function(e){return t("tr",e.map(function(e){return t("td",{class:{"is--disabled":isDateDisabled(i,e),"is--current":e.isCurrent,"is--now":e.isNow,"is--selected":_xeUtils.default.isDateSame(a,e.date,"yyyy"),"is--hover":_xeUtils.default.isDateSame(s,e.date,"yyyy")},on:{click:function(){return i.dateSelectEvent(e)},mouseenter:function(){return i.dateMouseenterEvent(e)}}},renderDateLabel(t,i,e,e.year))}))}))])]}function renderDateTable(e,t){switch(t.datePanelType){case"week":return renderDateWeekTable(e,t);case"month":return renderDateMonthTable(e,t);case"quarter":return renderDateQuarterTable(e,t);case"year":return renderDateYearTable(e,t)}return renderDateDayTable(e,t)}function renderDatePanel(e,t){var i=t.datePanelType,a=t.selectDatePanelLabel,n=t.isDisabledPrevDateBtn,s=t.isDisabledNextDateBtn;return[e("div",{class:"vxe-input--date-picker-header"},[e("div",{class:"vxe-input--date-picker-type-wrapper"},[e("span","year"===i?{class:"vxe-input--date-picker-label"}:{class:"vxe-input--date-picker-btn",on:{click:t.dateToggleTypeEvent}},a)]),e("div",{class:"vxe-input--date-picker-btn-wrapper"},[e("span",{class:["vxe-input--date-picker-btn vxe-input--date-picker-prev-btn",{"is--disabled":n}],on:{click:t.datePrevEvent}},[e("i",{class:"vxe-icon--caret-left"})]),e("span",{class:"vxe-input--date-picker-btn vxe-input--date-picker-current-btn",on:{click:t.dateTodayMonthEvent}},[e("i",{class:"vxe-icon--dot"})]),e("span",{class:["vxe-input--date-picker-btn vxe-input--date-picker-next-btn",{"is--disabled":s}],on:{click:t.dateNextEvent}},[e("i",{class:"vxe-icon--caret-right"})])])]),e("div",{class:"vxe-input--date-picker-body"},renderDateTable(e,t))]}function renderTimePanel(i,a){var e=a.dateTimeLabel,n=a.datetimePanelValue,t=a.hourList,s=a.minuteList,r=a.secondList;return[i("div",{class:"vxe-input--time-picker-header"},[i("span",{class:"vxe-input--time-picker-title"},e),i("button",{class:"vxe-input--time-picker-confirm",attrs:{type:"button"},on:{click:a.dateConfirmEvent}},_conf.default.i18n("vxe.button.confirm"))]),i("div",{ref:"timeBody",class:"vxe-input--time-picker-body"},[i("ul",{class:"vxe-input--time-picker-hour-list"},t.map(function(t,e){return i("li",{key:e,class:{"is--selected":n&&n.getHours()===t.value},on:{click:function(e){return a.dateHourEvent(e,t)}}},t.label)})),i("ul",{class:"vxe-input--time-picker-minute-list"},s.map(function(t,e){return i("li",{key:e,class:{"is--selected":n&&n.getMinutes()===t.value},on:{click:function(e){return a.dateMinuteEvent(e,t)}}},t.label)})),i("ul",{class:"vxe-input--time-picker-second-list"},r.map(function(t,e){return i("li",{key:e,class:{"is--selected":n&&n.getSeconds()===t.value},on:{click:function(e){return a.dateSecondEvent(e,t)}}},t.label)}))])]}function renderPanel(e,t){var i=t.type,a=t.vSize,n=t.isDatePickerType,s=t.transfer,r=t.animatVisible,l=t.visiblePanel,u=t.panelPlacement,o=t.panelStyle,d=[];return n?("datetime"===i?d.push(e("div",{class:"vxe-input--panel-layout-wrapper"},[e("div",{class:"vxe-input--panel-left-wrapper"},renderDatePanel(e,t)),e("div",{class:"vxe-input--panel-right-wrapper"},renderTimePanel(e,t))])):"time"===i?d.push(e("div",{class:"vxe-input--panel-wrapper"},renderTimePanel(e,t))):d.push(e("div",{class:"vxe-input--panel-wrapper"},renderDatePanel(e,t))),e("div",{ref:"panel",class:["vxe-table--ignore-clear vxe-input--panel","type--".concat(i),(_defineProperty(i={},"size--".concat(a),a),_defineProperty(i,"is--transfer",s),_defineProperty(i,"animat--leave",r),_defineProperty(i,"animat--enter",l),i)],attrs:{placement:u},style:o},d)):null}function renderNumberIcon(e,t){return e("span",{class:"vxe-input--number-suffix"},[e("span",{class:"vxe-input--number-prev is--prev",on:{mousedown:t.numberMousedownEvent,mouseup:t.numberStopDown,mouseleave:t.numberStopDown}},[e("i",{class:["vxe-input--number-prev-icon",_conf.default.icon.INPUT_PREV_NUM]})]),e("span",{class:"vxe-input--number-next is--next",on:{mousedown:t.numberMousedownEvent,mouseup:t.numberStopDown,mouseleave:t.numberStopDown}},[e("i",{class:["vxe-input--number-next-icon",_conf.default.icon.INPUT_NEXT_NUM]})])])}function renderDatePickerIcon(e,t){return e("span",{class:"vxe-input--date-picker-suffix",on:{click:t.datePickerOpenEvent}},[e("i",{class:["vxe-input--date-picker-icon",_conf.default.icon.INPUT_DATE]})])}function renderSearchIcon(e,t){return e("span",{class:"vxe-input--search-suffix",on:{click:t.searchEvent}},[e("i",{class:["vxe-input--search-icon",_conf.default.icon.INPUT_SEARCH]})])}function renderPasswordIcon(e,t){var i=t.showPwd;return e("span",{class:"vxe-input--password-suffix",on:{click:t.passwordToggleEvent}},[e("i",{class:["vxe-input--password-icon",i?_conf.default.icon.INPUT_SHOW_PWD:_conf.default.icon.INPUT_PWD]})])}function rendePrefixIcon(e,t){var i=t.$scopedSlots,a=t.prefixIcon,n=[];return i.prefix?n.push(e("span",{class:"vxe-input--prefix-icon"},i.prefix.call(this,{},e))):a&&n.push(e("i",{class:["vxe-input--prefix-icon",a]})),n.length?e("span",{class:"vxe-input--prefix",on:{click:t.clickPrefixEvent}},n):null}function renderSuffixIcon(e,t){var i=t.$scopedSlots,a=t.inputValue,n=t.isClearable,s=t.disabled,r=t.suffixIcon,l=[];return i.suffix?l.push(e("span",{class:"vxe-input--suffix-icon"},i.suffix.call(this,{},e))):r&&l.push(e("i",{class:["vxe-input--suffix-icon",r]})),n&&l.push(e("i",{class:["vxe-input--clear-icon",_conf.default.icon.INPUT_CLEAR]})),l.length?e("span",{class:["vxe-input--suffix",{"is--clear":n&&!s&&!(""===a||_xeUtils.default.eqNull(a))}],on:{click:t.clickSuffixEvent}},l):null}function renderExtraSuffixIcon(e,t){var i,a=t.controls,n=t.isPawdType,s=t.isNumType,r=t.isDatePickerType,l=t.isSearch;return n?i=renderPasswordIcon(e,t):s?a&&(i=renderNumberIcon(e,t)):r?i=renderDatePickerIcon(e,t):l&&(i=renderSearchIcon(e,t)),i?e("span",{class:"vxe-input--extra-suffix"},[i]):null}var _default2={name:"VxeInput",mixins:[_size.default],model:{prop:"value",event:"modelValue"},props:{value:[String,Number,Date],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"text"},clearable:{type:Boolean,default:function(){return _conf.default.input.clearable}},readonly:Boolean,disabled:Boolean,placeholder:String,maxlength:[String,Number],autocomplete:{type:String,default:"off"},align:String,form:String,className:String,size:{type:String,default:function(){return _conf.default.input.size||_conf.default.size}},min:{type:[String,Number],default:null},max:{type:[String,Number],default:null},step:[String,Number],exponential:{type:Boolean,default:function(){return _conf.default.input.exponential}},controls:{type:Boolean,default:function(){return _conf.default.input.controls}},digits:{type:[String,Number],default:function(){return _conf.default.input.digits}},dateConfig:Object,minDate:{type:[String,Number,Date],default:function(){return _conf.default.input.minDate}},maxDate:{type:[String,Number,Date],default:function(){return _conf.default.input.maxDate}},startWeek:Number,startDay:{type:[String,Number],default:function(){return _conf.default.input.startDay}},labelFormat:{type:String,default:function(){return _conf.default.input.labelFormat}},valueFormat:{type:String,default:function(){return _conf.default.input.valueFormat}},editable:{type:Boolean,default:!0},festivalMethod:{type:Function,default:function(){return _conf.default.input.festivalMethod}},disabledMethod:{type:Function,default:function(){return _conf.default.input.disabledMethod}},selectDay:{type:Number,default:function(){return _conf.default.input.selectDay}},prefixIcon:String,suffixIcon:String,placement:String,transfer:{type:Boolean,default:function(){return _conf.default.input.transfer}}},data:function(){return{panelIndex:0,showPwd:!1,visiblePanel:!1,animatVisible:!1,panelStyle:null,panelPlacement:null,isActivated:!1,inputValue:this.value,datetimePanelValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}},computed:{isNumType:function(){return-1<["number","integer","float"].indexOf(this.type)},isDatePickerType:function(){return this.hasTime||-1<["date","week","month","quarter","year"].indexOf(this.type)},hasTime:function(){var e=this.type;return"time"===e||"datetime"===e},isPawdType:function(){return"password"===this.type},isSearch:function(){return"search"===this.type},stepValue:function(){var e=this.type,t=this.step;return"integer"===e?_xeUtils.default.toInteger(t)||1:"float"===e?_xeUtils.default.toNumber(t)||1/Math.pow(10,this.digitsValue):_xeUtils.default.toNumber(t)||1},digitsValue:function(){return _xeUtils.default.toInteger(this.digits)||1},isClearable:function(){return this.clearable&&(this.isPawdType||this.isNumType||this.isDatePickerType||"text"===this.type||"search"===this.type)},isDisabledPrevDateBtn:function(){var e=this.selectMonth,t=this.dateMinTime;return!!e&&e<=t},isDisabledNextDateBtn:function(){var e=this.selectMonth,t=this.dateMaxTime;return!!e&&t<=e},dateMinTime:function(){return this.minDate?_xeUtils.default.toStringDate(this.minDate):null},dateMaxTime:function(){return this.maxDate?_xeUtils.default.toStringDate(this.maxDate):null},dateValue:function(){var e=this.value,t=this.isDatePickerType,i=this.type,a=this.dateValueFormat,n=null;return e&&t&&(a="time"===i?toStringTimeDate(e):_xeUtils.default.toStringDate(e,a),_xeUtils.default.isValidDate(a)&&(n=a)),n},dateTimeLabel:function(){var e=this.datetimePanelValue;return e?_xeUtils.default.toDateString(e,"HH:mm:ss"):""},hmsTime:function(){var e=this.dateValue;return e&&this.hasTime?1e3*(3600*e.getHours()+60*e.getMinutes()+e.getSeconds()):0},dateLabelFormat:function(){return this.isDatePickerType?this.labelFormat||_conf.default.i18n("vxe.input.date.labelFormat.".concat(this.type)):null},dateValueFormat:function(){var e=this.type;return"time"===e?"HH:mm:ss":this.valueFormat||("datetime"===e?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd")},selectDatePanelLabel:function(){if(this.isDatePickerType){var e,t=this.datePanelType,i=this.selectMonth,a=this.yearList,n="";return i&&(n=i.getFullYear(),e=i.getMonth()+1),"quarter"===t?_conf.default.i18n("vxe.input.date.quarterLabel",[n]):"month"===t?_conf.default.i18n("vxe.input.date.monthLabel",[n]):"year"===t?a.length?"".concat(a[0].year," - ").concat(a[a.length-1].year):"":_conf.default.i18n("vxe.input.date.dayLabel",[n,e?_conf.default.i18n("vxe.input.date.m".concat(e)):"-"])}return""},weekDatas:function(){var e=[];if(this.isDatePickerType){var t=this.startDay,i=this.startWeek,a=_xeUtils.default.toNumber(_xeUtils.default.isNumber(t)||_xeUtils.default.isString(t)?t:i);e.push(a);for(var n=0;n<6;n++)6<=a?a=0:a++,e.push(a)}return e},dateHeaders:function(){return this.isDatePickerType?this.weekDatas.map(function(e){return{value:e,label:_conf.default.i18n("vxe.input.date.weeks.w".concat(e))}}):[]},weekHeaders:function(){return this.isDatePickerType?[{label:_conf.default.i18n("vxe.input.date.weeks.w")}].concat(this.dateHeaders):[]},yearList:function(){var e=this.selectMonth,t=this.currentDate,i=[];if(e&&t)for(var a=t.getFullYear(),n=new Date((""+e.getFullYear()).replace(/\d{1}$/,"0"),0,1),s=-10;s<yearSize-10;s++){var r=_xeUtils.default.getWhatYear(n,s,"first"),l=r.getFullYear();i.push({date:r,isCurrent:!0,isNow:a===l,year:l})}return i},yearDatas:function(){return _xeUtils.default.chunk(this.yearList,4)},quarterList:function(){var e=this.selectMonth,t=this.currentDate,i=[];if(e&&t)for(var a=t.getFullYear(),n=getDateQuarter(t),s=_xeUtils.default.getWhatYear(e,0,"first"),r=s.getFullYear(),l=-2;l<quarterSize-2;l++){var u=_xeUtils.default.getWhatQuarter(s,l),o=u.getFullYear(),d=getDateQuarter(u),h=o<r;i.push({date:u,isPrev:h,isCurrent:o===r,isNow:o===a&&d===n,isNext:!h&&r<o,quarter:d})}return i},quarterDatas:function(){return _xeUtils.default.chunk(this.quarterList,2)},monthList:function(){var e=this.selectMonth,t=this.currentDate,i=[];if(e&&t)for(var a=t.getFullYear(),n=t.getMonth(),s=_xeUtils.default.getWhatYear(e,0,"first").getFullYear(),r=-4;r<monthSize-4;r++){var l=_xeUtils.default.getWhatYear(e,0,r),u=l.getFullYear(),o=l.getMonth(),d=u<s;i.push({date:l,isPrev:d,isCurrent:u===s,isNow:u===a&&o===n,isNext:!d&&s<u,month:o})}return i},monthDatas:function(){return _xeUtils.default.chunk(this.monthList,4)},dayList:function(){var e=this.weekDatas,t=this.selectMonth,i=this.currentDate,a=this.hmsTime,n=[];if(t&&i)for(var s=i.getFullYear(),r=i.getMonth(),l=i.getDate(),u=t.getFullYear(),o=t.getMonth(),i=t.getDay(),i=-e.indexOf(i),d=new Date(_xeUtils.default.getWhatDay(t,i).getTime()+a),h=0;h<42;h++){var c=_xeUtils.default.getWhatDay(d,h),f=c.getFullYear(),p=c.getMonth(),v=c.getDate(),m=c<t;n.push({date:c,isPrev:m,isCurrent:f===u&&p===o,isNow:f===s&&p===r&&v===l,isNext:!m&&o!==p,label:v})}return n},dayDatas:function(){return _xeUtils.default.chunk(this.dayList,7)},weekDates:function(){return this.dayDatas.map(function(e){var t=e[0];return[{date:t.date,isWeekNumber:!0,isPrev:!1,isCurrent:!1,isNow:!1,isNext:!1,label:_xeUtils.default.getYearWeek(t.date)}].concat(e)})},hourList:function(){var e=[];if(this.hasTime)for(var t=0;t<24;t++)e.push({value:t,label:(""+t).padStart(2,0)});return e},minuteList:function(){var e=[];if(this.hasTime)for(var t=0;t<60;t++)e.push({value:t,label:(""+t).padStart(2,0)});return e},secondList:function(){return this.minuteList},inpImmediate:function(){var e=this.type;return this.immediate||!("text"===e||"number"===e||"integer"===e||"float"===e)},inpPlaceholder:function(){var e=this.placeholder;return e?_tools.UtilTools.getFuncText(e):""},inputType:function(){var e=this.isDatePickerType,t=this.isNumType,i=this.isPawdType,a=this.type,n=this.showPwd;return e||t||i&&n||"number"===a?"text":a},inpMaxlength:function(){var e=this.isNumType,t=this.maxlength;return e&&!_xeUtils.default.toNumber(t)?16:t},inpReadonly:function(){var e=this.type,t=this.readonly,i=this.editable;return t||!i||"week"===e||"quarter"===e}},watch:{value:function(e){this.inputValue=e,this.changeValue()},dateLabelFormat:function(){this.dateParseValue(this.datePanelValue),this.inputValue=this.datePanelLabel}},created:function(){this.initValue(),_tools.GlobalEvent.on(this,"mousewheel",this.handleGlobalMousewheelEvent),_tools.GlobalEvent.on(this,"mousedown",this.handleGlobalMousedownEvent),_tools.GlobalEvent.on(this,"keydown",this.handleGlobalKeydownEvent),_tools.GlobalEvent.on(this,"blur",this.handleGlobalBlurEvent)},mounted:function(){this.dateConfig&&_tools.UtilTools.warn("vxe.error.removeProp",["date-config"]),this.isDatePickerType&&this.transfer&&document.body.appendChild(this.$refs.panel)},beforeDestroy:function(){var e=this.$refs.panel;e&&e.parentNode&&e.parentNode.removeChild(e)},destroyed:function(){this.numberStopDown(),_tools.GlobalEvent.off(this,"mousewheel"),_tools.GlobalEvent.off(this,"mousedown"),_tools.GlobalEvent.off(this,"keydown"),_tools.GlobalEvent.off(this,"blur")},render:function(e){var t=this.name,i=this.form,a=this.inputType,n=this.inpPlaceholder,s=this.inpMaxlength,r=this.inpReadonly,l=this.className,u=this.controls,o=this.inputValue,d=this.isDatePickerType,h=this.visiblePanel,c=this.isActivated,f=this.vSize,p=this.type,v=this.align,m=this.readonly,y=this.disabled,x=this.autocomplete,b=[],g=rendePrefixIcon(e,this),D=renderSuffixIcon(e,this);return g&&b.push(g),b.push(e("input",{ref:"input",class:"vxe-input--inner",domProps:{value:o},attrs:{name:t,form:i,type:a,placeholder:n,maxlength:s,readonly:r,disabled:y,autocomplete:x},on:{keydown:this.keydownEvent,keyup:this.triggerEvent,wheel:this.wheelEvent,click:this.clickEvent,input:this.inputEvent,change:this.changeEvent,focus:this.focusEvent,blur:this.blurEvent}})),D&&b.push(D),b.push(renderExtraSuffixIcon(e,this)),d&&b.push(renderPanel(e,this)),e("div",{class:["vxe-input","type--".concat(p),l,(_defineProperty(l={},"size--".concat(f),f),_defineProperty(l,"is--".concat(v),v),_defineProperty(l,"is--controls",u),_defineProperty(l,"is--prefix",!!g),_defineProperty(l,"is--suffix",!!D),_defineProperty(l,"is--readonly",m),_defineProperty(l,"is--visivle",h),_defineProperty(l,"is--disabled",y),_defineProperty(l,"is--active",c),l)]},b)},methods:{focus:function(){return this.isActivated=!0,this.$refs.input.focus(),this.$nextTick()},blur:function(){return this.$refs.input.blur(),this.isActivated=!1,this.$nextTick()},triggerEvent:function(e){var t=this.$refs,i=this.inputValue;this.$emit(e.type,{$panel:t.panel,value:i,$event:e})},emitModel:function(e,t){this.inputValue=e,this.$emit("modelValue",e),this.$emit("input",{value:e,$event:t}),_xeUtils.default.toValueString(this.value)!==e&&this.$emit("change",{value:e,$event:t})},emitInputEvent:function(e,t){var i=this.inpImmediate,a=this.isDatePickerType;this.inputValue=e,a||(i?this.emitModel(e,t):this.$emit("input",{value:e,$event:t}))},inputEvent:function(e){var t=e.target.value;this.emitInputEvent(t,e)},changeEvent:function(e){this.inpImmediate||this.triggerEvent(e)},focusEvent:function(e){this.isActivated=!0,this.triggerEvent(e)},blurEvent:function(e){var t=this.inputValue;this.inpImmediate||this.emitModel(t,e),this.afterCheckValue(),this.visiblePanel||(this.isActivated=!1),this.$emit("blur",{value:t,$event:e})},keydownEvent:function(e){var t,i,a,n,s=this.exponential,r=this.controls;this.isNumType&&(t=e.ctrlKey,i=e.shiftKey,a=e.altKey,n=e.keyCode,t||i||a||!(32===n||(!s||69!==n)&&65<=n&&n<=90||186<=n&&n<=188||191<=n)||e.preventDefault(),r&&this.numberKeydownEvent(e)),this.triggerEvent(e)},wheelEvent:function(e){var t;this.isNumType&&this.controls&&this.isActivated&&(0<(t=e.deltaY)?this.numberNextEvent(e):t<0&&this.numberPrevEvent(e),e.preventDefault()),this.triggerEvent(e)},clickEvent:function(e){this.isDatePickerType&&this.datePickerOpenEvent(e),this.triggerEvent(e)},clickPrefixEvent:function(e){var t=this.$refs,i=this.disabled,a=this.inputValue;i||this.$emit("prefix-click",{$panel:t.panel,value:a,$event:e})},clickSuffixEvent:function(e){var t=this.$refs,i=this.disabled,a=this.inputValue;i||(_tools.DomTools.hasClass(e.currentTarget,"is--clear")?(this.emitModel("",e),this.clearValueEvent(e,"")):this.$emit("suffix-click",{$panel:t.panel,value:a,$event:e}))},clearValueEvent:function(e,t){var i=this.$refs,a=this.type,n=this.isNumType;this.isDatePickerType&&this.hidePanel(),(n||-1<["text","search","password"].indexOf(a))&&this.focus(),this.$emit("clear",{$panel:i.panel,value:t,$event:e})},initValue:function(){var e=this.type,t=this.isDatePickerType,i=this.inputValue,a=this.digitsValue;t?this.changeValue():"float"===e&&(!i||i!==(a=_xeUtils.default.toFixed(_xeUtils.default.floor(i,a),a))&&this.emitModel(a,{type:"init"}))},changeValue:function(){this.isDatePickerType&&(this.dateParseValue(this.inputValue),this.inputValue=this.datePanelLabel)},afterCheckValue:function(){var e,t=this.type,i=this.exponential,a=this.inpReadonly,n=this.inputValue,s=this.isDatePickerType,r=this.isNumType,l=this.datetimePanelValue,u=this.dateLabelFormat,o=this.min,d=this.max;a||(r?n&&(e="integer"===t?_xeUtils.default.toInteger(n):_xeUtils.default.toNumber(n),this.vaildMinNum(e)?this.vaildMaxNum(e)||(e=d):e=o,!i||(i=_xeUtils.default.toValueString(n).toLowerCase())===_xeUtils.default.toNumber(e).toExponential()&&(e=i),this.emitModel(getNumberValue(this,e),{type:"check"})):s&&(n?"week"===t||"quarter"===t||(e="time"===t?toStringTimeDate(n):_xeUtils.default.toStringDate(n,u),_xeUtils.default.isValidDate(e)?"time"===t?(n!==(e=toStringTimeDate(e))&&this.emitModel(e,{type:"check"}),this.inputValue=e):(s=!1,"datetime"===t?n===_xeUtils.default.toDateString(this.dateValue,u)&&n===_xeUtils.default.toDateString(e,u)||(s=!0,l.setHours(e.getHours()),l.setMinutes(e.getMinutes()),l.setSeconds(e.getSeconds())):s=!0,this.inputValue=_xeUtils.default.toDateString(e,u),s&&this.dateChange(e)):this.dateRevert()):this.emitModel("",{type:"check"})))},passwordToggleEvent:function(e){var t=this.disabled,i=this.readonly,a=this.showPwd;t||i||(this.showPwd=!a),this.$emit("toggle-visible",{visible:this.showPwd,$event:e})},searchEvent:function(e){this.$emit("search-click",{$event:e})},vaildMinNum:function(e){return null===this.min||e>=_xeUtils.default.toNumber(this.min)},vaildMaxNum:function(e){return null===this.max||e<=_xeUtils.default.toNumber(this.max)},numberStopDown:function(){clearTimeout(this.downbumTimeout)},numberDownPrevEvent:function(e){var t=this;this.downbumTimeout=setTimeout(function(){t.numberPrevEvent(e),t.numberDownPrevEvent(e)},60)},numberDownNextEvent:function(e){var t=this;this.downbumTimeout=setTimeout(function(){t.numberNextEvent(e),t.numberDownNextEvent(e)},60)},numberKeydownEvent:function(e){var t=e.keyCode,i=38===t;!i&&40!==t||(e.preventDefault(),i?this.numberPrevEvent(e):this.numberNextEvent(e))},numberMousedownEvent:function(e){var t,i=this;this.numberStopDown(),0===e.button&&((t=_tools.DomTools.hasClass(e.currentTarget,"is--prev"))?this.numberPrevEvent(e):this.numberNextEvent(e),this.downbumTimeout=setTimeout(function(){t?i.numberDownPrevEvent(e):i.numberDownNextEvent(e)},500))},numberPrevEvent:function(e){var t=this.disabled,i=this.readonly;clearTimeout(this.downbumTimeout),t||i||this.numberChange(!0,e),this.$emit("prev-number",{$event:e})},numberNextEvent:function(e){var t=this.disabled,i=this.readonly;clearTimeout(this.downbumTimeout),t||i||this.numberChange(!1,e),this.$emit("next-number",{$event:e})},numberChange:function(e,t){var i=this.min,a=this.max,n=this.type,s=this.inputValue,r=this.stepValue,s="integer"===n?_xeUtils.default.toInteger(s):_xeUtils.default.toNumber(s),r=e?_xeUtils.default.add(s,r):_xeUtils.default.subtract(s,r),i=this.vaildMinNum(r)?this.vaildMaxNum(r)?r:a:i;this.emitInputEvent(getNumberValue(this,i),t)},datePickerOpenEvent:function(e){this.readonly||(e.preventDefault(),this.showPanel())},dateMonthHandle:function(e,t){this.selectMonth=_xeUtils.default.getWhatMonth(e,t,"first")},dateNowHandle:function(){var e=_xeUtils.default.getWhatDay(Date.now(),0,"first");this.currentDate=e,this.dateMonthHandle(e,0)},dateToggleTypeEvent:function(){var e="month"===(e=this.datePanelType)||"quarter"===e?"year":"month";this.datePanelType=e},datePrevEvent:function(e){var t=this.isDisabledPrevDateBtn,i=this.type,a=this.datePanelType;t||(this.selectMonth="year"===i?_xeUtils.default.getWhatYear(this.selectMonth,-yearSize,"first"):"month"===i||"quarter"===i?"year"===a?_xeUtils.default.getWhatYear(this.selectMonth,-yearSize,"first"):_xeUtils.default.getWhatYear(this.selectMonth,-1,"first"):"year"===a?_xeUtils.default.getWhatYear(this.selectMonth,-yearSize,"first"):"month"===a?_xeUtils.default.getWhatYear(this.selectMonth,-1,"first"):_xeUtils.default.getWhatMonth(this.selectMonth,-1,"first"),this.$emit("date-prev",{type:i,$event:e}))},dateTodayMonthEvent:function(e){this.dateNowHandle(),this.dateChange(this.currentDate),this.hidePanel(),this.$emit("date-today",{type:this.type,$event:e})},dateNextEvent:function(e){var t=this.isDisabledNextDateBtn,i=this.type,a=this.datePanelType;t||(this.selectMonth="year"===i?_xeUtils.default.getWhatYear(this.selectMonth,yearSize,"first"):"month"===i||"quarter"===i?"year"===a?_xeUtils.default.getWhatYear(this.selectMonth,yearSize,"first"):_xeUtils.default.getWhatYear(this.selectMonth,1,"first"):"year"===a?_xeUtils.default.getWhatYear(this.selectMonth,yearSize,"first"):"month"===a?_xeUtils.default.getWhatYear(this.selectMonth,1,"first"):_xeUtils.default.getWhatMonth(this.selectMonth,1,"first"),this.$emit("date-next",{type:i,$event:e}))},dateSelectEvent:function(e){isDateDisabled(this,e)||this.dateSelectItem(e.date)},dateSelectItem:function(e){var t=this.type,i=this.datePanelType,a="week"===t;"month"===t?"year"===i?(this.datePanelType="month",this.dateCheckMonth(e)):(this.dateChange(e),this.hidePanel()):"year"===t?(this.hidePanel(),this.dateChange(e)):"quarter"===t?"year"===i?(this.datePanelType="quarter",this.dateCheckMonth(e)):(this.dateChange(e),this.hidePanel()):"month"===i?(this.datePanelType="week"===t?t:"day",this.dateCheckMonth(e)):"year"===i?(this.datePanelType="month",this.dateCheckMonth(e)):(this.dateChange(e),this.hidePanel()),a&&this.changeValue()},dateMouseenterEvent:function(e){var t;isDateDisabled(this,e)||("month"===(t=this.datePanelType)?this.dateMoveMonth(e.date):"quarter"===t?this.dateMoveQuarter(e.date):"year"===t?this.dateMoveYear(e.date):this.dateMoveDay(e.date))},dateHourEvent:function(e,t){this.datetimePanelValue.setHours(t.value),this.dateTimeChangeEvent(e)},dateConfirmEvent:function(){this.dateChange(this.dateValue||this.currentDate),this.hidePanel()},dateMinuteEvent:function(e,t){this.datetimePanelValue.setMinutes(t.value),this.dateTimeChangeEvent(e)},dateSecondEvent:function(e,t){this.datetimePanelValue.setSeconds(t.value),this.dateTimeChangeEvent(e)},dateTimeChangeEvent:function(e){this.datetimePanelValue=new Date(this.datetimePanelValue.getTime()),this.updateTimePos(e.currentTarget)},updateTimePos:function(e){var t;e&&(t=e.offsetHeight,e.parentNode.scrollTop=e.offsetTop-4*t)},dateMoveDay:function(t){isDateDisabled(this,{date:t})||(this.dayList.some(function(e){return _xeUtils.default.isDateSame(e.date,t,"yyyyMMdd")})||this.dateCheckMonth(t),this.dateParseValue(t))},dateMoveMonth:function(t){isDateDisabled(this,{date:t})||(this.monthList.some(function(e){return _xeUtils.default.isDateSame(e.date,t,"yyyyMM")})||this.dateCheckMonth(t),this.dateParseValue(t))},dateMoveQuarter:function(t){isDateDisabled(this,{date:t})||(this.quarterList.some(function(e){return _xeUtils.default.isDateSame(e.date,t,"yyyyq")})||this.dateCheckMonth(t),this.dateParseValue(t))},dateMoveYear:function(t){isDateDisabled(this,{date:t})||(this.yearList.some(function(e){return _xeUtils.default.isDateSame(e.date,t,"yyyy")})||this.dateCheckMonth(t),this.dateParseValue(t))},dateParseValue:function(e){var t=this.type,i=this.dateLabelFormat,a=this.valueFormat,n=null,s="";e&&(n="time"===t?toStringTimeDate(e):_xeUtils.default.toStringDate(e,a)),_xeUtils.default.isValidDate(n)?s=_xeUtils.default.toDateString(n,i):n=null,this.datePanelValue=n,this.datePanelLabel=s},dateOffsetEvent:function(e){var t,i,a,n=this.isActivated,s=this.datePanelValue,r=this.datePanelType;n&&(e.preventDefault(),t=37===(i=e.keyCode),n=38===i,e=39===i,i=40===i,"year"===r?(a=_xeUtils.default.getWhatYear(s||Date.now(),0,"first"),t?a=_xeUtils.default.getWhatYear(a,-1):n?a=_xeUtils.default.getWhatYear(a,-4):e?a=_xeUtils.default.getWhatYear(a,1):i&&(a=_xeUtils.default.getWhatYear(a,4)),this.dateMoveYear(a)):"quarter"===r?(a=_xeUtils.default.getWhatQuarter(s||Date.now(),0,"first"),t?a=_xeUtils.default.getWhatQuarter(a,-1):n?a=_xeUtils.default.getWhatQuarter(a,-2):e?a=_xeUtils.default.getWhatQuarter(a,1):i&&(a=_xeUtils.default.getWhatQuarter(a,2)),this.dateMoveQuarter(a)):"month"===r?(r=_xeUtils.default.getWhatMonth(s||Date.now(),0,"first"),t?r=_xeUtils.default.getWhatMonth(r,-1):n?r=_xeUtils.default.getWhatMonth(r,-4):e?r=_xeUtils.default.getWhatMonth(r,1):i&&(r=_xeUtils.default.getWhatMonth(r,4)),this.dateMoveMonth(r)):(s=s||_xeUtils.default.getWhatDay(Date.now(),0,"first"),t?s=_xeUtils.default.getWhatDay(s,-1):n?s=_xeUtils.default.getWhatWeek(s,-1):e?s=_xeUtils.default.getWhatDay(s,1):i&&(s=_xeUtils.default.getWhatWeek(s,1)),this.dateMoveDay(s)))},datePgOffsetEvent:function(e){var t;this.isActivated&&(t=33===e.keyCode,e.preventDefault(),t?this.datePrevEvent(e):this.dateNextEvent(e))},dateChange:function(e){var t,i=this.value,a=this.datetimePanelValue,n=this.dateValueFormat;"week"===this.type?(t=_xeUtils.default.toNumber(this.selectDay),e=_xeUtils.default.getWhatWeek(e,0,t)):this.hasTime&&(e.setHours(a.getHours()),e.setMinutes(a.getMinutes()),e.setSeconds(a.getSeconds()));n=_xeUtils.default.toDateString(e,n);this.dateCheckMonth(e),_xeUtils.default.isEqual(i,n)||this.emitModel(n,{type:"update"})},dateCheckMonth:function(e){e=_xeUtils.default.getWhatMonth(e,0,"first");_xeUtils.default.isEqual(e,this.selectMonth)||(this.selectMonth=e)},dateOpenPanel:function(){var e=this,t=this.type,i=this.dateValue;-1<["year","quarter","month","week"].indexOf(t)?this.datePanelType=t:this.datePanelType="day",this.currentDate=_xeUtils.default.getWhatDay(Date.now(),0,"first"),i?(this.dateMonthHandle(i,0),this.dateParseValue(i)):this.dateNowHandle(),this.hasTime&&(this.datetimePanelValue=this.datePanelValue||_xeUtils.default.getWhatDay(Date.now(),0,"first"),this.$nextTick(function(){_xeUtils.default.arrayEach(e.$refs.timeBody.querySelectorAll("li.is--selected"),e.updateTimePos)}))},dateRevert:function(){this.inputValue=this.datePanelLabel},updateZindex:function(){this.panelIndex<_tools.UtilTools.getLastZIndex()&&(this.panelIndex=_tools.UtilTools.nextZIndex())},showPanel:function(){var e=this,t=this.disabled,i=this.visiblePanel,a=this.isDatePickerType;t||i||(clearTimeout(this.hidePanelTimeout),this.isActivated=!0,this.animatVisible=!0,a&&this.dateOpenPanel(),setTimeout(function(){e.visiblePanel=!0},10),this.updateZindex(),this.updatePlacement())},hidePanel:function(){var e=this;this.visiblePanel=!1,this.hidePanelTimeout=setTimeout(function(){e.animatVisible=!1},350)},updatePlacement:function(){var c=this;return this.$nextTick().then(function(){var e=c.$refs,t=c.transfer,i=c.placement,a=c.panelIndex,n=e.input,s=e.panel;if(n&&s){var r=n.offsetHeight,l=n.offsetWidth,u=s.offsetHeight,o=s.offsetWidth,d={zIndex:a},h=_tools.DomTools.getAbsolutePos(n),e=h.boundingTop,s=h.boundingLeft,a=h.visibleHeight,n=h.visibleWidth,h="bottom";return t?(t=e+r,"top"===i?(h="top",t=e-u):i||(a<t+u+5&&(h="top",t=e-u),t<5&&(h="bottom",t=e+r)),n<(s=s)+o+5&&(s-=s+o+5-n),s<5&&(s=5),Object.assign(d,{left:"".concat(s,"px"),top:"".concat(t,"px"),minWidth:"".concat(l,"px")})):"top"===i?(h="top",d.bottom="".concat(r,"px")):i||a<e+r+u&&5<e-r-u&&(h="top",d.bottom="".concat(r,"px")),c.panelStyle=d,c.panelPlacement=h,c.$nextTick()}})},handleGlobalMousedownEvent:function(e){var t=this.$refs,i=this.$el,a=this.disabled,n=this.visiblePanel,s=this.isActivated;!a&&s&&(this.isActivated=_tools.DomTools.getEventTargetNode(e,i).flag||_tools.DomTools.getEventTargetNode(e,t.panel).flag,this.isActivated||(this.isDatePickerType?n&&(this.hidePanel(),this.afterCheckValue()):this.afterCheckValue()))},handleGlobalKeydownEvent:function(e){var t,i,a,n,s,r,l,u,o,d,h=this.isDatePickerType,c=this.visiblePanel,f=this.clearable;this.disabled||(i=46===(t=e.keyCode),a=27===t,n=13===t,s=38===t,r=40===t,l=33===t,u=34===t,o=37===t||s||39===t||r,d=this.isActivated,(t=9===t)?(d&&this.afterCheckValue(),this.isActivated=d=!1):o?h&&d&&(c?this.dateOffsetEvent(e):(s||r)&&this.datePickerOpenEvent(e)):n?h&&(c?this.datePanelValue?this.dateSelectItem(this.datePanelValue):this.hidePanel():d&&this.datePickerOpenEvent(e)):(l||u)&&h&&d&&this.datePgOffsetEvent(e),t||a?c&&this.hidePanel():i&&f&&d&&this.clearValueEvent(e,null))},handleGlobalMousewheelEvent:function(e){var t=this.$refs,i=this.disabled,a=this.visiblePanel;i||a&&(_tools.DomTools.getEventTargetNode(e,t.panel).flag?this.updatePlacement():(this.hidePanel(),this.afterCheckValue()))},handleGlobalBlurEvent:function(){var e=this.isActivated;this.visiblePanel?(this.hidePanel(),this.afterCheckValue()):e&&this.afterCheckValue()}}};exports.default=_default2;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_size=_interopRequireDefault(require("../../mixins/size")),_tools=require("../../tools");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function ownKeys(t,e){var i,a=Object.keys(t);return Object.getOwnPropertySymbols&&(i=Object.getOwnPropertySymbols(t),e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),a.push.apply(a,i)),a}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(i),!0).forEach(function(e){_defineProperty(t,e,i[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):ownKeys(Object(i)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))})}return t}function _defineProperty(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var yearSize=20,monthSize=20,quarterSize=8;function toStringTimeDate(e){if(e){var t,i,a,n=new Date;return _xeUtils.default.isDate(e)?(t=e.getHours(),i=e.getMinutes(),a=e.getSeconds()):(e=(e=_xeUtils.default.toValueString(e)).match(/^(\d{1,2})(:(\d{1,2}))?(:(\d{1,2}))?/))&&(t=e[1],i=e[3],a=e[5]),n.setHours(t||0),n.setMinutes(i||0),n.setSeconds(a||0),n}return new Date("")}function getDateQuarter(e){e=e.getMonth();return e<3?1:e<6?2:e<9?3:4}function toFloatValueFixed(e,t){return/^-/.test(""+e)?_xeUtils.default.toFixed(_xeUtils.default.ceil(e,t),t):_xeUtils.default.toFixed(_xeUtils.default.floor(e,t),t)}function getNumberValue(e,t){var i=e.type,a=e.exponential,n=e.digitsValue,e=e.inpMaxlength,n="float"===i?toFloatValueFixed(t,n):_xeUtils.default.toValueString(t);return!a||t!==n&&_xeUtils.default.toValueString(t).toLowerCase()!==_xeUtils.default.toNumber(n).toExponential()?n.slice(0,e):t}function renderDateLabel(t,e,i,a){var n=e.festivalMethod;if(n){n=n(_objectSpread({$input:e,type:e.datePanelType,viewType:e.datePanelType},i)),e=n?_xeUtils.default.isString(n)?{label:n}:n:{},i=e.extra?_xeUtils.default.isString(e.extra)?{label:e.extra}:e.extra:null,n=[t("span",{class:["vxe-input--date-label",{"is-notice":e.notice}]},i&&i.label?[t("span",a),t("span",{class:["vxe-input--date-label--extra",i.important?"is-important":"",i.className],style:i.style},_xeUtils.default.toValueString(i.label))]:a)],i=e.label;return i&&(i=_xeUtils.default.toValueString(i).split(","),n.push(t("span",{class:["vxe-input--date-festival",e.important?"is-important":"",e.className],style:e.style},[1<i.length?t("span",{class:["vxe-input--date-festival--overlap","overlap--".concat(i.length)]},i.map(function(e){return t("span",e.substring(0,3))})):t("span",{class:"vxe-input--date-festival--label"},i[0].substring(0,3))]))),n}return a}function isDateDisabled(e,t){var i=e.disabledMethod;return i&&i({$input:e,type:e.datePanelType,viewType:e.datePanelType,date:t.date})}function renderDateDayTable(t,i){var e=i.datePanelType,a=i.dateValue,n=i.datePanelValue,s=i.dateHeaders,r=i.dayDatas,l="yyyy-MM-dd";return[t("table",{class:"vxe-input--date-".concat(e,"-view"),attrs:{cellspacing:0,cellpadding:0,border:0}},[t("thead",[t("tr",s.map(function(e){return t("th",e.label)}))]),t("tbody",r.map(function(e){return t("tr",e.map(function(e){return t("td",{class:{"is--prev":e.isPrev,"is--current":e.isCurrent,"is--now":e.isNow,"is--next":e.isNext,"is--disabled":isDateDisabled(i,e),"is--selected":_xeUtils.default.isDateSame(a,e.date,l),"is--hover":_xeUtils.default.isDateSame(n,e.date,l)},on:{click:function(){return i.dateSelectEvent(e)},mouseenter:function(){return i.dateMouseenterEvent(e)}}},renderDateLabel(t,i,e,e.label))}))}))])]}function renderDateWeekTable(a,n){var e=n.datePanelType,s=n.dateValue,r=n.datePanelValue,t=n.weekHeaders,i=n.weekDates,l="yyyyMMdd";return[a("table",{class:"vxe-input--date-".concat(e,"-view"),attrs:{cellspacing:0,cellpadding:0,border:0}},[a("thead",[a("tr",t.map(function(e){return a("th",e.label)}))]),a("tbody",i.map(function(e){var t=e.some(function(e){return _xeUtils.default.isDateSame(s,e.date,l)}),i=e.some(function(e){return _xeUtils.default.isDateSame(r,e.date,l)});return a("tr",e.map(function(e){return a("td",{class:{"is--prev":e.isPrev,"is--current":e.isCurrent,"is--now":e.isNow,"is--next":e.isNext,"is--disabled":isDateDisabled(n,e),"is--selected":t,"is--hover":i},on:{click:function(){return n.dateSelectEvent(e)},mouseenter:function(){return n.dateMouseenterEvent(e)}}},renderDateLabel(a,n,e,e.label))}))}))])]}function renderDateMonthTable(t,i){var a=i.dateValue,e=i.datePanelType,n=i.monthDatas,s=i.datePanelValue;return[t("table",{class:"vxe-input--date-".concat(e,"-view"),attrs:{cellspacing:0,cellpadding:0,border:0}},[t("tbody",n.map(function(e){return t("tr",e.map(function(e){return t("td",{class:{"is--prev":e.isPrev,"is--current":e.isCurrent,"is--now":e.isNow,"is--next":e.isNext,"is--disabled":isDateDisabled(i,e),"is--selected":_xeUtils.default.isDateSame(a,e.date,"yyyyMM"),"is--hover":_xeUtils.default.isDateSame(s,e.date,"yyyyMM")},on:{click:function(){return i.dateSelectEvent(e)},mouseenter:function(){return i.dateMouseenterEvent(e)}}},renderDateLabel(t,i,e,_conf.default.i18n("vxe.input.date.months.m".concat(e.month))))}))}))])]}function renderDateQuarterTable(t,i){var a=i.dateValue,e=i.datePanelType,n=i.quarterDatas,s=i.datePanelValue;return[t("table",{class:"vxe-input--date-".concat(e,"-view"),attrs:{cellspacing:0,cellpadding:0,border:0}},[t("tbody",n.map(function(e){return t("tr",e.map(function(e){return t("td",{class:{"is--prev":e.isPrev,"is--current":e.isCurrent,"is--now":e.isNow,"is--next":e.isNext,"is--disabled":isDateDisabled(i,e),"is--selected":_xeUtils.default.isDateSame(a,e.date,"yyyyq"),"is--hover":_xeUtils.default.isDateSame(s,e.date,"yyyyq")},on:{click:function(){return i.dateSelectEvent(e)},mouseenter:function(){return i.dateMouseenterEvent(e)}}},renderDateLabel(t,i,e,_conf.default.i18n("vxe.input.date.quarters.q".concat(e.quarter))))}))}))])]}function renderDateYearTable(t,i){var a=i.dateValue,e=i.datePanelType,n=i.yearDatas,s=i.datePanelValue;return[t("table",{class:"vxe-input--date-".concat(e,"-view"),attrs:{cellspacing:0,cellpadding:0,border:0}},[t("tbody",n.map(function(e){return t("tr",e.map(function(e){return t("td",{class:{"is--disabled":isDateDisabled(i,e),"is--current":e.isCurrent,"is--now":e.isNow,"is--selected":_xeUtils.default.isDateSame(a,e.date,"yyyy"),"is--hover":_xeUtils.default.isDateSame(s,e.date,"yyyy")},on:{click:function(){return i.dateSelectEvent(e)},mouseenter:function(){return i.dateMouseenterEvent(e)}}},renderDateLabel(t,i,e,e.year))}))}))])]}function renderDateTable(e,t){switch(t.datePanelType){case"week":return renderDateWeekTable(e,t);case"month":return renderDateMonthTable(e,t);case"quarter":return renderDateQuarterTable(e,t);case"year":return renderDateYearTable(e,t)}return renderDateDayTable(e,t)}function renderDatePanel(e,t){var i=t.datePanelType,a=t.selectDatePanelLabel,n=t.isDisabledPrevDateBtn,s=t.isDisabledNextDateBtn;return[e("div",{class:"vxe-input--date-picker-header"},[e("div",{class:"vxe-input--date-picker-type-wrapper"},[e("span","year"===i?{class:"vxe-input--date-picker-label"}:{class:"vxe-input--date-picker-btn",on:{click:t.dateToggleTypeEvent}},a)]),e("div",{class:"vxe-input--date-picker-btn-wrapper"},[e("span",{class:["vxe-input--date-picker-btn vxe-input--date-picker-prev-btn",{"is--disabled":n}],on:{click:t.datePrevEvent}},[e("i",{class:"vxe-icon--caret-left"})]),e("span",{class:"vxe-input--date-picker-btn vxe-input--date-picker-current-btn",on:{click:t.dateTodayMonthEvent}},[e("i",{class:"vxe-icon--dot"})]),e("span",{class:["vxe-input--date-picker-btn vxe-input--date-picker-next-btn",{"is--disabled":s}],on:{click:t.dateNextEvent}},[e("i",{class:"vxe-icon--caret-right"})])])]),e("div",{class:"vxe-input--date-picker-body"},renderDateTable(e,t))]}function renderTimePanel(i,a){var e=a.dateTimeLabel,n=a.datetimePanelValue,t=a.hourList,s=a.minuteList,r=a.secondList;return[i("div",{class:"vxe-input--time-picker-header"},[i("span",{class:"vxe-input--time-picker-title"},e),i("button",{class:"vxe-input--time-picker-confirm",attrs:{type:"button"},on:{click:a.dateConfirmEvent}},_conf.default.i18n("vxe.button.confirm"))]),i("div",{ref:"timeBody",class:"vxe-input--time-picker-body"},[i("ul",{class:"vxe-input--time-picker-hour-list"},t.map(function(t,e){return i("li",{key:e,class:{"is--selected":n&&n.getHours()===t.value},on:{click:function(e){return a.dateHourEvent(e,t)}}},t.label)})),i("ul",{class:"vxe-input--time-picker-minute-list"},s.map(function(t,e){return i("li",{key:e,class:{"is--selected":n&&n.getMinutes()===t.value},on:{click:function(e){return a.dateMinuteEvent(e,t)}}},t.label)})),i("ul",{class:"vxe-input--time-picker-second-list"},r.map(function(t,e){return i("li",{key:e,class:{"is--selected":n&&n.getSeconds()===t.value},on:{click:function(e){return a.dateSecondEvent(e,t)}}},t.label)}))])]}function renderPanel(e,t){var i=t.type,a=t.vSize,n=t.isDatePickerType,s=t.transfer,r=t.animatVisible,l=t.visiblePanel,u=t.panelPlacement,o=t.panelStyle,d=[];return n?("datetime"===i?d.push(e("div",{class:"vxe-input--panel-layout-wrapper"},[e("div",{class:"vxe-input--panel-left-wrapper"},renderDatePanel(e,t)),e("div",{class:"vxe-input--panel-right-wrapper"},renderTimePanel(e,t))])):"time"===i?d.push(e("div",{class:"vxe-input--panel-wrapper"},renderTimePanel(e,t))):d.push(e("div",{class:"vxe-input--panel-wrapper"},renderDatePanel(e,t))),e("div",{ref:"panel",class:["vxe-table--ignore-clear vxe-input--panel","type--".concat(i),(_defineProperty(i={},"size--".concat(a),a),_defineProperty(i,"is--transfer",s),_defineProperty(i,"animat--leave",r),_defineProperty(i,"animat--enter",l),i)],attrs:{placement:u},style:o},d)):null}function renderNumberIcon(e,t){return e("span",{class:"vxe-input--number-suffix"},[e("span",{class:"vxe-input--number-prev is--prev",on:{mousedown:t.numberMousedownEvent,mouseup:t.numberStopDown,mouseleave:t.numberStopDown}},[e("i",{class:["vxe-input--number-prev-icon",_conf.default.icon.INPUT_PREV_NUM]})]),e("span",{class:"vxe-input--number-next is--next",on:{mousedown:t.numberMousedownEvent,mouseup:t.numberStopDown,mouseleave:t.numberStopDown}},[e("i",{class:["vxe-input--number-next-icon",_conf.default.icon.INPUT_NEXT_NUM]})])])}function renderDatePickerIcon(e,t){return e("span",{class:"vxe-input--date-picker-suffix",on:{click:t.datePickerOpenEvent}},[e("i",{class:["vxe-input--date-picker-icon",_conf.default.icon.INPUT_DATE]})])}function renderSearchIcon(e,t){return e("span",{class:"vxe-input--search-suffix",on:{click:t.searchEvent}},[e("i",{class:["vxe-input--search-icon",_conf.default.icon.INPUT_SEARCH]})])}function renderPasswordIcon(e,t){var i=t.showPwd;return e("span",{class:"vxe-input--password-suffix",on:{click:t.passwordToggleEvent}},[e("i",{class:["vxe-input--password-icon",i?_conf.default.icon.INPUT_SHOW_PWD:_conf.default.icon.INPUT_PWD]})])}function rendePrefixIcon(e,t){var i=t.$scopedSlots,a=t.prefixIcon,n=[];return i.prefix?n.push(e("span",{class:"vxe-input--prefix-icon"},i.prefix.call(this,{},e))):a&&n.push(e("i",{class:["vxe-input--prefix-icon",a]})),n.length?e("span",{class:"vxe-input--prefix",on:{click:t.clickPrefixEvent}},n):null}function renderSuffixIcon(e,t){var i=t.$scopedSlots,a=t.inputValue,n=t.isClearable,s=t.disabled,r=t.suffixIcon,l=[];return i.suffix?l.push(e("span",{class:"vxe-input--suffix-icon"},i.suffix.call(this,{},e))):r&&l.push(e("i",{class:["vxe-input--suffix-icon",r]})),n&&l.push(e("i",{class:["vxe-input--clear-icon",_conf.default.icon.INPUT_CLEAR]})),l.length?e("span",{class:["vxe-input--suffix",{"is--clear":n&&!s&&!(""===a||_xeUtils.default.eqNull(a))}],on:{click:t.clickSuffixEvent}},l):null}function renderExtraSuffixIcon(e,t){var i,a=t.controls,n=t.isPawdType,s=t.isNumType,r=t.isDatePickerType,l=t.isSearch;return n?i=renderPasswordIcon(e,t):s?a&&(i=renderNumberIcon(e,t)):r?i=renderDatePickerIcon(e,t):l&&(i=renderSearchIcon(e,t)),i?e("span",{class:"vxe-input--extra-suffix"},[i]):null}var _default2={name:"VxeInput",mixins:[_size.default],model:{prop:"value",event:"modelValue"},props:{value:[String,Number,Date],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"text"},clearable:{type:Boolean,default:function(){return _conf.default.input.clearable}},readonly:Boolean,disabled:Boolean,placeholder:String,maxlength:[String,Number],autocomplete:{type:String,default:"off"},align:String,form:String,className:String,size:{type:String,default:function(){return _conf.default.input.size||_conf.default.size}},min:{type:[String,Number],default:null},max:{type:[String,Number],default:null},step:[String,Number],exponential:{type:Boolean,default:function(){return _conf.default.input.exponential}},controls:{type:Boolean,default:function(){return _conf.default.input.controls}},digits:{type:[String,Number],default:function(){return _conf.default.input.digits}},dateConfig:Object,minDate:{type:[String,Number,Date],default:function(){return _conf.default.input.minDate}},maxDate:{type:[String,Number,Date],default:function(){return _conf.default.input.maxDate}},startWeek:Number,startDay:{type:[String,Number],default:function(){return _conf.default.input.startDay}},labelFormat:{type:String,default:function(){return _conf.default.input.labelFormat}},valueFormat:{type:String,default:function(){return _conf.default.input.valueFormat}},editable:{type:Boolean,default:!0},festivalMethod:{type:Function,default:function(){return _conf.default.input.festivalMethod}},disabledMethod:{type:Function,default:function(){return _conf.default.input.disabledMethod}},selectDay:{type:Number,default:function(){return _conf.default.input.selectDay}},prefixIcon:String,suffixIcon:String,placement:String,transfer:{type:Boolean,default:function(){return _conf.default.input.transfer}}},data:function(){return{panelIndex:0,showPwd:!1,visiblePanel:!1,animatVisible:!1,panelStyle:null,panelPlacement:null,isActivated:!1,inputValue:this.value,datetimePanelValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}},computed:{isNumType:function(){return-1<["number","integer","float"].indexOf(this.type)},isDatePickerType:function(){return this.hasTime||-1<["date","week","month","quarter","year"].indexOf(this.type)},hasTime:function(){var e=this.type;return"time"===e||"datetime"===e},isPawdType:function(){return"password"===this.type},isSearch:function(){return"search"===this.type},stepValue:function(){var e=this.type,t=this.step;return"integer"===e?_xeUtils.default.toInteger(t)||1:"float"===e?_xeUtils.default.toNumber(t)||1/Math.pow(10,this.digitsValue):_xeUtils.default.toNumber(t)||1},digitsValue:function(){return _xeUtils.default.toInteger(this.digits)||1},isClearable:function(){return this.clearable&&(this.isPawdType||this.isNumType||this.isDatePickerType||"text"===this.type||"search"===this.type)},isDisabledPrevDateBtn:function(){var e=this.selectMonth,t=this.dateMinTime;return!!e&&e<=t},isDisabledNextDateBtn:function(){var e=this.selectMonth,t=this.dateMaxTime;return!!e&&t<=e},dateMinTime:function(){return this.minDate?_xeUtils.default.toStringDate(this.minDate):null},dateMaxTime:function(){return this.maxDate?_xeUtils.default.toStringDate(this.maxDate):null},dateValue:function(){var e=this.value,t=this.isDatePickerType,i=this.type,a=this.dateValueFormat,n=null;return e&&t&&(a="time"===i?toStringTimeDate(e):_xeUtils.default.toStringDate(e,a),_xeUtils.default.isValidDate(a)&&(n=a)),n},dateTimeLabel:function(){var e=this.datetimePanelValue;return e?_xeUtils.default.toDateString(e,"HH:mm:ss"):""},hmsTime:function(){var e=this.dateValue;return e&&this.hasTime?1e3*(3600*e.getHours()+60*e.getMinutes()+e.getSeconds()):0},dateLabelFormat:function(){return this.isDatePickerType?this.labelFormat||_conf.default.i18n("vxe.input.date.labelFormat.".concat(this.type)):null},dateValueFormat:function(){var e=this.type;return"time"===e?"HH:mm:ss":this.valueFormat||("datetime"===e?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd")},selectDatePanelLabel:function(){if(this.isDatePickerType){var e,t=this.datePanelType,i=this.selectMonth,a=this.yearList,n="";return i&&(n=i.getFullYear(),e=i.getMonth()+1),"quarter"===t?_conf.default.i18n("vxe.input.date.quarterLabel",[n]):"month"===t?_conf.default.i18n("vxe.input.date.monthLabel",[n]):"year"===t?a.length?"".concat(a[0].year," - ").concat(a[a.length-1].year):"":_conf.default.i18n("vxe.input.date.dayLabel",[n,e?_conf.default.i18n("vxe.input.date.m".concat(e)):"-"])}return""},weekDatas:function(){var e=[];if(this.isDatePickerType){var t=this.startDay,i=this.startWeek,a=_xeUtils.default.toNumber(_xeUtils.default.isNumber(t)||_xeUtils.default.isString(t)?t:i);e.push(a);for(var n=0;n<6;n++)6<=a?a=0:a++,e.push(a)}return e},dateHeaders:function(){return this.isDatePickerType?this.weekDatas.map(function(e){return{value:e,label:_conf.default.i18n("vxe.input.date.weeks.w".concat(e))}}):[]},weekHeaders:function(){return this.isDatePickerType?[{label:_conf.default.i18n("vxe.input.date.weeks.w")}].concat(this.dateHeaders):[]},yearList:function(){var e=this.selectMonth,t=this.currentDate,i=[];if(e&&t)for(var a=t.getFullYear(),n=new Date((""+e.getFullYear()).replace(/\d{1}$/,"0"),0,1),s=-10;s<yearSize-10;s++){var r=_xeUtils.default.getWhatYear(n,s,"first"),l=r.getFullYear();i.push({date:r,isCurrent:!0,isNow:a===l,year:l})}return i},yearDatas:function(){return _xeUtils.default.chunk(this.yearList,4)},quarterList:function(){var e=this.selectMonth,t=this.currentDate,i=[];if(e&&t)for(var a=t.getFullYear(),n=getDateQuarter(t),s=_xeUtils.default.getWhatYear(e,0,"first"),r=s.getFullYear(),l=-2;l<quarterSize-2;l++){var u=_xeUtils.default.getWhatQuarter(s,l),o=u.getFullYear(),d=getDateQuarter(u),h=o<r;i.push({date:u,isPrev:h,isCurrent:o===r,isNow:o===a&&d===n,isNext:!h&&r<o,quarter:d})}return i},quarterDatas:function(){return _xeUtils.default.chunk(this.quarterList,2)},monthList:function(){var e=this.selectMonth,t=this.currentDate,i=[];if(e&&t)for(var a=t.getFullYear(),n=t.getMonth(),s=_xeUtils.default.getWhatYear(e,0,"first").getFullYear(),r=-4;r<monthSize-4;r++){var l=_xeUtils.default.getWhatYear(e,0,r),u=l.getFullYear(),o=l.getMonth(),d=u<s;i.push({date:l,isPrev:d,isCurrent:u===s,isNow:u===a&&o===n,isNext:!d&&s<u,month:o})}return i},monthDatas:function(){return _xeUtils.default.chunk(this.monthList,4)},dayList:function(){var e=this.weekDatas,t=this.selectMonth,i=this.currentDate,a=this.hmsTime,n=[];if(t&&i)for(var s=i.getFullYear(),r=i.getMonth(),l=i.getDate(),u=t.getFullYear(),o=t.getMonth(),i=t.getDay(),i=-e.indexOf(i),d=new Date(_xeUtils.default.getWhatDay(t,i).getTime()+a),h=0;h<42;h++){var c=_xeUtils.default.getWhatDay(d,h),f=c.getFullYear(),p=c.getMonth(),v=c.getDate(),m=c<t;n.push({date:c,isPrev:m,isCurrent:f===u&&p===o,isNow:f===s&&p===r&&v===l,isNext:!m&&o!==p,label:v})}return n},dayDatas:function(){return _xeUtils.default.chunk(this.dayList,7)},weekDates:function(){return this.dayDatas.map(function(e){var t=e[0];return[{date:t.date,isWeekNumber:!0,isPrev:!1,isCurrent:!1,isNow:!1,isNext:!1,label:_xeUtils.default.getYearWeek(t.date)}].concat(e)})},hourList:function(){var e=[];if(this.hasTime)for(var t=0;t<24;t++)e.push({value:t,label:(""+t).padStart(2,0)});return e},minuteList:function(){var e=[];if(this.hasTime)for(var t=0;t<60;t++)e.push({value:t,label:(""+t).padStart(2,0)});return e},secondList:function(){return this.minuteList},inpImmediate:function(){var e=this.type;return this.immediate||!("text"===e||"number"===e||"integer"===e||"float"===e)},inpPlaceholder:function(){var e=this.placeholder;return e?_tools.UtilTools.getFuncText(e):""},inputType:function(){var e=this.isDatePickerType,t=this.isNumType,i=this.isPawdType,a=this.type,n=this.showPwd;return e||t||i&&n||"number"===a?"text":a},inpMaxlength:function(){var e=this.isNumType,t=this.maxlength;return e&&!_xeUtils.default.toNumber(t)?16:t},inpReadonly:function(){var e=this.type,t=this.readonly,i=this.editable;return t||!i||"week"===e||"quarter"===e}},watch:{value:function(e){this.inputValue=e,this.changeValue()},dateLabelFormat:function(){this.dateParseValue(this.datePanelValue),this.inputValue=this.datePanelLabel}},created:function(){this.initValue(),_tools.GlobalEvent.on(this,"mousewheel",this.handleGlobalMousewheelEvent),_tools.GlobalEvent.on(this,"mousedown",this.handleGlobalMousedownEvent),_tools.GlobalEvent.on(this,"keydown",this.handleGlobalKeydownEvent),_tools.GlobalEvent.on(this,"blur",this.handleGlobalBlurEvent)},mounted:function(){this.dateConfig&&_tools.UtilTools.warn("vxe.error.removeProp",["date-config"]),this.isDatePickerType&&this.transfer&&document.body.appendChild(this.$refs.panel)},beforeDestroy:function(){var e=this.$refs.panel;e&&e.parentNode&&e.parentNode.removeChild(e)},destroyed:function(){this.numberStopDown(),_tools.GlobalEvent.off(this,"mousewheel"),_tools.GlobalEvent.off(this,"mousedown"),_tools.GlobalEvent.off(this,"keydown"),_tools.GlobalEvent.off(this,"blur")},render:function(e){var t=this.name,i=this.form,a=this.inputType,n=this.inpPlaceholder,s=this.inpMaxlength,r=this.inpReadonly,l=this.className,u=this.controls,o=this.inputValue,d=this.isDatePickerType,h=this.visiblePanel,c=this.isActivated,f=this.vSize,p=this.type,v=this.align,m=this.readonly,y=this.disabled,x=this.autocomplete,b=[],g=rendePrefixIcon(e,this),D=renderSuffixIcon(e,this);return g&&b.push(g),b.push(e("input",{ref:"input",class:"vxe-input--inner",domProps:{value:o},attrs:{name:t,form:i,type:a,placeholder:n,maxlength:s,readonly:r,disabled:y,autocomplete:x},on:{keydown:this.keydownEvent,keyup:this.triggerEvent,wheel:this.wheelEvent,click:this.clickEvent,input:this.inputEvent,change:this.changeEvent,focus:this.focusEvent,blur:this.blurEvent}})),D&&b.push(D),b.push(renderExtraSuffixIcon(e,this)),d&&b.push(renderPanel(e,this)),e("div",{class:["vxe-input","type--".concat(p),l,(_defineProperty(l={},"size--".concat(f),f),_defineProperty(l,"is--".concat(v),v),_defineProperty(l,"is--controls",u),_defineProperty(l,"is--prefix",!!g),_defineProperty(l,"is--suffix",!!D),_defineProperty(l,"is--readonly",m),_defineProperty(l,"is--visivle",h),_defineProperty(l,"is--disabled",y),_defineProperty(l,"is--active",c),l)]},b)},methods:{focus:function(){return this.isActivated=!0,this.$refs.input.focus(),this.$nextTick()},blur:function(){return this.$refs.input.blur(),this.isActivated=!1,this.$nextTick()},triggerEvent:function(e){var t=this.$refs,i=this.inputValue;this.$emit(e.type,{$panel:t.panel,value:i,$event:e})},emitModel:function(e,t){this.inputValue=e,this.$emit("modelValue",e),this.$emit("input",{value:e,$event:t}),_xeUtils.default.toValueString(this.value)!==e&&this.$emit("change",{value:e,$event:t})},emitInputEvent:function(e,t){var i=this.inpImmediate,a=this.isDatePickerType;this.inputValue=e,a||(i?this.emitModel(e,t):this.$emit("input",{value:e,$event:t}))},inputEvent:function(e){var t=e.target.value;this.emitInputEvent(t,e)},changeEvent:function(e){this.inpImmediate||this.triggerEvent(e)},focusEvent:function(e){this.isActivated=!0,this.triggerEvent(e)},blurEvent:function(e){var t=this.inputValue;this.inpImmediate||this.emitModel(t,e),this.afterCheckValue(),this.visiblePanel||(this.isActivated=!1),this.$emit("blur",{value:t,$event:e})},keydownEvent:function(e){var t,i,a,n,s=this.exponential,r=this.controls;this.isNumType&&(t=e.ctrlKey,i=e.shiftKey,a=e.altKey,n=e.keyCode,t||i||a||!(32===n||(!s||69!==n)&&65<=n&&n<=90||186<=n&&n<=188||191<=n)||e.preventDefault(),r&&this.numberKeydownEvent(e)),this.triggerEvent(e)},wheelEvent:function(e){var t;this.isNumType&&this.controls&&this.isActivated&&(0<(t=e.deltaY)?this.numberNextEvent(e):t<0&&this.numberPrevEvent(e),e.preventDefault()),this.triggerEvent(e)},clickEvent:function(e){this.isDatePickerType&&this.datePickerOpenEvent(e),this.triggerEvent(e)},clickPrefixEvent:function(e){var t=this.$refs,i=this.disabled,a=this.inputValue;i||this.$emit("prefix-click",{$panel:t.panel,value:a,$event:e})},clickSuffixEvent:function(e){var t=this.$refs,i=this.disabled,a=this.inputValue;i||(_tools.DomTools.hasClass(e.currentTarget,"is--clear")?(this.emitModel("",e),this.clearValueEvent(e,"")):this.$emit("suffix-click",{$panel:t.panel,value:a,$event:e}))},clearValueEvent:function(e,t){var i=this.$refs,a=this.type,n=this.isNumType;this.isDatePickerType&&this.hidePanel(),(n||-1<["text","search","password"].indexOf(a))&&this.focus(),this.$emit("clear",{$panel:i.panel,value:t,$event:e})},initValue:function(){var e=this.type,t=this.isDatePickerType,i=this.inputValue,a=this.digitsValue;t?this.changeValue():"float"===e&&(!i||i!==(a=toFloatValueFixed(i,a))&&this.emitModel(a,{type:"init"}))},changeValue:function(){this.isDatePickerType&&(this.dateParseValue(this.inputValue),this.inputValue=this.datePanelLabel)},afterCheckValue:function(){var e,t=this.type,i=this.exponential,a=this.inpReadonly,n=this.inputValue,s=this.isDatePickerType,r=this.isNumType,l=this.datetimePanelValue,u=this.dateLabelFormat,o=this.min,d=this.max;a||(r?n&&(e="integer"===t?_xeUtils.default.toInteger(n):_xeUtils.default.toNumber(n),this.vaildMinNum(e)?this.vaildMaxNum(e)||(e=d):e=o,!i||(i=_xeUtils.default.toValueString(n).toLowerCase())===_xeUtils.default.toNumber(e).toExponential()&&(e=i),this.emitModel(getNumberValue(this,e),{type:"check"})):s&&(n?"week"===t||"quarter"===t||(e="time"===t?toStringTimeDate(n):_xeUtils.default.toStringDate(n,u),_xeUtils.default.isValidDate(e)?"time"===t?(n!==(e=toStringTimeDate(e))&&this.emitModel(e,{type:"check"}),this.inputValue=e):(s=!1,"datetime"===t?n===_xeUtils.default.toDateString(this.dateValue,u)&&n===_xeUtils.default.toDateString(e,u)||(s=!0,l.setHours(e.getHours()),l.setMinutes(e.getMinutes()),l.setSeconds(e.getSeconds())):s=!0,this.inputValue=_xeUtils.default.toDateString(e,u),s&&this.dateChange(e)):this.dateRevert()):this.emitModel("",{type:"check"})))},passwordToggleEvent:function(e){var t=this.disabled,i=this.readonly,a=this.showPwd;t||i||(this.showPwd=!a),this.$emit("toggle-visible",{visible:this.showPwd,$event:e})},searchEvent:function(e){this.$emit("search-click",{$event:e})},vaildMinNum:function(e){return null===this.min||e>=_xeUtils.default.toNumber(this.min)},vaildMaxNum:function(e){return null===this.max||e<=_xeUtils.default.toNumber(this.max)},numberStopDown:function(){clearTimeout(this.downbumTimeout)},numberDownPrevEvent:function(e){var t=this;this.downbumTimeout=setTimeout(function(){t.numberPrevEvent(e),t.numberDownPrevEvent(e)},60)},numberDownNextEvent:function(e){var t=this;this.downbumTimeout=setTimeout(function(){t.numberNextEvent(e),t.numberDownNextEvent(e)},60)},numberKeydownEvent:function(e){var t=e.keyCode,i=38===t;!i&&40!==t||(e.preventDefault(),i?this.numberPrevEvent(e):this.numberNextEvent(e))},numberMousedownEvent:function(e){var t,i=this;this.numberStopDown(),0===e.button&&((t=_tools.DomTools.hasClass(e.currentTarget,"is--prev"))?this.numberPrevEvent(e):this.numberNextEvent(e),this.downbumTimeout=setTimeout(function(){t?i.numberDownPrevEvent(e):i.numberDownNextEvent(e)},500))},numberPrevEvent:function(e){var t=this.disabled,i=this.readonly;clearTimeout(this.downbumTimeout),t||i||this.numberChange(!0,e),this.$emit("prev-number",{$event:e})},numberNextEvent:function(e){var t=this.disabled,i=this.readonly;clearTimeout(this.downbumTimeout),t||i||this.numberChange(!1,e),this.$emit("next-number",{$event:e})},numberChange:function(e,t){var i=this.min,a=this.max,n=this.type,s=this.inputValue,r=this.stepValue,s="integer"===n?_xeUtils.default.toInteger(s):_xeUtils.default.toNumber(s),r=e?_xeUtils.default.add(s,r):_xeUtils.default.subtract(s,r),i=this.vaildMinNum(r)?this.vaildMaxNum(r)?r:a:i;this.emitInputEvent(getNumberValue(this,i),t)},datePickerOpenEvent:function(e){this.readonly||(e.preventDefault(),this.showPanel())},dateMonthHandle:function(e,t){this.selectMonth=_xeUtils.default.getWhatMonth(e,t,"first")},dateNowHandle:function(){var e=_xeUtils.default.getWhatDay(Date.now(),0,"first");this.currentDate=e,this.dateMonthHandle(e,0)},dateToggleTypeEvent:function(){var e="month"===(e=this.datePanelType)||"quarter"===e?"year":"month";this.datePanelType=e},datePrevEvent:function(e){var t=this.isDisabledPrevDateBtn,i=this.type,a=this.datePanelType;t||(this.selectMonth="year"===i?_xeUtils.default.getWhatYear(this.selectMonth,-yearSize,"first"):"month"===i||"quarter"===i?"year"===a?_xeUtils.default.getWhatYear(this.selectMonth,-yearSize,"first"):_xeUtils.default.getWhatYear(this.selectMonth,-1,"first"):"year"===a?_xeUtils.default.getWhatYear(this.selectMonth,-yearSize,"first"):"month"===a?_xeUtils.default.getWhatYear(this.selectMonth,-1,"first"):_xeUtils.default.getWhatMonth(this.selectMonth,-1,"first"),this.$emit("date-prev",{type:i,$event:e}))},dateTodayMonthEvent:function(e){this.dateNowHandle(),this.dateChange(this.currentDate),this.hidePanel(),this.$emit("date-today",{type:this.type,$event:e})},dateNextEvent:function(e){var t=this.isDisabledNextDateBtn,i=this.type,a=this.datePanelType;t||(this.selectMonth="year"===i?_xeUtils.default.getWhatYear(this.selectMonth,yearSize,"first"):"month"===i||"quarter"===i?"year"===a?_xeUtils.default.getWhatYear(this.selectMonth,yearSize,"first"):_xeUtils.default.getWhatYear(this.selectMonth,1,"first"):"year"===a?_xeUtils.default.getWhatYear(this.selectMonth,yearSize,"first"):"month"===a?_xeUtils.default.getWhatYear(this.selectMonth,1,"first"):_xeUtils.default.getWhatMonth(this.selectMonth,1,"first"),this.$emit("date-next",{type:i,$event:e}))},dateSelectEvent:function(e){isDateDisabled(this,e)||this.dateSelectItem(e.date)},dateSelectItem:function(e){var t=this.type,i=this.datePanelType,a="week"===t;"month"===t?"year"===i?(this.datePanelType="month",this.dateCheckMonth(e)):(this.dateChange(e),this.hidePanel()):"year"===t?(this.hidePanel(),this.dateChange(e)):"quarter"===t?"year"===i?(this.datePanelType="quarter",this.dateCheckMonth(e)):(this.dateChange(e),this.hidePanel()):"month"===i?(this.datePanelType="week"===t?t:"day",this.dateCheckMonth(e)):"year"===i?(this.datePanelType="month",this.dateCheckMonth(e)):(this.dateChange(e),this.hidePanel()),a&&this.changeValue()},dateMouseenterEvent:function(e){var t;isDateDisabled(this,e)||("month"===(t=this.datePanelType)?this.dateMoveMonth(e.date):"quarter"===t?this.dateMoveQuarter(e.date):"year"===t?this.dateMoveYear(e.date):this.dateMoveDay(e.date))},dateHourEvent:function(e,t){this.datetimePanelValue.setHours(t.value),this.dateTimeChangeEvent(e)},dateConfirmEvent:function(){this.dateChange(this.dateValue||this.currentDate),this.hidePanel()},dateMinuteEvent:function(e,t){this.datetimePanelValue.setMinutes(t.value),this.dateTimeChangeEvent(e)},dateSecondEvent:function(e,t){this.datetimePanelValue.setSeconds(t.value),this.dateTimeChangeEvent(e)},dateTimeChangeEvent:function(e){this.datetimePanelValue=new Date(this.datetimePanelValue.getTime()),this.updateTimePos(e.currentTarget)},updateTimePos:function(e){var t;e&&(t=e.offsetHeight,e.parentNode.scrollTop=e.offsetTop-4*t)},dateMoveDay:function(t){isDateDisabled(this,{date:t})||(this.dayList.some(function(e){return _xeUtils.default.isDateSame(e.date,t,"yyyyMMdd")})||this.dateCheckMonth(t),this.dateParseValue(t))},dateMoveMonth:function(t){isDateDisabled(this,{date:t})||(this.monthList.some(function(e){return _xeUtils.default.isDateSame(e.date,t,"yyyyMM")})||this.dateCheckMonth(t),this.dateParseValue(t))},dateMoveQuarter:function(t){isDateDisabled(this,{date:t})||(this.quarterList.some(function(e){return _xeUtils.default.isDateSame(e.date,t,"yyyyq")})||this.dateCheckMonth(t),this.dateParseValue(t))},dateMoveYear:function(t){isDateDisabled(this,{date:t})||(this.yearList.some(function(e){return _xeUtils.default.isDateSame(e.date,t,"yyyy")})||this.dateCheckMonth(t),this.dateParseValue(t))},dateParseValue:function(e){var t=this.type,i=this.dateLabelFormat,a=this.valueFormat,n=null,s="";e&&(n="time"===t?toStringTimeDate(e):_xeUtils.default.toStringDate(e,a)),_xeUtils.default.isValidDate(n)?s=_xeUtils.default.toDateString(n,i):n=null,this.datePanelValue=n,this.datePanelLabel=s},dateOffsetEvent:function(e){var t,i,a,n=this.isActivated,s=this.datePanelValue,r=this.datePanelType;n&&(e.preventDefault(),t=37===(i=e.keyCode),n=38===i,e=39===i,i=40===i,"year"===r?(a=_xeUtils.default.getWhatYear(s||Date.now(),0,"first"),t?a=_xeUtils.default.getWhatYear(a,-1):n?a=_xeUtils.default.getWhatYear(a,-4):e?a=_xeUtils.default.getWhatYear(a,1):i&&(a=_xeUtils.default.getWhatYear(a,4)),this.dateMoveYear(a)):"quarter"===r?(a=_xeUtils.default.getWhatQuarter(s||Date.now(),0,"first"),t?a=_xeUtils.default.getWhatQuarter(a,-1):n?a=_xeUtils.default.getWhatQuarter(a,-2):e?a=_xeUtils.default.getWhatQuarter(a,1):i&&(a=_xeUtils.default.getWhatQuarter(a,2)),this.dateMoveQuarter(a)):"month"===r?(r=_xeUtils.default.getWhatMonth(s||Date.now(),0,"first"),t?r=_xeUtils.default.getWhatMonth(r,-1):n?r=_xeUtils.default.getWhatMonth(r,-4):e?r=_xeUtils.default.getWhatMonth(r,1):i&&(r=_xeUtils.default.getWhatMonth(r,4)),this.dateMoveMonth(r)):(s=s||_xeUtils.default.getWhatDay(Date.now(),0,"first"),t?s=_xeUtils.default.getWhatDay(s,-1):n?s=_xeUtils.default.getWhatWeek(s,-1):e?s=_xeUtils.default.getWhatDay(s,1):i&&(s=_xeUtils.default.getWhatWeek(s,1)),this.dateMoveDay(s)))},datePgOffsetEvent:function(e){var t;this.isActivated&&(t=33===e.keyCode,e.preventDefault(),t?this.datePrevEvent(e):this.dateNextEvent(e))},dateChange:function(e){var t,i=this.value,a=this.datetimePanelValue,n=this.dateValueFormat;"week"===this.type?(t=_xeUtils.default.toNumber(this.selectDay),e=_xeUtils.default.getWhatWeek(e,0,t)):this.hasTime&&(e.setHours(a.getHours()),e.setMinutes(a.getMinutes()),e.setSeconds(a.getSeconds()));n=_xeUtils.default.toDateString(e,n);this.dateCheckMonth(e),_xeUtils.default.isEqual(i,n)||this.emitModel(n,{type:"update"})},dateCheckMonth:function(e){e=_xeUtils.default.getWhatMonth(e,0,"first");_xeUtils.default.isEqual(e,this.selectMonth)||(this.selectMonth=e)},dateOpenPanel:function(){var e=this,t=this.type,i=this.dateValue;-1<["year","quarter","month","week"].indexOf(t)?this.datePanelType=t:this.datePanelType="day",this.currentDate=_xeUtils.default.getWhatDay(Date.now(),0,"first"),i?(this.dateMonthHandle(i,0),this.dateParseValue(i)):this.dateNowHandle(),this.hasTime&&(this.datetimePanelValue=this.datePanelValue||_xeUtils.default.getWhatDay(Date.now(),0,"first"),this.$nextTick(function(){_xeUtils.default.arrayEach(e.$refs.timeBody.querySelectorAll("li.is--selected"),e.updateTimePos)}))},dateRevert:function(){this.inputValue=this.datePanelLabel},updateZindex:function(){this.panelIndex<_tools.UtilTools.getLastZIndex()&&(this.panelIndex=_tools.UtilTools.nextZIndex())},showPanel:function(){var e=this,t=this.disabled,i=this.visiblePanel,a=this.isDatePickerType;t||i||(clearTimeout(this.hidePanelTimeout),this.isActivated=!0,this.animatVisible=!0,a&&this.dateOpenPanel(),setTimeout(function(){e.visiblePanel=!0},10),this.updateZindex(),this.updatePlacement())},hidePanel:function(){var e=this;this.visiblePanel=!1,this.hidePanelTimeout=setTimeout(function(){e.animatVisible=!1},350)},updatePlacement:function(){var c=this;return this.$nextTick().then(function(){var e=c.$refs,t=c.transfer,i=c.placement,a=c.panelIndex,n=e.input,s=e.panel;if(n&&s){var r=n.offsetHeight,l=n.offsetWidth,u=s.offsetHeight,o=s.offsetWidth,d={zIndex:a},h=_tools.DomTools.getAbsolutePos(n),e=h.boundingTop,s=h.boundingLeft,a=h.visibleHeight,n=h.visibleWidth,h="bottom";return t?(t=e+r,"top"===i?(h="top",t=e-u):i||(a<t+u+5&&(h="top",t=e-u),t<5&&(h="bottom",t=e+r)),n<(s=s)+o+5&&(s-=s+o+5-n),s<5&&(s=5),Object.assign(d,{left:"".concat(s,"px"),top:"".concat(t,"px"),minWidth:"".concat(l,"px")})):"top"===i?(h="top",d.bottom="".concat(r,"px")):i||a<e+r+u&&5<e-r-u&&(h="top",d.bottom="".concat(r,"px")),c.panelStyle=d,c.panelPlacement=h,c.$nextTick()}})},handleGlobalMousedownEvent:function(e){var t=this.$refs,i=this.$el,a=this.disabled,n=this.visiblePanel,s=this.isActivated;!a&&s&&(this.isActivated=_tools.DomTools.getEventTargetNode(e,i).flag||_tools.DomTools.getEventTargetNode(e,t.panel).flag,this.isActivated||(this.isDatePickerType?n&&(this.hidePanel(),this.afterCheckValue()):this.afterCheckValue()))},handleGlobalKeydownEvent:function(e){var t,i,a,n,s,r,l,u,o,d,h=this.isDatePickerType,c=this.visiblePanel,f=this.clearable;this.disabled||(i=46===(t=e.keyCode),a=27===t,n=13===t,s=38===t,r=40===t,l=33===t,u=34===t,o=37===t||s||39===t||r,d=this.isActivated,(t=9===t)?(d&&this.afterCheckValue(),this.isActivated=d=!1):o?h&&d&&(c?this.dateOffsetEvent(e):(s||r)&&this.datePickerOpenEvent(e)):n?h&&(c?this.datePanelValue?this.dateSelectItem(this.datePanelValue):this.hidePanel():d&&this.datePickerOpenEvent(e)):(l||u)&&h&&d&&this.datePgOffsetEvent(e),t||a?c&&this.hidePanel():i&&f&&d&&this.clearValueEvent(e,null))},handleGlobalMousewheelEvent:function(e){var t=this.$refs,i=this.disabled,a=this.visiblePanel;i||a&&(_tools.DomTools.getEventTargetNode(e,t.panel).flag?this.updatePlacement():(this.hidePanel(),this.afterCheckValue()))},handleGlobalBlurEvent:function(){var e=this.isActivated;this.visiblePanel?(this.hidePanel(),this.afterCheckValue()):e&&this.afterCheckValue()}}};exports.default=_default2;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-table",
3
- "version": "3.4.3",
3
+ "version": "3.4.4",
4
4
  "description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟列表、虚拟树、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、弹窗、自定义模板、渲染器、贼灵活的配置项、扩展接口等...",
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve",
@@ -5,6 +5,41 @@ import { browse } from '../../tools/src/dom'
5
5
 
6
6
  const { getRowid } = UtilTools
7
7
 
8
+ function insertTreeRow (_vm, newRecords, isAppend) {
9
+ const { treeFullData, afterFullData, fullDataRowIdData, fullAllDataRowIdData, treeOpts } = _vm
10
+ const funcName = isAppend ? 'push' : 'unshift'
11
+ newRecords.forEach(item => {
12
+ const parentRowId = item[treeOpts.parentField]
13
+ const rowid = getRowid(_vm, item)
14
+ const matchObj = parentRowId ? XEUtils.findTree(treeFullData, item => parentRowId === item[treeOpts.rowField], treeOpts) : null
15
+ if (matchObj) {
16
+ const { item: parentRow } = matchObj
17
+ const parentRest = fullAllDataRowIdData[getRowid(_vm, parentRow)]
18
+ const parentLevel = parentRest ? parentRest.level : 0
19
+ let parentChilds = parentRow[treeOpts.children]
20
+ if (!XEUtils.isArray(parentChilds)) {
21
+ parentChilds = parentRow[treeOpts.children] = []
22
+ }
23
+ parentChilds[funcName](item)
24
+ const rest = { row: item, rowid, index: -1, _index: -1, $index: -1, items: parentChilds, parent, level: parentLevel + 1 }
25
+ fullDataRowIdData[rowid] = rest
26
+ fullAllDataRowIdData[rowid] = rest
27
+ } else {
28
+ if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
29
+ if (parentRowId) {
30
+ UtilTools.warn('vxe.error.unableInsert')
31
+ }
32
+ }
33
+ afterFullData[funcName](item)
34
+ treeFullData[funcName](item)
35
+ const rest = { row: item, rowid, index: -1, _index: -1, $index: -1, items: treeFullData, parent: null, level: 0 }
36
+ fullDataRowIdData[rowid] = rest
37
+ fullAllDataRowIdData[rowid] = rest
38
+ }
39
+ })
40
+ _vm.updateVirtualTreeData()
41
+ }
42
+
8
43
  export default {
9
44
  methods: {
10
45
  /**
@@ -25,39 +60,15 @@ export default {
25
60
  */
26
61
  _insertAt (records, row) {
27
62
  const { treeFullData, mergeList, afterFullData, editStore, sYOpts, scrollYLoad, tableFullData, treeConfig, fullDataRowIdData, fullAllDataRowIdData, treeOpts } = this
63
+ const { transform } = treeOpts
28
64
  if (!XEUtils.isArray(records)) {
29
65
  records = [records]
30
66
  }
31
67
  const newRecords = records.map(record => this.defineField(Object.assign({}, record)))
32
68
  if (!row) {
33
69
  // 如果为虚拟树
34
- if (treeConfig && treeOpts.transform) {
35
- newRecords.forEach(item => {
36
- const parentRowId = item[treeOpts.parentField]
37
- const rowid = getRowid(this, item)
38
- if (parentRowId) {
39
- const matchObj = XEUtils.findTree(treeFullData, item => parentRowId === item[treeOpts.rowField], treeOpts)
40
- if (matchObj) {
41
- const { item: parentRow } = matchObj
42
- const parentRest = fullAllDataRowIdData[getRowid(this, parentRow)]
43
- const parentLevel = parentRest ? parentRest.level : 0
44
- let parentChilds = parentRow[treeOpts.children]
45
- if (!XEUtils.isArray(parentChilds)) {
46
- parentChilds = parentRow[treeOpts.children] = []
47
- }
48
- parentChilds.push(item)
49
- const rest = { row: item, rowid, index: -1, _index: -1, $index: -1, items: parentChilds, parent, level: parentLevel + 1 }
50
- fullDataRowIdData[rowid] = rest
51
- fullAllDataRowIdData[rowid] = rest
52
- } else {
53
- // 父节点不存在
54
- }
55
- } else {
56
- afterFullData.unshift(item)
57
- treeFullData.unshift(item)
58
- }
59
- })
60
- this.updateVirtualTreeData()
70
+ if (treeConfig && transform) {
71
+ insertTreeRow(this, newRecords, false)
61
72
  } else {
62
73
  afterFullData.unshift(...newRecords)
63
74
  tableFullData.unshift(...newRecords)
@@ -71,39 +82,78 @@ export default {
71
82
  }
72
83
  } else {
73
84
  if (row === -1) {
74
- afterFullData.push(...newRecords)
75
- tableFullData.push(...newRecords)
76
- // 刷新单元格合并
77
- mergeList.forEach(mergeItem => {
78
- const { row: mergeRowIndex, rowspan: mergeRowspan } = mergeItem
79
- if (mergeRowIndex + mergeRowspan > afterFullData.length) {
80
- mergeItem.rowspan = mergeRowspan + newRecords.length
81
- }
82
- })
83
- } else {
84
- if (treeConfig) {
85
- throw new Error(UtilTools.getLog('vxe.error.noTree', ['insert']))
86
- }
87
- const afIndex = afterFullData.indexOf(row)
88
- if (afIndex === -1) {
89
- throw new Error(UtilTools.error('vxe.error.unableInsert'))
85
+ // 如果为虚拟树
86
+ if (treeConfig && transform) {
87
+ insertTreeRow(this, newRecords, true)
88
+ } else {
89
+ afterFullData.push(...newRecords)
90
+ tableFullData.push(...newRecords)
91
+ // 刷新单元格合并
92
+ mergeList.forEach(mergeItem => {
93
+ const { row: mergeRowIndex, rowspan: mergeRowspan } = mergeItem
94
+ if (mergeRowIndex + mergeRowspan > afterFullData.length) {
95
+ mergeItem.rowspan = mergeRowspan + newRecords.length
96
+ }
97
+ })
90
98
  }
91
- afterFullData.splice(afIndex, 0, ...newRecords)
92
- tableFullData.splice(tableFullData.indexOf(row), 0, ...newRecords)
93
- // 刷新单元格合并
94
- mergeList.forEach(mergeItem => {
95
- const { row: mergeRowIndex, rowspan: mergeRowspan } = mergeItem
96
- if (mergeRowIndex > afIndex) {
97
- mergeItem.row = mergeRowIndex + newRecords.length
98
- } else if (mergeRowIndex + mergeRowspan > afIndex) {
99
- mergeItem.rowspan = mergeRowspan + newRecords.length
99
+ } else {
100
+ // 如果为虚拟树
101
+ if (treeConfig && transform) {
102
+ const matchObj = XEUtils.findTree(treeFullData, item => row[treeOpts.rowField] === item[treeOpts.rowField], treeOpts)
103
+ if (matchObj) {
104
+ const { parent: parentRow } = matchObj
105
+ const parentChilds = matchObj.items
106
+ const parentRest = fullAllDataRowIdData[getRowid(this, parentRow)]
107
+ const parentLevel = parentRest ? parentRest.level : 0
108
+ newRecords.forEach((item, i) => {
109
+ const rowid = getRowid(this, item)
110
+ if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
111
+ if (item[treeOpts.parentField]) {
112
+ if (parentRow && item[treeOpts.parentField] !== parentRow[treeOpts.rowField]) {
113
+ UtilTools.error('vxe.error.errProp', [`${treeOpts.parentField}=${item[treeOpts.parentField]}`, `${treeOpts.parentField}=${parentRow[treeOpts.rowField]}`])
114
+ }
115
+ }
116
+ }
117
+ if (parentRow) {
118
+ item[treeOpts.parentField] = parentRow[treeOpts.rowField]
119
+ }
120
+ parentChilds.splice(matchObj.index + i, 0, item)
121
+ const rest = { row: item, rowid, index: -1, _index: -1, $index: -1, items: parentChilds, parent: parentRow, level: parentLevel + 1 }
122
+ fullDataRowIdData[rowid] = rest
123
+ fullAllDataRowIdData[rowid] = rest
124
+ })
125
+ this.updateVirtualTreeData()
126
+ } else {
127
+ if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
128
+ UtilTools.warn('vxe.error.unableInsert')
129
+ }
130
+ insertTreeRow(this, newRecords, true)
100
131
  }
101
- })
132
+ } else {
133
+ if (treeConfig) {
134
+ throw new Error(UtilTools.getLog('vxe.error.noTree', ['insert']))
135
+ }
136
+ const afIndex = afterFullData.indexOf(row)
137
+ if (afIndex === -1) {
138
+ throw new Error(UtilTools.error('vxe.error.unableInsert'))
139
+ }
140
+ afterFullData.splice(afIndex, 0, ...newRecords)
141
+ tableFullData.splice(tableFullData.indexOf(row), 0, ...newRecords)
142
+ // 刷新单元格合并
143
+ mergeList.forEach(mergeItem => {
144
+ const { row: mergeRowIndex, rowspan: mergeRowspan } = mergeItem
145
+ if (mergeRowIndex > afIndex) {
146
+ mergeItem.row = mergeRowIndex + newRecords.length
147
+ } else if (mergeRowIndex + mergeRowspan > afIndex) {
148
+ mergeItem.rowspan = mergeRowspan + newRecords.length
149
+ }
150
+ })
151
+ }
102
152
  }
103
153
  }
104
154
  editStore.insertList.unshift(...newRecords)
105
155
  this.scrollYLoad = !treeConfig && sYOpts.gt > -1 && sYOpts.gt < tableFullData.length
106
- this.handleTableData()
156
+ this.handleTableData(transform)
107
157
  this.updateFooter()
108
158
  this.cacheRowMap()
109
159
  this.checkSelectionStatus()
@@ -128,6 +178,7 @@ export default {
128
178
  */
129
179
  _remove (rows) {
130
180
  const { afterFullData, tableFullData, treeFullData, treeConfig, mergeList, editStore, checkboxOpts, selection, isInsertByRow, sYOpts, scrollYLoad, treeOpts } = this
181
+ const { transform } = treeOpts
131
182
  const { actived, removeList, insertList } = editStore
132
183
  const { checkField: property } = checkboxOpts
133
184
  let rest = []
@@ -159,7 +210,7 @@ export default {
159
210
  this.clearMergeCells()
160
211
  } else {
161
212
  // 如果为虚拟树
162
- if (treeConfig && treeOpts.transform) {
213
+ if (treeConfig && transform) {
163
214
  rows.forEach((row) => {
164
215
  const rowid = getRowid(this, row)
165
216
  const matchObj = XEUtils.findTree(treeFullData, item => rowid === getRowid(this, item), treeOpts)
@@ -208,7 +259,7 @@ export default {
208
259
  }
209
260
  })
210
261
  this.scrollYLoad = !treeConfig && sYOpts.gt > -1 && sYOpts.gt < tableFullData.length
211
- this.handleTableData()
262
+ this.handleTableData(transform)
212
263
  this.updateFooter()
213
264
  this.cacheRowMap()
214
265
  this.checkSelectionStatus()
@@ -44,9 +44,16 @@ function getDateQuarter (date) {
44
44
  return 4
45
45
  }
46
46
 
47
+ function toFloatValueFixed (inputValue, digitsValue) {
48
+ if (/^-/.test('' + inputValue)) {
49
+ return XEUtils.toFixed(XEUtils.ceil(inputValue, digitsValue), digitsValue)
50
+ }
51
+ return XEUtils.toFixed(XEUtils.floor(inputValue, digitsValue), digitsValue)
52
+ }
53
+
47
54
  function getNumberValue (_vm, val) {
48
55
  const { type, exponential, digitsValue, inpMaxlength } = _vm
49
- const restVal = (type === 'float' ? XEUtils.toFixed(XEUtils.floor(val, digitsValue), digitsValue) : XEUtils.toValueString(val))
56
+ const restVal = (type === 'float' ? toFloatValueFixed(val, digitsValue) : XEUtils.toValueString(val))
50
57
  if (exponential && (val === restVal || XEUtils.toValueString(val).toLowerCase() === XEUtils.toNumber(restVal).toExponential())) {
51
58
  return val
52
59
  }
@@ -1255,7 +1262,7 @@ export default {
1255
1262
  this.changeValue()
1256
1263
  } else if (type === 'float') {
1257
1264
  if (inputValue) {
1258
- const validValue = XEUtils.toFixed(XEUtils.floor(inputValue, digitsValue), digitsValue)
1265
+ const validValue = toFloatValueFixed(inputValue, digitsValue)
1259
1266
  if (inputValue !== validValue) {
1260
1267
  this.emitModel(validValue, { type: 'init' })
1261
1268
  }
package/types/table.d.ts CHANGED
@@ -803,9 +803,12 @@ export declare class Table extends VXETableComponent {
803
803
  */
804
804
  insert(records: RecordInfo | RecordInfo[]): Promise<{ row: RowInfo, rows: RowInfo[] }>;
805
805
  /**
806
- * 往表格插入临时数据,从指定位置插入一行或多行;第二个参数:row 指定位置、null从第一行插入、-1 从最后插入
807
- * @param records 新数据
808
- * @param row 指定行
806
+ * 往表格指定行中插入临时数据
807
+ * 如果 row 为空则从插入到顶部,如果为树结构,则插入到目标节点顶部
808
+ * 如果 row 为 -1 则从插入到底部,如果为树结构,则插入到目标节点底部
809
+ * 如果 row 为有效行则插入到该行的位置,如果为树结构,则有插入到效的目标节点该行的位置
810
+ * @param {Object/Array} records 新的数据
811
+ * @param {Row} row 指定行
809
812
  */
810
813
  insertAt(records: RecordInfo | RecordInfo[], row: RowInfo | -1 | null): Promise<{ row: RowInfo, rows: RowInfo[] }>;
811
814
  /**