vxe-pc-ui 4.6.1 → 4.6.3

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 (64) hide show
  1. package/es/date-panel/src/date-panel.js +16 -3
  2. package/es/date-picker/src/date-picker.js +7 -4
  3. package/es/date-range-picker/src/date-range-picker.js +7 -6
  4. package/es/form/src/form-item.js +1 -0
  5. package/es/form/src/form.js +15 -6
  6. package/es/form/src/itemInfo.js +18 -0
  7. package/es/form/src/render.js +45 -5
  8. package/es/icon/style.css +1 -1
  9. package/es/style.css +1 -1
  10. package/es/style.min.css +1 -1
  11. package/es/ui/index.js +1 -1
  12. package/es/ui/src/log.js +1 -1
  13. package/helper/vetur/attributes.json +1 -1
  14. package/helper/vetur/tags.json +1 -1
  15. package/lib/date-panel/src/date-panel.js +15 -3
  16. package/lib/date-panel/src/date-panel.min.js +1 -1
  17. package/lib/date-picker/src/date-picker.js +8 -4
  18. package/lib/date-picker/src/date-picker.min.js +1 -1
  19. package/lib/date-range-picker/src/date-range-picker.js +7 -6
  20. package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
  21. package/lib/form/src/form-item.js +1 -0
  22. package/lib/form/src/form-item.min.js +1 -1
  23. package/lib/form/src/form.js +19 -6
  24. package/lib/form/src/form.min.js +1 -1
  25. package/lib/form/src/itemInfo.js +19 -0
  26. package/lib/form/src/itemInfo.min.js +1 -1
  27. package/lib/form/src/render.js +45 -3
  28. package/lib/form/src/render.min.js +1 -1
  29. package/lib/icon/style/style.css +1 -1
  30. package/lib/icon/style/style.min.css +1 -1
  31. package/lib/index.umd.js +116 -24
  32. package/lib/index.umd.min.js +1 -1
  33. package/lib/style.css +1 -1
  34. package/lib/style.min.css +1 -1
  35. package/lib/ui/index.js +1 -1
  36. package/lib/ui/index.min.js +1 -1
  37. package/lib/ui/src/log.js +1 -1
  38. package/lib/ui/src/log.min.js +1 -1
  39. package/package.json +1 -1
  40. package/packages/date-panel/src/date-panel.ts +14 -3
  41. package/packages/date-picker/src/date-picker.ts +8 -5
  42. package/packages/date-range-picker/src/date-range-picker.ts +7 -6
  43. package/packages/form/src/form-item.ts +1 -0
  44. package/packages/form/src/form.ts +15 -6
  45. package/packages/form/src/itemInfo.ts +18 -0
  46. package/packages/form/src/render.ts +44 -5
  47. package/types/components/date-panel.d.ts +3 -1
  48. package/types/components/date-picker.d.ts +2 -0
  49. package/types/components/date-range-picker.d.ts +2 -0
  50. package/types/components/form-item.d.ts +13 -0
  51. package/types/components/form.d.ts +8 -0
  52. package/types/ui/formats.d.ts +14 -0
  53. /package/es/icon/{iconfont.1746801282055.ttf → iconfont.1747005800508.ttf} +0 -0
  54. /package/es/icon/{iconfont.1746801282055.woff → iconfont.1747005800508.woff} +0 -0
  55. /package/es/icon/{iconfont.1746801282055.woff2 → iconfont.1747005800508.woff2} +0 -0
  56. /package/es/{iconfont.1746801282055.ttf → iconfont.1747005800508.ttf} +0 -0
  57. /package/es/{iconfont.1746801282055.woff → iconfont.1747005800508.woff} +0 -0
  58. /package/es/{iconfont.1746801282055.woff2 → iconfont.1747005800508.woff2} +0 -0
  59. /package/lib/icon/style/{iconfont.1746801282055.ttf → iconfont.1747005800508.ttf} +0 -0
  60. /package/lib/icon/style/{iconfont.1746801282055.woff → iconfont.1747005800508.woff} +0 -0
  61. /package/lib/icon/style/{iconfont.1746801282055.woff2 → iconfont.1747005800508.woff2} +0 -0
  62. /package/lib/{iconfont.1746801282055.ttf → iconfont.1747005800508.ttf} +0 -0
  63. /package/lib/{iconfont.1746801282055.woff → iconfont.1747005800508.woff} +0 -0
  64. /package/lib/{iconfont.1746801282055.woff2 → iconfont.1747005800508.woff2} +0 -0
package/lib/ui/index.js CHANGED
@@ -26,7 +26,7 @@ Object.keys(_core).forEach(function (key) {
26
26
  });
27
27
  var _dynamics = require("../dynamics");
28
28
  var _log = require("./src/log");
29
- const version = exports.version = "4.6.1";
29
+ const version = exports.version = "4.6.3";
30
30
  _core.VxeUI.uiVersion = version;
31
31
  _core.VxeUI.dynamicApp = _dynamics.dynamicApp;
32
32
  function config(options) {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={version:!0,config:!0,setup:!0},_core=(exports.config=config,exports.default=void 0,exports.setup=setup,exports.version=void 0,require("@vxe-ui/core")),_dynamics=(Object.keys(_core).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_core[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _core[e]}})}),require("../dynamics")),_log=require("./src/log");const version=exports.version="4.6.1";function config(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["config","setConfig"]),(0,_core.setConfig)(e)}function setup(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setup","setConfig"]),(0,_core.setConfig)(e)}_core.VxeUI.uiVersion=version,_core.VxeUI.dynamicApp=_dynamics.dynamicApp,_core.VxeUI.config=config,_core.VxeUI.setup=setup,(0,_core.setConfig)({alert:{},anchor:{},anchorLink:{},avatar:{},badge:{},breadcrumb:{separator:"/"},breadcrumbItem:{},button:{trigger:"hover",prefixTooltip:{enterable:!0},suffixTooltip:{enterable:!0}},buttonGroup:{},calendar:{minDate:new Date(1900,0,1),maxDate:new Date(2100,0,1),startDay:1,selectDay:1},card:{border:!0,padding:!0},carousel:{height:200,loop:!0,interval:5e3},carouselItem:{},checkbox:{},checkboxGroup:{},col:{},collapse:{padding:!0,expandConfig:{showIcon:!0}},collapsePane:{},countdown:{},colorPicker:{type:"hex",clearable:!0,showAlpha:!0,clickToCopy:!0,showColorExtractor:!0,showQuick:!0},datePanel:{startDate:new Date(1900,0,1),endDate:new Date(2100,0,1),startDay:1,selectDay:1},datePicker:{shortcutConfig:{align:"left",mode:"text",autoClose:!0},startDay:1,selectDay:1,autoClose:!0,showClearButton:null,showConfirmButton:null},dateRangePicker:{shortcutConfig:{align:"left",mode:"text",autoClose:!0},startDay:1,selectDay:1,separator:" ~ ",autoClose:!0,showClearButton:null,showConfirmButton:null},drawer:{position:"right",showHeader:!0,lockView:!0,mask:!0,showTitleOverflow:!0,showClose:!0,padding:!0,cancelClosable:!0,confirmClosable:!0},empty:{},form:{validConfig:{showMessage:!0,autoPos:!0,theme:"beautify"},tooltipConfig:{enterable:!0},titleAsterisk:!0,titleOverflow:!1,padding:!0},formDesign:{height:400,showHeader:!0,showPc:!0},formGather:{},formGroup:{},formItem:{},formView:{},icon:{},iconPicker:{icons:["home","company","comment","setting","send","envelope","envelope-open","bell","search","print","pc","goods","chart-line","edit","delete","save","folder","microphone","flag","link","location","sunny","rmb","usd","user","add-user","add-users","star","unlock","time","text","feedback","calendar","association-form","cloud-download","cloud-upload","file","subtable","chart-bar-x","chart-bar-y","chart-line","chart-pie","chart-radar"]},image:{showPreview:!0,showPrintButton:!0,maskClosable:!0},imageGroup:{showPreview:!0,showPrintButton:!0},imagePreview:{showPrintButton:!0},input:{startDate:new Date(1900,0,1),endDate:new Date(2100,0,1),startDay:1,selectDay:1,digits:2,controls:!0},layoutAside:{},layoutBody:{},layoutContainer:{},layoutFooter:{},layoutHeader:{},link:{underline:!0},listDesign:{height:400,showPc:!0},listView:{},list:{virtualYConfig:{enabled:!0,gt:100}},loading:{showIcon:!0,showText:!0},modal:{top:16,showHeader:!0,minWidth:340,minHeight:140,lockView:!0,mask:!0,duration:3e3,marginSize:0,dblclickZoom:!0,showTitleOverflow:!0,animat:!0,showClose:!0,padding:!0,draggable:!0,showConfirmButton:null,cancelClosable:!0,confirmClosable:!0,zoomConfig:{minimizeMaxSize:10,minimizeVerticalOffset:{top:-24,left:0},minimizeHorizontalOffset:{top:0,left:32}},storageKey:"VXE_MODAL_POSITION"},noticeBar:{},numberInput:{digits:2,autoFill:!0,controlConfig:{enabled:!0,layout:"right",showButton:!0,isWheel:!0}},optgroup:{},option:{},pager:{pageSizePlacement:"top"},print:{pageStyle:{}},passwordInput:{controls:!0},printPageBreak:{},pulldown:{destroyOnClose:!0},radio:{strict:!0},radioButton:{strict:!0},radioGroup:{strict:!0},rate:{},result:{},row:{},select:{multiCharOverflow:8,remoteConfig:{enabled:!0,autoLoad:!0},virtualYConfig:{enabled:!0,gt:100,oSize:2}},split:{resize:!0,itemConfig:{minWidth:40,minHeight:40}},splitPane:{},slider:{max:100,min:0},steps:{},switch:{},tabPane:{},tableSelect:{gridConfig:{showOverflow:!0,showHeaderOverflow:!0,showFooterOverflow:!0,rowConfig:{isHover:!0},virtualXConfig:{enabled:!0,gt:0},virtualYConfig:{enabled:!0,gt:0}}},tabs:{},tag:{},textEllipsis:{underline:!0},text:{},textarea:{resize:"none"},tip:{},tooltip:{trigger:"hover",theme:"dark",enterDelay:500,leaveDelay:300,isArrow:!0},tree:{indent:20,minHeight:60,radioConfig:{strict:!0}},treeSelect:{treeConfig:{radioConfig:{},checkboxConfig:{}}},upload:{mode:"all",imageTypes:["jpg","jpeg","png","gif"],showList:!0,showUploadButton:!0,showButtonText:!0,showRemoveButton:!0,showButtonIcon:!0,showPreview:!0,dragToUpload:!0,showLimitSize:!0,showLimitCount:!0},watermark:{rotate:-30,gap:[100,100]},table:{},colgroup:{},column:{},toolbar:{},grid:{}});const iconPrefix="vxe-icon-";(0,_core.setIcon)({LOADING:iconPrefix+"spinner roll vxe-loading--default-icon",BUTTON_DROPDOWN:iconPrefix+"arrow-down",BUTTON_LOADING:iconPrefix+"spinner roll",BUTTON_TOOLTIP_ICON:iconPrefix+"question-circle-fill",MENU_ITEM_EXPAND_OPEN:iconPrefix+"arrow-down rotate180",MENU_ITEM_EXPAND_CLOSE:iconPrefix+"arrow-down",SELECT_LOADED:iconPrefix+"spinner roll",SELECT_OPEN:iconPrefix+"caret-down rotate180",SELECT_CLOSE:iconPrefix+"caret-down",ADD_OPTION:iconPrefix+"add",ICON_PICKER_OPEN:iconPrefix+"caret-down rotate180",ICON_PICKER_CLOSE:iconPrefix+"caret-down",PAGER_HOME:iconPrefix+"home-page",PAGER_END:iconPrefix+"end-page",PAGER_JUMP_PREV:iconPrefix+"arrow-double-left",PAGER_JUMP_NEXT:iconPrefix+"arrow-double-right",PAGER_PREV_PAGE:iconPrefix+"arrow-left",PAGER_NEXT_PAGE:iconPrefix+"arrow-right",PAGER_JUMP_MORE:iconPrefix+"ellipsis-h",RADIO_CHECKED:iconPrefix+"radio-checked-fill",RADIO_UNCHECKED:iconPrefix+"radio-unchecked",CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",INPUT_CLEAR:iconPrefix+"error-circle-fill",INPUT_SEARCH:iconPrefix+"search",INPUT_PLUS_NUM:iconPrefix+"caret-up",INPUT_MINUS_NUM:iconPrefix+"caret-down",NUMBER_INPUT_MINUS_NUM:iconPrefix+"minus",NUMBER_INPUT_PLUS_NUM:iconPrefix+"add",DATE_PICKER_DATE:iconPrefix+"calendar",PASSWORD_INPUT_SHOW_PWD:iconPrefix+"eye-fill-close",PASSWORD_INPUT_HIDE_PWD:iconPrefix+"eye-fill",MODAL_ZOOM_MIN:iconPrefix+"minus",MODAL_ZOOM_REVERT:iconPrefix+"recover",MODAL_ZOOM_IN:iconPrefix+"square",MODAL_ZOOM_OUT:iconPrefix+"maximize",MODAL_CLOSE:iconPrefix+"close",MODAL_INFO:iconPrefix+"info-circle-fill",MODAL_SUCCESS:iconPrefix+"success-circle-fill",MODAL_WARNING:iconPrefix+"warning-circle-fill",MODAL_ERROR:iconPrefix+"error-circle-fill",MODAL_QUESTION:iconPrefix+"question-circle-fill",MODAL_LOADING:iconPrefix+"spinner roll",DRAWER_CLOSE:iconPrefix+"close",FORM_PREFIX:iconPrefix+"question-circle-fill",FORM_SUFFIX:iconPrefix+"question-circle-fill",FORM_FOLDING:iconPrefix+"arrow-up rotate180",FORM_UNFOLDING:iconPrefix+"arrow-up",FORM_DESIGN_STYLE_SETTING:iconPrefix+"layout",FORM_DESIGN_PROPS_PC:iconPrefix+"pc",FORM_DESIGN_PROPS_MOBILE:iconPrefix+"mobile",FORM_DESIGN_PROPS_ADD:iconPrefix+"add",FORM_DESIGN_PROPS_EDIT:iconPrefix+"edit",FORM_DESIGN_WIDGET_ADD:iconPrefix+"square-plus-fill",FORM_DESIGN_WIDGET_COPY:iconPrefix+"copy",FORM_DESIGN_WIDGET_DELETE:iconPrefix+"delete",FORM_DESIGN_WIDGET_SWAP_LR:iconPrefix+"swap",FORM_DESIGN_WIDGET_OPTION_DELETE:iconPrefix+"delete",FORM_DESIGN_WIDGET_OPTION_EXPAND_OPEN:iconPrefix+"square-plus",FORM_DESIGN_WIDGET_OPTION_EXPAND_CLOSE:iconPrefix+"square-minus",LIST_DESIGN_FIELD_SETTING:iconPrefix+"custom-column",LIST_DESIGN_LIST_SETTING:iconPrefix+"menu",LIST_DESIGN_LIST_SETTING_SEARCH_DELETE:iconPrefix+"delete",LIST_DESIGN_LIST_SETTING_ACTIVE_DELETE:iconPrefix+"delete",UPLOAD_FILE_ERROR:iconPrefix+"warning-circle-fill",UPLOAD_FILE_ADD:iconPrefix+"upload",UPLOAD_FILE_REMOVE:iconPrefix+"delete",UPLOAD_FILE_DOWNLOAD:iconPrefix+"download",UPLOAD_IMAGE_RE_UPLOAD:iconPrefix+"repeat",UPLOAD_IMAGE_ADD:iconPrefix+"add",UPLOAD_IMAGE_REMOVE:iconPrefix+"close",UPLOAD_LOADING:iconPrefix+"spinner roll vxe-loading--default-icon",UPLOAD_FILE_TYPE_DEFAULT:iconPrefix+"file",UPLOAD_FILE_TYPE_XLSX:iconPrefix+"file-excel",UPLOAD_FILE_TYPE_XLS:iconPrefix+"file-excel",UPLOAD_FILE_TYPE_PDF:iconPrefix+"file-pdf",UPLOAD_FILE_TYPE_PNG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_GIF:iconPrefix+"file-image",UPLOAD_FILE_TYPE_JPG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_JPEG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_MD:iconPrefix+"file-markdown",UPLOAD_FILE_TYPE_PPD:iconPrefix+"file-ppt",UPLOAD_FILE_TYPE_DOCX:iconPrefix+"file-word",UPLOAD_FILE_TYPE_DOC:iconPrefix+"file-word",UPLOAD_FILE_TYPE_ZIP:iconPrefix+"file-zip",UPLOAD_FILE_TYPE_TXT:iconPrefix+"file-txt",IMAGE_PREVIEW_CLOSE:iconPrefix+"close",IMAGE_PREVIEW_PREVIOUS:iconPrefix+"arrow-left",IMAGE_PREVIEW_NEXT:iconPrefix+"arrow-right",IMAGE_PREVIEW_PCT_FULL:iconPrefix+"pct-full",IMAGE_PREVIEW_PCT_1_1:iconPrefix+"pct-1-1",IMAGE_PREVIEW_ZOOM_OUT:iconPrefix+"search-zoom-out",IMAGE_PREVIEW_ZOOM_IN:iconPrefix+"search-zoom-in",IMAGE_PREVIEW_ROTATE_LEFT:iconPrefix+"rotate-left",IMAGE_PREVIEW_ROTATE_RIGHT:iconPrefix+"rotate-right",IMAGE_PREVIEW_PRINT:iconPrefix+"print",IMAGE_PREVIEW_DOWNLOAD:iconPrefix+"download",ALERT_CLOSE:iconPrefix+"close",ALERT_INFO:iconPrefix+"info-circle-fill",ALERT_SUCCESS:iconPrefix+"success-circle-fill",ALERT_WARNING:iconPrefix+"warning-circle-fill",ALERT_ERROR:iconPrefix+"error-circle-fill",TREE_NODE_OPEN:iconPrefix+"caret-right rotate90",TREE_NODE_CLOSE:iconPrefix+"caret-right",TREE_NODE_LOADED:iconPrefix+"spinner roll",TREE_SELECT_LOADED:iconPrefix+"spinner roll",TREE_SELECT_OPEN:iconPrefix+"caret-down rotate180",TREE_SELECT_CLOSE:iconPrefix+"caret-down",TABLE_SELECT_LOADED:iconPrefix+"spinner roll",TABLE_SELECT_OPEN:iconPrefix+"caret-down rotate180",TABLE_SELECT_CLOSE:iconPrefix+"caret-down",TABS_TAB_BUTTON_LEFT:iconPrefix+"arrow-left",TABS_TAB_BUTTON_RIGHT:iconPrefix+"arrow-right",TABS_TAB_CLOSE:iconPrefix+"close",TABS_TAB_REFRESH:iconPrefix+"refresh",TABS_TAB_REFRESH_LOADING:iconPrefix+"refresh roll",TEXT_COPY:iconPrefix+"copy",TEXT_LOADING:iconPrefix+"spinner roll",CAROUSEL_HORIZONTAL_PREVIOUS:iconPrefix+"arrow-left",CAROUSEL_HORIZONTAL_NEXT:iconPrefix+"arrow-right",CAROUSEL_VERTICAL_PREVIOUS:iconPrefix+"arrow-up",CAROUSEL_VERTICAL_NEXT:iconPrefix+"arrow-down",COLLAPSE_OPEN:iconPrefix+"arrow-right rotate90",COLLAPSE_CLOSE:iconPrefix+"arrow-right",EMPTY_DEFAULT:iconPrefix+"empty",RESULT_INFO:iconPrefix+"info-circle-fill",RESULT_SUCCESS:iconPrefix+"success-circle-fill",RESULT_WARNING:iconPrefix+"warning-circle-fill",RESULT_ERROR:iconPrefix+"error-circle-fill",RESULT_QUESTION:iconPrefix+"question-circle-fill",RESULT_LOADING:iconPrefix+"spinner roll",RATE_CHECKED:iconPrefix+"star-fill",RATE_UNCHECKED:iconPrefix+"star",COLOR_COPY:iconPrefix+"copy",EYE_DROPPER:iconPrefix+"dropper",SPLIT_TOP_ACTION:iconPrefix+"arrow-up",SPLIT_BOTTOM_ACTION:iconPrefix+"arrow-down",SPLIT_LEFT_ACTION:iconPrefix+"arrow-left",SPLIT_RIGHT_ACTION:iconPrefix+"arrow-right"});var _default=exports.default=_core.VxeUI;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={version:!0,config:!0,setup:!0},_core=(exports.config=config,exports.default=void 0,exports.setup=setup,exports.version=void 0,require("@vxe-ui/core")),_dynamics=(Object.keys(_core).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_core[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _core[e]}})}),require("../dynamics")),_log=require("./src/log");const version=exports.version="4.6.3";function config(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["config","setConfig"]),(0,_core.setConfig)(e)}function setup(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setup","setConfig"]),(0,_core.setConfig)(e)}_core.VxeUI.uiVersion=version,_core.VxeUI.dynamicApp=_dynamics.dynamicApp,_core.VxeUI.config=config,_core.VxeUI.setup=setup,(0,_core.setConfig)({alert:{},anchor:{},anchorLink:{},avatar:{},badge:{},breadcrumb:{separator:"/"},breadcrumbItem:{},button:{trigger:"hover",prefixTooltip:{enterable:!0},suffixTooltip:{enterable:!0}},buttonGroup:{},calendar:{minDate:new Date(1900,0,1),maxDate:new Date(2100,0,1),startDay:1,selectDay:1},card:{border:!0,padding:!0},carousel:{height:200,loop:!0,interval:5e3},carouselItem:{},checkbox:{},checkboxGroup:{},col:{},collapse:{padding:!0,expandConfig:{showIcon:!0}},collapsePane:{},countdown:{},colorPicker:{type:"hex",clearable:!0,showAlpha:!0,clickToCopy:!0,showColorExtractor:!0,showQuick:!0},datePanel:{startDate:new Date(1900,0,1),endDate:new Date(2100,0,1),startDay:1,selectDay:1},datePicker:{shortcutConfig:{align:"left",mode:"text",autoClose:!0},startDay:1,selectDay:1,autoClose:!0,showClearButton:null,showConfirmButton:null},dateRangePicker:{shortcutConfig:{align:"left",mode:"text",autoClose:!0},startDay:1,selectDay:1,separator:" ~ ",autoClose:!0,showClearButton:null,showConfirmButton:null},drawer:{position:"right",showHeader:!0,lockView:!0,mask:!0,showTitleOverflow:!0,showClose:!0,padding:!0,cancelClosable:!0,confirmClosable:!0},empty:{},form:{validConfig:{showMessage:!0,autoPos:!0,theme:"beautify"},tooltipConfig:{enterable:!0},titleAsterisk:!0,titleOverflow:!1,padding:!0},formDesign:{height:400,showHeader:!0,showPc:!0},formGather:{},formGroup:{},formItem:{},formView:{},icon:{},iconPicker:{icons:["home","company","comment","setting","send","envelope","envelope-open","bell","search","print","pc","goods","chart-line","edit","delete","save","folder","microphone","flag","link","location","sunny","rmb","usd","user","add-user","add-users","star","unlock","time","text","feedback","calendar","association-form","cloud-download","cloud-upload","file","subtable","chart-bar-x","chart-bar-y","chart-line","chart-pie","chart-radar"]},image:{showPreview:!0,showPrintButton:!0,maskClosable:!0},imageGroup:{showPreview:!0,showPrintButton:!0},imagePreview:{showPrintButton:!0},input:{startDate:new Date(1900,0,1),endDate:new Date(2100,0,1),startDay:1,selectDay:1,digits:2,controls:!0},layoutAside:{},layoutBody:{},layoutContainer:{},layoutFooter:{},layoutHeader:{},link:{underline:!0},listDesign:{height:400,showPc:!0},listView:{},list:{virtualYConfig:{enabled:!0,gt:100}},loading:{showIcon:!0,showText:!0},modal:{top:16,showHeader:!0,minWidth:340,minHeight:140,lockView:!0,mask:!0,duration:3e3,marginSize:0,dblclickZoom:!0,showTitleOverflow:!0,animat:!0,showClose:!0,padding:!0,draggable:!0,showConfirmButton:null,cancelClosable:!0,confirmClosable:!0,zoomConfig:{minimizeMaxSize:10,minimizeVerticalOffset:{top:-24,left:0},minimizeHorizontalOffset:{top:0,left:32}},storageKey:"VXE_MODAL_POSITION"},noticeBar:{},numberInput:{digits:2,autoFill:!0,controlConfig:{enabled:!0,layout:"right",showButton:!0,isWheel:!0}},optgroup:{},option:{},pager:{pageSizePlacement:"top"},print:{pageStyle:{}},passwordInput:{controls:!0},printPageBreak:{},pulldown:{destroyOnClose:!0},radio:{strict:!0},radioButton:{strict:!0},radioGroup:{strict:!0},rate:{},result:{},row:{},select:{multiCharOverflow:8,remoteConfig:{enabled:!0,autoLoad:!0},virtualYConfig:{enabled:!0,gt:100,oSize:2}},split:{resize:!0,itemConfig:{minWidth:40,minHeight:40}},splitPane:{},slider:{max:100,min:0},steps:{},switch:{},tabPane:{},tableSelect:{gridConfig:{showOverflow:!0,showHeaderOverflow:!0,showFooterOverflow:!0,rowConfig:{isHover:!0},virtualXConfig:{enabled:!0,gt:0},virtualYConfig:{enabled:!0,gt:0}}},tabs:{},tag:{},textEllipsis:{underline:!0},text:{},textarea:{resize:"none"},tip:{},tooltip:{trigger:"hover",theme:"dark",enterDelay:500,leaveDelay:300,isArrow:!0},tree:{indent:20,minHeight:60,radioConfig:{strict:!0}},treeSelect:{treeConfig:{radioConfig:{},checkboxConfig:{}}},upload:{mode:"all",imageTypes:["jpg","jpeg","png","gif"],showList:!0,showUploadButton:!0,showButtonText:!0,showRemoveButton:!0,showButtonIcon:!0,showPreview:!0,dragToUpload:!0,showLimitSize:!0,showLimitCount:!0},watermark:{rotate:-30,gap:[100,100]},table:{},colgroup:{},column:{},toolbar:{},grid:{}});const iconPrefix="vxe-icon-";(0,_core.setIcon)({LOADING:iconPrefix+"spinner roll vxe-loading--default-icon",BUTTON_DROPDOWN:iconPrefix+"arrow-down",BUTTON_LOADING:iconPrefix+"spinner roll",BUTTON_TOOLTIP_ICON:iconPrefix+"question-circle-fill",MENU_ITEM_EXPAND_OPEN:iconPrefix+"arrow-down rotate180",MENU_ITEM_EXPAND_CLOSE:iconPrefix+"arrow-down",SELECT_LOADED:iconPrefix+"spinner roll",SELECT_OPEN:iconPrefix+"caret-down rotate180",SELECT_CLOSE:iconPrefix+"caret-down",ADD_OPTION:iconPrefix+"add",ICON_PICKER_OPEN:iconPrefix+"caret-down rotate180",ICON_PICKER_CLOSE:iconPrefix+"caret-down",PAGER_HOME:iconPrefix+"home-page",PAGER_END:iconPrefix+"end-page",PAGER_JUMP_PREV:iconPrefix+"arrow-double-left",PAGER_JUMP_NEXT:iconPrefix+"arrow-double-right",PAGER_PREV_PAGE:iconPrefix+"arrow-left",PAGER_NEXT_PAGE:iconPrefix+"arrow-right",PAGER_JUMP_MORE:iconPrefix+"ellipsis-h",RADIO_CHECKED:iconPrefix+"radio-checked-fill",RADIO_UNCHECKED:iconPrefix+"radio-unchecked",CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",INPUT_CLEAR:iconPrefix+"error-circle-fill",INPUT_SEARCH:iconPrefix+"search",INPUT_PLUS_NUM:iconPrefix+"caret-up",INPUT_MINUS_NUM:iconPrefix+"caret-down",NUMBER_INPUT_MINUS_NUM:iconPrefix+"minus",NUMBER_INPUT_PLUS_NUM:iconPrefix+"add",DATE_PICKER_DATE:iconPrefix+"calendar",PASSWORD_INPUT_SHOW_PWD:iconPrefix+"eye-fill-close",PASSWORD_INPUT_HIDE_PWD:iconPrefix+"eye-fill",MODAL_ZOOM_MIN:iconPrefix+"minus",MODAL_ZOOM_REVERT:iconPrefix+"recover",MODAL_ZOOM_IN:iconPrefix+"square",MODAL_ZOOM_OUT:iconPrefix+"maximize",MODAL_CLOSE:iconPrefix+"close",MODAL_INFO:iconPrefix+"info-circle-fill",MODAL_SUCCESS:iconPrefix+"success-circle-fill",MODAL_WARNING:iconPrefix+"warning-circle-fill",MODAL_ERROR:iconPrefix+"error-circle-fill",MODAL_QUESTION:iconPrefix+"question-circle-fill",MODAL_LOADING:iconPrefix+"spinner roll",DRAWER_CLOSE:iconPrefix+"close",FORM_PREFIX:iconPrefix+"question-circle-fill",FORM_SUFFIX:iconPrefix+"question-circle-fill",FORM_FOLDING:iconPrefix+"arrow-up rotate180",FORM_UNFOLDING:iconPrefix+"arrow-up",FORM_DESIGN_STYLE_SETTING:iconPrefix+"layout",FORM_DESIGN_PROPS_PC:iconPrefix+"pc",FORM_DESIGN_PROPS_MOBILE:iconPrefix+"mobile",FORM_DESIGN_PROPS_ADD:iconPrefix+"add",FORM_DESIGN_PROPS_EDIT:iconPrefix+"edit",FORM_DESIGN_WIDGET_ADD:iconPrefix+"square-plus-fill",FORM_DESIGN_WIDGET_COPY:iconPrefix+"copy",FORM_DESIGN_WIDGET_DELETE:iconPrefix+"delete",FORM_DESIGN_WIDGET_SWAP_LR:iconPrefix+"swap",FORM_DESIGN_WIDGET_OPTION_DELETE:iconPrefix+"delete",FORM_DESIGN_WIDGET_OPTION_EXPAND_OPEN:iconPrefix+"square-plus",FORM_DESIGN_WIDGET_OPTION_EXPAND_CLOSE:iconPrefix+"square-minus",LIST_DESIGN_FIELD_SETTING:iconPrefix+"custom-column",LIST_DESIGN_LIST_SETTING:iconPrefix+"menu",LIST_DESIGN_LIST_SETTING_SEARCH_DELETE:iconPrefix+"delete",LIST_DESIGN_LIST_SETTING_ACTIVE_DELETE:iconPrefix+"delete",UPLOAD_FILE_ERROR:iconPrefix+"warning-circle-fill",UPLOAD_FILE_ADD:iconPrefix+"upload",UPLOAD_FILE_REMOVE:iconPrefix+"delete",UPLOAD_FILE_DOWNLOAD:iconPrefix+"download",UPLOAD_IMAGE_RE_UPLOAD:iconPrefix+"repeat",UPLOAD_IMAGE_ADD:iconPrefix+"add",UPLOAD_IMAGE_REMOVE:iconPrefix+"close",UPLOAD_LOADING:iconPrefix+"spinner roll vxe-loading--default-icon",UPLOAD_FILE_TYPE_DEFAULT:iconPrefix+"file",UPLOAD_FILE_TYPE_XLSX:iconPrefix+"file-excel",UPLOAD_FILE_TYPE_XLS:iconPrefix+"file-excel",UPLOAD_FILE_TYPE_PDF:iconPrefix+"file-pdf",UPLOAD_FILE_TYPE_PNG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_GIF:iconPrefix+"file-image",UPLOAD_FILE_TYPE_JPG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_JPEG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_MD:iconPrefix+"file-markdown",UPLOAD_FILE_TYPE_PPD:iconPrefix+"file-ppt",UPLOAD_FILE_TYPE_DOCX:iconPrefix+"file-word",UPLOAD_FILE_TYPE_DOC:iconPrefix+"file-word",UPLOAD_FILE_TYPE_ZIP:iconPrefix+"file-zip",UPLOAD_FILE_TYPE_TXT:iconPrefix+"file-txt",IMAGE_PREVIEW_CLOSE:iconPrefix+"close",IMAGE_PREVIEW_PREVIOUS:iconPrefix+"arrow-left",IMAGE_PREVIEW_NEXT:iconPrefix+"arrow-right",IMAGE_PREVIEW_PCT_FULL:iconPrefix+"pct-full",IMAGE_PREVIEW_PCT_1_1:iconPrefix+"pct-1-1",IMAGE_PREVIEW_ZOOM_OUT:iconPrefix+"search-zoom-out",IMAGE_PREVIEW_ZOOM_IN:iconPrefix+"search-zoom-in",IMAGE_PREVIEW_ROTATE_LEFT:iconPrefix+"rotate-left",IMAGE_PREVIEW_ROTATE_RIGHT:iconPrefix+"rotate-right",IMAGE_PREVIEW_PRINT:iconPrefix+"print",IMAGE_PREVIEW_DOWNLOAD:iconPrefix+"download",ALERT_CLOSE:iconPrefix+"close",ALERT_INFO:iconPrefix+"info-circle-fill",ALERT_SUCCESS:iconPrefix+"success-circle-fill",ALERT_WARNING:iconPrefix+"warning-circle-fill",ALERT_ERROR:iconPrefix+"error-circle-fill",TREE_NODE_OPEN:iconPrefix+"caret-right rotate90",TREE_NODE_CLOSE:iconPrefix+"caret-right",TREE_NODE_LOADED:iconPrefix+"spinner roll",TREE_SELECT_LOADED:iconPrefix+"spinner roll",TREE_SELECT_OPEN:iconPrefix+"caret-down rotate180",TREE_SELECT_CLOSE:iconPrefix+"caret-down",TABLE_SELECT_LOADED:iconPrefix+"spinner roll",TABLE_SELECT_OPEN:iconPrefix+"caret-down rotate180",TABLE_SELECT_CLOSE:iconPrefix+"caret-down",TABS_TAB_BUTTON_LEFT:iconPrefix+"arrow-left",TABS_TAB_BUTTON_RIGHT:iconPrefix+"arrow-right",TABS_TAB_CLOSE:iconPrefix+"close",TABS_TAB_REFRESH:iconPrefix+"refresh",TABS_TAB_REFRESH_LOADING:iconPrefix+"refresh roll",TEXT_COPY:iconPrefix+"copy",TEXT_LOADING:iconPrefix+"spinner roll",CAROUSEL_HORIZONTAL_PREVIOUS:iconPrefix+"arrow-left",CAROUSEL_HORIZONTAL_NEXT:iconPrefix+"arrow-right",CAROUSEL_VERTICAL_PREVIOUS:iconPrefix+"arrow-up",CAROUSEL_VERTICAL_NEXT:iconPrefix+"arrow-down",COLLAPSE_OPEN:iconPrefix+"arrow-right rotate90",COLLAPSE_CLOSE:iconPrefix+"arrow-right",EMPTY_DEFAULT:iconPrefix+"empty",RESULT_INFO:iconPrefix+"info-circle-fill",RESULT_SUCCESS:iconPrefix+"success-circle-fill",RESULT_WARNING:iconPrefix+"warning-circle-fill",RESULT_ERROR:iconPrefix+"error-circle-fill",RESULT_QUESTION:iconPrefix+"question-circle-fill",RESULT_LOADING:iconPrefix+"spinner roll",RATE_CHECKED:iconPrefix+"star-fill",RATE_UNCHECKED:iconPrefix+"star",COLOR_COPY:iconPrefix+"copy",EYE_DROPPER:iconPrefix+"dropper",SPLIT_TOP_ACTION:iconPrefix+"arrow-up",SPLIT_BOTTOM_ACTION:iconPrefix+"arrow-down",SPLIT_LEFT_ACTION:iconPrefix+"arrow-left",SPLIT_RIGHT_ACTION:iconPrefix+"arrow-right"});var _default=exports.default=_core.VxeUI;
package/lib/ui/src/log.js CHANGED
@@ -5,6 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.warnLog = exports.errLog = void 0;
7
7
  var _core = require("@vxe-ui/core");
8
- const version = `ui v${"4.6.1"}`;
8
+ const version = `ui v${"4.6.3"}`;
9
9
  const warnLog = exports.warnLog = _core.log.create('warn', version);
10
10
  const errLog = exports.errLog = _core.log.create('error', version);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");const version="ui v4.6.1",warnLog=exports.warnLog=_core.log.create("warn",version),errLog=exports.errLog=_core.log.create("error",version);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");const version="ui v4.6.3",warnLog=exports.warnLog=_core.log.create("warn",version),errLog=exports.errLog=_core.log.create("error",version);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-pc-ui",
3
- "version": "4.6.1",
3
+ "version": "4.6.3",
4
4
  "description": "A vue based PC component library",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -33,6 +33,7 @@ export default defineComponent({
33
33
  type: [String, Number, Date] as PropType<VxeDatePanelPropTypes.EndDate>,
34
34
  default: () => getConfig().datePanel.endDate
35
35
  },
36
+ defaultDate: [String, Number, Date] as PropType<VxeDatePanelPropTypes.DefaultDate>,
36
37
  minDate: [String, Number, Date] as PropType<VxeDatePanelPropTypes.MinDate>,
37
38
  maxDate: [String, Number, Date] as PropType<VxeDatePanelPropTypes.MaxDate>,
38
39
  startDay: {
@@ -1026,8 +1027,9 @@ export default defineComponent({
1026
1027
  }
1027
1028
 
1028
1029
  const dateOpenPanel = () => {
1029
- const { type } = props
1030
+ const { type, defaultDate } = props
1030
1031
  const isDateTimeType = computeIsDateTimeType.value
1032
+ const dateValueFormat = computeDateValueFormat.value
1031
1033
  const dateValue = computeDateValue.value
1032
1034
  if (['year', 'quarter', 'month', 'week'].indexOf(type) > -1) {
1033
1035
  reactData.datePanelType = type as 'year' | 'quarter' | 'month' | 'week'
@@ -1039,7 +1041,16 @@ export default defineComponent({
1039
1041
  dateMonthHandle(dateValue, 0)
1040
1042
  dateParseValue(dateValue)
1041
1043
  } else {
1042
- dateNowHandle()
1044
+ if (defaultDate) {
1045
+ const defDate = parseDate(defaultDate, dateValueFormat)
1046
+ if (XEUtils.isValidDate(defDate)) {
1047
+ dateMonthHandle(defDate, 0)
1048
+ } else {
1049
+ dateNowHandle()
1050
+ }
1051
+ } else {
1052
+ dateNowHandle()
1053
+ }
1043
1054
  }
1044
1055
  if (isDateTimeType) {
1045
1056
  reactData.datetimePanelValue = reactData.datePanelValue || XEUtils.getWhatDay(Date.now(), 0, 'first')
@@ -1059,7 +1070,7 @@ export default defineComponent({
1059
1070
  const datePanelMethods: DatePanelMethods = {
1060
1071
  dispatchEvent,
1061
1072
 
1062
- getValue () {
1073
+ getModelValue () {
1063
1074
  return reactData.inputValue
1064
1075
  },
1065
1076
  setPanelDate (date) {
@@ -57,13 +57,14 @@ export default defineComponent({
57
57
 
58
58
  // date、week、month、quarter、year
59
59
  startDate: {
60
- type: [String, Number, Date] as PropType<VxeDatePickerPropTypes.MinDate>,
60
+ type: [String, Number, Date] as PropType<VxeDatePickerPropTypes.StartDate>,
61
61
  default: () => getConfig().datePicker.startDate
62
62
  },
63
63
  endDate: {
64
64
  type: [String, Number, Date] as PropType<VxeDatePickerPropTypes.MaxDate>,
65
65
  default: () => getConfig().datePicker.endDate
66
66
  },
67
+ defaultDate: [String, Number, Date] as PropType<VxeDatePickerPropTypes.DefaultDate>,
67
68
  minDate: [String, Number, Date] as PropType<VxeDatePickerPropTypes.MinDate>,
68
69
  maxDate: [String, Number, Date] as PropType<VxeDatePickerPropTypes.MaxDate>,
69
70
  startDay: {
@@ -441,12 +442,14 @@ export default defineComponent({
441
442
  }
442
443
 
443
444
  const panelChangeEvent = (params: any) => {
444
- const { multiple } = props
445
+ const { multiple, autoClose } = props
445
446
  const { value, $event } = params
446
447
  const isDateTimeType = computeIsDateTimeType.value
447
448
  handleChange(value, $event)
448
449
  if (!multiple && !isDateTimeType) {
449
- hidePanel()
450
+ if (autoClose) {
451
+ hidePanel()
452
+ }
450
453
  }
451
454
  }
452
455
 
@@ -805,6 +808,7 @@ export default defineComponent({
805
808
  startDate: props.startDate,
806
809
  endDate: props.endDate,
807
810
  minDate: props.minDate,
811
+ defaultDate: props.defaultDate,
808
812
  maxDate: props.maxDate,
809
813
  startDay: props.startDay,
810
814
  labelFormat: props.labelFormat,
@@ -812,8 +816,7 @@ export default defineComponent({
812
816
  festivalMethod: props.festivalMethod,
813
817
  disabledMethod: props.disabledMethod,
814
818
  selectDay: props.selectDay,
815
- onChange: panelChangeEvent,
816
- onDateToday: hidePanel
819
+ onChange: panelChangeEvent
817
820
  })
818
821
  ]),
819
822
  h('div', {
@@ -54,6 +54,7 @@ export default defineComponent({
54
54
 
55
55
  minDate: [String, Number, Date] as PropType<VxeDateRangePickerPropTypes.MinDate>,
56
56
  maxDate: [String, Number, Date] as PropType<VxeDateRangePickerPropTypes.MaxDate>,
57
+ defaultDate: [String, Number, Date] as PropType<VxeDateRangePickerPropTypes.DefaultDate>,
57
58
  startDay: {
58
59
  type: [String, Number] as PropType<VxeDateRangePickerPropTypes.StartDay>,
59
60
  default: () => getConfig().dateRangePicker.startDay
@@ -474,8 +475,8 @@ export default defineComponent({
474
475
  const $startDatePanel = refStartDatePanel.value
475
476
  const $endDatePanel = refEndDatePanel.value
476
477
  if ($startDatePanel && $endDatePanel) {
477
- const startValue = $startDatePanel.getValue()
478
- const endValue = $endDatePanel.getValue()
478
+ const startValue = $startDatePanel.getModelValue()
479
+ const endValue = $endDatePanel.getModelValue()
479
480
  if (!startValue || !endValue) {
480
481
  handleChange('', '', { type: 'check' })
481
482
  }
@@ -538,8 +539,8 @@ export default defineComponent({
538
539
  const $startDatePanel = refStartDatePanel.value
539
540
  const $endDatePanel = refEndDatePanel.value
540
541
  if ($startDatePanel && $endDatePanel) {
541
- const startValue = $startDatePanel.getValue()
542
- const endValue = $endDatePanel.getValue()
542
+ const startValue = $startDatePanel.getModelValue()
543
+ const endValue = $endDatePanel.getModelValue()
543
544
  if (startValue && endValue) {
544
545
  $startDatePanel.confirmByEvent(evnt)
545
546
  $endDatePanel.confirmByEvent(evnt)
@@ -563,7 +564,7 @@ export default defineComponent({
563
564
  const $startDatePanel = refStartDatePanel.value
564
565
  const $endDatePanel = refEndDatePanel.value
565
566
  if ($startDatePanel && $endDatePanel) {
566
- const startValue = $startDatePanel.getValue()
567
+ const startValue = $startDatePanel.getModelValue()
567
568
  if (!endValue && startValue) {
568
569
  $endDatePanel.setPanelDate(XEUtils.toStringDate(startValue))
569
570
  }
@@ -584,7 +585,7 @@ export default defineComponent({
584
585
  const $startDatePanel = refStartDatePanel.value
585
586
  const $endDatePanel = refEndDatePanel.value
586
587
  if ($startDatePanel && $endDatePanel) {
587
- const endValue = $endDatePanel.getValue()
588
+ const endValue = $endDatePanel.getModelValue()
588
589
  if (!startValue && endValue) {
589
590
  $startDatePanel.setPanelDate(XEUtils.toStringDate(endValue))
590
591
  }
@@ -58,6 +58,7 @@ export const formItemProps = {
58
58
  type: Boolean as PropType<VxeFormItemPropTypes.Padding>,
59
59
  default: null
60
60
  },
61
+ formatter: [String, Function] as PropType<VxeFormItemPropTypes.Formatter>,
61
62
  className: [String, Function] as PropType<VxeFormItemPropTypes.ClassName>,
62
63
  contentClassName: [String, Function] as PropType<VxeFormItemPropTypes.ContentClassName>,
63
64
  contentStyle: [Object, Function] as PropType<VxeFormItemPropTypes.ContentStyle>,
@@ -173,7 +173,8 @@ export default defineComponent({
173
173
  tooltipStore: {
174
174
  item: null,
175
175
  visible: false
176
- }
176
+ },
177
+ itemFormatCache: {}
177
178
  })
178
179
 
179
180
  const refElem = ref<HTMLFormElement>()
@@ -209,6 +210,7 @@ export default defineComponent({
209
210
  props,
210
211
  context,
211
212
  reactData,
213
+ internalData,
212
214
 
213
215
  xeGrid: $xeGrid,
214
216
  getRefMaps: () => refMaps,
@@ -242,6 +244,7 @@ export default defineComponent({
242
244
  })
243
245
  }
244
246
  reactData.staticItems = XEUtils.mapTree(list, item => createItem($xeForm, item), { children: 'children' })
247
+ internalData.itemFormatCache = {}
245
248
  return nextTick()
246
249
  }
247
250
 
@@ -303,12 +306,11 @@ export default defineComponent({
303
306
  return nextTick()
304
307
  }
305
308
 
306
- const getResetValue = (item: VxeFormDefines.ItemInfo, data: any) => {
309
+ const getResetValue = (item: VxeFormDefines.ItemInfo, data: any, itemValue: any) => {
307
310
  const { field, resetValue } = item
308
- const itemValue = XEUtils.get(data, field)
309
311
  if (XEUtils.isFunction(resetValue)) {
310
312
  return resetValue({ field, item, data, $form: $xeForm, $grid: $xeGrid })
311
- } else if (resetValue === null) {
313
+ } else if (XEUtils.eqNull(resetValue)) {
312
314
  // 默认
313
315
  if (XEUtils.isArray(itemValue)) {
314
316
  return []
@@ -324,16 +326,23 @@ export default defineComponent({
324
326
  itemList.forEach((item) => {
325
327
  const { field, itemRender } = item
326
328
  if (isEnableConf(itemRender)) {
327
- const compConf = renderer.get(itemRender.name)
329
+ const { name, startField, endField } = itemRender
330
+ const compConf = renderer.get(name)
328
331
  const fiResetMethod = compConf ? (compConf.formItemResetMethod || compConf.itemResetMethod) : null
329
332
  if (compConf && fiResetMethod) {
330
333
  fiResetMethod({ data, field, property: field, item, $form: $xeForm, $grid: $xeGrid })
331
334
  } else if (field) {
332
- XEUtils.set(data, field, getResetValue(item, data))
335
+ const itemValue = XEUtils.get(data, field)
336
+ XEUtils.set(data, field, getResetValue(item, data, itemValue))
337
+ }
338
+ if (startField && endField) {
339
+ XEUtils.set(data, startField, getResetValue(item, data, XEUtils.get(data, startField)))
340
+ XEUtils.set(data, endField, getResetValue(item, data, XEUtils.get(data, endField)))
333
341
  }
334
342
  }
335
343
  })
336
344
  }
345
+ internalData.itemFormatCache = {}
337
346
  return clearValidate()
338
347
  }
339
348
 
@@ -1,7 +1,24 @@
1
+ import { formats } from '../../ui'
1
2
  import XEUtils from 'xe-utils'
3
+ import { errLog } from '../../ui/src/log'
2
4
 
3
5
  export class ItemInfo {
4
6
  constructor ($xeForm: any, item: any) {
7
+ const { formatter } = item
8
+ if (formatter) {
9
+ if (XEUtils.isString(formatter)) {
10
+ const gFormatOpts = formats.get(formatter)
11
+ if (!gFormatOpts || !gFormatOpts.formItemFormatMethod) {
12
+ errLog('vxe.error.notFormats', [formatter])
13
+ }
14
+ } else if (XEUtils.isArray(formatter)) {
15
+ const gFormatOpts = formats.get(formatter[0])
16
+ if (!gFormatOpts || !gFormatOpts.formItemFormatMethod) {
17
+ errLog('vxe.error.notFormats', [formatter[0]])
18
+ }
19
+ }
20
+ }
21
+
5
22
  Object.assign(this, {
6
23
  id: XEUtils.uniqueId('item_'),
7
24
  title: item.title,
@@ -34,6 +51,7 @@ export class ItemInfo {
34
51
  titleStyle: item.titleStyle,
35
52
  itemRender: item.itemRender,
36
53
  rules: item.rules,
54
+ formatter,
37
55
  // 渲染属性
38
56
  showError: false,
39
57
  errRule: null,
@@ -1,5 +1,5 @@
1
1
  import { createCommentVNode, h, VNode } from 'vue'
2
- import { getIcon, getI18n, renderer } from '../../ui'
2
+ import { getIcon, getI18n, formats, renderer } from '../../ui'
3
3
  import { eqEmptyValue, getFuncText, isEnableConf } from '../../ui/src/utils'
4
4
  import { toCssUnit } from '../../ui/src/dom'
5
5
  import { getSlotVNs } from '../../ui/src/vn'
@@ -215,19 +215,22 @@ export function renderTitle ($xeForm: VxeFormConstructor & VxeFormPrivateMethods
215
215
  export const renderItemContent = ($xeForm: VxeFormConstructor & VxeFormPrivateMethods, item: VxeFormDefines.ItemInfo) => {
216
216
  const formProps = $xeForm.props
217
217
  const formReactData = $xeForm.reactData
218
+ const formInternalData = $xeForm.internalData
218
219
  const $xeGrid = $xeForm.xeGrid
219
220
 
220
221
  const { computeCollapseOpts, computeValidOpts } = $xeForm.getComputeMaps()
222
+ const { itemFormatCache } = formInternalData
221
223
  const { data, readonly, disabled } = formProps
222
224
  const { collapseAll } = formReactData
223
- const { slots, field, itemRender, collapseNode, errRule } = item
225
+ const { slots, field, itemRender, collapseNode, errRule, formatter } = item
224
226
  const defaultSlot = slots ? slots.default : null
225
227
  const validSlot = slots ? slots.valid : null
226
228
  const collapseOpts = computeCollapseOpts.value
227
229
  const validOpts = computeValidOpts.value
228
230
  const compConf = isEnableConf(itemRender) ? renderer.get(itemRender.name) : null
229
231
 
230
- const params = { data, disabled, readonly, field, property: field, item, $form: $xeForm, $grid: $xeGrid }
232
+ const itemValue = XEUtils.get(data, field)
233
+ const params = { data, disabled, readonly, field, property: field, item, itemValue, $form: $xeForm, $grid: $xeGrid }
231
234
 
232
235
  let contentVNs: VxeComponentSlotType[] = []
233
236
  const rftContent = compConf ? (compConf.renderFormItemContent || compConf.renderItemContent) : null
@@ -236,8 +239,44 @@ export const renderItemContent = ($xeForm: VxeFormConstructor & VxeFormPrivateMe
236
239
  } else if (rftContent) {
237
240
  contentVNs = getSlotVNs(rftContent(itemRender, params))
238
241
  } else if (field) {
239
- const itemValue = XEUtils.get(data, field)
240
- contentVNs = [eqEmptyValue(itemValue) ? '' : `${itemValue}`]
242
+ let itemLabel = itemValue
243
+ if (formatter) {
244
+ let formatData: {
245
+ value?: any
246
+ label?: any
247
+ } | undefined
248
+ if (field) {
249
+ const itemRest = itemFormatCache[field]
250
+ if (itemRest) {
251
+ formatData = itemRest.formatData
252
+ if (formatData) {
253
+ if (formatData.value === itemValue) {
254
+ return formatData.label
255
+ }
256
+ } else {
257
+ formatData = itemRest.formatData = {}
258
+ }
259
+ } else {
260
+ itemFormatCache[field] = { field }
261
+ }
262
+ }
263
+ if (XEUtils.isString(formatter)) {
264
+ const gFormatOpts = formats.get(formatter)
265
+ const fiFormatMethod = gFormatOpts ? gFormatOpts.formItemFormatMethod : null
266
+ itemLabel = fiFormatMethod ? fiFormatMethod(params) : ''
267
+ } else if (XEUtils.isArray(formatter)) {
268
+ const gFormatOpts = formats.get(formatter[0])
269
+ const fiFormatMethod = gFormatOpts ? gFormatOpts.formItemFormatMethod : null
270
+ itemLabel = fiFormatMethod ? fiFormatMethod(params, ...formatter.slice(1)) : ''
271
+ } else {
272
+ itemLabel = formatter(params)
273
+ }
274
+ if (formatData) {
275
+ formatData.value = itemValue
276
+ formatData.label = itemLabel
277
+ }
278
+ }
279
+ contentVNs = [eqEmptyValue(itemLabel) ? '' : `${itemLabel}`]
241
280
  }
242
281
  if (collapseNode) {
243
282
  contentVNs.push(
@@ -32,6 +32,7 @@ export namespace VxeDatePanelPropTypes {
32
32
  export type LimitCount = string | number
33
33
  export type StartDate = string | number | Date
34
34
  export type EndDate = string | number | Date
35
+ export type DefaultDate = string | number | Date
35
36
  export type MinDate = string | number | Date
36
37
  export type MaxDate = string | number | Date
37
38
  export type StartDay = 0 | 1 | 2 | 3 | 4 | 5 | 6
@@ -55,6 +56,7 @@ export interface VxeDatePanelProps {
55
56
  */
56
57
  startDate?: VxeDatePanelPropTypes.StartDate
57
58
  endDate?: VxeDatePanelPropTypes.EndDate
59
+ defaultDate?: VxeDatePanelPropTypes.DefaultDate
58
60
  minDate?: VxeDatePanelPropTypes.MinDate
59
61
  maxDate?: VxeDatePanelPropTypes.MaxDate
60
62
 
@@ -97,7 +99,7 @@ export interface DatePanelInternalData {
97
99
  export interface DatePanelMethods {
98
100
  dispatchEvent(type: ValueOf<VxeDatePanelEmits>, params: Record<string, any>, evnt: Event | null): void
99
101
 
100
- getValue(): string
102
+ getModelValue(): string
101
103
  setPanelDate(date: Date): void
102
104
  getPanelDate(): Date
103
105
  checkValue(inputLabel: string): void
@@ -43,6 +43,7 @@ export namespace VxeDatePickerPropTypes {
43
43
  export type Form = string
44
44
  export type StartDate = string | number | Date
45
45
  export type EndDate = string | number | Date
46
+ export type DefaultDate = string | number | Date
46
47
  export type MinDate = string | number | Date
47
48
  export type MaxDate = string | number | Date
48
49
  export type StartDay = 0 | 1 | 2 | 3 | 4 | 5 | 6
@@ -95,6 +96,7 @@ export interface VxeDatePickerProps {
95
96
  */
96
97
  startDate?: VxeDatePickerPropTypes.StartDate
97
98
  endDate?: VxeDatePickerPropTypes.EndDate
99
+ defaultDate?: VxeDatePickerPropTypes.DefaultDate
98
100
  minDate?: VxeDatePickerPropTypes.MinDate
99
101
  maxDate?: VxeDatePickerPropTypes.MaxDate
100
102
 
@@ -41,6 +41,7 @@ export namespace VxeDateRangePickerPropTypes {
41
41
  export type Placeholder = string
42
42
  export type AutoComplete = string
43
43
  export type Form = string
44
+ export type DefaultDate = string | number | Date
44
45
  export type MinDate = string | number | Date
45
46
  export type MaxDate = string | number | Date
46
47
  export type StartDay = 0 | 1 | 2 | 3 | 4 | 5 | 6
@@ -89,6 +90,7 @@ export interface VxeDateRangePickerProps {
89
90
  autoComplete?: VxeDateRangePickerPropTypes.AutoComplete
90
91
  form?: VxeDateRangePickerPropTypes.Form
91
92
 
93
+ defaultDate?: VxeDateRangePickerPropTypes.DefaultDate
92
94
  minDate?: VxeDateRangePickerPropTypes.MinDate
93
95
  maxDate?: VxeDateRangePickerPropTypes.MaxDate
94
96
 
@@ -70,6 +70,15 @@ export namespace VxeFormItemPropTypes {
70
70
 
71
71
  export type TitleOverflow = VxeFormPropTypes.TitleOverflow
72
72
 
73
+ export type Formatter<D = any> = string | ((params: {
74
+ $grid: VxeGridConstructor | null | undefined
75
+ $form: VxeFormConstructor<D>
76
+ data: D
77
+ item: VxeFormDefines.ItemInfo
78
+ field: string
79
+ itemValue: any
80
+ }) => string | number)
81
+
73
82
  export type ResetValue = string | number | any[] | object | RegExp | null | undefined | ((params: {
74
83
  $grid: VxeGridConstructor | null | undefined
75
84
  $form: VxeFormConstructor
@@ -221,6 +230,10 @@ export interface VxeFormItemProps<D = any> {
221
230
  */
222
231
  titleSuffix?: VxeFormItemPropTypes.TitleSuffix
223
232
  titleOverflow?: VxeFormItemPropTypes.TitleOverflow
233
+ /**
234
+ * 格式化显示内容
235
+ */
236
+ formatter?: VxeFormItemPropTypes.Formatter
224
237
  /**
225
238
  * 重置时的默认值
226
239
  */
@@ -146,6 +146,13 @@ export interface FormInternalData {
146
146
  item: VxeFormDefines.ItemInfo | null
147
147
  visible: boolean
148
148
  }
149
+ itemFormatCache: Record<string, {
150
+ field: string
151
+ formatData?: {
152
+ value?: any
153
+ label?: any
154
+ }
155
+ }>
149
156
  }
150
157
 
151
158
  export interface FormMethods<D = any> {
@@ -257,6 +264,7 @@ export namespace VxeFormDefines {
257
264
  readonly: VxeFormItemPropTypes.Readonly
258
265
  itemRender: VxeFormItemPropTypes.ItemRender
259
266
  rules: VxeFormItemPropTypes.Rules
267
+ formatter: VxeFormItemPropTypes.Formatter
260
268
  // 渲染属性
261
269
  showError: boolean
262
270
  errRule: any
@@ -1,3 +1,4 @@
1
+ import { VxeFormDefines } from '../components/form'
1
2
  import { VxeTableDefines } from '../components/table'
2
3
 
3
4
  /* eslint-disable no-use-before-define */
@@ -5,6 +6,10 @@ import { VxeTableDefines } from '../components/table'
5
6
  declare module '@vxe-ui/core' {
6
7
  export namespace VxeGlobalFormatsHandles {
7
8
  export interface FormatsOptions {
9
+ /**
10
+ * 表单 - 自定义表单项格式化方法
11
+ */
12
+ formItemFormatMethod?: (params: FormItemFormatMethodParams, ...args: any[]) => string | number
8
13
  /**
9
14
  * 表格 - 自定义单元格格式化方法
10
15
  */
@@ -20,11 +25,20 @@ declare module '@vxe-ui/core' {
20
25
  */
21
26
  cellFormatMethod?: (params: TableCellFormatMethodParams, ...args: any[]) => string | number
22
27
  }
28
+
29
+ export interface FormItemFormatMethodParams {
30
+ itemValue: any
31
+ data: any
32
+ item: VxeFormDefines.ItemInfo
33
+ field: string
34
+ }
35
+
23
36
  export interface TableCellFormatMethodParams {
24
37
  cellValue: any
25
38
  row: any
26
39
  column: VxeTableDefines.ColumnInfo
27
40
  }
41
+
28
42
  export interface TableFooterCellFormatMethodParams {
29
43
  itemValue: any
30
44
  column: VxeTableDefines.ColumnInfo