Compare commits

...

1078 Commits

Author SHA1 Message Date
invalid w
d9b9e53d33 Merge branch 'main' of https://github.com/vbenjs/vue-vben-admin 2024-04-20 17:19:17 +08:00
invalid w
d500c0b61c chore: relese 2.11.1 2024-04-20 17:19:04 +08:00
Electrolux
65e5e71f5e fix: the form not working when setFieldsValue through form-groups and add a demo with form groups (#3765)
* fix(util): 修复form表单批量添加的时候用setFieldsValue和model设置不生效的问题

* feat(demo): 为表单组增删添加表单组增删的demo与给出表单组赋值修复后setFieldsValue的示例
2024-04-20 17:16:06 +08:00
Electrolux
82bf0094c7 fix(batch-add-formitem):fix the form not working when setFieldsValue through form-groups and add a demo with form groups (#3765)
* fix(util): 修复form表单批量添加的时候用setFieldsValue和model设置不生效的问题

* feat(demo): 为表单组增删添加表单组增删的demo与给出表单组赋值修复后setFieldsValue的示例
2024-04-20 16:56:05 +08:00
invalid w
4a1277493b feat: revert changelog instructions (#3771)
* chore: install conventional-changelog-cli

* chore: bump version to 2.11.0
2024-04-20 16:11:41 +08:00
invalid w
895dabfa46 docs: typo yarn -> pnpm 2024-04-20 14:39:54 +08:00
Electrolux
44b1877eae fix(demo): 修复form demo的远程搜索不会触发的bug (#3770) 2024-04-19 17:30:43 +08:00
Zhong
c58c1929c1 fix(router): the issue of blank page navigation during repair of non-LAYOUT first-level route component (#3764) 2024-04-19 14:16:35 +08:00
xingyu
87541da27c chore(deps): 升级最新依赖 (#3743)
* chore: update deps

* fix: eslint

* chore: update deps

* fix: typecheck
2024-04-19 11:27:30 +08:00
1455668754
302e2125ba feat(components->Upload): 修正图片上传组件允许自定义上传格式限制 (#3755) 2024-04-18 14:10:32 +08:00
Zhong
36274025d6 fix(util): resolve executing retry even when HTTP status code is 401 (#3756) 2024-04-18 12:22:06 +08:00
Henry Rao
04d4c5cd66 fix(components->Upload): 修复文件上传过程中删除文件终止上传时,上传状态未改变不能关闭Modal的bug (#3761) 2024-04-18 12:20:59 +08:00
invalid w
83455a07a0 fix(ci): update use pnpm version for deploy 2024-04-18 12:16:57 +08:00
invalid w
64b9696eee chore(config): update pnpm version 2024-04-18 12:12:22 +08:00
invalid w
a5565bf9cf fix(ci): update node version for linter 2024-04-18 12:08:03 +08:00
zhang
e9c6dd83b1 feat(BasicForm): 新增监听表单收缩方法传值进行判断 (#3745) 2024-04-17 04:01:13 +08:00
6LWa6ZKx
a00725be57 fix: 修复确认弹出框样式错乱的问题 (#3742) 2024-04-16 16:44:13 +08:00
KaneOne
162a0d0252 fix: modalElIterator可能为空,导致报错 (#3738) 2024-04-13 21:41:03 +08:00
No name
96ac362fa6 feat(search): adjust the menu search function to recognize lowercase input (#3736) 2024-04-12 16:12:52 +08:00
No name
e8a86ec8b9 fix: breadcrumb is displayed despite the menu being hidden (#3733)
* fix: bug RangePicker with componentProps valueFormat ('YYYY-MM-DD') does not return the formatted value when using form validate() method #3690

* fix: breadcrumb is displayed despite the menu being hidden
2024-04-11 14:37:20 +08:00
joeguang
9784cdc840 perf: 优化水印在控制台可以hide的问题 (#3732) 2024-04-11 14:36:24 +08:00
zhang
13b031eef9 fix(BasicModal): 修复BasicModal添加wrapClassName样式异常问题 (#3726)
* fix(BasicModal): 全屏样式异常

* fix(BasicModal): 修复BasicModal添加wrapClassName样式异常问题

* fix(BasicModal): 修复BasicModal添加wrapClassName样式异常问题
2024-04-10 16:10:31 +08:00
sea
c9966b1f13 chore: add Inspector(developer open vscode) (#3725) 2024-04-10 16:10:13 +08:00
zhang
6054fa2ffa fix(BasicTable): 修复BasicTable数据为空时,重置后高度不能自适应问题 (#3724)
* fix(BasicTable): 修复BasicTable数据为空时,重置后高度不能自适应问题

* fix(BasicTable): 修复BasicTable数据为空时,重置后高度不能自适应问题
2024-04-10 16:09:31 +08:00
Zhong
212e78fa76 fix(component): resovle fullscreen content issues with "fixedHeight" and "contentFullHeight" combined (#3721) 2024-04-10 16:09:16 +08:00
sea
890ff8f338 types: complete dirctives and v-role custom color (#3718)
* types: complete dirctives

* chore: v-auth custom color
2024-04-09 20:33:57 +08:00
zhang
ade6d4c22d fix(Modal): 修复BasicModal跟原生Modal样式冲突问题 (#3720) 2024-04-09 10:39:05 +08:00
jinmao88
0bbc2ef4ba chore: Create stale.yml 2024-04-08 15:14:31 +08:00
zhang
de5f9e3047 feat(BasicTable): 新增表格搜索获取参数的方法 (#3715)
* feat(BasicTable): 新增表格搜索获取参数的方法

* feat(BasicTable): 新增表格搜索获取参数的方法

* feat(BasicTable): 新增表格搜索获取参数的方法

* feat(BasicTable): 新增表格搜索获取参数的方法
2024-04-05 13:42:30 +08:00
Zhong
38d58ab47a fix(component): resolve the error when clicking on a row when clickRowToExpand is true (#3714) 2024-04-04 08:35:17 +08:00
likui628
6528dc45df refactor: improving the readability 2024-04-02 16:25:35 +08:00
Electrolux
b28a46edcb feat(feature):upload->preview & upload->resultfield (#3707)
* feat(components->upload->resultField): upload和imageupload组件中添加resultField与demo

* feat(components->upload->preview): upload组件中添加自定义预览组件的方法与demo
2024-03-31 07:02:02 +08:00
1455668754
b5c87cf6ab fix: 1.修正ImageUpload直接使用时无法正常回传value 2.修正ImageUpload无法正常初始化第一次传值 (#3704) 2024-03-31 07:01:51 +08:00
Electrolux
c7ab4a5298 feat(type->api): resultField推断api的返回值应该包含recordbale类型 (#3699)
* feat(type->api): resultField推断api的返回值应该包含object类型

* perf(format): simplify type about api response
2024-03-29 09:09:04 +08:00
zhang
573fd53b4e fix(menu): top menu and breadcrumb show wrong (#3703) 2024-03-29 09:07:55 +08:00
苗大
ea863f2d2d style(BasicTable): 表头帮助图标 多余颜色样式去除, 修复深色图标看不清问题 (#3701) 2024-03-28 18:30:47 +08:00
Electrolux
954f04f1c8 fix(koa->upload): fix the error that occurs when uploading files in the test server of Koa. (#3698)
* fix(koa->upload): 修复koa上传文件的报错

* fix(koa->upload): 补充遗漏的返回值

* fix(koa->upload): 补充遗漏的返回值
2024-03-28 10:28:55 +08:00
Werheng Zhang
05030ee984 refactor: 优化代码 (#3695)
优化变量使用及定义的顺序
优化ts及tsx文件类型
使用===替换==
替换不必要的map为forEach
优化部分注释
2024-03-27 14:22:54 +08:00
No name
09f795e00e fix: bug RangePicker with componentProps valueFormat ('YYYY-MM-DD') does not return the formatted value when using form validate() method #3690 (#3691)
close #3690
2024-03-27 09:29:54 +08:00
苗大
c1809cd6c5 fix: 菜单搜索功能修复 (#3688) 2024-03-26 14:19:22 +08:00
苗大
7c52f083db feat(VirtualScroll): 虚拟滚动增加滚动到顶部, 底部, 指定项方法 (#3687) 2024-03-25 14:24:29 +08:00
zandko
9882e8df86 feat(input): add auto-trimming for vxe-table input components (#3684)
* fix: Correct spelling errors in form component

* fix: Correct spelling errors in form component

* fix: Correct spelling errors in vxetable component
2024-03-25 11:41:53 +08:00
0x588
264f34e49d fix: 修复菜单在MIX_SIDEBAR模式下title显示为name的问题 (#3682) 2024-03-22 14:06:40 +08:00
阿朱quq
54f8584443 fix: Correct spelling error in comments (#3678) 2024-03-19 16:03:18 +08:00
Caichong
c33ee66473 fix: remove duplicate code (#3674) 2024-03-15 16:50:46 +08:00
Ze.Rui
0434e718ed Pref: 路由菜单取title字段 而不是name,树结构数据修改 (#3666)
* perf: 修改路由菜单获取title字段

* perf: 调整树结构获取的数据源

* perf: 修改getI18nName 获取值方式

---------

Co-authored-by: 赵泽瑞 <zhaozerui@jilinxiangyun.com>
2024-03-15 16:50:31 +08:00
松鼠
3d733de399 fix(ApiSelect): ApiSelect的isFirstLoaded赋值逻辑,只有当加载报错时才能恢复未初次加载状态 (#3671) 2024-03-14 10:02:20 +08:00
苗大
02b3a2fce8 chore: typo in Container (#3669) 2024-03-12 15:27:47 +08:00
invalid w
e26a4ee9cb chore: remove the volar plugin because it is not recommended for use 2024-03-12 09:22:42 +08:00
Zhong
c7631fed68 fix(router): resolve menu loading failure when permission is in "role mode" (#3660)
closed #3655
2024-03-07 13:59:32 +08:00
Caichong
a4cc1d5316 fix: typo in locale (#3659) 2024-03-07 11:32:32 +08:00
crudboy
c827ffb8e6 fix(component): insertNextAt is not a function (#3656) (#3657) 2024-03-06 20:31:36 +08:00
Zhong
d42acb477c fix(component): resolve the defaultValue error in setting the date type (#3652)
closed #3651
2024-03-06 09:16:37 +08:00
Zhong
bc5e5fa015 fix(component): resolve the issue of "vxe-table" export function not being able to be used (#3646)
closed #3614
2024-03-05 19:28:15 +08:00
codelo
32061f468c chore: Update README.zh-CN.md (#3648)
vite4, vite2 => vite5
2024-03-05 19:23:48 +08:00
Mr.Dear
9372f1d159 feat: fix ellipsis bug (#3644) 2024-03-05 13:05:26 +08:00
Zhong
7ec9344be8 fix(router): resolve the next function being called twice (#3643)
closed #3642
2024-03-05 10:26:05 +08:00
黄小民
89830ec7e6 fix: basemodal 无法透传 attributes 至 Modal.tsx (#3637) 2024-03-04 10:56:20 +08:00
Zhong
eae68bb029 fix(layout->user-dropdown): resolve warning "Invalid prop name: key is a reserved property" (#3640)
closed #3639
2024-03-02 10:07:41 +08:00
kian
ca3ddd19f7 feat(watermark): support custom style (#3634) 2024-03-02 10:05:24 +08:00
xachary
aef90aa2a0 fix(CropperAvatar): wrong type about the prop size (#3635) 2024-03-02 10:02:18 +08:00
xachary
ab55cbf99b fix(Login): avoid infinite loop when query redirect to next route redirect (#3630). resolve #3620 #3627 2024-02-27 18:14:06 +08:00
xachary
1a7ae0e810 fix(LayoutSidre): resolve the breakpoint conflict. resolve #3605
* fix(LayoutSidre): resolve the breakpoint conflict

* docs: update comment

* fix(LayoutSider): add trigger footer limit
2024-02-23 09:32:14 +08:00
shixi
b7944690d1 fix(typo): fileservice class name (#3625)
我觉得这是个错误的名字
2024-02-22 16:05:07 +08:00
Carlos Andres Padillla Sainz
76ffd8fdf1 fix: Update TableAction.vue (#3619)
Clearing icon property to avoid using icon name in PopConfirmButton and delegate the icon only to the Icon component
2024-02-21 16:09:19 +08:00
xachary
246d1be89e refactor(Exception): support original status values with not overrided (#3610) 2024-02-20 17:25:00 +08:00
Li Kui
b233973974 fix: TableAction设置icon显示iconify关键字 (#3608) 2024-02-19 19:44:55 +08:00
xingyu
0cb379e5ab chore: update deps (#3602)
* chore: up vue 3.4.13 antdv 4.1.0

* fix: stylelint

* chore: update deps

* feat: vite-html

* fix: eslint

* fix: type check

---------

Co-authored-by: invalid w <wangjuesix@gmail.com>
2024-02-19 11:45:29 +08:00
xachary
b6bcf8d36d fix(CropperModal): beforeUpload should return false (#3601) 2024-02-19 11:37:55 +08:00
xachary
5ec4446443 fix(PopConfirmButton): avoid type lint error (#3600) 2024-02-19 11:26:20 +08:00
xachary
236ddf3471 fix: repair login about redirect query (#3592)
* fix: repair login about redirect query

* fix: about buildRoutesAction and redirect

* fix: make sure unknown redirect will back to home
2024-02-11 14:30:44 +08:00
Tian_ya_luer
e6a73840ab fix: 当TableAction的actions属性中的ActionItem传递了color属性时,PopConfirm的指示箭头颜色异常问题 (#3597)
Co-authored-by: linja <linja@film.com>
2024-02-11 14:30:12 +08:00
xachary
6f4bdae5c2 fix(BackTop): repair BackTup comp (#3581) 2024-01-30 14:14:23 +08:00
Owen Tsai
62c124ef45 chore: update README.md (#3575) 2024-01-25 13:16:38 +08:00
xachary
43aa743032 fix(BasicForm->FormItem): model should update before event call (#3573). resolve #3570 2024-01-24 17:10:36 +08:00
苗大
778ebe1f44 fix(PageWrapper): 修复headerSticky样式 (#3569) 2024-01-24 09:03:15 +08:00
xachary
a1e862bde7 fix(ScrollContainer): enable x scroll (#3564) 2024-01-23 21:11:43 +08:00
luchanan
e6a7e4c4fc perf(component): formItem: label支持函数渲染 (#3504)
* perf(component): formItem: label支持函数渲染

(cherry picked from commit abd6e2b1298712e58cc69cdaa55f44e3393b71a5)

* perf(component): formItem: label支持函数渲染

* feat(component): formItem: label支持函数渲染

* perf(component): formItem: label支持函数渲染

(cherry picked from commit abd6e2b1298712e58cc69cdaa55f44e3393b71a5)

perf(component): formItem: label支持函数渲染

feat(component): formItem: label支持函数渲染

* chore: update label type

---------

Co-authored-by: likui628 <90845831+likui628@users.noreply.github.com>
2024-01-21 21:27:50 +08:00
xachary
b750fc9e51 style(tabs): tab close button position (#3560) resolve #3557 2024-01-20 10:57:03 +08:00
xachary
54af5bb42d fix(BasicTable->useColumns): handle deep colunm hidden (#3561) resolve #3559 2024-01-20 10:56:16 +08:00
xachary
e6797043c5 fix(test-server): test-server can not lanuch (#3554) 2024-01-19 09:34:18 +08:00
Li Kui
2c121edd3d chore(i18n): add ts,js file support (#3552) 2024-01-18 15:42:31 +08:00
苗大
f3fbb57dc9 fix: typo substract -> subtract (#3551) 2024-01-17 19:37:45 +08:00
xachary
a121b32252 fix(BasicTable): BasicTable resize wrong in modal (#3549) 2024-01-16 16:50:57 +08:00
crudboy
0c1235e75a fix: (demo->page>form>high) expose getDataSource close #3529 (#3530) 2024-01-16 16:49:12 +08:00
xachary
974c1fad7f fix(BasicTable): getSelectRows return duplicate records (#3545) 2024-01-15 14:06:19 +08:00
xachary
e23e3383dd fix(BasicTable->rowKey&scroll): declear and usage about rowKey and scroll (#3541)
* fix(rowKey&scroll): declear and usage about rowKey and scroll

* fix: key/keyValue type declare fix
2024-01-12 14:20:45 +08:00
xachary
69c36021fa fix(BasicTable): selection wrong by click input when cross pages (#3540). resolve #3539 2024-01-12 09:17:25 +08:00
xachary
abae7f3295 feat(BasicTable): table enable accordion expand (#3533). resolve #3525 2024-01-11 15:29:36 +08:00
xachary
83f16da2d3 fix(ApiCascader): wrong api reload (#3536) resolve #3534 2024-01-11 15:28:45 +08:00
Yao
0589458b2d fix: change salesProductPie.vue's data name to '成交占比'. (#3524)
Co-authored-by: gakkispy <12834847+gakkispy@user.noreply.gitee.com>
2024-01-10 14:39:21 +08:00
xachary
49fdb6c986 fix: content fixed mode with blank page (#3523) 2024-01-10 14:32:34 +08:00
xiaoMingTongXue
50276cb602 fix(layout): 修复切换导航栏模式,分割菜单的状态不同步,导致页面内容区域存在被遮挡的问题 (#3519)
Co-authored-by: chengmingrui <chengmingrui@oneaiops.com>
2024-01-10 09:24:12 +08:00
zhang
8f175fca21 chore(menu): about icon is missing (#3522) 2024-01-09 16:19:06 +08:00
xachary
6978517a3a fix(config): vite:html warning (#3518) 2024-01-08 15:57:06 +08:00
superlollipop
c2c9f4f556 fix: contextmenu location not right when body with scroll (#3516)
Co-authored-by: quanbisen <bisen_quan@lebo.cn>
2024-01-08 11:15:49 +08:00
invalid w
a20bac1682 chore(hooks): lock vue version to 3.3.4 2024-01-08 10:27:32 +08:00
invalid w
f2a0f73028 chore(deps): lock the version of Vue to 3.3.4
由于vue的3.4.x版本与 antdv的4.0.x版本不兼容,但是antdv的 4.1.x类型定义有些问题,所以暂且锁死vue的版本
2024-01-08 10:05:46 +08:00
invalid w
f9fc369637 Revert "chore(deps): update ant-design-vue version to 4.1.0. resolve #3495"
This reverts commit 445ea238fb.
2024-01-08 10:01:25 +08:00
invalid w
445ea238fb chore(deps): update ant-design-vue version to 4.1.0. resolve #3495 2024-01-06 09:26:15 +08:00
xingyu
e6c7b5f928 feat(deps): update vite version to 5.x (#3508) 2024-01-06 09:19:52 +08:00
xachary
d709dd67b5 fix: scroll back to top when tab switch (#3498). resolve #3490 2024-01-05 09:54:05 +08:00
xachary
7ffe1726b9 fix(layout->menu): can`t hover when menu is colappsed (#3499) resolve #3492 2024-01-05 09:52:19 +08:00
luocong2016
f0ca8d5a03 fix(component->markdown): 浏览器媒体获取兼容 (#3470) 2024-01-05 09:48:04 +08:00
xingyu
626c54504e chore: update deps (#3465)
* chore: update deps

* fix: eslint

* chore: update deps

* chore: stylelint v16

* fix: stylelint

* fix: typecheck

* chore: node v18.12.0

* fix: type

* fix: style

* chore: up vue 3.4.3

* chore: prettier format

---------

Co-authored-by: invalid w <wangjuesix@gmail.com>
2024-01-05 09:45:30 +08:00
nullcache
6fbb57621e fix: handleFormValues 不再将所有空字符串转换为undefined (#3496) 2024-01-02 20:18:52 +08:00
xachary
d88f455cd3 fix(BasicTable): showIndexColumn/showRowSelection cache should by route name (#3489) 2024-01-02 09:46:41 +08:00
xiaoMingTongXue
98e2e4c89a fix(BasicForm): 修复 useComponentRegister 方法无法添加自定义的组件,添加时爆类型错误的问题 (#3483)
* types(component): 修复 useComponentRegister 方法无法添加自定义的组件,添加时爆类型错误的问题

* types(component): 修复 table 组件的 useTableForm 入参的 fetch 和 TableActionType 的 reload 类型定义报错的问题

---------

Co-authored-by: chengmingrui <chengmingrui@oneaiops.com>
2024-01-02 09:44:50 +08:00
xachary
78234e2ef0 style: fix basic tree style alignment (#3487) 2024-01-01 14:10:44 +08:00
xachary
2f921cfb88 fix(BasicTable): avoid select when edit cell (#3484) 2023-12-29 11:50:25 +08:00
xachary
816553bfcd feat(demo->BasicTable): add TableSelectionBar and enable checkbox rowSelection demo (#3477)
* feat: add TableSelectionBar

* feat: enable TableSelectionBar for checkbox rowSelection demo
2023-12-29 09:20:02 +08:00
xachary
00b8d169cb style(demo->iframe): fix double scroll when use iframe inner (#3482) 2023-12-29 09:19:09 +08:00
胤玄
dcbe5510d4 fix: Docker 打包逻辑改进,彻底解决缓存问题 (#3473)
* feat: update nginx.conf 使用固定编译入口可能导致浏览器使用缓存js文件,而此配置可以解决

* feat: 更新docker打包逻辑: 原本固定的entry是为了方便替换环境变量,同时在nginx配置内让每次获取js等资源都不走缓存。这样的问题是首次打开会很慢。
因此本次使用的解决方案,回归vben原本的hash+timestamp的入口文件名,但是在环境变量替换的时候使用模糊匹配。
大家有类似需要可以参考环境变量的方式做 单镜像打包多环境的适配。
2023-12-27 14:28:37 +08:00
zzc0217
3de22b44b1 chore: 表单使用updateSchema时只对更新的schema重设默认值
* fix: 修复搜索表单使用updateSchema时,如果使用fieldMapToTime引起的bug

* fix: set all schema to default value

---------

Co-authored-by: likui628 <90845831+likui628@users.noreply.github.com>
2023-12-27 10:47:43 +08:00
xachary
1e34d3e9e4 feat(layout->tabs): support insert new tab after current tab (#3471)
* feat: insert new tab after current tab

* fix: go params declare wrong
2023-12-27 10:19:34 +08:00
invalid w
182b4fc437 chore(dep): update dayjs version 1.11.9 to 1.11.10 2023-12-27 10:09:43 +08:00
xachary
b92c6c40fa Fix the demo /comp/table/formTable about selection cross pages (#3468)
* fix: keep rowSelection onChange call outside

* fix: demo FormTable about seletion
2023-12-27 09:15:15 +08:00
xachary
fc002d3db3 fix: column setting index column sort (#3463)
* fix: keep rowSelection onChange call outside

* fix: ColumnSetting index column sort wrong
2023-12-26 20:41:03 +08:00
xiaoMingTongXue
141f3bdbd0 fix: 修复表单按钮的类型定义外部无法修改重置或者提交按钮的文字的问题
* 解决 eslint-plugin-vue 关于 v-show 无法在 template 中报错的问题

* fix: 修复表单按钮的类型定义外部无法修改重置或者提交按钮的文字的问题

* chore: remove type ButtonOptions

---------

Co-authored-by: chengmingrui <chengmingrui@oneaiops.com>
Co-authored-by: likui628 <90845831+likui628@users.noreply.github.com>
2023-12-26 17:56:13 +08:00
xachary
cc97f06354 fix: modal open logic missing (#3462)
* fix: keep rowSelection onChange call outside

* fix: watch open logic lost after build (modal)
2023-12-25 19:43:37 +08:00
xachary
a7b2f14b90 fix(BasicTable): keep rowSelection onChange call outside (#3461). resolve #3453 2023-12-25 17:15:39 +08:00
luocong2016
b57d9fc60d feat(demo->useRequest): 更新useRequest 依赖 Effect 函数案例 (#3460) 2023-12-25 17:00:01 +08:00
苗大
1b763fceee style: 优化滚动条深色模式样式 (#3458) 2023-12-25 14:31:44 +08:00
luocong2016
7fa2578e6d feat(demo->useRequest): 更新错误重试示例 (#3456) 2023-12-25 14:31:11 +08:00
xachary
75f5b7ac4d fix(BasicTable): index still show when set showIndexColumn false (#3455) 2023-12-25 11:29:58 +08:00
luocong2016
d6d1120d00 feat(demo): hooks useRequest 异步数据管理 (#3447) 2023-12-22 16:50:41 +08:00
likui628
9e055ad273 fix: FormItem won't render when a component is not provided 2023-12-21 16:58:57 +08:00
likui628
2db4cfbd33 chore: remove slot from ComponentFormSchema type 2023-12-21 16:12:57 +08:00
xk
6bb79180fc feat(BasicForm): Improve ts types for BasicForm (#3426)
* fix(ApiCascader): Resolve api type conflict with labelField/valueField

* chore: Improve ts types for BasicForm

* fix(ApiCascader): Resolve API type error

* chore: Resolve type:check error

* chore: fix form type error

* fix(ApiRadioGroup): Resolve api type conflict with labelField/valueField

* fix(ApiTree): api type error

* chore(demo): form basic page schemas use FormSchemaAll

* chore: FormSchemaAll to FormSchema

* fix: ComponentFormSchemaType

* fix: Object literal may only specify known properties

---------

Co-authored-by: invalid w <wangjuesix@gmail.com>
Co-authored-by: likui628 <90845831+likui628@users.noreply.github.com>
2023-12-21 15:59:32 +08:00
xachary
65122ea1a5 fix(BasicTable): ColumnSetting about selectedRowKeys override (#3446) 2023-12-21 09:37:41 +08:00
xachary
86ecb2729e fix(BasicTable): column setting about action fixed and default not cache (#3441) 2023-12-20 09:14:35 +08:00
松鼠
7ba83e71bf fix(BasicTable): 滑动表格内容合计行不跟随滑动bug (#3438) resolve #2166 2023-12-19 14:42:35 +08:00
苗大
b008c44246 perf(darkMode): 深色模式颜色定义以及切换方式优化 (#3436)
* perf(darkMode): 深色模式颜色定义以及切换方式优化

* perf: text-color rgb->rgba

---------

Co-authored-by: 苗大 <caoshengmiao@hypergryph.com>
2023-12-18 21:15:23 +08:00
苗大
2bc8981b4f style(autofill): 修复深色模式输入框自动填充后样式异常; 修正登录页不恰当全局样式 (#3435)
* fix(autofill): 修复深色模式输入框自动填充后样式异常

* perf(Login): 去除登录页重复autofill样式;ant-divider-inner-text样式改为仅对登录页深色模式生效

---------

Co-authored-by: 苗大 <caoshengmiao@hypergryph.com>
2023-12-18 17:35:00 +08:00
xachary
089a98953e fix: watch open logic lost after build (#3421)
* fix: watch open logic lost after build

* fix: drawer for better understand
2023-12-16 21:33:44 +08:00
xachary
404a4720b0 fix: EditableCell about checked/unChecked Value, getDisable, rowKey missing for updating (#3418). resolve #3419 2023-12-15 16:12:43 +08:00
xiaoMingTongXue
d502e1d493 fix:修复气泡确认框的底部按钮换行的问题 (#3413)
* fix:修复气泡确认框的底部按钮换行的问题

* fix: 修复气泡确认框的底部按钮换行的问题
2023-12-14 10:53:19 +08:00
xachary
af6e73b83f style: tabs bottom double line fix (#3415) 2023-12-14 09:27:48 +08:00
xachary
e23f29464b feat(IconPicker): IconPicker could allowClear and readonly for form (#3414) 2023-12-14 09:26:34 +08:00
bowen
595b1ce680 fix(FormTable): Invert select bug (#3412) 2023-12-14 09:13:36 +08:00
invalid w
23b684977c chore: 自定义组件默认rule校验默认触发逻辑为blur 2023-12-13 18:34:02 +08:00
invalid w
1296590e3a chore(ApiRadioGroup): 移除多余的change事件 2023-12-13 18:28:56 +08:00
invalid w
ccf4027533 fix(ApiSelect): 修复监听不到params的变动 2023-12-13 17:35:25 +08:00
invalid w
fdde6f06b2 fix(BasicForm->ApiRadioGroup): when options click, duplicate requests. resolve #3387 2023-12-13 17:25:45 +08:00
luchanan
2828ed304a Revert "feat: table搜索表单值发生改变可以触发reload (#3378)" (#3407)
This reverts commit 1ca3f7c2c0.
2023-12-13 09:11:07 +08:00
xachary
fec67b4d53 fix(BasicTable): ColumnSetting mistake when use setColumns (#3408) 2023-12-13 09:10:17 +08:00
luocong2016
d3600daf5c fix: navigator.clipboard 兼容问题 #3372 (#3403) 2023-12-12 15:25:13 +08:00
xachary
f4df2d5a4b feat: ColumnSetting and SizeSetting persist (#3398) 2023-12-12 12:04:03 +08:00
bowen
57e6e4f004 fix(BasicDrawer): remove toRaw props (#3399) 2023-12-11 17:55:01 +08:00
jackhoo(胡彪)
0a1a5ffedc feat(hooks): useWatermark添加水印防篡改功能(#3395) (#3397)
Co-authored-by: jackhoo_98 <jackhoo_98@foxmail.com>
2023-12-11 14:14:00 +08:00
xachary
20698c052c fix: table height calc when fullcontent and footer visible change (#3392)
* fix: table height calc when fullcontent and footer visible change

* fix: useRootSetting dep path wrong
2023-12-11 09:49:26 +08:00
TOUCHERS
bca5154a9d fix(BasicTable): table表格宽度自适应,隐藏的列导致宽度增加 (#3388) 2023-12-08 09:13:14 +08:00
luchanan
6b6b790f87 fix: 使用suffix时,label没有垂直居中 (#3384) 2023-12-07 10:52:42 +08:00
luchanan
1ca3f7c2c0 feat: table搜索表单值发生改变可以触发reload (#3378) 2023-12-06 12:07:14 +08:00
zhang
e656b5d8dc feat(treeTable): add function collapseRows and demo (#3375)
* feat(treeTable): add function collapseRows and demo
2023-12-04 11:54:31 +08:00
zhang
943f50051c perf(BasicTree): 外部获取treeData不必通过treeDataRef.value (#3353) 2023-12-04 11:54:11 +08:00
Simon He
7207a0b840 chore(table): typo (#3374) 2023-12-04 11:53:11 +08:00
luocong2016
05bc4acb9b feat: iframe expose postmessage function (#3368)
* feat: iframe postmessage

iframe postmessage

* chore: prettier format code

---------

Co-authored-by: invalid w <wangjuesix@gmail.com>
2023-12-01 18:00:08 +08:00
林飞
cd71e60dd1 feat(Form): 在Form将BasicTitle识做为Divider一样的处理 (#3371)
* feat(Form): 在Form将BasicTitle识做为Divider一样的处理

* refactor: 抽离是否存在SimpleComponents的校验逻辑

---------

Co-authored-by: gavin-james <meaganlindesy1258@gmail.com>
Co-authored-by: invalid w <wangjuesix@gmail.com>
2023-12-01 17:48:11 +08:00
Sina Kulas
dde3652b7d fix: 解决table复选框点击无法勾选状态问题 (#3370)
Co-authored-by: Tang <11726782+sugar_gitee@user.noreply.gitee.com>
2023-12-01 16:21:30 +08:00
林飞
522e892d79 feat(vxetable): 新增 clearEdit 方法 (#3369)
Co-authored-by: gavin-james <meaganlindesy1258@gmail.com>
2023-12-01 14:36:31 +08:00
林飞
f6147fa449 feat(Form): 新增Transfer、CropperAvatar、BasicTitle 组件至Form中,并添加至演示页面 (#3362)
Co-authored-by: gavin-james <meaganlindesy1258@gmail.com>
2023-11-30 14:10:45 +08:00
林飞
2376e8f67d feat: 修复 vxetable 实例中缺少的 getRefMaps 和 getComputeMaps 方法 (#3361)
Co-authored-by: gavin-james <meaganlindesy1258@gmail.com>
2023-11-30 09:16:37 +08:00
松鼠
beee35173b fix: 修复BasicForm使用componentProps函数返回valueFormat时DatePicker无法正确格式化的问题 (#3357)
* 修复BasicForm使用componentProps函数返回valueFormat时DatePicker无法正确格式化的问题

* chore: resolve prettier error

---------

Co-authored-by: invalid w <wangjuesix@gmail.com>
2023-11-29 16:56:49 +08:00
韩菱纱
b0e8154f9f feat: 解决Form updateSchema后执行setProps导致schemaRef被重置的问题 (#3354) 2023-11-28 18:00:34 +08:00
jackhoo(胡彪)
be935eb44e fix(demo): 修复引导页文件名问题 (#3352)
Co-authored-by: jackhoo_98 <jackhoo_98@foxmail.com>
2023-11-27 17:59:31 +08:00
1455668754
8b516b75b8 调整后的ImageUpload组件无法正常使用且无法使用单个上传[#3344] (#3345)
* Update typing.ts

* 默认上传单个

* fix(ImageUpload): 修正图片单个上传&返回结果未进行处理
2023-11-27 09:17:19 +08:00
林飞
97b76ea6bc feat: RefForm页面新增只读功能按钮 (#3346)
* feat(RefForm): 新增只读表单demo
2023-11-27 09:15:31 +08:00
林飞
342328ce5f feat: 新增表单只读功能 (#3335)
* fix(useFormEvents): 修复setFieldsValue 方法设置完值后,表单属性丢失formActionType 的bug

* feat: 新增 sync 的action

* feat(FormItem): 新增只读属性

* feat(FormItem): 新增表单只读属性

---------

Co-authored-by: gavin-james <meaganlindesy1258@gmail.com>
2023-11-26 14:04:13 +08:00
xachary
0f13758554 fix: table index column width is not enough in english (#3342) 2023-11-25 16:15:07 +08:00
invalid w
3efe662c91 ci: rename node.js.yml -> linter.yml 2023-11-25 15:09:31 +08:00
jackhoo(胡彪)
895352ad22 fix(breadcrumb): 修复面包屑跳转外链时,导致当前页面404问题 (#3337). close #3336
Co-authored-by: jackhoo_98 <jackhoo_98@foxmail.com>
2023-11-25 14:47:03 +08:00
xingyu
064922dd4c fix: turbo run lint (#3332)
closed #3277
2023-11-24 10:33:35 +08:00
Sina Kulas
3a5f406260 fix: 解决 'Cannot find module uncss' 的问题 (#3334)
Co-authored-by: Tang <11726782+sugar_gitee@user.noreply.gitee.com>
2023-11-24 10:32:32 +08:00
xingyu
4d2fb0cb6f refactor: '/@/' ==> '@/' and '/#/ '==> '#/' (#3329)
* refactor: /@/ ==> @/

* chore: '/@/' ==> '@/' and '/#/ '==> '#/'

* fix: lint:prettier
2023-11-24 10:32:04 +08:00
xachary
3f65baf503 fix: scrollbar is obscured (#3331) 2023-11-24 00:04:34 +08:00
xingyu
42e9de50a2 fix: Failed to resolve component EllipsisText (#3330) 2023-11-24 00:03:44 +08:00
xingyu
8a000705d1 fix: resolve conflicts between eslint and prettier and bump prettier-plugin-packagejson version to 2.4.6(#3328) 2023-11-23 17:45:25 +08:00
xingyu
c8744a057e fix(BasicTable): ref table (#3327) 2023-11-23 17:41:37 +08:00
xingyu
7191ebc122 chore: 更新 unocss 版本及配置 (#3326)
* chore: 升级 unocss 版本 添加 unocss.config.ts 配置文件

* chore: 更新 unocss 插件
2023-11-23 17:40:49 +08:00
xingyu
4305f58d20 fix: 设置 baseurl 后不生效的问题 (#3318)
* fix: 设置 baseurl 后不生效

* chore: update vite-config antdv version
2023-11-23 15:52:12 +08:00
zhang
f62043b1fc fix(DatePicker): date show is wrong and setup script defineExpose (#3324)
* fix(useFormEvents): some function is lost in componentsProps

* fix(useFormEvents): some function is lost in componentsProps

* fix(useFormEvents): some function is lost in componentsProps

* fix(DatePicker): date show is wrong

* fix(useFormEvents): some function is lost in componentsProps

* fix(useFormEvents): some function is lost in componentsProps

* fix(useFormEvents): some function is lost in componentsProps

* fix(DatePicker): date show is wrong

* fix(DatePicker): date show is wrong
2023-11-23 13:46:46 +08:00
xingyu
0cfaa40bd0 refactor: layouts use setup (#3312)
* refactor: layouts use setup

* refactor: dashboard use setup

* fix: breadcrumbs types

* fix: noticeList type check error

* fix: noticeList type check error

* chore(Breadcrumb): revert setup change

---------

Co-authored-by: invalid w <wangjuesix@gmail.com>
2023-11-23 12:14:06 +08:00
xachary
617b01338c fix: fullscreen-modal width wrong (#3321)
* fix: fullscreen-modal width wrong

* fix: ModalWrapper expose setModalHeight missing
2023-11-23 09:10:21 +08:00
bowen
f58ef6777c fix(BasicForm): script setup defineExpose (#3316) 2023-11-22 10:02:26 +08:00
xachary
c715d35ad5 fix: 修复index.html加载文字偏移的问题 (#3306) 2023-11-21 18:39:13 +08:00
invalid w
83fb63faa6 ci: add ts type check 2023-11-21 16:46:46 +08:00
invalid w
d8ab800b8a Merge branch 'main' of https://github.com/vbenjs/vue-vben-admin 2023-11-21 16:39:30 +08:00
invalid w
eed50db873 chore(demo->form-design): resolve ts error. close #2719 #1882 2023-11-21 16:39:11 +08:00
invalid w
c59983345e chore(demo->form-design): resolve ts error. close #2179 #1882 2023-11-21 16:37:24 +08:00
bowen
2cd5a40322 fix(type): type:check error (#3309) 2023-11-21 15:38:00 +08:00
林飞
82671d0750 fix(useFormEvents): 修复setFieldsValue 方法设置完值后,函数 componentProps丢失formActionType 的bug (#3301)
Co-authored-by: gavin-james <meaganlindesy1258@gmail.com>
2023-11-20 16:59:05 +08:00
Hannah Jensen
a9530877c0 style: 修复eslint和stylelint (#3303)
Co-authored-by: DreamyTZK <i@tzki.cn>
2023-11-20 16:57:23 +08:00
bowen
d7472b8a2e fix(VFormDesign): findIndex === -1 (#3305) 2023-11-20 16:56:28 +08:00
胡彪
6c0b857d7d refactor(demo): transition and account use setup (#3298)
Co-authored-by: jackhoo_98 <jackhoo_98@foxmail.com>
2023-11-20 15:46:40 +08:00
xingyu
bab28af986 refactor: components use setup (#3299)
* refactor: /@/ => @/

* refactor: table demo use script setup

* refactor: change /@/ to @/
2023-11-20 12:27:11 +08:00
明修
cb13986a17 fix: 修复表单设计的右侧属性配置面板中部分表单错乱的问题 (#3300). close #3268 2023-11-20 09:21:34 +08:00
invalid w
11e689c86c chore: rm unnecessary script 2023-11-18 16:53:56 +08:00
xingyu
9fad2ab631 refactor(demo): table demo use script setup (#3296)
* refactor: /@/ => @/

* refactor: table demo use script setup

* refactor: change /@/ to @/

* feat: add antdv qrcode demo

* style(qrcode): add margin bottom

---------

Co-authored-by: invalid w <wangjuesix@gmail.com>
2023-11-18 16:50:20 +08:00
zhang
003a951bef feat(menu): Restore side bar settings and added menu mouse move in mode light style (#3295)
* feat(menu):  Added menu mouse move in style

* feat: 恢复菜单主题设置

* type(setting): change the function name to a more appropriate one

---------

Co-authored-by: invalid w <wangjuesix@gmail.com>
2023-11-18 16:04:52 +08:00
xingyu
35751068c5 refactor(demo): 重构demo页面组件为 script setup 语法 (#3293)
* refactor: charts demo use setup refactor

* refactor: demo use script setup refactor

* refactor: demo feat use script setup refactor

* fix: tab-params

* revert: settings.json

* style(demo->Modal1): loading text line height

* Update index.vue

---------

Co-authored-by: invalid w <wangjuesix@gmail.com>
2023-11-18 11:43:18 +08:00
bowen
cb907165ec refactor: some feat pages transfer setup grammar (#3292)
* refactor: some feat pages transfer setup grammar

* refactor: update
2023-11-18 09:26:59 +08:00
zhang
72ef3df57f fix(useFormEvent): 修复表单项存在defaultValue时,updateSchema方法会将setFieldsValue设置的值覆盖问题 (#3287) 2023-11-17 11:56:04 +08:00
黄小民
3b2760ca3a fix: defaultValue类型为number时的bug (#3288) 2023-11-16 10:00:13 +08:00
bowen
100f3cf26c fix(BasicForm): validate Form tip height (#3286). close #3281 2023-11-15 09:00:50 +08:00
bowen
2bbc2d2811 perf(IconPicker): input trigger popover by click (#3278) 2023-11-15 09:00:03 +08:00
苗大
89323186b5 perf(breakpointEnum): 修改enum与breakpoint.less内一致 (#3276)
Co-authored-by: 苗大 <caoshengmiao@hypergryph.com>
2023-11-13 13:15:16 +08:00
zhang
6d047fb53f fix(DatePicker): zh-CN is not work in DatePicker (#3273)
* fix(DatePicker): zh-CN is not work in DatePicker

* fix(DatePicker): locale zh-CN is not work in DatePicker
2023-11-13 13:14:59 +08:00
zhang
2991bb1670 perf(ImageUpload): 根据官方示例设置图片回显格式 (#3252)
* perf(ImageUpload): 根据官方示例设置图片回显格式

* perf(ImageUpload): 优化图片上传组
2023-11-13 13:14:21 +08:00
invalid w
bfb7cd32f2 chore(deps): bump ant-design-vue and typescript to latest version 2023-11-10 15:47:10 +08:00
invalid w
538fa168fe chore(demo->form): 增加ApiTransfer使用示例. close #1760 2023-11-10 11:09:03 +08:00
xachary
83426b5c96 feat(layout): move setting button to tabs when fold (#3264) 2023-11-09 16:02:57 +08:00
xachary
191e809b6d feat(MultipleTab): add tabs auto collapse interaction in fold mode and setting (#3256)
* fix: validateFields await missing

* feat(MultipleTab): add tabs auto collapse interaction and setting

* chore(locales): update  setting name to better reflect its purpose

---------

Co-authored-by: invalid w <wangjuesix@gmail.com>
2023-11-09 11:24:27 +08:00
invalid w
b976933766 chore(i18n): resolve ts type error 2023-11-09 11:10:36 +08:00
invalid w
90b45b3a51 chore(demo->BasicTree): 增加获取当前tree数据示例. resolve #3253 2023-11-09 09:57:01 +08:00
invalid w
748b99b18f perf(BasicTree): 获取treeData改写成函数 2023-11-09 09:56:11 +08:00
invalid w
caf1783525 feat(BasicTree): BasicTree组件暴露treeData数据 2023-11-09 09:47:00 +08:00
bowen
2142506ce5 fix(dept): no parentDept can edit parentDept (#3255) 2023-11-08 11:43:24 +08:00
xachary
71c3fea88a fix: validateFields await missing (#3254) 2023-11-08 11:42:54 +08:00
invalid w
8ef39def79 chore(demo): 自定义列的helpMessage增加tsx和h函数渲染的数据 2023-11-07 11:17:42 +08:00
invalid w
c373ffd3bf feat(Table-> CustomerCell): helpMessage支持传递 tsx 和 h函数的数据 2023-11-07 11:16:52 +08:00
Kirk Lin
f91d777e4f refactor: fix type check (#3246) 2023-11-07 10:31:32 +08:00
Kirk Lin
11cbe66937 refactor: remove cipher old (#3245) 2023-11-07 10:13:42 +08:00
Kirk Lin
ea51c492c2 feat: pinia persist plugin custom serializer (#3244) 2023-11-07 10:13:24 +08:00
zhang
dccc8f625d 优化Upload组件目录结构,以及图片上传组件 (#3241)
* fix(vxe-table): theme dark is not work

* perf(ImageUpload): 优化Upload组件目录结构,以及图片上传组件
2023-11-06 18:24:54 +08:00
zhang
031d613b18 fix(vxe-table): theme dark is not work (#3239) 2023-11-06 18:24:23 +08:00
xingyu
b6f8379e93 fix: breakpoint (#3242) 2023-11-06 11:08:19 +08:00
open-carp
ec646c57b8 fix(demo->customerForm): FormItem下有多个受控组件控制台显示错误提示的bug (#3238)
* fix: FormItem下有多个受控组件控制台显示错误提示的bug

* chore(demo->customerForm): use Promise in rule validator

---------

Co-authored-by: invalid w <wangjuesix@gmail.com>
2023-11-04 11:28:25 +08:00
zhang
509541d11e style(theme): resolve ts type error and perf themeColor selected (#3237)
* perf(useTree): resolve ts type error

* perf(projectSetting): themeColor selected

* perf(dark): fix mode dark component-background-color var is not work
2023-11-04 09:21:18 +08:00
熊丽君
da1f177284 chore: Update TableImg.vue (#3234)
TableImg Displaying images in the table will result in preview text for other hidden tags AImage
2023-11-04 09:16:37 +08:00
invalid w
6b919cd2fc chore(useLocale): resolve ts type error 2023-11-03 12:37:36 +08:00
invalid w
9c8e848684 chore(deps): update vue-i18n version 2023-11-03 12:36:57 +08:00
invalid w
4de756aa2d chore(routeHelper): [Fixes #3217] remove undefined property 2023-11-03 11:53:33 +08:00
bowen
beed7f2e11 feat(Upload): file list add drag func (#3227). resolve #3179 2023-11-02 11:26:35 +08:00
苗大
2e632e4d4d fix(dark): fix --text-color light color not work (#3228)
* fix(dark): fix --text-color light color not work

* fix(dark): fix --text-color light color not work

---------

Co-authored-by: 苗大 <caoshengmiao@hypergryph.com>
2023-11-02 11:23:01 +08:00
黄小民
59145ade25 feat: vxeTable searchInfo demo (#3223) close #3011 2023-11-02 09:13:48 +08:00
Jiaxin sugar
bf060376e6 Update ApiSelect.vue (#3225)
修复 isFirstLoaded 状态没有重置导致 fetch方法只会调用一次
2023-11-02 09:06:49 +08:00
苗大
bb3d5b8ae8 perf(ConfigProvider): 配置antdv主题色, 使其与modifyVars配置一致 (#3219)
* perf(ConfigProvider): 配置antdv主题, 使其与modifyVars配置一致

* fix(dark): 修正颜色写法

* fix(dark): 修正app-content-background-color深色颜色

* style(BasicTable): row striped style add important

---------

Co-authored-by: 苗大 <caoshengmiao@hypergryph.com>
2023-11-02 09:05:58 +08:00
invalid w
3689bd1cb1 chore(readme): add Star History Chart 2023-10-31 17:57:46 +08:00
invalid w
50eac7f353 chore(Table->setting): fix CheckboxGroup onchange event fn type 2023-10-31 16:51:41 +08:00
苗大
e497721e9b perf(darkMode): 优化深色模式颜色切换相关方法; 增加根据主题更新自定义颜色方法和示例 (#3216)
* perf(darkMode): 优化深色模式颜色切换相关方法; 增加根据主题更新自定义颜色方法和示例

* revert: 撤销notify组件的样式修改测试

* chore: color pattern error

* chore(theme): remove dead code

---------

Co-authored-by: 苗大 <caoshengmiao@hypergryph.com>
Co-authored-by: invalid w <wangjuesix@gmail.com>
2023-10-31 16:40:08 +08:00
wuzhican
ee8ec9eacf fix: 修复notice样式绑定路径错误 (#3218)
* fix: 修复notice样式绑定路径错误

* fix: 修改notice的style嵌套结构以匹配template结构

---------

Co-authored-by: wuzhican <3245076860@qq.com>
2023-10-31 14:03:42 +08:00
Jiaxin sugar
295f7eef1a Update routeHelper.ts (#3217)
某些情况下如果name如果没有值, 多个一级路由菜单会导致页面404
2023-10-31 11:44:50 +08:00
bowen
ed267d9c01 fix(FormItem): use getPopupContainer default value (#3215) 2023-10-31 11:43:30 +08:00
invalid w
5b9759710b chore(ApiSelect): optimize the type of OptionsItem 2023-10-30 16:08:56 +08:00
invalid w
726bb73b58 chore(Table): Popup style disorder. close #3211 2023-10-30 15:51:01 +08:00
invalid w
8f900871ac perf(useForm): If the args of the setFieldsValue is empty, it will not be executed. close #3209 2023-10-30 12:23:43 +08:00
zhang
06a6c947a9 fix(style): 修复黑暗模式下弹框、demo目录下、按钮样式问题 (#3208)
删除黑暗模式下冗余的样式代码
2023-10-30 08:14:38 +08:00
Jiaxin sugar
97f16271b1 Update role.data.ts (#3207)
fix: The component value is incorrect,
2023-10-29 21:35:06 +08:00
zhang
054a476d25 fix: 修复黑暗模式下一些样式问题 (#3201)
* fix: 修复黑暗模式下一些样式问题

* chore: refactor dark.less

---------

Co-authored-by: likui628 <90845831+likui628@users.noreply.github.com>
2023-10-28 21:37:44 +08:00
bowen
ae61fa1186 fix: checkedKeys use unref bug (#3198) 2023-10-26 16:16:58 +08:00
bowen
405ef9e2b3 fix: async validator (#3194) 2023-10-26 11:54:09 +08:00
zhang
4755017bcc fix: 修复设置抽屉弹框滚动条样式异常 (#3193) 2023-10-26 09:25:37 +08:00
jinmao88
18211f6d14 Update README.zh-CN.md 2023-10-25 22:23:33 +08:00
jinmao88
52aba6c106 Update README.md
更新readme
2023-10-25 22:22:12 +08:00
invalid w
41451f4fa3 fix(BasicTable): pagination exceeds page height. close #3185 2023-10-25 17:17:27 +08:00
bowen
83fc4ae391 chore(ATypographyParagraph): fix type:check (#3187) 2023-10-25 11:55:14 +08:00
invalid w
6f0a44f528 chore(TableFooter): resolve ts type error 2023-10-24 12:08:57 +08:00
bowen
92875cbecc fix(tree): remove expandedKeys prop default value (#3184) 2023-10-24 10:20:13 +08:00
bowen
e7fbd74228 fix(Upload): The file name is too long bug (#3182)
* fix(Upload): The file name is too long bug

* fix: preview upload result file name nowrap

* chore: modify i18 to be uploaded

* chore: typing & i18n

---------

Co-authored-by: Li Kui <90845831+likui628@users.noreply.github.com>
2023-10-23 15:32:04 +08:00
zhang
87224715c3 feat: 增加文本省略组件 (#3180)
* feat: 增加文本省略组件

* refactor: 重构文本省略组件

* feat: 增加远程懒加载下拉树功能
2023-10-23 14:42:56 +08:00
luchanan
00bf5d5bbf 站内支持API接口地址切换 (#3162)
* feat: 站内切换接口API

* feat: 站内切换接口API

* feat: 站内支持API接口地址切换,解决冲突,新增开关显示

(cherry picked from commit c6d60b6cfd50bf8e19233a21640ecf1d41c01cc8)
2023-10-23 14:37:56 +08:00
1455668754
b776ac4cd8 feat: Form增加ImageUpload组件 (#3172)
* feat: Form增加图片上传组件

* fix: 还原表单组件引用

* chore: ImageUpload demo

* chore: update ImageUpload demo

* fix: 'visible' will be removed in next major version

* chore: 修改api接口返回值参数

---------

Co-authored-by: Li Kui <90845831+likui628@users.noreply.github.com>
2023-10-21 19:29:53 +08:00
invalid w
e4bcf8c899 chore(demo): basicTree组件增加icon 和 switcherIcon示例 2023-10-21 11:49:17 +08:00
invalid w
a0b2a9e949 fix(BasicTree): not inherit slot and not show icon slot. close #1902 2023-10-21 11:48:38 +08:00
invalid w
7b87d6d29e chore(BasicTable): resolve BasicTable component ts type error 2023-10-20 17:15:05 +08:00
invalid w
3d0b88708e chore(BasicTree): Resolve ts type error 2023-10-20 16:47:03 +08:00
Li Kui
c42ba1cc1b fix(ApiCascader): apiParamKey not working 2023-10-20 13:34:48 +08:00
invalid w
2ec5f6322d fix(Menu): tab标签切换选中状态焦点重复. fix #1681 2023-10-20 12:00:05 +08:00
bowen
83aa1da3de fix: SimpleRootMenuContextProps type error (#3176) 2023-10-20 09:55:34 +08:00
Kirk Lin
6f7d840128 refactor: cipher (#3174) 2023-10-19 16:41:29 +08:00
Kirk Lin
2152b3f779 feat: add pinia persist plugin (#3173) 2023-10-19 16:17:49 +08:00
invalid w
882270d5ba fix(ApiTree): 多触发一次onchange 2023-10-19 10:52:30 +08:00
invalid w
b103c64954 chore(ApiSelect): 该组件设定成手动触发验证 2023-10-19 10:41:11 +08:00
Li Kui
0f2c2eabd6 fix(ApiSelect): BasicForm emit ield-value-change twice 2023-10-18 21:06:10 +08:00
bowen
bbc2ede1aa chore: fix type:check error (#3169) 2023-10-18 19:24:26 +08:00
bowen
c24e0efd1d perf: Modify i18 file format to JSON (#3171) 2023-10-18 19:15:52 +08:00
invalid w
0cf79d4ce2 fix(ApiSelect): Incorrect value type definition. close #3168 2023-10-18 17:24:32 +08:00
Li Kui
8df2590aae fix(BasicTable): headerCell slot title not exist 2023-10-18 10:11:57 +08:00
bowen
40aac6544c fix(demo): account page table without dept (#3164) 2023-10-17 20:40:51 +08:00
Li Kui
1a5bedd1cb chore(deps): updated ant-design-vue to version 4.05 (#3160)
* chore(deps): updated ant-design-vue to version 4.04

* chore(deps): updated ant-design-vue to version 4.05
2023-10-17 20:06:45 +08:00
invalid w
b3a6ef63bb feat(Menu): Add custom images to menu (#3158)
* feat(SimpleMenu): Add custom images to menu icons

* style: Set image and text alignment

* feat: 顶部菜单模式路由也支持图片

* feat(mixSilder): 左侧菜单混合模式也支持图片显示

* style(menu): 调整图片对齐样式

* chore(Menu): 调整图片与文字间距样式

* chore: icon和img都传值的情况下, 仅显示img
2023-10-17 12:28:15 +08:00
前端爱码士
a0e43abeab fix: 修复Modal.confirm的返回类型问题,需要有destroy,update的方法 (#3161)
* fix: 修复Modal.confirm的返回类型问题,需要有destroy,update的方法

* chore: simplify

---------

Co-authored-by: Li Kui <90845831+likui628@users.noreply.github.com>
2023-10-17 10:16:02 +08:00
bowen
18222ab0b6 chore: fix type:check error (#3159) 2023-10-17 09:29:43 +08:00
Li Kui
0bb76a86d2 fix(BasicForm): useForm 中 scheme 选项 slot 与 component冲突 (#3133)
* fix(BasicForm): useForm 中 scheme 选项 slot 与 component冲突

* chore: add type-predicate utils

* chore: add FormSchemaInner type
2023-10-16 16:56:26 +08:00
Li Kui
d30fd1d546 chore: replace intro.js with driver.js (#3151) 2023-10-15 11:34:13 +08:00
Li Kui
8f6153fd2a fix(ApiSelect): type warning 2023-10-14 21:05:43 +08:00
invalid w
a0d4b10a1f feat(ApiTree): 完善ApiTree组件的重置回显功能. close #2307 2023-10-14 16:57:40 +08:00
invalid w
d4f2641b9a chore(Demo): restore ApiTree schema show 2023-10-14 11:19:58 +08:00
invalid w
094a33c0c2 fix(ApiTree): Modify Trigger Selection Event Name 2023-10-14 11:18:48 +08:00
黄小民
95ca2c3ae6 fix: ApiTransfer 不支持disabled (#3149) 2023-10-13 18:00:14 +08:00
黄小民
8e9d4f0a57 fix: #3144 Drawer的footer样式错位问题 (#3148)
fix: #3144 Drawer的footer样式错位问题
2023-10-13 17:33:03 +08:00
invalid w
5aac032acc feat(BasicButton): BasicButton组件支持icon插槽. close #1377 2023-10-13 17:26:07 +08:00
invalid w
f5f7952515 chore(Pagination): Remove the unnecessary pagesize attribute 2023-10-13 17:10:03 +08:00
bowen
cdac147bc8 fix(LockModal): Cannot unlock (#3143) 2023-10-13 11:22:23 +08:00
wuzhican
4b46be4a79 Pr/code editor boardered (#3142)
* feat: 为CodeEditor添加bordered属性

* fix: 去除重复的ant-inputclass

---------

Co-authored-by: wuzhican <3245076860@qq.com>
2023-10-12 17:16:54 +08:00
bowen
f87e078402 chore: fix type:check error (#3139) 2023-10-12 14:50:32 +08:00
bowen
4d02205839 fix(customExport): Failure to export (#3137) 2023-10-12 09:20:56 +08:00
bowen
e161c1449a fix(full-screen): dom fullscreen status text (#3130)
* chore: Fix ts type error

* chore: fix type:check error

* fix(full-screen): dom fullscreen status text
2023-10-11 10:47:24 +08:00
Li Kui
5a388be15e fix(BasicForm): type instantiation is excessively deep and possibly infinite. (#3128) 2023-10-10 22:35:41 +08:00
bowen
30b3ee5c89 chore: fix type:check error (#3126)
* chore: Fix ts type error

* chore: fix type:check error
2023-10-10 21:06:16 +08:00
黄小民
b43d3069e1 fix: #2744tabs选项卡渲染问题,以及完善路由中affix=true时处理逻辑。 (#3127)
* fix: #2744tabs选项卡渲染问题,以及完善路由中affix=true时处理逻辑。

* fix: type warning

---------

Co-authored-by: Li Kui <90845831+likui628@users.noreply.github.com>
2023-10-10 20:58:40 +08:00
Kirk Lin
a768b7d519 chore: update unplugin-config (#3120)
* chore: update `unplugin-config`

* fix: decode HTML entities in the injected HTML code
2023-10-10 18:18:09 +08:00
invalid w
c5a13dc92f Merge branch 'main' of https://github.com/vbenjs/vue-vben-admin 2023-10-10 18:06:48 +08:00
invalid w
6dd2818247 chore(demo): 修正表单增删示例类型错误 2023-10-10 18:05:34 +08:00
Li Kui
ae58ada82e fix(demo): useForm中DatePicker,RangePicker 日期控件位置不对 2023-10-10 17:48:59 +08:00
Li Kui
8b13f62995 fix(Editor): ts类型错误 2023-10-10 13:28:34 +08:00
invalid w
025cf98f4b chore(MenuItem): watch回调参数类型不一致 2023-10-10 12:25:06 +08:00
invalid w
6e33c26893 fix(SimpleMenuTag): SimpleMenuTag的引用都改为动态组件引用,以消除打包警告.close #3121 2023-10-10 12:23:39 +08:00
invalid w
d9fd16f4de Merge branch 'main' of https://github.com/vbenjs/vue-vben-admin 2023-10-10 12:07:28 +08:00
invalid w
a73187ccf4 chore(demo): 消除ts类型错误 2023-10-10 12:07:26 +08:00
黄小民
aa03c87383 fix: ScrollContainer的一个问题 #3046 (#3119) 2023-10-10 11:39:12 +08:00
invalid w
f5ce480f0f fix(StrengthMeter): change事件应随handleChange一起抛出。close #3118 2023-10-10 11:30:37 +08:00
invalid w
f0550f2043 Revert "chore: update unplugin-config (#3116)" (#3117)
This reverts commit f8698c4c3d.
2023-10-10 10:34:12 +08:00
Kirk Lin
f8698c4c3d chore: update unplugin-config (#3116) 2023-10-10 10:02:05 +08:00
invalid w
71c43945a5 fix(EditCellTable): 表格编辑行在使用Switch,checkedValue为数字时无法切换开关.close #2560 2023-10-09 18:20:11 +08:00
invalid w
0b9dd918d9 chore: set vscode default formatter 2023-10-09 17:51:26 +08:00
bowen
8289332214 chore: Fix ts type error (#3112) 2023-10-09 15:12:23 +08:00
invalid w
ae09d3cfd6 Revert "chore: Update Dependencies"
This reverts commit 6e1e1de0e2.
2023-10-09 12:37:05 +08:00
invalid w
6e1e1de0e2 chore: Update Dependencies 2023-10-09 12:31:29 +08:00
invalid w
cea297ce88 chore(error-handle): 处理vue errorHandler绑定事件的参数类型不一致 2023-10-09 12:02:53 +08:00
invalid w
e456f54ded chore(internal): 添加getEnvConfig返回类型 2023-10-09 11:54:31 +08:00
invalid w
e25af8dd8c chore(useFormEvents): 消除checkIsRangeSlider 校验类型错误 2023-10-09 11:37:59 +08:00
invalid w
49d40d685d chore: 消除Switch组件类型错误。close #3111 2023-10-09 11:26:48 +08:00
Kirk Lin
e53fefb310 refactor: use unplugin-config (#3110)
* refactor: use `unplugin-config`

* fix: preserve indentation in generated code

* refactor: use `unplugin-config`
2023-10-08 20:03:14 +08:00
invalid w
9c6b271097 chore(Form): 消除antd升级导致类型文件引用错误 2023-10-08 18:30:50 +08:00
invalid w
ec33820bf9 chore(Preview): 消除 onerror 参数类型错误 2023-10-08 18:25:11 +08:00
invalid w
a5a11fb846 chore(Preview):消除Preview Options的函数定义类型错误 2023-10-08 18:20:18 +08:00
invalid w
694dead311 Revert "refactor: use unplugin-config (#3106)"
This reverts commit a712a8e5a0.
2023-10-08 18:09:59 +08:00
invalid w
d84f6ef562 chore(Loading): 消除loading组件及示例类型问题 2023-10-08 18:07:42 +08:00
invalid w
ba5809669d chore(useCustomRow): 消除find tr函数类型错误 2023-10-08 17:54:53 +08:00
Kirk Lin
a712a8e5a0 refactor: use unplugin-config (#3106)
* refactor: use `unplugin-config`

* fix: preserve indentation in generated code
2023-10-08 17:31:55 +08:00
invalid w
1e95706f8b chore: Fix ts type error (#3100)
* chore: fix onUploadProgress params type error

* fix(BasicButton): extends type error

* fix: useFormRules 类型问题

* fix: IFormConfig 类型问题

* chore: 设定CollapseItem list参数的类型

* chore: 修复sliderSpan类型错误

* chore: 改写成setup组件

* fix: static func type error

* chore: 设定listener 函数 evt类型为Event

* chore(props): 消除ts类型错误

* chore: 移除多余的类型转换

* Update domUtils.ts

* chore: 消除iconPicker类型错误

* Update domUtils.ts

* chore(clickOutside): 消除类型错误

* Update repeatClick.ts

* Update index.ts

* chore: 补全参数类型

* fix(Cropper): avatar uploadapi 类型问题
2023-10-08 17:30:19 +08:00
invalid w
986430513b fix: tabel取消编辑单元格后会回到初始值. close #2739 (#3108) 2023-10-08 16:15:07 +08:00
invalid w
1519f47f7d fix(ApiSelect): 移除watchEffect引发的重复请求 (#3107) 2023-10-08 15:25:49 +08:00
invalid w
f3f2f548e6 Refactor:移除useCopyToClipboard hook, 使用navigator.clipboard进行替代。close #2723 (#3105)
* feat: 重写复制文本功能

* refactor: 替换复制文本示例代码

* chore: delete useCopyToClipboard hook
2023-10-08 10:50:05 +08:00
invalid w
18f55833e2 fix: 多选框必填选中校验异常,close #3097 (#3103) 2023-10-07 16:37:58 +08:00
invalid w
033d8828a9 perf: 解决ts文件通过alias引入vue文件后, vscode调转不到正确vue文件路径 (#3099) 2023-10-06 14:51:55 +08:00
1455668754
a3b9ff04f9 修正日期区间拆解时数据为null时异常问题/修正validate|validateFields时,未将对象型数据进行转换 (#3096)
* fix: 修正日期区间拆解时数据为null时异常问题

* fix: 修正validate|validateFields时,未将对象型数据进行转换
2023-10-06 10:02:18 +08:00
黄小民
c315aa9801 vite-config中将ant-design-vue升级到版本4 (#3089)
* fix: #3077 最新代码 ApiTransfer编辑后无法正常显示数据

* feat: 升级ant-design-vue至4.0.3

* feat: vite-config up to antd v4

* fix: 去掉console
2023-09-28 21:38:36 +08:00
James Zow
b5bdb53555 Fix unable to run the clear cache command normally #3086 (#3088)
* Create node.js.yml

* Fix unable to run the clear cache command normally #3086

This command will clear the pnpm cache and recompile through vite

* Maintain NPM packaging command
2023-09-28 16:31:40 +08:00
invalid w
690d887680 chore: 设定权限列columns宽度,消除演示表格错位问题 (#3087) 2023-09-28 16:21:28 +08:00
invalid w
64b812802f feat: 支持设置多重水印,增加清除所有水印方法. close #2610 (#3084)
* perf(watermark): 消除水印hook类型问题

* feat: 支持设置多重水印,增加清除所有水印方法

* chore: 应该让用户自己来进行水印清除
2023-09-28 11:05:53 +08:00
黄小民
c0c3116193 fix: #3077 最新代码 ApiTransfer编辑后无法正常显示数据 (#3083) 2023-09-27 17:56:31 +08:00
invalid w
10d6cc9b60 Merge pull request #3082 from wangjue666/fix-form-rule-validate
fix: 修复rule validator type默认为string
2023-09-27 17:03:25 +08:00
invalid w
a63a10c047 fix: 修复rule validator类型默认为string,导致 radio 等组件在 setFormValues 时,如果值不是string类型,提示校验错误 2023-09-27 16:38:59 +08:00
invalid w
b46a505582 Merge pull request #3081 from DesignHhuang/main
fix #3080 按钮权限示例的判断权限异常
2023-09-27 14:09:05 +08:00
huangxiaomin
d46c6daa13 #3080 按钮权限示例的判断权限异常 2023-09-27 13:58:35 +08:00
huangxiaomin
9f6d61d02c Merge branch 'main' of github.com:DesignHhuang/vue-vben-admin 2023-09-27 13:45:19 +08:00
invalid w
edffc12bb7 Merge pull request #3078 from wangjue666/chore-type
Chore:  优化了ApiTree绑定属性TS类型问题,删除了无用的插槽和引用
2023-09-27 10:21:58 +08:00
invalid w
b78f06898f chore(ApiTree): 移除无用的suffixIcon slot, ant的tree组件并没有提供这个slot 2023-09-27 10:13:41 +08:00
invalid w
a7ee3367e5 chore: rm unused watchEffect 2023-09-27 10:08:47 +08:00
invalid w
b3b2ca0738 chore(ApiTree): 消除绑定属性的类型错误 2023-09-27 10:02:21 +08:00
invalid w
fa5803f8c7 chore: release 2.10.1 2023-09-27 09:37:53 +08:00
smirkQAQ
aa6168fe20 fix: Fix context menu style not working (#3075) 2023-09-27 08:18:38 +08:00
invalid w
855a410557 style(Modal): modal全屏模式 ant 的modal-footer margin-top调整为0 (#3072) 2023-09-26 09:41:44 +08:00
invalid w
b1559e2cad fix(ApiSelect): ApiSelect首次选择值时仍然提示校验, fix #3065 (#3071) 2023-09-26 09:41:34 +08:00
invalid w
c5d24e07f0 Chore: 处理了Vben封装的Drawer,Modal组件的一些类型错误 (#3064)
* chore: rm unuse params

* chore(Modal): getCurrentInstance的uid类型为number

* chore(Drawer): 调整drawer组件的一些类型问题

* chore(Drawer): 移除多余的classname配置

* chore(Drawer): 修复getContainer和antd4 drawer组件类型不一致

* fix(AppSearchModal): 调整setRefs函数的类型
2023-09-26 09:41:25 +08:00
林飞
1cf2a81f2a feat(table): 表格拖拽列改变宽度
* feat(funcation): update 修复表格无法拖拽列改变宽度

* feat(function): add 完善可伸缩列

---------

Co-authored-by: gavin-james <meaganlindesy1258@gmail.com>
2023-09-22 10:35:30 +08:00
huangxiaomin
3569eda012 Merge branch 'main' of github.com:DesignHhuang/vue-vben-admin 2023-09-22 09:02:52 +08:00
黄小民
2abe24b8e0 Merge branch 'vbenjs:main' into main 2023-09-22 09:02:26 +08:00
黄小民
5665fd62a9 fix: 英文版本时提示中的单词没有分开 (#3062) 2023-09-22 08:21:44 +08:00
黄小民
eb2665059e fix: 英文版本时提示中的单词没有分开 2023-09-21 17:12:45 +08:00
huangxiaomin
be6f89b4bf Merge branch 'main' of github.com:DesignHhuang/vue-vben-admin 2023-09-21 17:08:15 +08:00
James Zow
b7554fdb74 Create node.js.yml (#3060) 2023-09-21 17:00:21 +08:00
黄小民
47348747a3 Merge branch 'vbenjs:main' into main 2023-09-21 16:16:43 +08:00
黄小民
3b62afe110 Update index.less (#3055)
处理 移动滚动条的时候,ant-select-dropdown 没有随form-item移动
2023-09-21 10:40:18 +08:00
invalid w
dbdd811705 feat(style): 使用Antd组件提供的切换主题功能 (#3051)
* perf(style): 使用antd4的暗黑主题

* refactor: 抽离切换暗黑主题模式
2023-09-21 10:40:09 +08:00
zmcode
a6b65b58a1 feat: 解决Form组件slot必须传递component字段才显示的问题 (#3049)
feat: 解决Form组件slot必须传递component字段才显示的问题
2023-09-21 10:39:44 +08:00
黄小民
a730afb67c Update index.less
处理 移动滚动条的时候,ant-select-dropdown 没有随form-item移动
2023-09-20 15:14:17 +08:00
huangxiaomin
f70cb62ecd 移动滚动条的时候,ant-select-dropdown 没有随form-item移动 2023-09-20 15:09:30 +08:00
胤玄
556575f501 feat: update nginx.conf 使用固定编译入口可能导致浏览器使用缓存js文件,而此配置可以解决 (#3045) 2023-09-20 08:16:48 +08:00
invalid w
e4778757ad style(TableColumn): fix Column settings container is too wide #3043 (#3044) 2023-09-20 08:16:38 +08:00
leo
b43fe7adbc fix(axios): get等方法配置ignoreCancelToken无效 (#3040) 2023-09-18 10:04:24 +08:00
Li Kui
4aaddef06f fix: type check failed for prop 'onClick' (#3038) 2023-09-18 10:04:15 +08:00
alixhome
ce6b25d03b fix: Change role to toles for LoginResultModel (#3037) 2023-09-18 10:04:00 +08:00
open-carp
74a2f6209f fix: FormAction组件 绑定表单提交事件 (#3036) 2023-09-18 10:03:52 +08:00
luchanan
99ddc3598a perf: 指令权限v-auth支持并显示按钮权限 (#3035) 2023-09-17 12:08:17 +08:00
invalid w
d3fd22dbbd chore: 解决 ESLint no-undef 规则校验问题和 basicTable 组件的类型问题,替换popover组件的 visible 属性。 (#3033)
* chore: 关闭eslint的no-undef规则校验

* chore(VFormDesign): 替换表单设计组件的modal是否可见属性

* chore(BasicTable): emit传参类型问题

* chore(Table): 调整函数参数类型

* chore: 调整expandedRowKeys数据类型

* chore(Table): 完善TableRowSelection接口类型

* chore(Table): 完善useRowSelection 文件的类型问题

* chore(useColumns): key赋值的类型问题

* chore(useDataSource): setTableData的类型问题

* chore:  替换rowKeys类型为 (string|number)[]

* fix(edit-cell): 修复edit table Popover 传参问题

* fix(Table):  handleItem函数进行绑定key dataIndex可能为数组,造成类型错误提示
2023-09-16 20:32:33 +08:00
LanceJiang
bf2f6390ad feat: BasicTable 组件 HeaderCell 新增(类customRender) customHeaderRender 方法 自定义渲染支持 (#3030)
示例见: /comp/table/multipleHeader
2023-09-15 15:56:26 +08:00
Li Kui
bd024cc521 fix: isible deprecated warnings (#3029) 2023-09-15 15:56:17 +08:00
Li Kui
4ac08e5ae5 fix: type check failed for prop 'onClick' (#3028) 2023-09-15 15:56:06 +08:00
invalid w
b0c2ca5393 fix(Header): 顶部菜单混合模式下,头部导航栏样式错位 #3021 (#3024)
* fix(Header): 顶部菜单混合模式下,头部导航栏样式错位 #3021

antdv4的ant-layout-header css会携带父选择器 导致line-height失效

* chore: 移除无用css
2023-09-13 20:26:16 +08:00
invalid w
1ac8c56c6b fix(Modal): 全屏modal样式问题 #3019 (#3020) 2023-09-13 16:32:00 +08:00
LanceJiang
f4149c2f1d fix: 由于更新ant-vue 新版本到 4.0.2以上 tsx 渲染 FormItem 插入style 导致的出错 改换class (#3016) 2023-09-12 23:19:11 +08:00
Li Kui
3ed49c3f8f fix: arrow-left icon not centered (#3013) 2023-09-11 22:22:43 +08:00
invalid w
356f132610 style(Drawer): antdv4版本 drawer要使用rootClassName来来配置最外层元素样式 (#3012) 2023-09-11 17:54:40 +08:00
k1ngbanana
1c668f21bf feat: pageWrapper.vue加入sticky功能 (#3008) 2023-09-08 22:10:29 +08:00
k1ngbanana
a244dcd261 fix: 配置文件公共路径无效 (#3007) 2023-09-08 22:10:19 +08:00
invalid w
aaf2fde3cf antdv升级到4.x版本 (#3006)
* fix(ApiTreeSelect):  ApiTreeSelect组件首次调用会重复请求(#2940)

由于watchEffect,onMounted会立即执行,所以导致重复请求。
并且 watch函数和watchEffect监听的依赖重复了,故删去

* chore: update ant design npm version

* chore: 修改antd的css引用路径

* style(layout):  替换sider header组件传参属性,适配原有组件的样式

* style(Menu): 去除气泡卡片的背景

* chore: typo

* typo(Modal): 将visible替换成open

* typo:修改modal弹窗的绑定函数名称

* style(Modal): 为了解决直接引用 Modal 组件时关闭按钮样式的问题,增加一个名为 "vben-basic-modal" 的类名,以实现样式隔离。

* Update package.json

* typo(Drawer): Drawer 组件 visible 变为 open

* typo(Table): Table 组件 filterDropdownVisible 变为 filterDropdownOpen。

* typo(TreeSelect): 组件弹框的 classname API 统一为 popupClassName,dropdownClassName
2023-09-08 22:10:07 +08:00
invalid w
607a24632a fix(ApiTreeSelect): ApiTreeSelect组件首次调用会重复请求(#2940) (#3005)
由于watchEffect,onMounted会立即执行,所以导致重复请求。
并且 watch函数和watchEffect监听的依赖重复了,故删去
2023-09-07 21:47:55 +08:00
invalid w
89d7a19f3f feat(Form): 为fieldMapToTime的映射类型增加时间戳转换 (#2996)
为fieldMapToTime的第三个参数增加 timestamp 和 timestampStartDay 选项

timestamp的作用: 将映射的时间格式转为时间戳

timestampStartDay的作用: 将映射的时间格式转为当天0点开始的时间戳
2023-09-03 16:22:02 +08:00
invalid w
a9017da294 perf: 为createAsyncComponent函数增加类型推导 (#2967) (#2991) 2023-09-03 16:21:51 +08:00
Li Kui
1c1ce4b0e3 fix: VxeTable demo parameter typo& tabs close icon not centered (#2989)
* fix(msg): message icon not centered

* fix: VxeTable demo parameter typo

* fix: tabs close icon not centered
2023-08-31 12:49:21 +08:00
Li Kui
e31525a803 fix(msg): message icon not centered (#2982) 2023-08-26 07:17:06 +08:00
invalid w
7b26c5994c feat: 增加Prompt组件, 并且修复 #2976 (#2979)
* feat: 增加Prompt组件

类似于Element UI组件库的MessageBox Prompt组件

* fix: #2976

* refactor: 对appendSchemaByField函数的通用操作进行整理
2023-08-25 12:36:10 +08:00
supperchong
248f9d5e81 chore: format nginx.conf (#2971) 2023-08-19 08:41:04 +08:00
scottMan1001
a2a78f40da Feat/scott man (#2970)
* feat: esbuild增加不同开发模式下对cnosole debugger的处理

* fix: fix production spelling
2023-08-16 21:35:21 +08:00
Li Kui
2c74e790cb fix(Tree): beforeRightClick type (#2968) 2023-08-16 21:34:57 +08:00
舜岳
b660f96220 refactor: code optimization (#2961) 2023-08-13 09:14:38 +08:00
Aynakeya
5dd3babc4e update left/right icon not align to center (#2958) 2023-08-13 09:14:15 +08:00
invalid w
5425dc241f fix: #2767 #2884 #2868 (#2956)
* fix: #2767

* fix: #2884

* fix: #2868
2023-08-13 09:14:04 +08:00
Hong Sen Lv
44f2b1c644 fix: ts error (#2955)
Co-authored-by: lvhongsen <lvhongsen@tal.com>
2023-08-11 08:39:24 +08:00
billyshen26
573d395b69 fix: 解决ApiTreeSelect的params更新后fetch不执行 (#2954)
* fix: 解决ApiTreeSelect的params更新后fetch不执行

* feat: 优化ApiTreeSelect参数,可自定义value等

---------

Co-authored-by: Billy Shen <shenfangtao@imaodu.com>
2023-08-11 08:39:13 +08:00
jinmao88
df1fceb291 fix: ci ok 2023-08-10 16:24:33 +08:00
jinmao88
9650122736 fix: ci 2023-08-10 15:52:57 +08:00
jinmao88
c99ef68b7b fix: ci 2023-08-10 15:16:22 +08:00
jinmao88
a95ba47b74 fix: ci 2023-08-10 15:09:38 +08:00
jinmao88
3fd193eb8b fix: ci 2023-08-10 14:51:56 +08:00
jinmao88
6fbc552ed1 fix: ci 2023-08-10 11:52:14 +08:00
jinmao88
247665513a fix: ci 2023-08-10 11:26:42 +08:00
jinmao88
351e1e55c2 fix: ci #12 2023-08-10 11:22:39 +08:00
jinmao88
8a27f5f277 fix: ci #11 2023-08-10 11:14:34 +08:00
jinmao88
befb508f7a fix: ci #10 2023-08-10 11:03:00 +08:00
jinmao88
e6c820792a fix: ci #9 2023-08-10 11:00:49 +08:00
jinmao88
30ccbfa695 fix: ci #8 2023-08-10 10:59:37 +08:00
jinmao88
7e12259ec4 fix: ci #7 2023-08-10 10:58:30 +08:00
jinmao88
244eeb18aa fix: ci #6 2023-08-10 10:47:16 +08:00
jinmao88
1108d78a06 fix: ci #5 2023-08-10 10:26:44 +08:00
jinmao88
ebe2047ae0 fix: ci #4 2023-08-10 10:12:39 +08:00
jinmao88
c7f4e6a459 fix: ci #3 2023-08-10 10:09:38 +08:00
jinmao88
833b31129b fix: getAppEnvConfig 2023-08-10 09:11:56 +08:00
smilv
86d5752ed7 perf: useRefs函数接收泛型类型 (#2952) 2023-08-09 21:58:22 +08:00
jinmao88
9babbc43fc fix: ci #2 2023-08-09 14:09:35 +08:00
jinmao88
a2451be5bc fix: ci 2023-08-08 19:07:09 +08:00
invalid w
eea414e04b feat: 恢复暗黑主题 (#2947)
* feat: 恢复暗黑主题

* fix: 修复danger btn暗黑样式优先级
2023-08-07 18:51:30 +08:00
Cao Duc Anh
0bd98b3c27 chore: split function for easy maintain, understand and using (#2945) 2023-08-03 16:28:34 +08:00
LanceJiang
a065de4fbc feat: Form 自定义组件渲染 新增 opts: {disabled} 用于自定义渲染判断 示例: /comp/form/customerForm页面 (#2944)
* feat: Form 自定义组件渲染 示例: /comp/form/customerForm页面
1. 针对自定义渲染功能 FormSchema 中
render, renderColContent, renderComponentContent 新增 opts:{disabled} 扩展 帮助自定义渲染时做 条件判断、展示同步
渲染: ((renderCallbackParams) => any) ===> ((renderCallbackParams, opts) => any)
2. slot, colSlot 分别是 render, renderColContent 插槽,为方便插槽使用
slotFn 进行解构 #test={scope} scope==={...data, ...opts}

* feat: Form 自定义组件渲染 示例: /comp/form/customerForm页面

1. 针对自定义渲染功能 FormSchema 新增 [fields] 和 [defaultValueObj] 帮助
render, renderColContent 自定义渲染时 存在多个 表单字段操作(复合field 场景)
2023-08-03 11:12:19 +08:00
ludens blunt
fa5ecb090f fix(Dropdown): still pop when disabled is true; (#2935)
Co-authored-by: chenguangzhuang <chenguangzhuang@techpci.com>
2023-07-29 10:43:07 +08:00
YueCHEN195
4f9c711012 fix: 修复BasicTable组件开启可编辑行卡顿/卡死问题 (#2939) 2023-07-29 10:42:51 +08:00
lessroc
12924fb3fa perf: 解决提交代码时stylelint格式化less和scss的媒体查询为不支持的语法(Media Queries Level 4) (#2931) 2023-07-29 10:42:25 +08:00
DoverDee
16b4b6d57c fit: 增加CropperAvatar组件图片上传大小限制默认最大5M (#2928)
Co-authored-by: doverlee <doverlee@fox.mail.com>
2023-07-26 19:05:31 +08:00
沐枫
c28224f3f8 增加TimeRangePicker时间区间范围选择组件 (#2926)
* feat: 增加TimeRangePicker时间范围选择组件

* feat: 增加TimeRangePicker时间范围选择组件2
2023-07-24 13:23:59 +08:00
zhangshujun
3b0b8d0baa feat:不允许可重复添加同一field的表单项 (#2923) 2023-07-21 20:23:04 +08:00
明修
b30270a3fb fix: 修复部分图标未居中的问题 (#2917) 2023-07-20 14:44:22 +08:00
zhangshujun
cb64e5d24c From default value (#2913)
* feat: defaultValue赋值后不改动时间相关字段无法格式化问题

* feat: 更新处理方式

* feat: 去除未引用方法

---------

Co-authored-by: zhangshujun <zhangsj01@51cto.com>
2023-07-17 16:52:21 +08:00
LittleSaya
a4e70b9efe 通过把名称编码成hex,使项目能够在VITE_GLOB_APP_TITLE包含特殊字符时正常打包 (#2910)
* Update env.ts

使getVariableName能处理含有特殊字符的标题

* Update appConfig.ts

是getVariableName能处理包含特殊字符的标题的情况
2023-07-13 10:44:13 +08:00
scottMan1001
4e3e721650 feat: esbuild增加不同开发模式下对cnosole debugger的处理 (#2907) 2023-07-11 11:52:54 +08:00
xingyu
c6e135195a 修复合并代码导致的冲突 (#2905)
* fix: 合并代码导致的问题,升级vite 4.4.0

* fix: stylelint
2023-07-07 07:06:36 +08:00
xingyu
1262e13067 升级最新依赖 并修复eslint报错 (#2896)
* chore: update deps

* fix: import.meta.globEager 已过期

* docs: fix doc bugs

* fix: eslint

* fix: lint:prettier

* fix: stylelint

* chore: update deps

* fix: eslint

* refactor: accountdetail setup

* fix: 'Nullable' is not defined

* feat: remove vite-plugin-vue-setup-extend

* chore: remove unplugin-vue-define-options

* fix(component): pageWrapper

use setup

closed #2898

* refactor: PageFooter use setup

---------

Co-authored-by: jinmao88 <50581550+jinmao88@users.noreply.github.com>
2023-07-06 15:00:38 +08:00
胤玄
c659c14c5a Docker dynamic publish support. (#2903)
* feat: Docker support, including dynamic publish

* fix:  run container command
2023-07-06 13:55:41 +08:00
LanceJiang
5ad5c8cdc7 fix: 类似 /comp/table/formTable页面 rowSelection.selectedRowKeys 数据双向绑定时 clickToRowSelect RowClick 触发失效 (#2893) 2023-06-29 21:04:06 +08:00
Li Kui
27cb958c2e fix: Cropper typo (#2891) 2023-06-28 16:52:33 +08:00
前端爱码士
155ad45848 fix: 修复ts-config未匹配上的文件 (#2880) 2023-06-21 22:41:06 +08:00
Kirk Lin
7535db377f fix(utils): deepMerge failing to correctly merge basic data types (#2872) 2023-06-19 16:59:44 +08:00
jinmao88
a0fdceeae7 fix: 修复边栏无法打开问题,deepMerge函数有问题未修复 2023-06-17 09:44:06 +08:00
jinmao88
c6e5c0f5f1 perf: 组件修改为setup 2023-06-17 09:42:42 +08:00
jinmao88
ca997c15ca fix: 默认不清除ts内console.log() 2023-06-17 08:45:58 +08:00
tawen
4c381596a9 fix: 可编辑单元格editCellTable,当值为空时无法进行编辑 (#2867)
* fix: 修复 Cannot access 'pagewrapper' before initialization

* fix: 修复 角色管理 编辑角色时,角色状态不正确

* fix: 可编辑单元格editCellTable,当值为空时无法进行编辑

* fix: 可编辑单元格editCellTable,当值为空时无法进行编辑
2023-06-16 07:40:35 +08:00
tawen
7bcdb46148 fix: 修复当设置apiselect的immediate为false时,默认赋值后取值不正确传入默认options方案 (#2862) 2023-06-14 06:09:03 +08:00
tawen
d33ccd042f fix: 修复 角色管理 编辑角色时,角色状态不正确 (#2861)
* fix: 修复 Cannot access 'pagewrapper' before initialization

* fix: 修复 角色管理 编辑角色时,角色状态不正确
2023-06-14 06:08:51 +08:00
zty
08f479f3e1 RoleDrawe.vue 改造为setup,角色编辑时状态不正确 (#2857)
* chore: 改造为setup

* fix: 状态不一致
2023-06-14 06:08:39 +08:00
zuihou
c054d73fe6 feat: 保持 和 windi 一样的全局样式,减少升级带来的影响
close 2814
close 2818

https://github.com/vbenjs/vue-vben-admin/issues/2814
https://github.com/vbenjs/vue-vben-admin/issues/2818
2023-06-12 10:44:20 +08:00
Kirk Lin
1f287145f4 fix(deepMerge): 去掉合并错误的代码 (#2848) 2023-06-10 17:19:18 +08:00
Kirk Lin
9c43c74131 Revert "fix(deepMerge): fix recursive merge data without removing duplicate bugs (#2831)" (#2844)
This reverts commit 7ca007ecd5.

Co-authored-by: jinmao88 <50581550+jinmao88@users.noreply.github.com>
2023-06-10 09:23:39 +08:00
Kirk Lin
c516d39225 fix(deepMerge): the default merge strategy is to replace the array (#2843) 2023-06-10 09:21:20 +08:00
Norton
a1283c1322 fix:关闭其它页签需要使用fullPath来判断,更新缓存后需要同时更新localStorage,否则刷新页面页签会再次加载 (#2847)
* fixed:修复操作页签后 打开页面需要使用fullPath,否则可能会导致参数丢失引起数据加载异常。

* fix:关闭其它页签需要使用fullPath来判断,更新缓存后需要同时更新localStorage,否则刷新页面页签会再次加载

---------

Co-authored-by: lichi <lichi@ilinecn.com>
2023-06-10 09:12:20 +08:00
tawen
cc88e1a66c fix: 修复 Cannot access 'pagewrapper' before initialization (#2835) 2023-06-07 08:42:39 +08:00
jinmao88
6aa3f934d0 Revert "perf: 优化modal弹窗样式 (#2824)" (#2834)
This reverts commit 1e8fab3fe5.
2023-06-06 16:30:01 +08:00
luojz
7ca007ecd5 fix(deepMerge): fix recursive merge data without removing duplicate bugs (#2831)
Co-authored-by: luojingzhou <luojingzhou@kezaihui.com>
2023-06-06 14:15:44 +08:00
Kyun Wong
361a189f6a fix: 修复未传参(params)的时,redo失效的问题 (#2826)
Co-authored-by: kelvin <kyun.wang@jodoinc.com>
2023-06-05 11:05:10 +08:00
前端爱码士
19fd49e22d perf: 优化tree getIcon方法类型定义 (#2825) 2023-06-05 11:04:56 +08:00
前端爱码士
1e8fab3fe5 perf: 优化modal弹窗样式 (#2824) 2023-06-05 11:04:37 +08:00
Gary
7e0456cc6c 删除appConfigSrc多余符号 (#2813) 2023-05-31 19:39:40 +08:00
HUCHAOQI
c118e83a2b 修复axios中responseInterceptorsCatch的类型 (#2811)
* fix(table): 使用lodash 的merge来递归assign,优化在多对象嵌套情况下的结构

* fix(view): 修复登入页面点击其他登入方式后返回时视图异常的bug

* fix(util): 修复类型错误
2023-05-30 10:14:02 +08:00
Peng Peidong
31d44ad372 fix(api/demo): fix typo (#2808) 2023-05-30 10:13:53 +08:00
GauharChan
f810a0892d ci(fix): 修复更新lock文件导致github action失败 (#2802) 2023-05-25 14:18:06 +08:00
GauharChan
5de89b5ec5 perf(demo): 动态更换表格配置 (#2793) 2023-05-24 16:42:39 +08:00
xiaoWangSec
0347c83620 fix: 修复VITE_GLOB_APP_TITLE中不能存在-的问题#1522 (#2794)
* fix #1522

fix #1522

* fix #1522

fix #1522

* fix #1522

fix #1522
2023-05-24 16:42:30 +08:00
HUCHAOQI
eb0fdb2cfc fix(component): 修复keep-alive组件包裹的文件onActivited不生效 (#2785)
* fix(table): 使用lodash 的merge来递归assign,优化在多对象嵌套情况下的结构

* fix(component): 修复keep-alive组件包裹的文件onActivited不生效
2023-05-22 10:10:57 +08:00
HUCHAOQI
e154d1366c Fix/views login (#2789)
* fix(table): 使用lodash 的merge来递归assign,优化在多对象嵌套情况下的结构

* fix(view): 修复登入页面点击其他登入方式后返回时视图异常的bug
2023-05-22 10:10:37 +08:00
GauharChan
34237ef033 workflow: fix github action build error (#2773)
* workflow: fix github action build error

* workflow: pnpm/action-setup 不指定具体版本号
2023-05-19 17:08:57 +08:00
LanceJiang
b13c4a81fc fix: 由于 多路径字段获取值 (#2664) 处理 造成的 set value值为0||''时不成功的情况 (#2776) 2023-05-19 16:35:58 +08:00
GauharChan
c46b04d548 workflow: fix github action build error (#2752) 2023-05-10 13:59:53 +08:00
Kyun Wong
afacf68825 fix: 解决重定向路径 params 参数丢失问题 (#2753)
Co-authored-by: kelvin <kyun.wang@jodoinc.com>
2023-05-10 13:59:36 +08:00
Norton
60a3b6a9f9 fixed:修复操作页签后 打开页面需要使用fullPath,否则可能会导致参数丢失引起数据加载异常。 (#2768)
Co-authored-by: lichi <lichi@ilinecn.com>
2023-05-10 13:59:06 +08:00
GauharChan
b97d588392 refactor: 完善ColumnSetting的操作逻辑 (#2745) 2023-04-30 22:52:42 +08:00
前端爱码士
6e716c5607 fix: 解决打包报内存溢出问题 (#2697) 2023-04-10 16:57:49 +08:00
vben
a969d2091a chore: release 2.10.0, 2.x 版本不再更新,如有任何pr,请提交到 next分支 2023-04-08 00:08:22 +08:00
vben
e285947716 fix: cross-env script 2023-04-08 00:04:56 +08:00
zhenbintuo
cfbd5e9851 修复insertNodesByKey方法批量添加异常问题 (#2695)
当批量添加节点parentKey为空时,未赋值treeDataRef导致添加异常
2023-04-08 00:03:11 +08:00
kissGoodBye
122db78e84 feat(directives/ellipsis): add ellipsis directive (#2688) 2023-04-07 09:22:51 +08:00
vben
5c69b3d5a8 chore: 删除无用文件 2023-04-07 00:15:06 +08:00
vben
335f30c887 chore: 优化 useScrollTo、useWindowSizeFn 2023-04-07 00:12:26 +08:00
vben
6a9bd686d5 chore: remove LazyContainer 2023-04-06 23:49:20 +08:00
vben
6890dd7201 perf: 新包使用更严格的eslint 2023-04-06 23:28:37 +08:00
vben
762e5dee14 fix: 修复循环依赖问题 2023-04-06 23:16:15 +08:00
vben
fa18365c21 chore: 移除 useTimeoutFn文件,使用 vueuse 2023-04-06 22:49:16 +08:00
vben
feadf64ee3 fix: Icon加载问题 2023-04-06 22:47:39 +08:00
vben
553ee9c7ae chore: revert fix(Icon): Cannot access Icon before initialization #2680 (#2683) 2023-04-06 22:44:26 +08:00
vben
9f8e010534 feat: 重构 useRefs 2023-04-06 22:17:18 +08:00
vben
14ba72dd1c fix: 主题样式设置无效,close #2685 2023-04-06 22:12:17 +08:00
前端爱码士
be0d35394c fix: 解决项目配置/界面功能/自动锁屏&菜单展开宽度样式变形问题 (#2681) 2023-04-06 22:03:26 +08:00
Kirk Lin
b14a15e66b refactor: axios Canceler use AbortController (#2676) 2023-04-06 22:03:12 +08:00
Kirk Lin
ae5f5cb13c feat: sync mitt (#2677) 2023-04-06 22:03:00 +08:00
Kirk Lin
ccaa84c305 fix: axios type (#2678)
* fix: axios type

* fix: axios type
2023-04-06 22:02:42 +08:00
Kirk Lin
357beabaeb fix: an object literal cannot have multiple properties with the same name. (#2682) 2023-04-06 22:02:23 +08:00
xingyu
7469312ffc fix(Icon): Cannot access Icon before initialization #2680 (#2683)
* fix(Icon): Cannot access Icon before initialization

* fix(comps): import eslint

* fix(Icon): Cannot access Icon before initialization

* fix(comps): import eslint
2023-04-06 22:02:02 +08:00
oooplz
401fcaf325 fix: 空数组覆盖有效数组 (#2687) 2023-04-06 22:01:25 +08:00
vben
5e8ef2f64f feat: 添加 defineOptions 2023-04-06 00:08:17 +08:00
vben
8e5a6b7ce5 perf: 修复部分 eslint 错误 2023-04-05 22:47:14 +08:00
vben
279977b817 feat: 逐步抽离部分包到packages 2023-04-05 22:29:16 +08:00
vben
a5ed79fc94 Merge branch 'main' of https://github.com/anncwb/vue-vben-admin 2023-04-05 21:25:37 +08:00
Cherelle Spencer
660024c6f3 perf: tsconfig 同步vite配置修改, 增加路径映射 (#2675)
Co-authored-by: 苗大 <caoshengmiao@hypergryph.com>
2023-04-05 20:34:53 +08:00
vben
d25df8321e chore: windcss -> unocss 2023-04-05 18:17:55 +08:00
luoawai
6b30c9f7bb fix(useFormItem):修复ApiSelect的onChange事件获取不到第二个参数(#2592) (#2674) 2023-04-05 15:58:43 +08:00
vben
aedb8e53aa perf: 优化env字段 2023-04-05 15:58:03 +08:00
vben
358b77fe96 chore: release 2.9.1 2023-04-05 00:21:09 +08:00
vben
5e99463cd0 perf: Refactor vite configuration 2023-04-05 00:20:48 +08:00
vben
5e4be0adbc chore: update config 2023-04-04 17:29:58 +08:00
vben
c2590cbfb5 Merge branch 'main' of https://github.com/anncwb/vue-vben-admin 2023-04-04 17:14:06 +08:00
vben
08d4e34b77 chore: config ts-config 2023-04-04 17:13:09 +08:00
前端爱码士
7a8978dcff fix: 解决打包报内存溢出问题 (#2672) 2023-04-04 17:11:03 +08:00
oooplz
af54b0fbc6 feat: 多路径字段获取值 (#2664) 2023-04-04 16:59:43 +08:00
Cherelle Spencer
4418eccfab fix(deepMerge): 修复递归合并操作, 合并数组未去重的bug (#2667)
Co-authored-by: 苗大 <caoshengmiao@hypergryph.com>
2023-04-04 16:59:30 +08:00
Cherelle Spencer
02d41197b6 fix: propTypes.extend()方法已经废弃, 改为官方推荐的ES6+方法 (#2670)
Co-authored-by: 苗大 <caoshengmiao@hypergryph.com>
2023-04-04 16:59:19 +08:00
vben
ba2415c3b4 chore: Extract lint config 2023-04-04 16:55:34 +08:00
vben
84a5fc1256 chore: 项目所有依赖升级到最新 2023-04-02 00:20:01 +08:00
vben
8180b2d15f chore: 暂时移除主题切换及暗黑模式切换功能 2023-04-02 00:02:52 +08:00
vben
699cf6d7af chore: remove vite-plugin-pwa 2023-04-01 23:56:02 +08:00
vben
fea323cff1 chore: css is no longer imported on demand 2023-04-01 23:53:26 +08:00
vben
dc39567a14 chore: remove @vitejs/plugin-legacy vite-plugin-imagemin 2023-04-01 23:48:19 +08:00
vben
ab74480083 chore: Requires pnpm 8 and node 16 2023-04-01 23:39:36 +08:00
Wit〆苗大
9579a45b3c feat(excel导出): 增加批量导出功能, 增加demo示例 (#2657)
* feat(excel导出): 批量导出功能

* feat(excel导出): 批量导出功能, 增加参数类型定义;增加demo示例

---------

Co-authored-by: 苗大 <caoshengmiao@hypergryph.com>
2023-03-30 09:53:55 +08:00
Wit〆苗大
302afe5860 fix(项目配置): 修复 #2652 重置项目配置,导致左侧菜单栏整体变成白色 (#2656)
Co-authored-by: 苗大 <caoshengmiao@hypergryph.com>
2023-03-30 09:53:44 +08:00
Wit〆苗大
7b21e9dc24 fix(useFormEvents): 修复#2648修改导致的末尾大括号丢失 (#2655)
Co-authored-by: 苗大 <caoshengmiao@hypergryph.com>
2023-03-30 09:53:24 +08:00
Wit〆苗大
f05b90f86b fix(form-design): CollapseItem组件页面css添加prefixCls前缀, 防止打包后污染全局样式 (#2654)
Co-authored-by: 苗大 <caoshengmiao@hypergryph.com>
2023-03-30 09:53:03 +08:00
oooplz
1b30834eb3 feat: 解构字段设置value (#2648) 2023-03-29 14:59:11 +08:00
Wit〆苗大
c5f97b9d9f perf(BasicTable): css 内 ant-tag margin改动仅对表格内单元格生效, 防止影响其他地方的tag (#2653)
* perf(BasicTable): ant-tag margin改动仅对表格内单元格生效, 防止影响其他地方的tag, 如搜索表单内时间范围自定预设范围的tag

* perf(BasicTable):css 内 ant-tag margin改动仅对表格内单元格生效, 防止影响其他地方的tag, 如搜索表单内时间范围自定预设范围的tag

---------

Co-authored-by: 苗大 <caoshengmiao@hypergryph.com>
2023-03-29 14:58:42 +08:00
Lantz
3a1ec7ac86 fix(hooks): 修改在使用useEcharts时, getInstance无法获取到最新的echarts实例的问题 (#2650) 2023-03-29 14:58:18 +08:00
Kirk Lin
4c63b1abb7 refactor: deepMerge (#2649) 2023-03-28 21:34:11 +08:00
vben
5d8d9786e3 chore: release 2.9.0 2023-03-24 18:02:27 +08:00
vben
2cca7e8bfb chore: update vscode setting 2023-03-24 18:00:53 +08:00
LooSheng
74ded8aed7 perf: respect the writing style of pinia getters (#2645) 2023-03-24 17:48:35 +08:00
wh
d620758c2f fix(ApiSelect): 支持x.x.x格式 (#2637)
Co-authored-by: whong <whif@foxmail.com>
2023-03-23 11:45:44 +08:00
luocong2016
f2ec2ca273 feat: 添加更多配置项 (#2607) 2023-03-17 12:35:38 +08:00
zty
b66a83c10f fix: upload component preview .webp image (#2631)
Co-authored-by: tianyuan233 <zty.dev@outlook.com>
2023-03-16 13:05:07 +08:00
zty
7bbb86249b fix: set type of FormActionType.setFieldsValue same as type of setFieldsValue in useFormEvents (#2630) 2023-03-16 13:04:49 +08:00
zty
b0a45d4739 fix: modalheader dblclick (#2628) 2023-03-15 13:22:57 +08:00
lzdjack
1095d44110 feat: 替换vextable中button组件 (#2625) 2023-03-14 17:06:57 +08:00
Wit〆苗大
e938e8e9a8 perf(BasicButton): 按钮颜色设置支持主题色primary (#2623)
Co-authored-by: 苗大 <caoshengmiao@hypergryph.com>
2023-03-14 17:06:41 +08:00
予ヾ
3b0077dc73 fix: 修复水印重复叠加问题 (#2622)
Co-authored-by: whong <whif@foxmail.com>
2023-03-14 17:06:25 +08:00
lzdjack
3de5b53bcd fix: 修复表单验证 (#2620)
1.优化验证
2.修复自定义组件验证出错的问题
2023-03-14 17:06:10 +08:00
qixianc94
d7f5dfeb9f fix: ApiTransfer的targetKeys属性无效 (#2615) 2023-03-10 11:32:49 +08:00
儿时的夏日
85bc1f2340 fix: vxe-table与vben ApiTreeSelect适配 (#2613) 2023-03-10 11:32:36 +08:00
Partoo
edede25c8f fix: 修复TypeError: item.indexOf is not a function报错 (#2611) 2023-03-10 11:31:51 +08:00
mfish
6da30edef5 fix(SettingFooter): 解决主题重置后Theme不实时更新问题 (#2608)
* feat(axiosSuccess): 操作成功后根据传入提示模式进行相应

* fix(axiosRetry): 解决get重试请求返回的headers造成无法成功请求的问题

* fix(axiosRetry): 参数首字母小写

* fix(useDataSource): 解决deleteTableRecord删除树形表格的行记录时,无法删除,无法找到子节点的问题

* feat(useDataSource): 删除之前提交代码遗留的console

* fix(permissionGuard): 当获取用户信息失败时,不允许正常登陆返回登陆界面

* fix(permissionGuard): 代码还原

* fix(menu): 解决隐藏菜单目录只能隐藏第一层目录的问题,递归隐藏所有子菜单

* feat(baseSetting): 个人设置图标修改时弹出窗显示原图片,由于跨域获取图片存在问题暂时将user.ts中的跨域图片链接去掉,直接采用本地图片

* fix(ApiSelect): 解决参数类型为string时的警告问题

* fix(SettingFooter): 解决主题重置后Theme不实时更新问题
2023-03-10 11:31:31 +08:00
superlollipop
d9286b5345 修复表格设置固定列,事件回调数据错误 (#2605)
* fix: 修复异步加载表格列时,表格设置显示列为空

* fix: 修复表格设置固定按钮回调事件,未过滤当前选择的列导致回调数据错误
2023-03-06 17:29:54 +08:00
JokeHe
8d218ec8d5 Update useTree.ts (#2602)
修复获取子节点出错
2023-03-06 11:24:24 +08:00
luocong2016
72dbe574d3 fix: 修复表单验证失败的多个错误提示,语法报错问题 (#2601) 2023-03-06 11:24:09 +08:00
superlollipop
4c91ac11e2 fix: 修复异步加载表格列时,表格设置显示列为空 (#2599) 2023-03-04 14:08:32 +08:00
前端爱码士
ce480c5d66 fix: 解决BasicModal弹窗动态:wrapClassName属性被useFullScreen hooks覆盖的问题 (#2598) 2023-03-04 14:08:23 +08:00
前端爱码士
7f5e415da9 fix: 修复deepMerge方法问题 (#2597) 2023-03-04 14:08:13 +08:00
yx lin
714a351036 Feat/cancel event (#2593)
* feat(excel): add cancel event for import excel

* feat(excel): add cancel emits
2023-03-03 13:14:01 +08:00
luocong2016
a78c3a305b Update CollapseHeader.vue (#2583)
#2582
2023-03-02 15:14:00 +08:00
前端爱码士
bb8c2dea40 fix: 解决IconPicker初始拷贝了value的值,导致剪切板内容被覆盖 (#2591) 2023-03-02 15:13:45 +08:00
luocong2016
dce3aba20d refactor: 重构案例代码 (#2589) 2023-03-02 15:13:30 +08:00
jsong
256e0275fe Feat/modify input excel (#2587)
* feat: optimize parameter

* Revert "feat: optimize parameter"

This reverts commit 957dfc95dd.

* feat: can input irregulate excel
2023-02-27 12:52:09 +08:00
tttleon
c70cf3cace fix 主动调用 axioscancelToken 的 cancel 取消请求时 无效的问题 (#2586)
cancelToken 如果被深拷贝,会导致最外层无法使用cancel方法来取消请求
2023-02-27 12:51:51 +08:00
前端爱码士
4f4bec0c22 fix: 修复消息hooks icon类型 (#2585) 2023-02-27 12:51:26 +08:00
luocong2016
491941e4c5 fix<CollapseContainer>: v-show 才不会丢失目标容器 (#2584) 2023-02-27 12:51:13 +08:00
珍藏的小板凳
f1678a7cc0 fix: 修复Container中头部组件插槽中的action不生效的问题 (#2582)
Co-authored-by: xuyang.geng <xuyang.geng@gaea.com>
2023-02-27 12:50:36 +08:00
luocong2016
ed8cffb2a1 fix: 组件属性优先默认 (#2581) 2023-02-27 12:50:11 +08:00
luocong2016
8284d106e2 refactor<useForm>: 重构案例 (#2577) 2023-02-23 22:57:38 +08:00
lzdjack
de305ecd47 fix: 修复页面缓存 (#2575)
1. 修复页面不能缓存的bug
2. 此更新为破坏性更新,页面不支持多标签使用
3. 将表单设计模块多标签改成单标签
2023-02-23 10:28:05 +08:00
luocong2016
a222404220 refactor<mock>: compatibility notes (#2555) 2023-02-22 18:32:53 +08:00
luojz
5335ae7578 fix(FormTable): fix table spread selection(#2565) (#2574)
Co-authored-by: luojingzhou <luojingzhou@kezaihui.com>
2023-02-22 18:32:32 +08:00
luocong2016
f32d2715ef fix: css !mt-5 (#2573) 2023-02-22 18:32:20 +08:00
luocong2016
fb73be0928 fix: table 高度消失 (#2572) 2023-02-22 18:32:07 +08:00
luocong2016
c2a159155c fix: 重复点击全屏会抖动 (#2571) 2023-02-22 18:31:44 +08:00
luocong2016
70ee1c8403 refactor: 插槽优先属性调整,prefixCls优先关系调整 (#2570) 2023-02-22 18:31:27 +08:00
luocong2016
7346988622 refactor: collapse/CollapseContainer (#2569) 2023-02-22 18:31:13 +08:00
luocong2016
d6fdfd9f93 fix<utils>: Color Regular Error (#2567) 2023-02-22 18:30:46 +08:00
Houtaroy
d88915bac3 🐞 fix(Tree): 调整checkedKeys属性的类型 (#2562) 2023-02-22 18:09:30 +08:00
ZhangZhiChao
a1b9bbc2ce fix: 重置表单时移除URL中的参数 (#2559) 2023-02-19 14:25:09 +08:00
luocong2016
64d6fece08 docs: optimization point notes (#2534) 2023-02-15 11:43:50 +08:00
luocong2016
be3d98fa3d chore<table>: fix type (#2529) 2023-02-15 11:43:35 +08:00
luocong2016
ce0f528ba8 chore<table>: fix type (#2528) 2023-02-15 11:43:23 +08:00
luocong2016
085929a9c0 fix<table>: 高度丢失 (#2527) 2023-02-15 11:43:09 +08:00
Vinton
de4eaddffd fix: 注释build/util文件中的代码,修复热更新无效的问题 (#2551)
Co-authored-by: huangwentao <huangwentao@dianchu.com>
2023-02-15 11:42:50 +08:00
wwsheng009
e1804bd866 form-design优化代码格式,清除无用的注释与引用 (#2547)
* fix: 修复form设计器在黑暗模式下的显示问题

* perf: [form-design]优化源代码,清除无用注释与注释
2023-02-15 11:42:35 +08:00
Wit〆苗大
334a0ea8e5 fix(TableAction): 修复outside模式引用时报错;VxeTable demo引用TableAction改为outside模式, 属性添加keepSource以解决警告 (#2544)
* fix(TableAction): 修复outside模式引用时报错: TypeError: Cannot read properties of undefined (reading 'value')

* perf(VxeTable): demo引用TableAction改为outside模式以解决警告; 属性添加keepSource以解决警告

---------

Co-authored-by: 苗大 <caoshengmiao@hypergryph.com>
2023-02-10 19:53:32 +08:00
wwsheng009
bce6cee53a fix: 修复form设计器在黑暗模式下的显示问题 (#2543) 2023-02-10 19:52:57 +08:00
ZhangZhiChao
32daad6198 fix: 修复esbuild的drop_console (#2542) 2023-02-10 19:52:42 +08:00
luocong2016
a4a5a44009 feat<useLogin>: original Form.validate (#2535) 2023-02-10 07:44:29 +08:00
wwsheng009
c5b39f2c16 feat: 增加表单设计器 (#2533) 2023-02-10 07:43:27 +08:00
Wit〆苗大
4c0f2038af perf(vxetable): 封装方法中加入可编辑表格和表单验证相关方法名,并在demo中增加新增和删除方法调用实现 (#2532)
* perf(vxetable): 封装方法中加入可编辑表格相关方法名,并在demo中增加新增和删除方法调用实现

* perf(vxetable): 封装方法中加入表单验证方法名

---------

Co-authored-by: 苗大 <caoshengmiao@hypergryph.com>
2023-02-10 07:42:59 +08:00
luocong2016
d25dfcc7c0 docs:optimization point notes (#2526) 2023-02-10 07:42:04 +08:00
ZhangZhiChao
8992ef472e build: 替换vite废弃的选项brotliSizereportCompressedSize,移除v-i18n-next的fix warning (#2522) 2023-02-10 07:41:36 +08:00
Carson
f7a1b02236 fix(useColumns): 多级表头下的列支持行内编辑 (#2521) 2023-02-05 16:33:12 +08:00
刘大卫
0dc2f1496b fix: 合并单元格页面 由于 ant-design-vue 升级 v3 版本,页面报 Warning: columns.customRender 即将废弃,columns.customRender 用 columns. customCell 替换 (#2520)
* fix(MergeHeader): 组件/Table/合并单元格页面 修改 Tabel.title 值为 合并单元格、修改 Table.bordered 值为 true 更好显示合并单元格效果

* fix(tableData): 由于 ant-design-vue 升级 v3 版本,页面报 Warning: columns.customRender 即将废弃
2023-02-05 16:33:03 +08:00
mfish
dab977ffbc fix(ApiSelect): 解决参数类型为string时的警告问题 (#2517)
* feat(axiosSuccess): 操作成功后根据传入提示模式进行相应

* fix(axiosRetry): 解决get重试请求返回的headers造成无法成功请求的问题

* fix(axiosRetry): 参数首字母小写

* fix(useDataSource): 解决deleteTableRecord删除树形表格的行记录时,无法删除,无法找到子节点的问题

* feat(useDataSource): 删除之前提交代码遗留的console

* fix(permissionGuard): 当获取用户信息失败时,不允许正常登陆返回登陆界面

* fix(permissionGuard): 代码还原

* fix(menu): 解决隐藏菜单目录只能隐藏第一层目录的问题,递归隐藏所有子菜单

* feat(baseSetting): 个人设置图标修改时弹出窗显示原图片,由于跨域获取图片存在问题暂时将user.ts中的跨域图片链接去掉,直接采用本地图片

* fix(ApiSelect): 解决参数类型为string时的警告问题
2023-02-05 16:32:53 +08:00
luocong2016
92cc603680 chore: fix type (#2516) 2023-02-05 16:32:44 +08:00
lzdjack
d3ec7a58ad fix: 修复RadioButtonGroup组件返回值不正确的bug (#2513) 2023-01-31 18:03:21 +08:00
lzdjack
83e529681a perf: 优化ApiRadioGroup回调函数change参数 (#2512) 2023-01-31 18:03:11 +08:00
lzdjack
4d6f24d053 perf: 优化ApiCascader回调函数change参数 (#2511) 2023-01-31 18:03:02 +08:00
lzdjack
45b0be7f7e fix: 修复表单自定义组件验证不通过的bug (#2510) 2023-01-31 18:02:53 +08:00
jinmao88
c999abb236 fix: ci error 2023-01-30 16:20:54 +08:00
jinmao88
816fffe960 fix: lodash 2023-01-30 16:13:07 +08:00
jinmao88
0ad30503a7 chore: update ci 2023-01-30 15:58:36 +08:00
jinmao88
d02ab2d220 chore: update ci 2023-01-30 15:44:56 +08:00
lzdjack
6753e24b3d feat: 接入vextable组件 (#2508) 2023-01-30 14:48:04 +08:00
Wit〆苗大
b90d3572a9 fix(AppendForm): 修复 批量添加表单配置 按钮点击事件未使用批量方法 问题; 表单排版改用baseColProps一次配置,减少重复代码 (#2504)
* fix(AppendForm): 修复 批量添加表单配置 按钮点击事件未使用批量方法 问题

* perf(AppendForm): 表单排版改用baseColProps一次配置,减少重复代码

Co-authored-by: 苗大 <caoshengmiao@hypergryph.com>
2023-01-18 22:43:45 +08:00
Cyrus Zhou
1657439569 修复 updateSchema 多个field 属性时,第二个无效问题。 (#2493)
* Table BasicColumn 添加 editDynamicDisabled
Co-authored-by: Cyrus Zhou <6802207@qq.com>
使用方式同 Form FormSchema dynamicDisabled
```
export const Columns: BasicColumn[] = [
  {
    title: 'Title',
    dataIndex: 'Title',
    editRow: true,
    editComponent: 'Select',
    editDynamicDisabled: ({ record }) => record.isDisabled,
  },

* editComponentProps onChange 功能恢复
Co-authored-by: Cyrus Zhou <6802207@qq.com>
说明:
...omit(compProps, 'onChange')
这会忽略 onChange ,导致 editComponentProps onChange 被取消

如下功能将不支持:
```
editComponentProps: ({ record }) => {
  return {
    options: effectTypeData,
    onChange: () => {
    },
  };
},
```

* tableData == null 报错

* ApiSelect 第一次选择触发required错误提示问题

* 恢复 虽然可以解决第一次选择提示报错问题,但是会导致 onChange: (e: any, options: any) => 无法获得 options 的值

* 修复标签页切换灰屏不显示内容问题
Co-authored-by: Cyrus Zhou <6802207@qq.com>
问题描述页面没有用 div 包括 会提示 Component inside <Transition> renders non-element root node that cannot be animated ,
导致页灰屏必须刷新页面才可以显示内容

* 添加 Form ApiTransfer
## 使用方式
api 方式:
```
    ......
    component: 'ApiTransfer',
    componentProps: {
       api: sysUserSelector,
       labelField: 'name',
       valueField: 'id',
    },
    .....
```
数据方式:
```
     ....
     componentProps: {
      dataSource: [
        { title: 'Test01', key: '0', disabled: false, description: 'description 01' },
        { title: 'Test02', key: '1', disabled: false, description: 'description 02' },
        { title: 'Test03', key: '2', disabled: false, description: 'description 03' },
        { title: 'Test04', key: '3', disabled: false, description: 'description 04' },
        { title: 'Test05', key: '4', disabled: false, description: 'description 05' },
      ],
    },
    ....
```

* style: eslint 书写规范

* fix: 频繁切换页面导致灰屏

* fix: 修复 updateSchema 多个field 属性时,第二个无效问题。

如:
```
updateSchema([
          {
            field: 'password',
            ifShow: !unref(isUpdate),
          },
          {
            field: 'confirm',
            ifShow: !unref(isUpdate),
          },
        ]);
        ```

Co-authored-by: CyrusZhou <6802207@qq.com>
2023-01-18 11:17:44 +08:00
mfish
8dd8a5ed01 个人设置图标修改时弹出窗显示原图片,由于跨域获取图片存在问题暂时将user.ts中的跨域图片链接去掉,直接采用本地图片 (#2487)
* feat(axiosSuccess): 操作成功后根据传入提示模式进行相应

* fix(axiosRetry): 解决get重试请求返回的headers造成无法成功请求的问题

* fix(axiosRetry): 参数首字母小写

* fix(useDataSource): 解决deleteTableRecord删除树形表格的行记录时,无法删除,无法找到子节点的问题

* feat(useDataSource): 删除之前提交代码遗留的console

* fix(permissionGuard): 当获取用户信息失败时,不允许正常登陆返回登陆界面

* fix(permissionGuard): 代码还原

* fix(menu): 解决隐藏菜单目录只能隐藏第一层目录的问题,递归隐藏所有子菜单

* feat(baseSetting): 个人设置图标修改时弹出窗显示原图片,由于跨域获取图片存在问题暂时将user.ts中的跨域图片链接去掉,直接采用本地图片
2023-01-18 11:17:18 +08:00
前端爱码士
f1717973c4 fix: 修复props中Array类型定义问题 (#2491) 2023-01-18 11:16:43 +08:00
Wit〆苗大
0cc53558fb fix(EditableCell): 修复可编辑表格 组件onChange重复问题 (#2495)
* fix: props 初始化拼写错误 defualt => default

* fix: props 定义默认值拼写错误 defualt => default

* fix(EditableCell): 修复可编辑表格select组件onChange重复问题

Co-authored-by: 苗大 <caoshengmiao@hypergryph.com>
2023-01-18 11:16:33 +08:00
nalomu
7e77177ed8 fix:修复header下拉菜单和外部页面菜单的文档链接 (#2500) 2023-01-18 11:16:15 +08:00
前端爱码士
bb1fee5885 fix: 修复table组件insertTableDataRecord方法的返回类型 (#2490) 2023-01-18 11:16:04 +08:00
1xuanyuan1
53b2b23620 fix: 修复权限切换不生效问题 (#2488)
Co-authored-by: 戴文俊 <daiwenjun@qutoutiao.net>
2023-01-18 11:15:46 +08:00
vivianma83
4c67d8c388 feat: 使用useForm时调用setFieldsValue后,组件的onChange未主动触发 (#2142) (#2503)
Co-authored-by: maxiaojing <maxiaojing@hashdata.cn>
2023-01-18 11:15:16 +08:00
Zuo Jiangtao
0ab2a541cb build: git config (#2474) 2023-01-18 11:14:58 +08:00
MAM
4dc5385104 upgrade (#2486)
* fix: upgrade vue from 3.2.37 to 3.2.45

Snyk has created this PR to upgrade vue from 3.2.37 to 3.2.45.

See this package in npm:


See this project in Snyk:
https://app.snyk.io/org/mam-06/project/2dc2fb63-61b9-4ffd-b74e-e101b53b7190?utm_source=github&utm_medium=referral&page=upgrade-pr

* fix: package.json & yarn.lock to reduce vulnerabilities (#6)

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-TINYMCE-3166281

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
Co-authored-by: Snyk bot <github+bot@snyk.io>
2023-01-07 03:09:09 +08:00
mfish
26bd4aeba6 解决隐藏菜单目录只能隐藏第一层目录的问题,递归隐藏所有子菜单 (#2484)
* feat(axiosSuccess): 操作成功后根据传入提示模式进行相应

* fix(axiosRetry): 解决get重试请求返回的headers造成无法成功请求的问题

* fix(axiosRetry): 参数首字母小写

* fix(useDataSource): 解决deleteTableRecord删除树形表格的行记录时,无法删除,无法找到子节点的问题

* feat(useDataSource): 删除之前提交代码遗留的console

* fix(permissionGuard): 当获取用户信息失败时,不允许正常登陆返回登陆界面

* fix(permissionGuard): 代码还原

* fix(menu): 解决隐藏菜单目录只能隐藏第一层目录的问题,递归隐藏所有子菜单
2023-01-07 03:08:52 +08:00
yuh
61d6057fa4 fix: 裁剪上传接口与uploadModal统一:url (#2482) 2023-01-03 20:13:46 +08:00
李勇
9090cee184 fix: table-datasource,如果后端返回的page total是字符串,会导致页码乱掉 (#2483) 2023-01-03 20:13:26 +08:00
Vinton
31042de6bc perf(component): 优化table 组件的insertTableDataRecord的方法,增加批量插入的功能。 (#2481)
Co-authored-by: huangwentao <huangwentao@dianchu.com>
2023-01-01 17:25:10 +08:00
ruxue777
aabafe8610 fix(components): [Table,EditableCell] rename Function (#2466) 2022-12-27 12:11:59 +08:00
Vinton
098621892d perf(component): 1.优化appendSchemaByField只能单一添加一个表单项的问题,可以传入数组表单项,统一添加,减少重复方法调用 2. 增加批量添加表单项demo (#2472) 2022-12-22 21:36:36 +08:00
sevth
582d7e7351 fix: table cell edit bug. (#2465) 2022-12-18 19:54:39 +08:00
mfish
ca487426a1 删除之前遗留的console (#2463)
* feat(axiosSuccess): 操作成功后根据传入提示模式进行相应

* fix(axiosRetry): 解决get重试请求返回的headers造成无法成功请求的问题

* fix(axiosRetry): 参数首字母小写

* fix(useDataSource): 解决deleteTableRecord删除树形表格的行记录时,无法删除,无法找到子节点的问题

* feat(useDataSource): 删除之前提交代码遗留的console
2022-12-18 19:53:55 +08:00
Sunny-117
2387dcdc6d chore: change website link (#2462)
* chore: change website link

* chore: change website link en
2022-12-18 19:53:30 +08:00
mfish
9435b480ab 解决deleteTableRecord删除树形表格的行记录时,无法删除,无法找到子节点的问题 (#2461)
* feat(axiosSuccess): 操作成功后根据传入提示模式进行相应

* fix(axiosRetry): 解决get重试请求返回的headers造成无法成功请求的问题

* fix(axiosRetry): 参数首字母小写

* fix(useDataSource): 解决deleteTableRecord删除树形表格的行记录时,无法删除,无法找到子节点的问题
2022-12-15 18:30:44 +08:00
李勇
8c2ba755c1 fix:增加basictable组件name,防止注册组件的时候组件没有name (#2440) 2022-12-07 17:12:09 +08:00
Little-LittleProgrammer
c7639c4909 fix(basicForm): Fixed an issue where custom rules trigger would not take effect (#2439)
Co-authored-by: 吴安乐 <wuanle@qimao.com>
2022-12-07 17:11:42 +08:00
wangzhi
6af828260e Update index.vue (#2433)
下面这块代码 在我的项目打包后在比较宽的屏幕(2K 31 寸)有显示 bug 两边会出现大面积空白,   有偶发性 清缓存首次进入会出现 , 刷新就没了, 这里为什么要指定宽度 ?
2022-12-02 09:39:29 +08:00
前端爱码士
5a9a8644d6 fix: 修复Form组件emptySpan类型定义错误 (#2432) 2022-12-01 13:04:46 +08:00
Vinton
0bb3b7f90d fix: 修复频繁调用_setDefaultValue方法,设置初始值的时候,多次调用失效的问题 (#2431)
Co-authored-by: huangwentao <huangwentao@dianchu.com>
2022-12-01 13:04:31 +08:00
yaoyylm
87ee7cd27a 处理(Warning 'Use of eval is strongly discouraged')警告 (#2424) 2022-11-25 08:42:02 +08:00
mfish
ce030d2d1d axiosRetry参数首字母小写 (#2419)
* feat(axiosSuccess): 操作成功后根据传入提示模式进行相应

* fix(axiosRetry): 解决get重试请求返回的headers造成无法成功请求的问题

* fix(axiosRetry): 参数首字母小写
2022-11-24 18:16:34 +08:00
mfish
43c8bf0d0b 解决get重试请求返回的headers造成无法成功请求的问题 (#2416)
* feat(axiosSuccess): 操作成功后根据传入提示模式进行相应

* fix(axiosRetry): 解决get重试请求返回的headers造成无法成功请求的问题
2022-11-24 06:45:28 +08:00
coder_Q
bc099041ce style: optimize the way success hints are encoded in transformRespons… (#2411)
* style: optimize the way success hints are encoded in transformResponseHook #2410

* style: move to introduce location

Co-authored-by: 邱子建 <qiuzijian@qiuzijiandeMacBook-Air.local>
2022-11-24 06:44:53 +08:00
前端爱码士
0629cc7b14 fix: 修复表格图片插槽margin不生效问题 (#2400) 2022-11-22 10:56:24 +08:00
tnnevol
4e16438494 fix: #2390 [Preview]缩小后scale为负值 (#2391) 2022-11-17 23:51:34 +08:00
JinMao
c5713c75ec chore: update ci 2022-11-16 20:48:58 +08:00
JinMao
e7ac09cf39 chore: update ci 2022-11-16 20:31:00 +08:00
JinMao
be4c98b980 chore: update ci 2022-11-16 19:28:57 +08:00
JinMao
e013f04151 chore: update ci 2022-11-16 19:09:44 +08:00
JinMao
3948ba1b01 chore: update ci 2022-11-16 19:02:24 +08:00
JinMao
e74a9ed337 chore: update ci 2022-11-16 18:50:10 +08:00
JinMao
750a50ebfd chore: update ci 2022-11-16 18:46:42 +08:00
JinMao
6d1adce462 chore: update ci 2022-11-16 18:12:16 +08:00
JinMao
d01c1b4d05 chore: update ci 2022-11-16 18:02:57 +08:00
WYH
6844f69c20 fix: 修复demo中formTable几个空指针报错和selectedRowKeys丢失响应式的问题 (#2386)
Co-authored-by: 王一骅 <wangyihua@yazuishou.com>
2022-11-16 17:19:27 +08:00
JinMao
057b82632b chore: update ci 2022-11-15 20:21:43 +08:00
JinMao
908a2fbb3a chore: update ci 2022-11-15 19:43:20 +08:00
smilv
2d2a265418 fix: views中country目录不存在 (#2383) 2022-11-15 18:12:00 +08:00
johnshi
e05a009989 加载失败显示图像占位符。 (#2381)
* 加载失败显示图像占位符。

* fix: 更新package.json
2022-11-15 18:11:43 +08:00
zreren
7fad00cb77 The link of document had been expired (#2378)
* fix:doc link expired

* fix:doc link expired
2022-11-15 08:12:15 +08:00
vben
93d4655285 chore: update ci 2022-11-14 15:04:30 +08:00
vben
448d21287c chore: update ci 2022-11-14 14:56:59 +08:00
vben
31f489fa90 chore: update ci 2022-11-14 14:36:42 +08:00
vben
640ac6217f chore: update ci 2022-11-14 14:26:05 +08:00
vben
37c25a42f5 fix: ci 2022-11-14 14:05:09 +08:00
vben
cdb460897b chore: update ci 2022-11-14 13:59:10 +08:00
vben
84df7a4bb2 chore: update ci 2022-11-14 13:29:56 +08:00
vben
476b2b8acc chore: update CNAME 2022-11-14 13:26:14 +08:00
hunshcn
4041284345 fix(vite-plugin-styleImport): fix ATextarea 直接引用出现样式导入错误的问题 (#2365) 2022-11-14 11:54:59 +08:00
前端爱码士
a12c5706e8 fix: 修复props默认字段default返回空对象语法问题 (#2369) 2022-11-14 11:54:30 +08:00
Wit〆苗大
6fa35521b7 fix: props 定义默认值拼写错误 defualt => default (#2362)
* fix: props 初始化拼写错误 defualt => default

* fix: props 定义默认值拼写错误 defualt => default

Co-authored-by: 苗大 <caoshengmiao@hypergryph.com>
2022-11-12 00:19:58 +08:00
前端爱码士
00c446efff fix: 修复导入相同excel文件不发生change事件 (#2356) 2022-11-12 00:19:44 +08:00
hunshcn
5539190c39 fix(utils): fix dateUtil.formatToDate/formatToDateTime ts type (#2354) 2022-11-11 09:52:30 +08:00
hunshcn
384f929443 fix(utils): fix dateUtil.formatToDate ts type (#2345) 2022-11-10 11:58:33 +08:00
前端爱码士
9ba15705b5 fix: 统一errorMessageMode值为单引号 (#2343) 2022-11-10 11:58:14 +08:00
destiny
d16f6f8e44 fix(component): 解决导出excel数据某一项为null时计算宽度报错 (#2338) 2022-11-09 09:58:30 +08:00
Corn
fc2e2c8789 fix: fix typo (#2337) 2022-11-08 09:06:54 +08:00
ludens blunt
df0e0cbe69 Update index.ts (#2336)
fix(deepMerge): 原对象受浅拷贝影响的问题
2022-11-08 09:06:24 +08:00
Wit〆苗大
7dcb38cac6 fix(BasicTable): setSelectedRows 引入但未加入 tableAction (#2332)
Co-authored-by: 苗大 <caoshengmiao@hypergryph.com>
2022-11-08 09:06:08 +08:00
zxiaozhou
eda251a426 表格添加一个setRows方法以便数据回显后重新获取数据 (#2327) 2022-11-06 06:55:39 +08:00
mfish
17d16ae545 feat(axiosSuccess): 操作成功后根据传入提示模式进行相应 (#2326) 2022-11-06 06:55:07 +08:00
Wit〆苗大
9ae67bf9ca fix: inputNumberGroup(前置/后置标签) span 不起作用的问题,增加样式之后可以根据Span动态适应 (#2325) 2022-11-04 23:45:57 +08:00
前端爱码士
8ba4fb2449 fix: 修复RouteMeta接口定义缺少的RoleEnum引用 (#2323) 2022-11-04 23:45:37 +08:00
无木
1bafeb6638 fix(fullscreen): fix judging full screen status, fixed #2281 2022-10-31 13:12:23 +08:00
无木
fd57b83db6 fix(basicTree): checked with searching, fixed #2070 2022-10-29 10:47:12 +08:00
无木
513ccb9543 fix(route): url with hash not work. fixed #2301 #1311 #1253 2022-10-29 10:35:36 +08:00
无木
e962fa039a fix: auto resize echart on menu collapsed, fixed #2265 2022-10-29 10:05:44 +08:00
无木
58b30aae9a refactor: form advanced logic,fixed #2124, #2078,#2089 . follow #2125 2022-10-29 09:37:39 +08:00
无木
4f9cdc5634 fix(table): rollback value on cancel editing, fixed:#2309 2022-10-28 13:47:06 +08:00
无木
5292838fcd fix(apiSelect): remove attribute warning, fixed #2247 2022-10-28 13:31:43 +08:00
前端爱码士
fd9450304d fix: 关闭非当前的标签没有同步清理cacheTabList数据 (#2306) 2022-10-25 08:49:06 +08:00
sevth
bc499744c0 feat(Form): 支持filedMapToTime分别格式化时间,支持配置时间相关组件默认值处理开关,当组件配置valueFormat时,默认值绑定不再是moment对象,此时应关闭默认值的转换处理 (#2305)
* fix: 修复使用 extendSlots 时插槽参数未传递的问题。

* feat(Form): `fieldMapToTime`additional time formatting support separately.

* fix(Form): Add `isHandleDateDefaultValue` property.

Co-authored-by: sevth <pengqiang@vastweb>
2022-10-25 08:48:47 +08:00
Sizhu Wang
c8b169494f fix(form): 修复表单fieldMapToTime对应的值为空仍提交原来的字段值 (#2303) 2022-10-25 08:48:29 +08:00
sedice
c1d3a94371 refactor: 重构button代码props的引入方式,获取更优雅的类型提示 (#2302)
Co-authored-by: zengqinglong <1107238436@qq.com>
2022-10-23 03:17:50 +08:00
CherishTao
0eb1275c34 Update layout.ts (#2298) 2022-10-23 03:16:50 +08:00
Wit〆苗大
e08a155c40 feat(EditableCell): table 可编辑单元格和可编辑行 增加 单选框相关组件, 并增加示例 (#2294)
Co-authored-by: 苗大 <caoshengmiao@hypergryph.com>
2022-10-20 06:57:56 +08:00
前端爱码士
c37a15fefb fix: 修复getParentLayout方法接受了参数,但并没有用上 (#2290) 2022-10-19 13:34:58 +08:00
前端爱码士
7e4312ec1e fix: vscode安装本地缓存插件后,项目根目录下会生成.history文件夹,忽略提交 (#2287) 2022-10-19 13:34:31 +08:00
前端爱码士
839271d70a fix: 解决mac系统提交代码环境变量报错问题 (#2286) 2022-10-19 13:33:55 +08:00
JinMao
768fadbffb fix: Form method name field 2022-10-18 14:47:50 +08:00
前端爱码士
9aa2cf3ebf fix: 修复单词拼写错误,replace 'Filed' width 'Feild' (#2285) 2022-10-17 09:07:09 +08:00
Luke
b1f78c6696 fix: 取消重复请求,错误处理 (#2184) 2022-10-16 14:22:59 +08:00
zhangcheng1164
dda27477af fix: 修复ColumnSetting中列展示复选框在所有普通列都处于选中状态时没有处于选中状态的bug (#2278) (#2280) 2022-10-14 23:41:41 +08:00
JinMao
1a8cdeb374 fix: workflows 2022-10-13 08:53:00 +08:00
JinMao
5f0bf59a8b fix: workflows 2022-10-13 08:40:30 +08:00
JinMao
1b7896c435 fix: workflows 2022-10-13 08:29:12 +08:00
JinMao
d39e13270c fix: workflows 2022-10-13 08:20:32 +08:00
JinMao
5cabd4a6eb fix: workflows 2022-10-13 08:14:17 +08:00
JinMao
451371a812 fix: workflows 2022-10-13 07:59:31 +08:00
JinMao
6faacd2d85 fix: workflows 2022-10-13 07:51:18 +08:00
JinMao
61aefcaa65 fix: workflows 2022-10-12 20:12:43 +08:00
JinMao
acfba7cccc fix: workflows 2022-10-12 20:02:47 +08:00
JinMao
cb28986683 fix: workflows 2022-10-12 18:13:51 +08:00
姚文强
a89ba204eb fix typo (#2266) 2022-10-12 16:18:33 +08:00
Lovell Liu
a45208673a Fix/workbech page (#2264)
* fix: fix display issues when reloading page

* feat: change a fit color for js-logo icon

* fix: prevent layout chaos because of text wrap
2022-10-12 16:17:42 +08:00
wujieli
39188780ea feat(components): 更新 tinymce skins 目录文件版本 #2155 (#2192) 2022-10-09 16:26:32 +08:00
wangkang
99326342bc 表格查询条件下拉框文本超长显示错乱 (#2242)
* Update index.less

fix: 下拉框文本超长显示问题修改

* Update BasicTable.vue

fix: 表格查询条件下拉框文本超长显示错乱
2022-10-02 06:12:14 +08:00
acdxxx177
dfe560a542 perf: 头像上传组件返回值增加后端接口的返回值 (#2244) 2022-10-02 06:12:01 +08:00
wujieli
692df33fd8 types(components): ApiTransfer props 类型错误,删除多余属性 (#2197) 2022-09-29 13:49:44 +08:00
c37csq
9316d950b1 fix: excel export set width (#2206) 2022-09-29 13:49:32 +08:00
MrAlenZhong
5abb0f2b37 feat: 对BaseTree组件新增treeWrapperClassName属性 (#2217) 2022-09-29 13:49:17 +08:00
wangkang
e47c618b18 Update index.less (#2237)
fix: 下拉框文本超长显示问题修改
2022-09-29 13:49:01 +08:00
adeewu
2abc8275c6 修复调试位置与代码映射位置不一致问题 (#2228) 2022-09-29 13:48:50 +08:00
Aborn Jiang
f1d42769ea Update table.ts (#2223)
兼容row key有可能为number的情况
2022-09-29 13:48:35 +08:00
前端爱码士
dac9301af4 fix: 右键组件缺少PropType类型引用 (#2129)
右键组件缺少PropType类型引用
2022-08-05 11:12:26 +08:00
wjc112233
20c10df846 fix: 修改BasicForm表单的展开和收起按钮状态错误的bug (#2089) (#2109)
Co-authored-by: wjc <7098544231@qq.com>
2022-07-23 19:27:39 +08:00
wjc112233
b11df08aa4 fix: 修复SimpleSubMenu组件被意外地重新渲染的bug (#2106) (#2108)
Co-authored-by: wjc <7098544231@qq.com>
2022-07-23 19:26:33 +08:00
BlackTooth
6e391af3fe fix(keep-alive): disabler (#2101)
Co-authored-by: 隆杰 <longjie.li@taxsoyea.net>
2022-07-23 19:25:15 +08:00
Name6
7925c1ea28 fix(Login): fix display issues when AppLocalePicker's showText property is true (#2097) 2022-07-23 19:24:38 +08:00
newplum
442bd440ba fix(axios): 非GET请求时增加判断config.data是否为FormData (#2082) 2022-07-19 12:10:06 +08:00
wjc112233
4a4321a77d fix: 修改表格的resizeColumn事件的回调函数中,修改列宽度无效的bug (vbenjs#2073) (#2081)
Co-authored-by: wjc <7098544231@qq.com>
2022-07-19 12:09:45 +08:00
Arvin
aee08b14fa Revert "style: 优化滚动条显示,只有在内容超过显示高度时才会出现 (#1978)" (#2080)
This reverts commit deff31bc5d.
2022-07-19 12:09:12 +08:00
zuihou
b9dee8595f feat: 复现:表格中增加比较多的列,且加了rowSelection后,表格错位问题 2022-07-13 19:05:42 +08:00
zuihou
a753eb35cb feat: 表格中增加比较多的列,复现表格错位问题 2022-07-13 18:37:05 +08:00
GauharChan
c001535b56 fix(styleImport): fix ImagePreviewGroup build error (#2068)
Co-authored-by: gauhar chan <chenguohua@gzhtedu.cn>
2022-07-12 01:08:28 +08:00
vancenlee
9afb4318fd fix: inputnumber span 不起作用的问题,增加样式之后可以根据Span动态适应 (#2065)
Co-authored-by: van <vancnblog@126.com>
2022-07-10 18:29:37 +08:00
Henry
baa42a57fd fix: 使用枚举属性表示mock的响应状态 (#2062) 2022-07-10 18:29:21 +08:00
Arvin
6981b73ef6 fix: fix table header and table body cannot be aligned (#2058)
* fix: fix wrong naming

* perf: 表单设置初始值defaultValue时候使用深度拷贝

* perf: 表单设置初始值defaultValue时候使用深度拷贝

* Revert "perf: 表单设置初始值defaultValue时候使用深度拷贝"

This reverts commit a103cd11b4.

* perf: perf Tree Component

* fix: 解决tree树形异步懒加载,点击两次才能关闭

* fix: fix table header and table body cannot be aligned

Co-authored-by: yfh01 <unconfigured@null.spigotmc.org>
2022-07-10 18:28:52 +08:00
sevth
266c33819f fix: 修复使用 extendSlots 时插槽参数未传递的问题。 (#2056)
Co-authored-by: sevth <pengqiang@vastweb>
2022-07-10 18:27:56 +08:00
zhengqbbb
9c26ee1b9c chore: use cz-git commitizen adapter (#2054)
* chore: use `cz-git` commitizen adapter

* workflow: update `cz-git` types description
2022-07-10 18:27:38 +08:00
cn.shperry
f305637366 fix: 中文模式下日期选择框月份及星期异常显示英文 (#1406). (#2053)
Co-authored-by: 舒培培 <622292@ky-tech.com.cn>
2022-07-10 18:26:55 +08:00
Cyrus Zhou
40071529d2 添加 Form ApiTransfer , 修复标签页切换灰屏不显示内容问题 (#2052)
* Table BasicColumn 添加 editDynamicDisabled
Co-authored-by: Cyrus Zhou <6802207@qq.com>
使用方式同 Form FormSchema dynamicDisabled
```
export const Columns: BasicColumn[] = [
  {
    title: 'Title',
    dataIndex: 'Title',
    editRow: true,
    editComponent: 'Select',
    editDynamicDisabled: ({ record }) => record.isDisabled,
  },

* editComponentProps onChange 功能恢复
Co-authored-by: Cyrus Zhou <6802207@qq.com>
说明:
...omit(compProps, 'onChange')
这会忽略 onChange ,导致 editComponentProps onChange 被取消

如下功能将不支持:
```
editComponentProps: ({ record }) => {
  return {
    options: effectTypeData,
    onChange: () => {
    },
  };
},
```

* tableData == null 报错

* ApiSelect 第一次选择触发required错误提示问题

* 恢复 虽然可以解决第一次选择提示报错问题,但是会导致 onChange: (e: any, options: any) => 无法获得 options 的值

* 修复标签页切换灰屏不显示内容问题
Co-authored-by: Cyrus Zhou <6802207@qq.com>
问题描述页面没有用 div 包括 会提示 Component inside <Transition> renders non-element root node that cannot be animated ,
导致页灰屏必须刷新页面才可以显示内容

* 添加 Form ApiTransfer
## 使用方式
api 方式:
```
    ......
    component: 'ApiTransfer',
    componentProps: {
       api: sysUserSelector,
       labelField: 'name',
       valueField: 'id',
    },
    .....
```
数据方式:
```
     ....
     componentProps: {
      dataSource: [
        { title: 'Test01', key: '0', disabled: false, description: 'description 01' },
        { title: 'Test02', key: '1', disabled: false, description: 'description 02' },
        { title: 'Test03', key: '2', disabled: false, description: 'description 03' },
        { title: 'Test04', key: '3', disabled: false, description: 'description 04' },
        { title: 'Test05', key: '4', disabled: false, description: 'description 05' },
      ],
    },
    ....
```
2022-07-10 18:26:39 +08:00
Wit〆苗大
6f5711b088 fix(is.ts): 修复isUrl正则不能匹配到 hash模式的外链 的问题 (#2051)
Co-authored-by: 苗大 <v.caoshm@yoozoo.com>
2022-07-07 15:42:50 +08:00
quyanan
bc55b92c9b fix(expandtable): 恢复可展开表格Demo,修复开启可展开表格后横向滚动失效问题 (#2050)
Co-authored-by: jinmao88 <50581550+jinmao88@users.noreply.github.com>
2022-07-07 15:42:30 +08:00
fuling
f1e8e241b1 feat: ImportExcel组件增加直接获取文件功能,方便后端处理大Excel文件。 (#2045)
* style: 优化系统管理中账号、角色和部门表单样式

* feat: ImportExcel组件增加直接获取文件功能,方便后端处理大Excel文件。

Co-authored-by: 发光的卤蛋 <zdxndy@qq.com>
2022-07-07 15:41:25 +08:00
muamuamu
5833043d14 fix(useRedo): 重新加载页面useRedo方法会添加一条浏览记录 (#2043) 2022-07-07 15:41:08 +08:00
GauharChan
35f2d074ae fix: 修复#2030改动引起的可展开table失效 (#2042) 2022-07-07 15:40:33 +08:00
Tianyuan Zhang
c0e40fa01e refactor: update class AxiosTransform (#2041)
rename transformRequestHook to transformResponseHook
2022-07-07 15:39:48 +08:00
wjc112233
ddb678ddfa fix: fix#2031 修复表格可编辑行在编辑模式下,无法处理数组类型的值的问题 (#2035)
Co-authored-by: wjc <7098544231@qq.com>
2022-07-05 11:56:58 +08:00
Wit〆苗大
91e13c4287 fix(is.ts): fix#2028 修复isUrl正则可以匹配到/www问题 (#2033)
Co-authored-by: 苗大 <v.caoshm@yoozoo.com>
2022-07-05 11:56:45 +08:00
Wit〆苗大
de7279399d fix(table): 彻底修复column.slots已废弃的antd报错, 所有用到的demo页修改为antd 3.x v-slot:headerCell 和 v-slot:bodyCell 写法 (#2030)
Co-authored-by: 苗大 <v.caoshm@yoozoo.com>
2022-07-05 11:56:29 +08:00
Wit〆苗大
a89e497e82 fix: markdown深色模式内容区和代码块未适配bug; markdownViewer改为vidtor自带预览模式 (#2023)
* fix(Markdown): 修复深色模式 内容区和代码块 未改变主题bug

* perf(Markdown): MarkDown组件示例增加不同功能示例; 切换深色主题按钮 同时改变 内容区和代码块主题

* perf(MarkdownViewer): MarkdownViewer改为vditor自带的预览模式; 同时适配深色模式

Co-authored-by: 苗大 <v.caoshm@yoozoo.com>
2022-07-05 11:55:26 +08:00
BlackTooth
0f50e0458e fix(useTableFooter): not synchronization scroll bug (#2022)
Co-authored-by: 隆杰 <longjie.li@taxsoyea.net>
2022-07-05 11:43:53 +08:00
Cyrus Zhou
4730b3af31 Table BasicColumn 添加 editDynamicDisabled (#2018)
* Table BasicColumn 添加 editDynamicDisabled
Co-authored-by: Cyrus Zhou <6802207@qq.com>
使用方式同 Form FormSchema dynamicDisabled
```
export const Columns: BasicColumn[] = [
  {
    title: 'Title',
    dataIndex: 'Title',
    editRow: true,
    editComponent: 'Select',
    editDynamicDisabled: ({ record }) => record.isDisabled,
  },

* editComponentProps onChange 功能恢复
Co-authored-by: Cyrus Zhou <6802207@qq.com>
说明:
...omit(compProps, 'onChange')
这会忽略 onChange ,导致 editComponentProps onChange 被取消

如下功能将不支持:
```
editComponentProps: ({ record }) => {
  return {
    options: effectTypeData,
    onChange: () => {
    },
  };
},
```

* tableData == null 报错

* ApiSelect 第一次选择触发required错误提示问题

* 恢复 虽然可以解决第一次选择提示报错问题,但是会导致 onChange: (e: any, options: any) => 无法获得 options 的值
2022-07-05 11:43:34 +08:00
Charles
740d160198 fix: keep spaces of env config on prod build (#2015) 2022-07-05 11:42:49 +08:00
ParkerFiend
aefde45ad5 Update extensions.json (#1989) 2022-07-05 11:42:16 +08:00
Tanimodori
3cc72d6791 fix: 更新Schema时默认值不应覆盖已有值,fix #1997 (#2003) 2022-06-26 12:47:53 +08:00
Tanimodori
fbcba766ae fix: 修复DrawerFooter border-top导致滚动条出现的问题 (#2002) 2022-06-26 12:47:33 +08:00
Kuizuo
1455eb48db fix: rules validator tips (#2000) 2022-06-26 12:46:43 +08:00
Tanimodori
ba97f80d33 修复tinymce嵌入表单示例页面换行错误,清理!important,revert(vbenjs#1996) (#1999)
* revert: "修改tinymce富文本下拉菜单错位的bug (#1996)"

* style: 修复tinymce嵌入表单示例页面换行错误,清理!important
2022-06-26 12:46:27 +08:00
liuya6
0902de7504 修改tinymce富文本下拉菜单错位的bug (#1996) 2022-06-24 04:37:38 +08:00
cn.shperry
da8e0bdf91 fix: type warning. (#1994)
Co-authored-by: 舒培培 <622292@ky-tech.com.cn>
2022-06-24 04:37:21 +08:00
fuling
06236c9fe0 style: 优化系统管理中账号、角色和部门表单样式 (#1992)
Co-authored-by: 发光的卤蛋 <zdxndy@qq.com>
2022-06-24 04:36:38 +08:00
GauharChan
2c536976e8 feat(function): add table bodyCell slot for antdv3.x; and fix #1705 (#1991) 2022-06-24 04:36:20 +08:00
Tanimodori
c2e2ca9bed style: 修复antdv Modal header高度错误 (#1987) 2022-06-24 04:35:21 +08:00
Tanimodori
02c469b17a types: 再次修复RouteLocationRawEx类型错误 (vbenjs#1968) (#1975) 2022-06-19 17:51:28 +08:00
Micah
deff31bc5d style: 优化滚动条显示,只有在内容超过显示高度时才会出现 (#1978) 2022-06-19 17:50:33 +08:00
cn.shperry
e09a797d05 types: 缩减 setup script 警告 & 修复表格列设置组件中部分方法参数类型错误. (#1980)
Co-authored-by: 舒培培 <622292@ky-tech.com.cn>
2022-06-19 17:50:16 +08:00
cn.shperry
8a7d9bcd4d fix: 修复表格列设置下拉框中偶现列数据区域空白 (#1958) (#1981)
Co-authored-by: 舒培培 <622292@ky-tech.com.cn>
2022-06-19 17:49:47 +08:00
Micah
934ccd34ea fix: 修复 当窗口过窄时,表格中的删除确认框样式错乱 的问题 (#1972) 2022-06-16 19:05:10 +08:00
Tanimodori
85f1e58bcc types: 修复RouteLocationRawEx类型错误 (vbenjs#1968) (#1970) 2022-06-16 19:04:50 +08:00
ChenErik
e073b4c944 fix(echarts): add resize animation (#1950) 2022-06-16 19:04:30 +08:00
You
554f4615a1 fix: 菜单响应式隐藏时宽度计算错误 (#1945)
Co-authored-by: zeozhou <zeozhou@tencent.com>
2022-06-16 19:04:07 +08:00
Arvin
d21578ab33 表单设置初始值defaultValue时候使用深度拷贝 (#1935)
* fix: fix wrong naming

* perf: 表单设置初始值defaultValue时候使用深度拷贝

* perf: 表单设置初始值defaultValue时候使用深度拷贝

* Revert "perf: 表单设置初始值defaultValue时候使用深度拷贝"

This reverts commit a103cd11b4.

* perf: perf Tree Component

* fix: 解决tree树形异步懒加载,点击两次才能关闭

Co-authored-by: yfh01 <unconfigured@null.spigotmc.org>
2022-06-16 19:03:37 +08:00
山田
857af11ced feat(useContext): 删除多余重载 (#1932) 2022-06-16 19:02:51 +08:00
小顾
50468e9581 fix: 修复ColumnSetting中默认隐藏列拖拽排序错误的bug (#1931)
Co-authored-by: 顾佳磊 <jareygu@gmail.com>
2022-06-16 19:02:33 +08:00
Jim
19dc88b4e0 docs: 添加注释, 修复 (#1927)
* docs: 添加注释

* docs: 添加注释

* fix: 后台动态权限changePermissionCode加上await

* docs: 添加注释

* docs: 添加注释

* docs: 添加注释

* docs: 添加注释

* docs: 添加注释
2022-06-16 19:02:10 +08:00
Jim
cfbd52bbe7 docs: 添加注释 (#1924) 2022-05-28 05:49:18 +08:00
前端爱码士
c0edd7b70e fix: 个人中心(data.tsx)多余的html片段 (#1894)
删除个人中心(data.tsx)多余的html片段
2022-05-20 18:02:44 +08:00
chengj
fe5848cf21 feat: contextMenuItem add hidden property (#1890)
* fix: dropdown placement bottomCenter to bottom

* feat: contextMenuItem add hidden property
2022-05-20 18:02:23 +08:00
山田
c3b5abc392 fix(echarts): 修复无法使用散点图表 (#1880) 2022-05-20 18:01:14 +08:00
shellingfordly
a40332cbfe style: fix style error of login page (#1901)
Co-authored-by: liuyao <liuyao@liuyaodeiMac.local>
2022-05-20 18:00:31 +08:00
Joyboo
42908a4535 add TabsForm demo (#1914)
* chore: table size放到settings

* chore(TableAction): 操作确认框增加placement属性支持

* chore(Form): 表单field支持a.b.c嵌套写法

* feat(Form): add TabsForm demo

Co-authored-by: jinmao88 <50581550+jinmao88@users.noreply.github.com>
2022-05-20 18:00:08 +08:00
Felix Hoi
a0920d284d fix(useFormEvents): isNullOrUnDef is not defined (#1915)
* fix/invaild dateFormat

* fix(useFormEvents): isNullOrUnDef is not defined

Co-authored-by: Felix Hoi <felixhoi@ssm.gov.mo>
2022-05-20 17:59:45 +08:00
zuihou
419b7aea07 fix(axios): 请求异常时,无法正确执行 catch 2022-05-06 10:39:46 +08:00
仲灏
e807539b80 perf: Changing variable names (#1869) 2022-05-04 15:11:23 +08:00
Felix Hoi
0634f2ca9e fix/invaild dateFormat (#1871)
Co-authored-by: Felix Hoi <felixhoi@ssm.gov.mo>
2022-05-04 15:11:05 +08:00
Joyboo
d09e998ae7 表单field支持a.b.c的写法 (#1549)
* chore: table size放到settings

* chore(TableAction): 操作确认框增加placement属性支持

* chore(Form): 表单field支持a.b.c嵌套写法

Co-authored-by: jinmao88 <50581550+jinmao88@users.noreply.github.com>
2022-04-30 19:05:02 +08:00
Hongbusi
e097600003 Update README.md (#1861) 2022-04-29 18:39:41 +08:00
chengj
3ee7051950 fix: dropdown placement bottomCenter to bottom (#1865) 2022-04-29 18:39:16 +08:00
chengj
5ad93c6004 feat(function): get selected tree node (#1857) 2022-04-29 09:55:14 +08:00
爱吃薯片的内存条
ce7f382b9b fix: 修复tree组件初次渲染时无法应用已勾选的节点数组及一处字段名错误 (#1854) 2022-04-29 09:54:43 +08:00
Li Kui
1832d0c07a fix: custom validator check failed for prop "placement" (#1851)
[VueTypes warn]: oneOf - value should be one of "topLeft", "topCenter", "topRight", "bottomLeft", "bottomCenter", "bottomRight".
[Vue warn]: Invalid prop: custom validator check failed for prop "placement".
2022-04-29 09:54:18 +08:00
chengj
e05a40f680 feat: specify the position of Pagination in Table component (#1849)
* feat: table add pagination postion property

* feat: specify the postion of Pagination in Table
2022-04-26 13:36:18 +08:00
iconFehu
ee85839ba3 fix: fix wrong naming (#1845)
Co-authored-by: yfh01 <unconfigured@null.spigotmc.org>
2022-04-26 13:35:50 +08:00
Mr Tao
d6a3eecbc2 fix: update @vue/compiler-sfc version (#1836) 2022-04-22 06:32:58 +08:00
George Tan
8932bf9a2d fix(styleImport): fix RangePicker build error (#1820) 2022-04-21 10:48:22 +08:00
JinMao
9d4d78d2c9 chore: update deps 2022-04-21 10:30:04 +08:00
JinMao
2d553f204a chore: update deps 2022-04-18 08:25:20 +08:00
JinMao
3b86435766 feat: ApiTree add afterFetch props,add ApiTree demo 2022-04-18 08:21:04 +08:00
jenson
e3637e7af4 fix: 修复Tree组件如果重新定义fieldNames的title字段后设置actionList失效的问题 (#1778)
Co-authored-by: miaojingu <miaojingu@zclhgroup.com>
2022-04-13 19:46:08 +08:00
Henry Rao
b41e3939ac fix: 修复updateSchema之后会把已填值重置为defaultValue的问题 (#1792) 2022-04-13 19:45:55 +08:00
chengj
23e0932883 fix: 修复Description组件渲染function xxxx() { [native code] }的问题 (#1796)
* fix/description-render-prototype-methods

* fix/description-render-prototype-methods
2022-04-13 19:44:36 +08:00
jinmao88
8f2008ac74 Merge pull request #1799 from hsldymq/fix-fade-transition
fix(Transition): fade-transition淡出淡入无效
2022-04-13 19:41:09 +08:00
jinmao88
2bf48e0f23 合并拉取请求 #1801
feat: 实时监听form表单项值变化
2022-04-13 19:34:58 +08:00
chengj
c0441cf5c3 feat: listen form field value change 2022-04-13 10:49:53 +08:00
hsldymq
b3f6b04981 fix(Transition): fade-transition淡出淡入无效 2022-04-13 00:15:20 +08:00
zuihou
8d93e047d0 fix: 已经存在rules时,required不生效 2022-04-08 23:58:39 +08:00
zuihou
fb43e54847 feat(BasicTree): 支持设置加载中 2022-04-08 18:27:22 +08:00
zuihou
1e0ede09a2 fix: 已经存在rules时,required不生效 2022-04-08 16:39:32 +08:00
JinMao
823f7b3226 chore: update deps 2022-04-08 13:09:03 +08:00
zuihou
28d73f95bd fix: 无需导入 defineExpose 2022-03-30 09:38:48 +08:00
zuihou
418ca2405e Merge remote-tracking branch 'origin/main' 2022-03-28 09:23:52 +08:00
jinmao88
7c21eb9b3a Merge pull request #1752 from chenli1989/main
pref: Optimize tabs dropdown-menu style
2022-03-28 07:25:15 +08:00
zuihou
923ecdab3c fix: 修复表格编辑时 Checkbox 组件无法正常取消勾选 2022-03-28 00:43:07 +08:00
zuihou
eb231120e1 fix(table): 表格编辑支持AutoComplete 2022-03-28 00:41:59 +08:00
zuihou
a343b49014 feat: 表单新增name属性。 配置name后,可以解决同一个页面有多个表单且存在相同字段时, 生成的组件字段的id相同的问题 2022-03-28 00:41:09 +08:00
zuihou
28078d4263 refactor: 支持外部调用展开关闭接口 2022-03-28 00:39:46 +08:00
chenli1989
de266e538d perf: optimize tabs dropdown-menu style 2022-03-26 14:38:24 +08:00
chenli1989
b85a11d0f0 perf: optimize step-by-step form layout 2022-03-26 14:35:38 +08:00
Redon
770574c9b0 fix: 修复 Dropdown 组件 bottomCenter 参数变更的报错提示 (#1745) 2022-03-25 23:40:34 +08:00
chenls
0c633ff67d fix: Set cache overflow of the setTimeout Maximum delay value (#1742) 2022-03-25 23:40:15 +08:00
wangxiaoer5200
d31cb904db fix: 修复控制台一些常见报错和警告 (#1750)
Co-authored-by: wangbin <18695686631@163.com>
2022-03-25 23:39:49 +08:00
jianjianxu
a542317dc3 fix: wrong item.time without the "expires" (#1740) 2022-03-23 22:31:50 +08:00
chenls
e4305daf98 perf: remove ant-design-vue@3.0.0-beta.11 .ant-col fix (#1734) 2022-03-23 22:31:28 +08:00
Micah
10b59395b2 fix: 修复 运行npm run lint:stylelint命令时,无法识别less内置函数 (#1736)
删除 stylelint.config.js文件 rules中重复的selector-class-pattern

Co-authored-by: Micah <yumingsheng@hrbeu.edu.cn>
2022-03-23 22:31:01 +08:00
vben
1dca636521 fix: lint 2022-03-19 07:47:49 +08:00
vben
5db1250a8d fix: stylelint config, close #1658 2022-03-19 06:55:37 +08:00
Captain
136cbb1e3b feat: add request retry (#1553) 2022-03-19 00:07:34 +08:00
LuCat
78535bdd86 fix: 修复右键按钮在弹窗下层级问题 (#1552) 2022-03-19 00:06:37 +08:00
lzdjack
aaa30fbf10 feat(form): appendSchemaByField和updateSchema支持defaultValue (#1608)
1. 兼容appendSchemaByField和updateSchema支持设置默认值
2022-03-19 00:06:01 +08:00
Caisin
9092c34cd5 fix(table):basicColumn加泛型 (#1618)
新版本ant design vue的columnProps使用了泛型,导致xxx.data.ts里面定义的BasicColumn使用customRender地方全部报错
2022-03-19 00:05:49 +08:00
Leo Caan (陈栋)
3d55b0d45b fix: 修复Table当dataIndex为数组时,列设置中勾选列是否展示时使column结构异常的问题 (#1626) 2022-03-19 00:05:30 +08:00
Dack Wang
573a443007 fix(ApiCascader): 引入缺少useI18n库的t方法 (#1648)
* fix():  The Style of tableTitle slot

* fix(ApiCascader): 引入缺少useI18n库的t方法

Co-authored-by: 王英琦 <wangyingqi@91bihu.com>
Co-authored-by: wangyingqi <wangyingqi@chinapost.com.cn>
2022-03-19 00:05:14 +08:00
lee
79eb909c66 feat: make fields key of form deconstructable (#1663)
Co-authored-by: liheng.wu <liheng.wu@tcl.com>
2022-03-19 00:04:11 +08:00
vben
927220933e Merge branch 'main' of https://github.com/anncwb/vue-vben-admin 2022-03-18 21:36:55 +08:00
vben
5a3a7633ac chore: chalk is replaced by piccolors 2022-03-18 18:39:32 +08:00
vben
414101613e chore: lint fix 2022-03-18 20:34:44 +08:00
vben
21bae3ad49 chore: remove jest 2022-03-18 20:22:05 +08:00
vben
b303f1bea3 chore: update deps 2022-03-18 20:07:37 +08:00
JinMao
8f1bd4ae76 fix: Table Title Error 2 2022-03-18 13:50:03 +08:00
JinMao
5c24a1c4c4 fix: Table Title Error 2022-03-15 14:27:16 +08:00
JinMao
e91d757169 chore: update deps 2022-03-15 12:54:27 +08:00
jinmao88
4cda7c6fc1 Merge pull request #1705 from shellingfordly/main
fix(table): 修复antd报错,column.slots已废弃,修改为v-slot:headerCell
2022-03-14 11:38:58 +08:00
liuyao
a23020b76d fix(table): 修复antd报错,将column.slots修改为v-slot:headerCell 2022-03-11 16:17:36 +08:00
vben
af6ab98945 fix: build error 2022-02-28 00:21:26 +08:00
vben
ecc2135b5e chore: update deps 2022-01-24 23:30:26 +08:00
vben
4e4ce944bc feat: support dev https 2022-01-18 22:05:51 +08:00
lzdjack
b63f7d17de feat: 增强可编辑单元格功能 (#1576)
1. 增加可编辑单元格非编辑状态下可自定义样式
2. 扩展editComponentProps,可接受方法
2022-01-18 21:49:24 +08:00
ToQuery
67d514ad0e 新增 api tree 组件 (#1582)
* tsconfig 增加 types , 解决webstorm提示错误

* api-tree
2022-01-18 21:48:58 +08:00
lqxlearn
929141be96 fix:fetch-success total 0 (#1597)
Co-authored-by: qiuxiang <liumeiwang@localhost.com>
2022-01-18 21:48:05 +08:00
wentmac
e82bafa43e fix: 修复EditCellTable 可编辑单元格当columns.ellipsis=true时,回调中取不到key的值。 (#1598) 2022-01-18 21:47:47 +08:00
wangxiaoer5200
5fc28f92d5 fix: 修复CollapseContainer组件按钮插槽问题,close #1555 (#1557) 2021-12-31 09:26:58 +08:00
vben
5ac055be2f fix: build error 2021-12-28 21:48:12 +08:00
ToQuery
266b566850 tsconfig 增加 types , 解决webstorm提示错误 (#1527) 2021-12-28 18:47:57 +08:00
Captain
a281631ae3 fix: The value of ignoreCancelToken is not available in headers (#1506) 2021-12-28 18:47:44 +08:00
1sm
f964533701 feat(BasicForm): add submitOnChange option (#1521) 2021-12-28 18:47:21 +08:00
lzdjack
dd158a17fe feat: 添加table继承父元素高度的功能 (#1523)
在保证了原有的高度计算上,额外新增继承父级高度, 只需设置isCanResizeParent:true
2021-12-28 18:46:57 +08:00
CXM
c8d59a0bbc fix "fix: collapse canExpand (#1501)" (#1525)
* fix(type): fix ant-design-vue  ->

* fix: fix base64 blob

* fix: fix CollapseHeader canExpan bug
2021-12-28 18:46:38 +08:00
wangxiaoer5200
2423aeab64 fix: 修复表单重置某些input类型组件不生效问题,close #1519 (#1526)
Co-authored-by: bingguo <bingguo@gaoding.com>
2021-12-28 18:46:17 +08:00
George Tan
1a43142252 fix(form component): fix form 'vertical' layout row width (#1535) 2021-12-28 18:46:03 +08:00
Eikon
52e295f1d5 docs(enums): update description (#1532) 2021-12-28 18:45:48 +08:00
George Tan
de8ea59177 fix(table component): reduce 'insertTableDataRecord' code logic (#1536) 2021-12-28 18:45:32 +08:00
George Tan
1dc6faf3e6 feat(table component): add 'expandRows' table action (#1537)
* fix(table component): add 'expandRows'

* feat(table component): add 'expandRows' table action
2021-12-28 18:45:14 +08:00
George Tan
598ce5a1bf feat(table component): add 'scrollTo' table action (#1538) 2021-12-28 18:44:51 +08:00
Yinux
8c607b38f1 fix: Fix the date and week display issue on the lock screen(#1539) (#1542) 2021-12-28 18:42:51 +08:00
bingzhe
b84cc5eb06 fix(Modal): repair cancel event missing (#1545) 2021-12-28 18:42:03 +08:00
vben
f015a874e2 chore: update deps 2021-12-19 21:44:29 +08:00
sevth
4f35b95b6b fix: Multiple calls to createAxios function transform parameters are overwritten by other calls (#1474) 2021-12-18 22:28:20 +08:00
Henry Rao
46e28f0203 FixEditcell: 修复可编辑单元格不显示0的bug (#1486)
* fix: 修复可编辑表格不显示 0 的bug

* fix: 修复编辑单元格为空时不能触发编辑的bug
2021-12-18 22:27:44 +08:00
Henry Rao
aab6b4f393 fix: 修复多tab带参数匹配不正确的bug (#1482) 2021-12-18 22:27:28 +08:00
Mark
54ea44cdad fix(Modal): 修复弹窗在最新的360浏览器和搜狗失效的问题 (#1381) (#1488) 2021-12-18 22:26:27 +08:00
lzdjack
a462be0a5e fix: 修复上传附件之后回显了多余条目 (#1495) 2021-12-18 22:25:49 +08:00
lzdjack
b639650397 fix: 修复table自适应高度和title属性声明问题 (#1496)
1.修复table升级ant3.0导致无法自适应剩余高度
2.修复table升级ant3.0导致BasicColumn类型的title属性无法找到
2021-12-18 22:25:33 +08:00
lzdjack
9217a12bcc fix: 修复在windows下pnpm执行package.js里的脚本报错的问题 (#1497) 2021-12-18 22:25:19 +08:00
lzdjack
6b594aec53 fix: Fix the issue that clear verification does not take effect in the reset form (#1498) 2021-12-18 22:24:58 +08:00
CXM
fa33c6b0d7 fix: collapse canExpand (#1501)
* fix(type): fix ant-design-vue  ->

* fix: fix base64 blob

* fix: fix CollapseContainer canExpan
2021-12-18 22:24:28 +08:00
lzdjack
a2b594c962 fix: Fix the problem that the table setting menu cannot be dragged (#1503) 2021-12-18 22:23:42 +08:00
wujieli0207
0dafaa5972 fix(function): Add defineProps reference (#1505) 2021-12-18 22:23:11 +08:00
vben
b0a0cbcd6a fix: Fix context menu not working 2021-12-12 23:17:00 +08:00
Jiang
f6e27aee16 Update ColumnSetting.vue (#1451)
修复配置项中,拖拽后  点击   重置按钮   table 恢复还原,但 拖拽列表并未还原bug
2021-12-12 22:09:29 +08:00
Jiang
23b5538eae 修复 init 运行时机不正确 (#1452)
修复去掉checkList 后,移动配置中的table顺序后,调用tabel.setColum() 时触发 init() ,导致checkList 被重置bug
2021-12-12 22:09:14 +08:00
1sm
ab62739fd1 ApiSelect Add alwaysLoad option (#1461)
* fix(modal): 取消全屏功能后关闭图标颜色异常

* chore: move to pnpm

* fix: RangePicekr在表单项中占满分配的宽度

* chore: comment format

* Revert "fix: RangePicekr在表单项中占满分配的宽度"

This reverts commit cd70e41dac.

* feat(ApiSelect): 新增每次加载选项

Co-authored-by: liushiman <smliu@gk-estor.com>
2021-12-12 22:08:42 +08:00
XC
b70fade587 fix(treeHelper): 修复 listToTree 方法 parent 获取 children 问题 (#1464) 2021-12-12 22:08:23 +08:00
zuihou
05bad7b9dc fix(BasicTree): 加了top参数,操作按钮会错位 2021-12-11 12:18:05 +08:00
zuihou
13d660bede feat: 添加BasicTree使用 fieldNames 后,actionList 和 插槽 会失效的示例代码 2021-12-10 22:19:43 +08:00
zuihou
8523afd512 fix(BasicTree): 修复升级antdv3.x后产生的问题
1. BasicTree组件无法正确使用插槽的问题
2. 无法递归遍历的问题

Closes #1453
2021-12-10 22:17:47 +08:00
zuihou
8480454b73 fix(Form): 修复form宽度问题 2021-12-10 21:24:48 +08:00
vben
e024f6a6e7 fix: typo 2021-12-01 23:09:28 +08:00
vben
cb1759b257 perf(table): remove ExpandIcon 2021-12-01 22:40:29 +08:00
vben
81560fd3c6 fix(tree): fix display error 2021-12-01 22:29:54 +08:00
vben
170a4bceb1 fix(tree-select): replaceFields to fieldNames,close #1423 2021-12-01 22:20:58 +08:00
humanscrew
cfda62ef9c fix: Fix Layout Page Tabs dragable (#1433)
* fix: pnpm install

* fix: Fix Tabs dragable
2021-12-01 22:02:18 +08:00
arika163
16cd2438dd remove duplicate judgment (#1432)
Co-authored-by: zhangchao3 <zhangchao3@corp.netease.com>
2021-12-01 22:01:50 +08:00
JinMao
2a667c9e7f fix: Fix depends @vue/shared @vue/runtime-core 2021-12-01 13:33:59 +08:00
vben
52257f061d refactor(tree): Refactor tree to support antv3.0 2021-11-30 01:01:19 +08:00
vben
50cf2d0b8f chore: update deps 2021-11-28 16:27:56 +08:00
vben
2aabbc788a fix: Fix multi-language errors and installation errors 2021-11-26 00:09:08 +08:00
vben
bc18ecb277 fix: Fix github action running error 2021-11-25 00:23:30 +08:00
vben
413df9f5e1 Merge branch 'feat/antdv3.x' 2021-11-24 23:32:34 +08:00
vben
3fcfac1f37 wip: Upgrade ant-design-vue 3.0 2021-11-24 23:25:13 +08:00
1sm
5fca9ce2c5 chore: comment format (#1398)
* fix(modal): 取消全屏功能后关闭图标颜色异常

* chore: move to pnpm

* fix: RangePicekr在表单项中占满分配的宽度

* chore: comment format

* Revert "fix: RangePicekr在表单项中占满分配的宽度"

This reverts commit cd70e41dac.

Co-authored-by: liushiman <smliu@gk-estor.com>
2021-11-24 23:17:11 +08:00
Carson
dc4b05272f refactor(dashboard): adjust the spacing of Card under the small screen (#1399)
Co-authored-by: huguangju <huguangju@wowkai.cn>
2021-11-24 23:16:53 +08:00
handsomeFu
b8411c9311 chore: fix typo (#1384) 2021-11-22 09:15:59 +08:00
西安十大杰出青年
4806aced85 Update TableAction.vue (#1394)
fix: 解决TableAction组件Dropdown因为权限导致分割线显示错误的问题.
2021-11-22 09:15:50 +08:00
nsk
3b3f6c903a fix: some mistakes close #1349, close #1250 close#1245 (#1373)
* fix(Loading): add theme prop, The repair background prop does not take effect

* fix(AppLogo): fix title line height

* fix(Table,Upload): fix #1349 #1250 #1245
2021-11-15 18:59:28 +08:00
Coderclc
b3c4002b69 fix: Fix setting hideMenu, bread bar jump problem (#1358) 2021-11-15 09:32:14 +08:00
handsomeFu
7e00488635 chore: Update extensions.json (#1359)
Use volar instead of vetur
2021-11-15 09:32:01 +08:00
vben
090d844014 fix: type, #1347 2021-11-11 22:28:39 +08:00
CXM
013cb7f16b fix: fix base64 blob (#1356)
* fix(type): fix ant-design-vue  ->

* fix: fix base64 blob
2021-11-11 22:18:22 +08:00
vben
c2b207dd51 fix: Fix stylelint does not support html files 2021-11-10 23:24:39 +08:00
vben
83921284a6 chore: update deps 2021-11-10 21:49:41 +08:00
HUCHAOQI
59b309aa7e fix(table): 使用lodash 的merge来递归assign,优化在多对象嵌套情况下的结构 (#1350) 2021-11-10 21:45:33 +08:00
liweijie0812
49c890ebec fix: Form appendSchemaByField移除hasInList判断 (#1341) 2021-11-09 09:36:10 +08:00
Joyboo
c8dd3b6c14 TableAction确认框增加placement属性 (#1335)
* chore: table size放到settings

* chore(TableAction): 操作确认框增加placement属性支持
2021-11-08 09:24:53 +08:00
1sm
9999650a9a package.json yarn -> pnpm (#1336)
* fix(modal): 取消全屏功能后关闭图标颜色异常

* chore: move to pnpm

Co-authored-by: liushiman <smliu@gk-estor.com>
2021-11-08 09:24:22 +08:00
miofly
b5364fe546 chore:add rules (#1340) 2021-11-08 09:24:00 +08:00
vben
74b0dfd54f chore: update pkg 2021-11-03 00:38:24 +08:00
vben
642d48870c chore: release 2.8.0 2021-11-03 00:28:43 +08:00
vben
3b63e41b68 chore: move to pnpm 2021-11-03 00:28:32 +08:00
madlight-du
d6cdff97b6 fix: direct import for antdv subcomponents supported(8b00112) (#1322)
* fix: direct import for antdv subcomponents supported

修复commit<8b00112>使用直接过滤部分antdv子组件的方式,导致build后刷新页面子组件样式会丢失的问题。

* Update styleImport.ts

* Update styleImport.ts
2021-11-01 08:00:01 +08:00
Jobin
97fe8e2058 feat(ApiCascader): add asynchronous cascader component (#1321) 2021-11-01 07:59:15 +08:00
zuihou
5c491a4258 fix(Menu): 左侧菜单混合模式 在动态更改路由时,左侧显示的菜单没有实时更新 2021-10-30 01:38:28 +08:00
zuihou
5225345496 fix: 全局日期格式化缺少秒(大多数场景日期格式都需要携带秒!) 2021-10-29 20:09:43 +08:00
vben
a248e20013 chore: fix type 2021-10-26 01:19:51 +08:00
vben
ed40b333f3 chore: Allow git message to be uppercase 2021-10-26 01:11:56 +08:00
vben
b7813b9ba8 perf: typo 2021-10-26 01:06:35 +08:00
vben
dbcc40f5ea chore: remove pretty 2021-10-26 01:00:49 +08:00
vben
acea184320 chore: format code 2021-10-25 23:49:03 +08:00
vben
0f44291c5c chore: update deps 2021-10-25 23:45:58 +08:00
Jungzl
83bce6c1d4 chore: support for pnpm (#1310) 2021-10-25 23:33:24 +08:00
scil
85a68d5fc3 fix: check if searchText is null (#1301) 2021-10-25 23:33:11 +08:00
pq
a0165d1eee perf(useRuleFormItem): more accurate return type (#1290) 2021-10-20 09:13:04 +08:00
Joyboo
8447331197 chore: table size放到settings (#1294) 2021-10-20 09:12:27 +08:00
vben
787bc462e7 chore: update deps 2021-10-20 01:11:29 +08:00
zuihou
89414f173e feat(Form): 新增 ApiRadioGroup 组件 2021-10-16 21:25:57 +08:00
tangyh
34781d42e8 feat(Table): 支持设置默认的排序值 2021-10-14 22:15:19 +08:00
无木
456a661488 fix(table): deleteTableDataRecord not work 2021-10-14 14:59:12 +08:00
miofly
5902886798 fix(type): 修复几个 ts 报错,和文件引用位置 (#1283)
* fix(type): 删除多余的类型定义

* fix(login): 删除登录时的 toRaw 包裹参数

* fix(type): 修复几个 ts 报错,和文件引用位置
2021-10-12 18:30:32 +08:00
miofly
7a1b6e74ab fix(type): typo (#1281)
* fix(type): 删除多余的类型定义

* fix(login): 删除登录时的 toRaw 包裹参数
2021-10-12 11:49:50 +08:00
zmtlwzy
b653412260 fixed: (update pageTitle when change local) (#1278)
If AppLocalePicker reload prop is false, Should be updated when changing the language
2021-10-12 11:49:05 +08:00
nsk
a530ec867b fix(Loading): add theme prop, The repair background prop does not tak… (#1271)
* fix(Loading): add theme prop, The repair background prop does not take effect

* fix(AppLogo): fix title line height
2021-10-12 09:12:10 +08:00
Lowell
d6f65d476e fix(Table): 解决设置了分页的情况下,调整表格分页条数后,如果翻页,分页条数会重置的问题。 (#1270) 2021-10-12 09:11:50 +08:00
Haceral
052eff91c4 perf: Improve the dynamic routing and automatically close the Tab function (#1264)
* 增加动态路由最大打开Tab数控制

* 增加动态路由打开数控制Router参数

* feat(Tab): 新增动态路由打开数限制Demo

* fix(multipleTab.ts): 将原来的打开数限制从固定的 5 修改为读取配置

Co-authored-by: Haceral <18274416193@163.com>
2021-10-12 09:11:25 +08:00
无木
e1cbe23e96 fix(api-tree-select): fetch not triggered when params changed
修复ApiTreeSelect的params变化未能触发重新请求API数据的问题
2021-10-11 07:48:41 +08:00
JinMao
f3f56288af fix: build error 2021-10-06 12:01:13 +08:00
Lowell
473e56e4e0 form的label属性实际上可以使用VNode (#1252) 2021-10-05 22:55:02 +08:00
Haceral
eac2fb4aaa feat: 动态路由 Tab打开数量控制,超出限制自动关闭起始Tab (#1256)
* 增加动态路由最大打开Tab数控制

* 增加动态路由打开数控制Router参数
2021-10-05 22:54:49 +08:00
钱忠旺
7d40773b5b style(buildConf.ts): 增加函数接口和修改默认的 (#1259)
增加CreateConfigParams接口,并修改createConfig参数默认值

Co-authored-by: QIANZW <1870271825@gqq.com>
2021-10-05 22:53:53 +08:00
erniu
935d4fc12d feat(Upload): 兼容ant-design-vue的upload属性 (#1247)
1. 兼容`name`属性,用于自定义发到后台的文件参数名; 2. 兼容`filename`属性

Co-authored-by: erniu <joe.cheng237@gmail.com>
2021-10-05 22:53:21 +08:00
vben
2849743a4d chore: update deps 2021-10-05 22:52:34 +08:00
vben
437211107f chore: update deps 2021-09-28 00:56:47 +08:00
1sm
2f2526c564 fix(modal): 取消全屏功能后关闭图标颜色异常 (#1240)
Co-authored-by: liushiman <smliu@gk-estor.com>
2021-09-28 00:22:23 +08:00
Joyboo
754d1986e9 fix: 修复ApiSelect属性被覆盖的问题 (#1226) 2021-09-28 00:22:04 +08:00
Leon Guan
034e39ef06 fix: 当前路由所在菜单路径是嵌套并且隐藏时无法正常高亮根菜单节点 (#1201)
修复当路由所在菜单路径是嵌套并且隐藏时无法正常高亮根菜单节点的问题。

Fixed #1080
2021-09-28 00:21:53 +08:00
CXM
bfdbccfece fix: Dev/fix modal event (#1241)
* fix(type): fix ant-design-vue  ->

* fix: fix editor BasicModal type event check error
2021-09-28 00:21:16 +08:00
vben
246c5f795b chore: update deps 2021-09-24 15:52:21 +08:00
zuihou
902d38dc2f Merge remote-tracking branch 'origin/main' 2021-09-23 12:32:26 +08:00
zuihou
1abf7fdf5f refactor(route): 动态路由 component 属性支持以 / 开头或者以 .vue 和 .tsx 结尾 2021-09-23 12:28:21 +08:00
无木
96ce18c073 revert(form): revert formItem style 2021-09-23 12:27:25 +08:00
无木
f8102446d0 fix(form): fixed formitem style
修复FormItem样式问题

fixed: #1231
2021-09-23 09:33:29 +08:00
zuihou
07b17b9798 perf: 优化代码 2021-09-23 00:10:03 +08:00
zuihou
452b2599f4 fix(route): 获取 LAYOUT 或 IFRAME 忽略大小写。 并且在通过component找不到页面时打印警告,并返回404页面 2021-09-23 00:05:58 +08:00
zuihou
7028e0031d fix(Breadcrumb): 隐藏面包屑应交给 hideBreadcrumb 参数,而非hideMenu 参数 2021-09-22 23:46:42 +08:00
无木
6e0c70f415 fix(import-excel): support datetime raw data import
importExcel支持导入原始日期时间数据

fixed: #1215
2021-09-21 23:23:32 +08:00
无木
01b667facf fix(form): fixed custom item style
修复自定义FormItem组件的内容宽度可能超出范围的问题

fixed: #1225
2021-09-20 20:48:50 +08:00
无木
a82a69d00d fix(dropdown): add missing function
添加Dropdown组件缺失的函数
2021-09-20 19:06:26 +08:00
无木
8b00112d5a fix: direct import for antdv subcomponents supported
修复直接import部分antdv子组件时会在build过程中报错的问题
2021-09-19 11:14:19 +08:00
无木
853bde9275 fix: fixed prop mode of CodeEditor 2021-09-18 20:18:41 +08:00
无木
5af452754b fix: hmr error fixed
修复部分组件可能会造成热更新异常的问题
2021-09-18 14:58:22 +08:00
无木
9c5f11a54b fix: remove warning in building action
移除build过程中的警告
2021-09-18 12:32:15 +08:00
无木
6c08dae921 fix: build error for CodeEditor 2021-09-18 12:29:54 +08:00
无木
02eabe1f9f chore: update deps 2021-09-18 12:08:18 +08:00
无木
2875a97b70 fix(table): clickToRowSelect support disabled checkbox
修复`clickToRowSelect`会无视行选择框disabled状态的问题
2021-09-17 15:44:39 +08:00
无木
067753d490 feat(env): VITE_PROXY support single quote
env文件中的VITE_PROXY配置支持单引号

close: #1204
2021-09-17 09:40:22 +08:00
无木
7b6d5e44a9 fix(table): reload in useTable not support await
修复useTable返回的reload方法不支持使用await等待加载完毕的问题
2021-09-16 16:29:26 +08:00
无木
e85649bde2 fix(tabs): close tab without navigation
修复多标签在某些情况下关闭页签不会跳转路由的问题

fixed: #1131
2021-09-16 00:09:18 +08:00
无木
cecdfbaf29 fix(tabs): dropdown items enabled unnecessary
修复标签头的右键菜单某些项目不恰当地处于可用状态

fixed: #1207
2021-09-15 23:15:01 +08:00
无木
84c7d516df fix(table): prop inset take no effect
修复BasicTabled的inset属性不起作用的问题

fixed: #1209
2021-09-15 23:04:36 +08:00
无木
15ea0d2f53 fix(tree): node slot take no effect
修复BasicTree节点插槽不起作用的问题
2021-09-15 19:50:26 +08:00
无木
ba2c1a3bf5 fix(table): editable cell can not submit
修复可编辑单元格某些情况下无法提交的问题
2021-09-15 12:51:21 +08:00
无木
2346a90c08 fix(modal): maskClosable and Esc take no effect
修复BasicModal按Esc和点击遮罩无法关闭的问题

fixed: #1203
2021-09-15 10:56:14 +08:00
无木
6544f84bc2 feat(demo): add token expired example
添加token超时例子
2021-09-14 22:11:21 +08:00
vben
2aa5e5da76 chore: release 2.7.2 2021-09-14 00:05:45 +08:00
vben
44b21bfc6c chore: update deps 2021-09-14 00:03:34 +08:00
vben
2820d5a627 fix: improve type introduction, fix #1196 2021-09-13 23:46:31 +08:00
无木
9640484895 fix: fixed token clear error
修复将token设置为undefined时可能失败的问题
2021-09-13 19:04:02 +08:00
无木
f87b0f2f5e fix(api-select): fixed value prop define
修复ApiSelect的value属性定义问题

fixed: #1175
2021-09-11 22:52:52 +08:00
无木
656ee4e5c9 fix(upload): accept not work as expected
修复basicUpload的accept属性未按预期工作的问题
2021-09-11 21:47:04 +08:00
无木
7593ef6a4f fix(table-action): divider not work as expected
修复tableAction中的divider未按预期工作
2021-09-11 20:26:27 +08:00
无木
b3307fe283 fix: warning in logout action
修复退出登录相关代码中的警告
2021-09-11 11:08:34 +08:00
无木
73dc492b2a feat(markdown-viewer): add new component
新增MarkdownViewer组件用于显示Markdown格式的富文本

close: #1181
2021-09-10 11:24:53 +08:00
无木
0bb9c035f7 fix(markdown): value not worked on init
修复Markdown组件的value属性初始值不起作用的问题
2021-09-10 11:22:40 +08:00
Francis Zuo
9e9ea3f43d fix: 修复弹窗全屏按钮异常关闭的问题(#1177) (#1182) 2021-09-09 22:59:53 +08:00
vben
996f2f3c22 chore: update deps 2021-09-09 22:59:10 +08:00
vben
b90a9557a3 chore: update deps 2021-09-09 22:58:29 +08:00
love-life
7df9b51344 fix: 修改axios 中 urlPrefix 字段不生效问题 (#1170)
* fix(样式污染): 会污染其他带有srcollbar的组件样式

* fix(axios): urlPrefix 字段传递不生问题效
2021-09-09 09:41:34 +08:00
handsomeFu
c753d945e0 fix: 修复 apiSelect 绑定值 attrs 的问题 (#1172)
* chore(permission): fix func name typo

* fix(apiSelect): fix `v-bind` value  `attrs` to `$attrs`
2021-09-09 09:40:53 +08:00
无木
83c1683bfd feat(demo): add JsonPreview demo
添加JsonPreview组件的使用演示

close: #1146
2021-09-06 20:36:19 +08:00
无木
044e2e4e86 fix(table): rowClassName not worked with striped
修复rowClassName属性无法和striped同时生效的问题

fixed: #1167
2021-09-06 20:13:13 +08:00
frezs
59a9087728 feat(table): 添加和支持动态删除和插入数据 (#1152) 2021-09-06 09:14:12 +08:00
Lan
3b6b4f7303 perf(tree): 优化Tree搜索功能,添加搜索高亮功能,优化样式表现 (#1153)
1. 修复expandOnSearch与checkOnSearch功能
2. 添加selectOnSearch功能
3. 添加搜索高亮title功能
4. 优化TreeHeader的样式表现: searchInput自动扩充
2021-09-06 09:13:53 +08:00
songweionline
5fa730c49a fix(table): Solve the bug of setting ifshow to false in table column (#1166)
表格列设置ifshow为false,表格的列设置里依然会渲染该列的checkBox,实际应该不渲染。如果需要隐藏应该是设置defaultHidden。
2021-09-06 09:13:35 +08:00
vben
6cadcf087d chore: update deps 2021-09-05 18:11:59 +08:00
江麻妞
95aca2ab8d fix (modal): 修复对话框 hook 不设置 loaded问题 (#1143)
fix (modal):  修复对话框 hook 不设置 loaded问题
2021-08-30 09:05:15 +08:00
Lan
e00578c40a feat(tree): 1. 添加自定义数据过滤判断方法 2. 添加搜索完成自动展开结果选项 3. 添加搜索完成自动选中结果选项 4. 树节点数据变化时强制搜索(同步searchData避免展示错误) (#1132) 2021-08-30 09:04:59 +08:00
Lan
6717fe654e fix: Improve content height calculation (#1136)
* feat(useContentHeight): 为useContentHeight 添加 向上递归 移除差值 的功能。

* feat(useContentHeight): 为useContentHeight 添加 向上递归 移除差值 的功能。 pagewrapper添加 upwardSpace以支持向上递归功能。
2021-08-30 09:04:32 +08:00
无木
ee7c31db44 feat(table): add onValid for editRow
为table的可编辑行添加校验方法
2021-08-27 22:23:39 +08:00
无木
a36825a6d4 fix: add loss action for userStore 2021-08-27 11:24:36 +08:00
无木
628e820684 fix(card-list): fixed build error
修复CardList组件造成的build错误
2021-08-27 08:55:38 +08:00
JinMao
0f5ddbf1ec feat: add CardList component 2021-08-27 05:51:58 +08:00
无木
1ddfc31c3c fix: getUserinfo is compatible with empty roles data
修复getUserinfo接口数据未携带roles字段时登录失败的问题
2021-08-26 21:20:26 +08:00
无木
d27633fb31 fix: fixed build warning for style of intro.js
修复intro.js的样式文件造成的build警告

fixed: #1130
2021-08-26 20:50:25 +08:00
江麻妞
30fa4cfa2a fix(table): 修复表格背景颜色再深色模式下会被穿透问题 (#1133) 2021-08-26 20:01:25 +08:00
love-life
6e7f6f82ed fix(modal): avoid style pollution to the whole world (#1128) 2021-08-26 20:01:05 +08:00
vben
466d4edcd0 perf: optimize css volume 2021-08-25 23:04:15 +08:00
vben
0b0a7ceef9 Revert "Revert "feat: support setup name""
This reverts commit 99daecdb60.
2021-08-25 22:57:00 +08:00
vben
99daecdb60 Revert "feat: support setup name"
This reverts commit d8362f084f.
2021-08-25 22:44:56 +08:00
vben
c8017b1365 fix(markdown): the hierarchy of markDown components after full screen 2021-08-25 22:42:39 +08:00
vben
d8362f084f feat: support setup name 2021-08-25 22:39:28 +08:00
无木
9f6822991c fix: name of vite mode support more characters
修复vite模式名称不支持下划线的问题

fixed: #1115
2021-08-24 22:54:31 +08:00
vben
56a966cfbf chore: format code 2021-08-24 22:41:48 +08:00
vben
2884e863ce perf: not waiting for router.isReady 2021-08-24 22:32:43 +08:00
无木
1235978ab2 fix: useRedo called duplicate may cause exception
修复useRedo的不当调用可能导致异常的问题

fixed: #1121
2021-08-24 21:01:28 +08:00
vben
9dd9fcd334 chore: adjust the windicss reference 2021-08-24 00:29:22 +08:00
无木
a426b9027e fix(table): fix table footer style
修复表尾合计行可能与主体部分的列没有对齐的问题

fixed: #1112
2021-08-23 16:36:26 +08:00
vben
455d109f71 chore: update deps 2021-08-22 12:22:56 +08:00
vben
6e85795737 chore: update vite-plugin-html 2021-08-21 00:13:43 +08:00
vben
d1f59b493d chore: update deps 2021-08-20 21:46:51 +08:00
无木
edc3096565 fix(table): editable icon not show with empty cell
修复可编辑单元格当内容为空时不会显示编辑图标的问题

fixed: #1103
2021-08-20 17:07:42 +08:00
无木
3a5d1a5757 fix: refresh failed while token invalid
修复当token失效时,刷新页面可能出现异常的问题

fixed: #1101
2021-08-20 16:55:42 +08:00
无木
2c867b3d63 feat(table): add beforeEditSubmit for editable cell
单元格编辑功能新增提交回调
2021-08-19 23:57:42 +08:00
无木
fb43fad555 fix(tinymce): fixed tinymce destory method
修复tinymce销毁方法可能出现异常的问题
2021-08-19 19:51:55 +08:00
无木
8e01377481 fix(tinymce): fixed inline mode
修复Tinymce的inline模式在一些场景下会出现异常的问题

fixed: #1092
2021-08-18 22:55:36 +08:00
无木
e7c96363a1 fix(code-editor): fixed formatting error
修复JSON编辑器在格式化无效JSON文本时会抛出异常的问题
2021-08-18 20:52:34 +08:00
无木
93812f734e fix(echarts): theme setting supported
修复useECharts的theme参数不起作用的问题

fixed: #1095
2021-08-18 20:05:40 +08:00
vben
e15b4f14db fix: fix all types of errors, compatible with volar plugin 2021-08-17 23:04:29 +08:00
无木
a5ff59237f feat(form): component Divider support helpMessage
Divider表单组件支持helpMessage配置
2021-08-17 22:59:36 +08:00
vben
65735926d4 chore: update deps 2021-08-17 22:15:27 +08:00
无木
47a448b8ae feat(form): add Divider for schema component type
新增Divider用于较长表单的区域分割
2021-08-17 17:50:54 +08:00
无木
5138e447e7 fix: slots worked in basicTable and basicModal
修复basicTable和basicModal的插槽传递异常的问题
2021-08-17 17:09:48 +08:00
matevip
837a365885 docs: Readme增加后台整合示例 (#1087) 2021-08-17 15:07:22 +08:00
vben
43658e2fb3 chore: release 2.7.1 2021-08-16 23:44:29 +08:00
vben
8fa6015b1a chore: change to setup syntax 2021-08-16 23:43:09 +08:00
handsomeFu
91cbe0a03b chore(permission): fix func name typo (#1082) 2021-08-16 23:15:19 +08:00
CXM
72634ffe6e fix: add axios error info from response (#1083)
* fix(type): fix ant-design-vue  ->

* fix: add axios error info from response
2021-08-16 23:14:40 +08:00
无木
c420174c1d style: fix basicButton style 2021-08-16 20:18:53 +08:00
无木
b7487675ce chore: downgrade vue-json-pretty to 1.8.1 2021-08-16 13:33:20 +08:00
无木
1b577922e7 fix: fixed basicButton primary style
修正BasicButton primary类型的样式
2021-08-16 09:12:48 +08:00
无木
3ba8a67647 fix: fixed basicButton ghost style
修正BasicButton幽灵状态的样式
2021-08-16 08:47:45 +08:00
无木
beb4ae92c1 fix: fixed basicButton style
修正BasicButton的样式
2021-08-16 07:35:47 +08:00
无木
cc46935a82 feat: always refresh userinfo when page reload
每次刷新整个页面时都从接口更新用户信息
2021-08-16 06:04:12 +08:00
无木
53e79a2d94 fix(table): fix injection not found warning
修复injection警告
2021-08-16 05:52:04 +08:00
vben
8ff5c03d53 ci: remove cache 2021-08-15 23:05:00 +08:00
vben
c69996d073 chore: use node16 2021-08-15 22:49:03 +08:00
RemMai
b07003e184 添加v-model:value双向绑定的支持 (#1073)
无需在Change事件中修改绑定的Value。
仅需在属性中设置 v-model:value,选择图标后,value值自动修改。
2021-08-15 22:37:21 +08:00
vben
45a8eb974a refactor(dashboard): change to setup syntax 2021-08-15 22:36:46 +08:00
无木
2dd3d85448 fix: fixed useRedo may loss route params
修复useRedo会丢失当前路由的params数据问题

fixed: #1079
2021-08-15 16:45:13 +08:00
无木
da12da9d8c perf(table): fixed code style
修复一些代码检查警告,并且为table的canResize属性添加不兼容场景警告

close: #1070
2021-08-15 08:54:42 +08:00
无木
30c5fc63c8 fix(demo): fix form style in modal
修复演示页面中Modal内的Form样式问题

closed: #1076
2021-08-14 23:21:05 +08:00
无木
7971896383 fix(table): size not worked in editComponentProps
修复无法设置basicTable编辑组件的size属性的问题

fixed: #1074
2021-08-14 22:31:25 +08:00
无木
a8b18c2697 style: fix selected background color of tr
修复表格选中行的背景颜色与固定列的冲突

fixed: #1069
2021-08-14 21:12:30 +08:00
无木
5ae894a5c7 style: restore default border-color
恢复antd默认的基础边框色
2021-08-14 20:53:52 +08:00
无木
bcfa338227 feat: add updatePath for useTabs
添加更新标签path的方法

close: #1068
2021-08-13 15:13:35 +08:00
无木
b1f31762e3 fix: slots working in components
修复vue新版本改动导致组件传递slots可能出现错误的问题
2021-08-13 15:06:06 +08:00
无木
93f9a19aa1 feat(form): add alwaysShowLines prop
允许设置Form折叠时始终保持显示状态的行数

close: #1051
2021-08-13 11:51:23 +08:00
无木
61d853e6a5 style(types): fix some type statement 2021-08-13 11:13:29 +08:00
无木
1f55c4180f fix(i18n): add i18n translate data
添加部分缺失的翻译文案
2021-08-13 11:11:35 +08:00
无木
4b6025cb9a fix(table): getSelectRows support multi-page
getSelectRows支持跨页选择

close: #914
2021-08-13 08:50:28 +08:00
vben
2f6d133b96 refactor(application): change to setup syntax 2021-08-13 07:29:33 +08:00
vben
9035fd191e fix(types): fix some type errors 2021-08-13 00:12:51 +08:00
vben
bb89c5059c refactor(sys): change to setup syntax 2021-08-12 23:54:12 +08:00
CXM
66feb779a8 fix: fix build handler & misc (#1060)
* fix(type): fix ant-design-vue  ->

* fix: fix build handler & misc
2021-08-12 23:23:44 +08:00
vben
948219c576 chore: update deps 2021-08-12 23:19:28 +08:00
无木
60577d6720 feat(tree): add searchable function
添加搜索功能相关属性和方法

close: #1057
2021-08-11 17:59:07 +08:00
无木
953bfc6f1a fix(modal): helpMessage doesn't work
修复`helpMessage`属性不起作用的问题
2021-08-10 23:02:59 +08:00
无木
2052eb5a65 fix(table): wrong bg-color in fullscreen mode
修复浅色主题下的table在全屏状态时背景颜色不正确的问题
2021-08-10 22:34:41 +08:00
无木
019555be0c fix(table): selection-change not triggered in unchecking
修复selection-change事件在取消勾选时未能正确触发的问题

fixed: #1053
2021-08-10 14:36:29 +08:00
无木
33a335a3f5 fix(table): 0 is not shown in editable cell
修复可编辑单元格中未能正确显示零值的问题

fixed: #1039
2021-08-09 21:49:11 +08:00
vben
9d2231b1cd chore: update deps 2021-08-08 23:05:44 +08:00
CXM
6d5388aaf1 fix(type): fix ant-design-vue -> (#1043) 2021-08-08 10:16:37 +08:00
spking11
b2d49cbbf8 fix(locales): fix that vscode extension i18n-Ally detect zh-CN as zh (#1044) 2021-08-08 10:16:19 +08:00
Leo Caan (陈栋)
1bb5156923 fix(route): the whitelist should include basicRoutes (#1048)
* fix(table): recursive updateTableDataRecord

无刷新更新表格数据时,支持递归查找,用于树状数据时。同时新增 findTableDataRecord 函数,用于支持无刷新新增数据到树状表格中

* fix(router): whitelist include basicRoutes

白名单应包含不在菜单上出现的静态路由,否则在动态切换菜单 resetRouter 时会丢失这些,如在usePermission.resume中

* fix: get basicRoutes whitelist bad code
2021-08-08 10:15:34 +08:00
Vben
62f8468775 chore: add windi.config.ts 2021-08-04 23:26:08 +08:00
Vben
8e5740e715 chore: update deps 2021-08-04 23:21:43 +08:00
JasonYHZ
f3cf162af1 feat(table): add getRawDataSource() function (#1029) 2021-08-04 08:59:21 +08:00
无木
381943078f fix(cropper): cropper not destroy in time
图片剪裁组件未能及时销毁资源

fixed: #1027
2021-08-03 21:17:38 +08:00
无木
26f251e1ed fix(qrcode): qrcode not displayed properly
fixed: #1026
2021-08-03 20:55:40 +08:00
无木
1214b7c32c fix(table): cellFormat support Map
close: #1031
2021-08-03 20:37:02 +08:00
997 changed files with 56486 additions and 40814 deletions

4
.browserslistrc Normal file
View File

@@ -0,0 +1,4 @@
> 1%
last 2 versions
not dead
not ie 11

107
.commitlintrc.cjs Normal file
View File

@@ -0,0 +1,107 @@
const fs = require('fs');
const path = require('path');
const { execSync } = require('child_process');
const scopes = fs
.readdirSync(path.resolve(__dirname, 'src'), { withFileTypes: true })
.filter((dirent) => dirent.isDirectory())
.map((dirent) => dirent.name.replace(/s$/, ''));
// precomputed scope
const scopeComplete = execSync('git status --porcelain || true')
.toString()
.trim()
.split('\n')
.find((r) => ~r.indexOf('M src'))
?.replace(/(\/)/g, '%%')
?.match(/src%%((\w|-)*)/)?.[1]
?.replace(/s$/, '');
/** @type {import('cz-git').UserConfig} */
module.exports = {
ignores: [(commit) => commit.includes('init')],
extends: ['@commitlint/config-conventional'],
rules: {
'body-leading-blank': [2, 'always'],
'footer-leading-blank': [1, 'always'],
'header-max-length': [2, 'always', 108],
'subject-empty': [2, 'never'],
'type-empty': [2, 'never'],
'subject-case': [0],
'type-enum': [
2,
'always',
[
'feat',
'fix',
'perf',
'style',
'docs',
'test',
'refactor',
'build',
'ci',
'chore',
'revert',
'wip',
'workflow',
'types',
'release',
],
],
},
prompt: {
/** @use `pnpm commit :f` */
alias: {
f: 'docs: fix typos',
r: 'docs: update README',
s: 'style: update code format',
b: 'build: bump dependencies',
c: 'chore: update config',
},
customScopesAlign: !scopeComplete ? 'top' : 'bottom',
defaultScope: scopeComplete,
scopes: [...scopes, 'mock'],
allowEmptyIssuePrefixs: false,
allowCustomIssuePrefixs: false,
// English
typesAppend: [
{ value: 'wip', name: 'wip: work in process' },
{ value: 'workflow', name: 'workflow: workflow improvements' },
{ value: 'types', name: 'types: type definition file changes' },
],
// 中英文对照版
// messages: {
// type: '选择你要提交的类型 :',
// scope: '选择一个提交范围 (可选):',
// customScope: '请输入自定义的提交范围 :',
// subject: '填写简短精炼的变更描述 :\n',
// body: '填写更加详细的变更描述 (可选)。使用 "|" 换行 :\n',
// breaking: '列举非兼容性重大的变更 (可选)。使用 "|" 换行 :\n',
// footerPrefixsSelect: '选择关联issue前缀 (可选):',
// customFooterPrefixs: '输入自定义issue前缀 :',
// footer: '列举关联issue (可选) 例如: #31, #I3244 :\n',
// confirmCommit: '是否提交或修改commit ?',
// },
// types: [
// { value: 'feat', name: 'feat: 新增功能' },
// { value: 'fix', name: 'fix: 修复缺陷' },
// { value: 'docs', name: 'docs: 文档变更' },
// { value: 'style', name: 'style: 代码格式' },
// { value: 'refactor', name: 'refactor: 代码重构' },
// { value: 'perf', name: 'perf: 性能优化' },
// { value: 'test', name: 'test: 添加疏漏测试或已有测试改动' },
// { value: 'build', name: 'build: 构建流程、外部依赖变更 (如升级 npm 包、修改打包配置等)' },
// { value: 'ci', name: 'ci: 修改 CI 配置、脚本' },
// { value: 'revert', name: 'revert: 回滚 commit' },
// { value: 'chore', name: 'chore: 对构建过程或辅助工具和库的更改 (不影响源文件、测试用例)' },
// { value: 'wip', name: 'wip: 正在开发中' },
// { value: 'workflow', name: 'workflow: 工作流程改进' },
// { value: 'types', name: 'types: 类型定义文件修改' },
// ],
// emptyScopesAlias: 'empty: 不填写',
// customScopesAlias: 'custom: 自定义',
},
};

3
.dockerignore Normal file
View File

@@ -0,0 +1,3 @@
node_modules/
dist/
.vscode/

6
.env
View File

@@ -1,8 +1,2 @@
# port
VITE_PORT = 3100
# spa-title
VITE_GLOB_APP_TITLE = Vben Admin
# spa shortname
VITE_GLOB_APP_SHORT_NAME = vue_vben_admin

23
.env.analyze Normal file
View File

@@ -0,0 +1,23 @@
# Whether to open mock
VITE_USE_MOCK = true
# public path
VITE_PUBLIC_PATH = /
# Whether to enable gzip or brotli compression
# Optional: gzip | brotli | none
# If you need multiple forms, you can use `,` to separate
VITE_BUILD_COMPRESS = 'none'
# Basic interface address SPA
VITE_GLOB_API_URL=/basic-api
# File upload address optional
# It can be forwarded by nginx or write the actual address directly
VITE_GLOB_UPLOAD_URL=/upload
# Interface prefix
VITE_GLOB_API_URL_PREFIX=
VITE_ENABLE_ANALYZE = true

View File

@@ -4,14 +4,6 @@ VITE_USE_MOCK = true
# public path
VITE_PUBLIC_PATH = /
# Cross-domain proxy, you can configure multiple
# Please note that no line breaks
VITE_PROXY = [["/basic-api","http://localhost:3000"],["/upload","http://localhost:3300/upload"]]
# VITE_PROXY=[["/api","https://vvbin.cn/test"]]
# Delete console
VITE_DROP_CONSOLE = false
# Basic interface address SPA
VITE_GLOB_API_URL=/basic-api

22
.env.docker Normal file
View File

@@ -0,0 +1,22 @@
# Whether to open mock
VITE_USE_MOCK = false
# public path
VITE_PUBLIC_PATH = /
# timeout(seconds)
VITE_TIMEOUT = 15
# Delete console
VITE_DROP_CONSOLE = true
# Whether to enable gzip or brotli compression
# Optional: gzip | brotli | none
# If you need multiple forms, you can use `,` to separate
VITE_BUILD_COMPRESS = 'none'
VITE_GLOB_API_URL="__vg_base_url"
# File upload address optional
# It can be forwarded by nginx or write the actual address directly
VITE_GLOB_UPLOAD_URL=/files/upload
# Interface prefix
VITE_GLOB_API_URL_PREFIX=

View File

@@ -4,16 +4,11 @@ VITE_USE_MOCK = true
# public path
VITE_PUBLIC_PATH = /
# Delete console
VITE_DROP_CONSOLE = true
# Whether to enable gzip or brotli compression
# Optional: gzip | brotli | none
# If you need multiple forms, you can use `,` to separate
VITE_BUILD_COMPRESS = 'none'
# Whether to delete origin files when using compress, default false
VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE = false
# Basic interface address SPA
VITE_GLOB_API_URL=/basic-api
@@ -24,12 +19,3 @@ VITE_GLOB_UPLOAD_URL=/upload
# Interface prefix
VITE_GLOB_API_URL_PREFIX=
# Whether to enable image compression
VITE_USE_IMAGEMIN= true
# use pwa
VITE_USE_PWA = false
# Is it compatible with older browsers
VITE_LEGACY = false

View File

@@ -5,17 +5,11 @@ VITE_USE_MOCK = true
# public path
VITE_PUBLIC_PATH = /
# Delete console
VITE_DROP_CONSOLE = true
# Whether to enable gzip or brotli compression
# Optional: gzip | brotli | none
# If you need multiple forms, you can use `,` to separate
VITE_BUILD_COMPRESS = 'none'
# Whether to delete origin files when using compress, default false
VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE = false
# Basic interface address SPA
VITE_GLOB_API_URL=/basic-api
@@ -25,12 +19,3 @@ VITE_GLOB_UPLOAD_URL=/upload
# Interface prefix
VITE_GLOB_API_URL_PREFIX=
# Whether to enable image compression
VITE_USE_IMAGEMIN= true
# use pwa
VITE_USE_PWA = false
# Is it compatible with older browsers
VITE_LEGACY = false

View File

@@ -13,3 +13,4 @@ dist
.local
/bin
Dockerfile
package.json

7
.eslintrc.cjs Normal file
View File

@@ -0,0 +1,7 @@
module.exports = {
root: true,
extends: ['@vben'],
rules: {
'no-undef': 'off',
},
};

11
.gitattributes vendored Normal file
View File

@@ -0,0 +1,11 @@
# https://docs.github.com/cn/get-started/getting-started-with-git/configuring-git-to-handle-line-endings
# Automatically normalize line endings (to LF) for all text-based files.
* text=auto eol=lf
# Declare files that will always have CRLF line endings on checkout.
*.{cmd,[cC][mM][dD]} text eol=crlf
*.{bat,[bB][aA][tT]} text eol=crlf
# Denote all files that are truly binary and should not be modified.
*.{ico,png,jpg,jpeg,gif,webp,svg,woff,woff2} binary

View File

@@ -55,35 +55,42 @@ jobs:
# ARGS: --delete --verbose --parallel=80
push-to-gh-pages:
if: "contains(github.event.head_commit.message, '[release]')"
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
# - uses: NullVoxPopuli/action-setup-pnpm@v2
- name: Sed Config Base
shell: bash
run: |
sed -i 's#VITE_PUBLIC_PATH\s*=.*#VITE_PUBLIC_PATH = /vue-vben-admin/#g' ./.env.production
sed -i "s#VITE_BUILD_COMPRESS\s*=.*#VITE_BUILD_COMPRESS = 'gzip'#g" ./.env.production
sed -i "s#VITE_DROP_CONSOLE\s*=.*#VITE_DROP_CONSOLE = true#g" ./.env.production
cat ./.env.production
- name: use Node.js 14
uses: actions/setup-node@v2.1.2
- name: Install pnpm
uses: pnpm/action-setup@v2
with:
node-version: '14.x'
version: 9
run_install: false
- name: Get yarn cache
id: yarn-cache
run: echo "::set-output name=dir::$(yarn cache dir)"
- name: Cache dependencies
uses: actions/cache@v2
- name: use Node.js 20
uses: actions/setup-node@v3
with:
path: ${{ steps.yarn-cache.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
node-version: '20.x'
# - name: Get yarn cache directory path
# id: yarn-cache-dir-path
# run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
#
# - name: Cache dependencies
# uses: actions/cache@v3
# with:
# path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
# key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
# restore-keys: |
# ${{ runner.os }}-yarn-
- name: Set SSH Environment
env:
@@ -94,25 +101,26 @@ jobs:
chmod 600 ~/.ssh/id_rsa
ssh-keyscan github.com > ~/.ssh/known_hosts
chmod 700 ~/.ssh && chmod 600 ~/.ssh/*
git config --local user.email "vbenadmin@163.com"
git config --local user.name "vbenAdmin"
git config --global user.email "vbenadmin@163.com"
git config --global user.name "vbenAdmin"
- name: Build
env:
NODE_OPTIONS: '--max_old_space_size=4096'
run: |
pnpm install --no-frozen-lockfile
pnpm build
touch dist/.nojekyll
cp dist/index.html dist/404.html
- name: Delete gh-pages branch
run: |
git push origin --delete gh-pages
- name: Build
run: |
yarn install
yarn run build
touch dist/.nojekyll
cp dist/index.html dist/404.html
- name: Deploy
uses: peaceiris/actions-gh-pages@v2.5.0
env:
ACTIONS_DEPLOY_KEY: ${{secrets.ACTIONS_DEPLOY_KEY}}
uses: peaceiris/actions-gh-pages@v3.9.0
with:
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
PUBLISH_BRANCH: gh-pages
PUBLISH_DIR: ./dist
with:
forceOrphan: true
CNAME: vben.vvbin.cn

View File

@@ -1,56 +0,0 @@
name: schedule-push-to-ftp
# Timed deployment project
on:
push:
schedule:
- cron: '0 20 * * *'
jobs:
schedule-push-to-ftp:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Sed Config Base
shell: bash
run: |
sed -i 's#VITE_PUBLIC_PATH\s*=.*#VITE_PUBLIC_PATH = /next/#g' ./.env.production
sed -i "s#VITE_BUILD_COMPRESS\s*=.*#VITE_BUILD_COMPRESS = 'gzip'#g" ./.env.production
sed -i "s#VITE_DROP_CONSOLE\s*=.*#VITE_DROP_CONSOLE = true#g" ./.env.production
cat ./.env.production
- name: use Node.js 15
uses: actions/setup-node@v2.1.2
with:
node-version: '15.x'
- name: Get yarn cache
id: yarn-cache
run: echo "::set-output name=dir::$(yarn cache dir)"
- name: Cache dependencies
uses: actions/cache@v2
with:
path: ${{ steps.yarn-cache.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Build
run: |
yarn install
yarn run build
- name: Deploy
uses: SamKirkland/FTP-Deploy-Action@2.0.0
env:
FTP_SERVER: ${{ secrets.FTP_SERVER }}
FTP_USERNAME: ${{ secrets.FTP_USERNAME }}
FTP_PASSWORD: ${{ secrets.FTP_PASSWORD }}
METHOD: sftp
PORT: ${{ secrets.FTP_PORT }}
LOCAL_DIR: dist
REMOTE_DIR: /srv/www/vben-admin
ARGS: --delete --verbose --parallel=80

39
.github/workflows/linter.yml vendored Normal file
View File

@@ -0,0 +1,39 @@
# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs
name: Node.js CI
on:
push:
branches: [main, thin]
pull_request:
branches: [main, thin]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x, 20.x]
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: Install pnpm
run: npm install -g pnpm
- name: Install dependencies
run: pnpm install
- name: Run type:check
run: pnpm run type:check
- name: Build
run: pnpm build

18
.github/workflows/stale.yml vendored Normal file
View File

@@ -0,0 +1,18 @@
name: "Close stale issues"
on:
schedule:
- cron: "30 1 * * *"
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v3
with:
repo-token: ${{ secrets.OPER_TOKEN }}
stale-issue-message: 'This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days'
stale-pr-message: 'This PR is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days'
exempt-issue-labels: 'bug,enhancement'
days-before-stale: 60
days-before-close: 7

7
.gitignore vendored
View File

@@ -1,8 +1,8 @@
node_modules
.DS_Store
dist
.npmrc
.cache
.turbo
tests/server/static
tests/server/static/upload
@@ -27,3 +27,8 @@ pnpm-debug.log*
*.njsproj
*.sln
*.sw?
package-lock.json
pnpm-lock.yaml
.history

View File

@@ -2,5 +2,5 @@ ports:
- port: 3344
onOpen: open-preview
tasks:
- init: yarn
command: yarn dev
- init: pnpm install
command: pnpm run dev

View File

@@ -3,4 +3,6 @@
# shellcheck source=./_/husky.sh
. "$(dirname "$0")/_/husky.sh"
PATH="/usr/local/bin:$PATH"
npx --no-install commitlint --edit "$1"

View File

@@ -1,8 +0,0 @@
module.exports = {
'*.{js,jsx,ts,tsx}': ['eslint --fix', 'prettier --write'],
'{!(package)*.json,*.code-snippets,.!(browserslist)*rc}': ['prettier --write--parser json'],
'package.json': ['prettier --write'],
'*.vue': ['eslint --fix', 'prettier --write', 'stylelint --fix'],
'*.{scss,less,styl,html}': ['stylelint --fix', 'prettier --write'],
'*.md': ['prettier --write'],
};

View File

@@ -4,7 +4,7 @@
[ -n "$CI" ] && exit 0
# Format and submit code according to lintstagedrc.js configuration
npm run lint:lint-staged
PATH="/usr/local/bin:$PATH"
npm run lint:pretty
# Format and submit code according to lintstagedrc.js configuration
pnpm exec lint-staged

7
.npmrc Normal file
View File

@@ -0,0 +1,7 @@
public-hoist-pattern[]=husky
public-hoist-pattern[]=*eslint*
public-hoist-pattern[]=*prettier*
public-hoist-pattern[]=lint-staged
public-hoist-pattern[]=*stylelint*
public-hoist-pattern[]=@commitlint/cli
public-hoist-pattern[]=@vben/eslint-config

View File

@@ -1,9 +1,12 @@
/dist/*
dist
.local
.output.js
/node_modules/**
node_modules
**/*.svg
**/*.sh
/public/*
public
.npmrc
*-lock.yaml

19
.prettierrc.cjs Normal file
View File

@@ -0,0 +1,19 @@
module.exports = {
printWidth: 100,
semi: true,
vueIndentScriptAndStyle: true,
singleQuote: true,
trailingComma: 'all',
proseWrap: 'never',
htmlWhitespaceSensitivity: 'strict',
endOfLine: 'auto',
plugins: ['prettier-plugin-packagejson'],
overrides: [
{
files: '.*rc',
options: {
parser: 'json',
},
},
],
};

View File

@@ -1,3 +1,2 @@
/dist/*
/public/*
public/*
dist
public

4
.stylelintrc.cjs Normal file
View File

@@ -0,0 +1,4 @@
module.exports = {
root: true,
extends: ['@vben/stylelint-config'],
};

View File

@@ -1,13 +1,14 @@
{
"recommendations": [
"octref.vetur",
"vue.volar",
"dbaeumer.vscode-eslint",
"stylelint.vscode-stylelint",
"esbenp.prettier-vscode",
"mrmlnc.vscode-less",
"lokalise.i18n-ally",
"antfu.iconify",
"antfu.unocss",
"mikestead.dotenv",
"heybourn.headwind"
"warmthsea.vscode-custom-code-color",
]
}

2
.vscode/launch.json vendored
View File

@@ -8,6 +8,6 @@
"url": "http://localhost:3100",
"webRoot": "${workspaceFolder}/src",
"sourceMaps": true
},
}
]
}

148
.vscode/settings.json vendored
View File

@@ -1,23 +1,10 @@
{
"typescript.tsdk": "./node_modules/typescript/lib",
"typescript.enablePromptUseWorkspaceTsdk": true,
"volar.tsPlugin": true,
"volar.tsPluginStatus": false,
//===========================================
//============= Editor ======================
//===========================================
"explorer.openEditors.visible": 0,
"npm.packageManager": "pnpm",
"editor.tabSize": 2,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"diffEditor.ignoreTrimWhitespace": false,
//===========================================
//============= Other =======================
//===========================================
"breadcrumbs.enabled": true,
"open-in-browser.default": "chrome",
//===========================================
//============= files =======================
//===========================================
"files.eol": "\n",
"search.exclude": {
"**/node_modules": true,
@@ -68,16 +55,17 @@
"**/yarn.lock": true
},
"stylelint.enable": true,
"stylelint.packageManager": "yarn",
"liveServer.settings.donotShowInfoMsg": true,
"telemetry.enableCrashReporter": false,
"workbench.settings.enableNaturalLanguageSearch": false,
"stylelint.validate": [
"css",
"less",
"postcss",
"scss",
"vue",
"sass"
],
"path-intellisense.mappings": {
"/@/": "${workspaceRoot}/src"
"@/": "${workspaceRoot}/src"
},
"prettier.requireConfig": true,
"typescript.updateImportsOnFileMove.enabled": "always",
"workbench.sideBar.location": "left",
"[javascriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
@@ -103,52 +91,102 @@
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
"source.fixAll.eslint": "explicit",
"source.fixAll.stylelint": "explicit"
},
"[vue]": {
"editor.codeActionsOnSave": {
"source.fixAll.eslint": false
}
"source.fixAll.eslint": "explicit",
"source.fixAll.stylelint": "explicit"
},
"i18n-ally.localesPaths": ["src/locales/lang"],
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"i18n-ally.localesPaths": [
"src/locales/lang"
],
"i18n-ally.keystyle": "nested",
"i18n-ally.sortKeys": true,
"i18n-ally.namespace": true,
"i18n-ally.pathMatcher": "{locale}/{namespaces}.{ext}",
"i18n-ally.enabledParsers": ["ts"],
"i18n-ally.enabledParsers": [
"json",
"ts",
"js"
],
"i18n-ally.sourceLanguage": "en",
"i18n-ally.enabledFrameworks": ["vue", "react"],
"i18n-ally.displayLanguage": "zh-CN",
"i18n-ally.enabledFrameworks": [
"vue",
"react"
],
"cSpell.words": [
"vben",
"windi",
"browserslist",
"tailwindcss",
"esnext",
"antd",
"antv",
"tinymce",
"brotli",
"browserslist",
"codemirror",
"commitlint",
"cropperjs",
"echarts",
"esnext",
"esno",
"iconify",
"INTLIFY",
"lintstagedrc",
"logicflow",
"mockjs",
"nprogress",
"pinia",
"pnpm",
"qrcode",
"sider",
"pinia",
"sider",
"nprogress",
"INTLIFY",
"stylelint",
"esno",
"vitejs",
"sortablejs",
"mockjs",
"codemirror",
"iconify",
"commitlint",
"vditor",
"echarts",
"cropperjs",
"logicflow",
"vueuse",
"zxcvbn",
"lintstagedrc",
"brotli",
"stylelint",
"tailwindcss",
"sider"
]
"tinymce",
"unocss",
"unref",
"vben",
"vditor",
"Vite",
"vitejs",
"vueuse",
"zxcvbn"
],
"vetur.format.scriptInitialIndent": true,
"vetur.format.styleInitialIndent": true,
"vetur.validation.script": false,
"MicroPython.executeButton": [
{
"text": "▶",
"tooltip": "运行",
"alignment": "left",
"command": "extension.executeFile",
"priority": 3.5
}
],
"MicroPython.syncButton": [
{
"text": "$(sync)",
"tooltip": "同步",
"alignment": "left",
"command": "extension.execute",
"priority": 4
}
],
// 控制相关文件嵌套展示
"explorer.fileNesting.enabled": true,
"explorer.fileNesting.expand": false,
"explorer.fileNesting.patterns": {
"*.ts": "$(capture).test.ts, $(capture).test.tsx",
"*.tsx": "$(capture).test.ts, $(capture).test.tsx",
"*.env": "$(capture).env.*",
"CHANGELOG.md": "CHANGELOG*",
"package.json": "pnpm-lock.yaml,pnpm-workspace.yaml,LICENSE,.gitattributes,.gitignore,.gitpod.yml,CNAME,README*,.npmrc,.browserslistrc",
".eslintrc.cjs": ".eslintignore,.prettierignore,.stylelintignore,.commitlintrc.*,.prettierrc.*,.stylelintrc.*"
},
"terminal.integrated.scrollback": 10000,
"nuxt.isNuxtApp": false,
"vscodeCustomCodeColor.highlightValue": "v-auth",
"vscodeCustomCodeColor.highlightValueColor": "#6366f1",
}

View File

@@ -1,48 +0,0 @@
# test directories
__tests__
test
tests
powered-test
# asset directories
docs
doc
website
images
assets
# examples
example
examples
# code coverage directories
coverage
.nyc_output
# build scripts
Makefile
Gulpfile.js
Gruntfile.js
# configs
appveyor.yml
circle.yml
codeship-services.yml
codeship-steps.yml
wercker.yml
.tern-project
.gitattributes
.editorconfig
.*ignore
.eslintrc
.jshintrc
.flowconfig
.documentup.json
.yarn-metadata.json
.travis.yml
# misc
*.md
!istanbul-reports/lib/html/assets
!istanbul-api/node_modules/istanbul-reports/lib/html/assets

View File

@@ -1,3 +1,89 @@
## 2.8.0(2021-11.03)
### Upgrade Instructions
- Package manager changed from `yarn` to `pnpm`
- Delete `node_modules` and `yarn.lock`, install `pnpm` globally
- Execute `pnpm install`
### ✨ Features
- **Others**
- The `VITE_PROXY` configuration in the `.env` file supports single quotes
- Remove warnings during build
### 🐛 Bug Fixes
- **BasicTable**
- Fix the issue that editable cells cannot be submitted in some cases
- Fix the problem that the `inset` attribute does not work
- Fix the problem that the performance of `useTable` and `reload` method `await` of `BasicTable` instance are inconsistent
- Fix the issue that `clickToRowSelect` would ignore the disabled state of the row selection box
- Fix the problem that the page of `BasicTable` will be reset in some cases
- Modify the `deleteTableDataRecord` method
- **BasicModal**
- Fixed the problem that `Modal` could not be closed even when clicking on the mask and pressing the `Esc` key
- Fixed the issue that clicking the close button and the blank area next to the maximize button would also cause `Modal` to close
- **BasicTree** Fix the problem that the node slot does not work
- **CodeEditor** Fix the problem that may cause `Build` failure
- **BasicForm** Fix the problem that the content width of the custom FormItem component may be out of range
- **ApiTreeSelect** Fix the problem that the change of `params` failed to trigger the re-request of api data
- **Others** -Fixed an issue where multiple tabs would not jump to routing when closing tabs in some cases
- Fix the issue that some components may cause abnormal hot update
- Fix the problem that some sub-components of `antdv` will be reported in the build process when directly `import` part of the `antdv`, such as: TabPane, RadioGroup
## 2.7.2(2021-09-14)
### ✨ Features
- **BasicForm** New `Divider` in the form component for dividing the area of longer forms
- **BasicTable**
- Cell editor adds submit callback, which will decide whether to submit data to the form based on the result returned by the callback function
- Add check method for row editing, allowing only check but not submit value, so asynchronously save data successfully before submit to table
- Fix the problem that the `rowClassName` property cannot be used at the same time as `striped`.
- New component **MarkdownViewer** for displaying rich text in Markdown format
### 🐛 Bug Fixes
- **CodeEditor** Fix JSON editor throwing exception when formatting invalid JSON text
- **Tinymce** fixes an issue where inline mode throws an exception in some scenarios
- **BasicTable**
- Repair the problem that the editing icon is not displayed when the content of editable cell is empty
- Repair the problem that the total row at the end of the table sometimes fails to align with the columns in the main part of the table.
- **MarkDown** Repair the problem that the value of initial value property does not work.
- **BasicUpload** Repair the problem that `accept` property does not support `MIME` and suffix name starting with dot.
- **ApiSelect** Fix the problem of type definition of `value` property.
- **Other**
- Repair the problem that some wrapper components give error when using slots.
- Repair the problem that `theme` parameter of `useECharts` does not work.
- Repair the problem that when `Token` is invalid, pressing F5 to refresh the page may cause abnormal page loading.
- Repair the problem that the improper call of `useRedo` may lead to `path` redirection abnormality.
- Repair the problem that `vite` custom mode name does not support underscore.
## 2.7.1(2021-08-16)
- Upgrade vue 3.2, if the operation fails, delete node_modules and reinstall it
### ✨ Features
- **BasicTree** Add search function related properties and methods
- **BasicForm** added `alwaysShowLines` to set the number of lines kept displayed when folding
### 🐛 Bug Fixes
- **Cropper** Fix the problem of failure to destroy in time
- **BasicTable**
- Fix the problem that `CellFormat` cannot use `Map` type data
- Fixed an issue where the editable cell failed to display the `0` value correctly
- Fixed the issue that selection-change event failed to trigger correctly when unchecked
- Fix the problem that the background color of the full screen state under the light theme is incorrect
- Fix the problem of obtaining complete data when `getSelectRows` does not support remote data cross-page selection
- Fix the issue that the `size` property provided for editing components in `editComponentProps` is invalid
- **Qrcode** Fixed the problem that the QR code component could not be drawn in time when it was created
- **BasicModal** Fix the problem that the `helpMessage` property does not work
- **BasicButton** Fix the problem that the button style performance is inconsistent with the official antd
- **Others** Fix the problem that `useRedo` (reload the current route) will lose route `params` data
## 2.7.0(2021-08-03)
## (Breaking changes) Breaking changes

View File

@@ -1,3 +1,385 @@
## [2.11.1](https://github.com/vbenjs/vue-vben-admin/compare/v2.11.0...v2.11.1) (2024-04-20)
### Bug Fixes
- the form not working when setFieldsValue through form-groups and add a demo with form groups ([#3765](https://github.com/vbenjs/vue-vben-admin/issues/3765)) ([65e5e71](https://github.com/vbenjs/vue-vben-admin/commit/65e5e71f5ee44eac221721de2c8c1d03e622e34a))
# [2.11.0](https://github.com/vbenjs/vue-vben-admin/compare/2.10.1...2.11.0) (2024-04-20)
### Bug Fixes
- (demo->page>form>high) expose getDataSource close [#3529](https://github.com/vbenjs/vue-vben-admin/issues/3529) ([#3530](https://github.com/vbenjs/vue-vben-admin/issues/3530)) ([0c1235e](https://github.com/vbenjs/vue-vben-admin/commit/0c1235e75aa6a855d774435ef08d3ffae19d1272))
- [#2744](https://github.com/vbenjs/vue-vben-admin/issues/2744)tabs选项卡渲染问题以及完善路由中affix=true时处理逻辑。 ([#3127](https://github.com/vbenjs/vue-vben-admin/issues/3127)) ([b43d306](https://github.com/vbenjs/vue-vben-admin/commit/b43d3069e1ec731e339ed28c17325620f1fe9a6e))
- [#3077](https://github.com/vbenjs/vue-vben-admin/issues/3077) 最新代码 ApiTransfer编辑后无法正常显示数据 ([#3083](https://github.com/vbenjs/vue-vben-admin/issues/3083)) ([c0c3116](https://github.com/vbenjs/vue-vben-admin/commit/c0c31161939027f64fa44a57084acafa0c6c2a8b))
- [#3144](https://github.com/vbenjs/vue-vben-admin/issues/3144) Drawer的footer样式错位问题 ([#3148](https://github.com/vbenjs/vue-vben-admin/issues/3148)) ([8e9d4f0](https://github.com/vbenjs/vue-vben-admin/commit/8e9d4f0a5758bf414b2885f02563a3b24f5cf6f1))
- 1.修正ImageUpload直接使用时无法正常回传value 2.修正ImageUpload无法正常初始化第一次传值 ([#3704](https://github.com/vbenjs/vue-vben-admin/issues/3704)) ([b5c87cf](https://github.com/vbenjs/vue-vben-admin/commit/b5c87cf6abc46ccd9b9bb8795b235b738e8bb376))
- 菜单搜索功能修复 ([#3688](https://github.com/vbenjs/vue-vben-admin/issues/3688)) ([c1809cd](https://github.com/vbenjs/vue-vben-admin/commit/c1809cd6c59228d7932f24a2b1f8e4933654238d))
- 当TableAction的actions属性中的ActionItem传递了color属性时PopConfirm的指示箭头颜色异常问题 ([#3597](https://github.com/vbenjs/vue-vben-admin/issues/3597)) ([e6a7384](https://github.com/vbenjs/vue-vben-admin/commit/e6a73840ab7c7cbd5a5a534bd248f5ed5df11e5c))
- 多选框必填选中校验异常close [#3097](https://github.com/vbenjs/vue-vben-admin/issues/3097) ([#3103](https://github.com/vbenjs/vue-vben-admin/issues/3103)) ([18f5583](https://github.com/vbenjs/vue-vben-admin/commit/18f55833e282206c1ca650a7c62654d45e819759))
- 解决 'Cannot find module uncss' 的问题 ([#3334](https://github.com/vbenjs/vue-vben-admin/issues/3334)) ([3a5f406](https://github.com/vbenjs/vue-vben-admin/commit/3a5f4062602f8394523a82cd807a27580e96a42a))
- 解决table复选框点击无法勾选状态问题 ([#3370](https://github.com/vbenjs/vue-vben-admin/issues/3370)) ([dde3652](https://github.com/vbenjs/vue-vben-admin/commit/dde3652b7d8b68b7f8ac669bd96a55c7b9b1b1fa))
- 设置 baseurl 后不生效的问题 ([#3318](https://github.com/vbenjs/vue-vben-admin/issues/3318)) ([4305f58](https://github.com/vbenjs/vue-vben-admin/commit/4305f58d201382c71f41fcd2625bc45ae09a2ae0))
- 使用suffix时label没有垂直居中 ([#3384](https://github.com/vbenjs/vue-vben-admin/issues/3384)) ([6b6b790](https://github.com/vbenjs/vue-vben-admin/commit/6b6b790f87edab31cb8e0dff730a1490903a3048))
- 修复表单按钮的类型定义外部无法修改重置或者提交按钮的文字的问题 ([141f3bd](https://github.com/vbenjs/vue-vben-admin/commit/141f3bdbd06f4d32e3d0e871072f876c29a8d68b))
- 修复表单设计的右侧属性配置面板中部分表单错乱的问题 ([#3300](https://github.com/vbenjs/vue-vben-admin/issues/3300)). close [#3268](https://github.com/vbenjs/vue-vben-admin/issues/3268) ([cb13986](https://github.com/vbenjs/vue-vben-admin/commit/cb13986a170815c5a21c86033057a8a56d608388))
- 修复菜单在MIX_SIDEBAR模式下title显示为name的问题 ([#3682](https://github.com/vbenjs/vue-vben-admin/issues/3682)) ([264f34e](https://github.com/vbenjs/vue-vben-admin/commit/264f34e49d413783d6d23715ebd9ab721b03d01c))
- 修复黑暗模式下一些样式问题 ([#3201](https://github.com/vbenjs/vue-vben-admin/issues/3201)) ([054a476](https://github.com/vbenjs/vue-vben-admin/commit/054a476d25b2d8322b238a6da6028051bcfdab84))
- 修复确认弹出框样式错乱的问题 ([#3742](https://github.com/vbenjs/vue-vben-admin/issues/3742)) ([a00725b](https://github.com/vbenjs/vue-vben-admin/commit/a00725be571e90fa5d807ec2bc1e23b160c824ff))
- 修复设置抽屉弹框滚动条样式异常 ([#3193](https://github.com/vbenjs/vue-vben-admin/issues/3193)) ([4755017](https://github.com/vbenjs/vue-vben-admin/commit/4755017bcc2dc0aee2f98b46d929a060a5b1bb62))
- 修复BasicForm使用componentProps函数返回valueFormat时DatePicker无法正确格式化的问题 ([#3357](https://github.com/vbenjs/vue-vben-admin/issues/3357)) ([beee351](https://github.com/vbenjs/vue-vben-admin/commit/beee35173b84dfb4c27bcd403df689e102379303))
- 修复index.html加载文字偏移的问题 ([#3306](https://github.com/vbenjs/vue-vben-admin/issues/3306)) ([c715d35](https://github.com/vbenjs/vue-vben-admin/commit/c715d35ad5754dd78135073ddbea86e43e17be91))
- 修复Modal.confirm的返回类型问题需要有destroyupdate的方法 ([#3161](https://github.com/vbenjs/vue-vben-admin/issues/3161)) ([a0e43ab](https://github.com/vbenjs/vue-vben-admin/commit/a0e43abeab2930097209a0cf6c21f3de687435ca))
- 修复notice样式绑定路径错误 ([#3218](https://github.com/vbenjs/vue-vben-admin/issues/3218)) ([ee8ec9e](https://github.com/vbenjs/vue-vben-admin/commit/ee8ec9eacfbfe1c5dc3a842da126dbaf5d54b126))
- 修复rule validator类型默认为string导致 radio 等组件在 setFormValues 时如果值不是string类型提示校验错误 ([a63a10c](https://github.com/vbenjs/vue-vben-admin/commit/a63a10c047cda32d92f35780163772fb20a6fe7a))
- 英文版本时提示中的单词没有分开 ([eb26650](https://github.com/vbenjs/vue-vben-admin/commit/eb2665059eb5fdcb8299032dc1a49c73f1675156))
- **ApiCascader:** apiParamKey not working ([c42ba1c](https://github.com/vbenjs/vue-vben-admin/commit/c42ba1cc1b2fba7179701cb1f918443523a9fc70))
- **ApiCascader:** wrong api reload ([#3536](https://github.com/vbenjs/vue-vben-admin/issues/3536)) resolve [#3534](https://github.com/vbenjs/vue-vben-admin/issues/3534) ([83f16da](https://github.com/vbenjs/vue-vben-admin/commit/83f16da2d35716f94f1837ab9bee41c5878ab3b0))
- **ApiSelect:** 移除watchEffect引发的重复请求 ([#3107](https://github.com/vbenjs/vue-vben-admin/issues/3107)) ([1519f47](https://github.com/vbenjs/vue-vben-admin/commit/1519f47f7d7785a93be51ce9da0f9ef2e78705c9))
- **ApiSelect:** 修复监听不到params的变动 ([ccf4027](https://github.com/vbenjs/vue-vben-admin/commit/ccf4027533d2adabd21bade025ca7bc7d34d75f6))
- **ApiSelect:** ApiSelect的isFirstLoaded赋值逻辑只有当加载报错时才能恢复未初次加载状态 ([#3671](https://github.com/vbenjs/vue-vben-admin/issues/3671)) ([3d733de](https://github.com/vbenjs/vue-vben-admin/commit/3d733de3995a667782fa3219a0e0b171327c5b6f))
- **ApiSelect:** BasicForm emit ield-value-change twice ([0f2c2ea](https://github.com/vbenjs/vue-vben-admin/commit/0f2c2eabd671af457febbb16fa3996c845bae145))
- **ApiSelect:** Incorrect value type definition. close [#3168](https://github.com/vbenjs/vue-vben-admin/issues/3168) ([0cf79d4](https://github.com/vbenjs/vue-vben-admin/commit/0cf79d4ce2786e71444d4d9483ed77a99f57169c))
- **ApiSelect:** type warning ([8f6153f](https://github.com/vbenjs/vue-vben-admin/commit/8f6153fd2a73b9537e7f9ba0f2326388745bc232))
- ApiTransfer 不支持disabled ([#3149](https://github.com/vbenjs/vue-vben-admin/issues/3149)) ([95ca2c3](https://github.com/vbenjs/vue-vben-admin/commit/95ca2c3ae6085d97f24546e24117ee2518f33e2d))
- **ApiTree:** 多触发一次onchange ([882270d](https://github.com/vbenjs/vue-vben-admin/commit/882270d5baff92eb8f51ccb80758c68ef8babe51))
- **ApiTree:** Modify Trigger Selection Event Name ([094a33c](https://github.com/vbenjs/vue-vben-admin/commit/094a33c0c2511816079c935eb83e60ad93c9289c))
- async validator ([#3194](https://github.com/vbenjs/vue-vben-admin/issues/3194)) ([405ef9e](https://github.com/vbenjs/vue-vben-admin/commit/405ef9e2b3e61bd6195b58996504b9cb3939ef6f))
- **BackTop:** repair BackTup comp ([#3581](https://github.com/vbenjs/vue-vben-admin/issues/3581)) ([6f4bdae](https://github.com/vbenjs/vue-vben-admin/commit/6f4bdae5c2a5455cb924e1903612f9fe96cf4481))
- basemodal 无法透传 attributes 至 Modal.tsx ([#3637](https://github.com/vbenjs/vue-vben-admin/issues/3637)) ([89830ec](https://github.com/vbenjs/vue-vben-admin/commit/89830ec7e69a7cab55e6ccf90b74377bcbadf44c))
- **BasicDrawer:** remove toRaw props ([#3399](https://github.com/vbenjs/vue-vben-admin/issues/3399)) ([57e6e4f](https://github.com/vbenjs/vue-vben-admin/commit/57e6e4f00435637c545c58de3cd84c102003032a))
- **BasicForm->ApiRadioGroup:** when options click, duplicate requests. resolve [#3387](https://github.com/vbenjs/vue-vben-admin/issues/3387) ([fdde6f0](https://github.com/vbenjs/vue-vben-admin/commit/fdde6f06b2d388bbdcc7f0de2b5419593cd686c3))
- **BasicForm->FormItem:** model should update before event call ([#3573](https://github.com/vbenjs/vue-vben-admin/issues/3573)). resolve [#3570](https://github.com/vbenjs/vue-vben-admin/issues/3570) ([43aa743](https://github.com/vbenjs/vue-vben-admin/commit/43aa7430324a7f390c31ea9e8a2f1e00fad8a1d0))
- **BasicForm:** 修复 useComponentRegister 方法无法添加自定义的组件,添加时爆类型错误的问题 ([#3483](https://github.com/vbenjs/vue-vben-admin/issues/3483)) ([98e2e4c](https://github.com/vbenjs/vue-vben-admin/commit/98e2e4c89a859e67c911134652d4b005be51e2d1))
- **BasicForm:** script setup defineExpose ([#3316](https://github.com/vbenjs/vue-vben-admin/issues/3316)) ([f58ef67](https://github.com/vbenjs/vue-vben-admin/commit/f58ef6777c4dd8ac905919637410ea5373eb770b))
- **BasicForm:** type instantiation is excessively deep and possibly infinite. ([#3128](https://github.com/vbenjs/vue-vben-admin/issues/3128)) ([5a388be](https://github.com/vbenjs/vue-vben-admin/commit/5a388be15e44d86c87d76dc8829a5286ac1818e0))
- **BasicForm:** useForm 中 scheme 选项 slot 与 component冲突 ([#3133](https://github.com/vbenjs/vue-vben-admin/issues/3133)) ([0bb76a8](https://github.com/vbenjs/vue-vben-admin/commit/0bb76a86d25cbd1de1c672f5cc5e63d0ae478b68))
- **BasicForm:** validate Form tip height ([#3286](https://github.com/vbenjs/vue-vben-admin/issues/3286)). close [#3281](https://github.com/vbenjs/vue-vben-admin/issues/3281) ([100f3cf](https://github.com/vbenjs/vue-vben-admin/commit/100f3cf26c2b124bf94f3bb4913dd3d6d15aed3e))
- **BasicModal:** 修复BasicModal添加wrapClassName样式异常问题 ([#3726](https://github.com/vbenjs/vue-vben-admin/issues/3726)) ([13b031e](https://github.com/vbenjs/vue-vben-admin/commit/13b031eef9b8d4e8333c9397ff26e4875bf9816a))
- **BasicTable->rowKey&scroll:** declear and usage about rowKey and scroll ([#3541](https://github.com/vbenjs/vue-vben-admin/issues/3541)) ([e23e338](https://github.com/vbenjs/vue-vben-admin/commit/e23e3383dd73b20a479977d29bab999c51334a1a))
- **BasicTable->useColumns:** handle deep colunm hidden ([#3561](https://github.com/vbenjs/vue-vben-admin/issues/3561)) resolve [#3559](https://github.com/vbenjs/vue-vben-admin/issues/3559) ([54af5bb](https://github.com/vbenjs/vue-vben-admin/commit/54af5bb42ddd04a56a7da3becf325dd9cfbccc48))
- **BasicTable:** 滑动表格内容合计行不跟随滑动bug ([#3438](https://github.com/vbenjs/vue-vben-admin/issues/3438)) resolve [#2166](https://github.com/vbenjs/vue-vben-admin/issues/2166) ([7ba83e7](https://github.com/vbenjs/vue-vben-admin/commit/7ba83e71bf718b6c896eac892f3b66cd266747af))
- **BasicTable:** 修复BasicTable数据为空时重置后高度不能自适应问题 ([#3724](https://github.com/vbenjs/vue-vben-admin/issues/3724)) ([6054fa2](https://github.com/vbenjs/vue-vben-admin/commit/6054fa2ffac7ff0206a4e0138da16a548d2d25a2))
- **BasicTable:** avoid select when edit cell ([#3484](https://github.com/vbenjs/vue-vben-admin/issues/3484)) ([2f921cf](https://github.com/vbenjs/vue-vben-admin/commit/2f921cfb88b969fb8bd361c46ddf2f41a9e363b0))
- **BasicTable:** BasicTable resize wrong in modal ([#3549](https://github.com/vbenjs/vue-vben-admin/issues/3549)) ([a121b32](https://github.com/vbenjs/vue-vben-admin/commit/a121b32252cf4b0570c937a1ab86d8b924b229ce))
- **BasicTable:** column setting about action fixed and default not cache ([#3441](https://github.com/vbenjs/vue-vben-admin/issues/3441)) ([86ecb27](https://github.com/vbenjs/vue-vben-admin/commit/86ecb2729ef15bb0bb3fc7347a84ffa83487eec8))
- **BasicTable:** ColumnSetting about selectedRowKeys override ([#3446](https://github.com/vbenjs/vue-vben-admin/issues/3446)) ([65122ea](https://github.com/vbenjs/vue-vben-admin/commit/65122ea1a52e2f06463dc15f7ee06aba4e29d104))
- **BasicTable:** ColumnSetting mistake when use setColumns ([#3408](https://github.com/vbenjs/vue-vben-admin/issues/3408)) ([fec67b4](https://github.com/vbenjs/vue-vben-admin/commit/fec67b4d53ce82d156f4683f2c436f31dd3b4f7a))
- **BasicTable:** getSelectRows return duplicate records ([#3545](https://github.com/vbenjs/vue-vben-admin/issues/3545)) ([974c1fa](https://github.com/vbenjs/vue-vben-admin/commit/974c1fad7fb2767429eeb50680cbae8e17b80f1f))
- **BasicTable:** headerCell slot title not exist ([8df2590](https://github.com/vbenjs/vue-vben-admin/commit/8df2590aae8d646880e8c064e6b4ba48cb54086d))
- **BasicTable:** index still show when set showIndexColumn false ([#3455](https://github.com/vbenjs/vue-vben-admin/issues/3455)) ([75f5b7a](https://github.com/vbenjs/vue-vben-admin/commit/75f5b7ac4dda840ce0098ed528e0b161d99d9b09))
- **BasicTable:** keep rowSelection onChange call outside ([#3461](https://github.com/vbenjs/vue-vben-admin/issues/3461)). resolve [#3453](https://github.com/vbenjs/vue-vben-admin/issues/3453) ([a7b2f14](https://github.com/vbenjs/vue-vben-admin/commit/a7b2f14b900771186ee126cf60e8841ecc0cb8c1))
- **BasicTable:** pagination exceeds page height. close [#3185](https://github.com/vbenjs/vue-vben-admin/issues/3185) ([41451f4](https://github.com/vbenjs/vue-vben-admin/commit/41451f4fa3495be1d1ea4088cad77322dcde57de))
- **BasicTable:** ref table ([#3327](https://github.com/vbenjs/vue-vben-admin/issues/3327)) ([c8744a0](https://github.com/vbenjs/vue-vben-admin/commit/c8744a057e0da407ab929c91b46e638d196d82cc))
- **BasicTable:** selection wrong by click input when cross pages ([#3540](https://github.com/vbenjs/vue-vben-admin/issues/3540)). resolve [#3539](https://github.com/vbenjs/vue-vben-admin/issues/3539) ([69c3602](https://github.com/vbenjs/vue-vben-admin/commit/69c36021fa5558097c4fc7b9f63e29816e478cb9))
- **BasicTable:** showIndexColumn/showRowSelection cache should by route name ([#3489](https://github.com/vbenjs/vue-vben-admin/issues/3489)) ([d88f455](https://github.com/vbenjs/vue-vben-admin/commit/d88f455cd3530cd7cc7450e8f0fe7744ca0cb313))
- **BasicTable:** table表格宽度自适应隐藏的列导致宽度增加 ([#3388](https://github.com/vbenjs/vue-vben-admin/issues/3388)) ([bca5154](https://github.com/vbenjs/vue-vben-admin/commit/bca5154a9d3d020a70cd332ac19c853ea94405e2))
- **BasicTree:** not inherit slot and not show icon slot. close [#1902](https://github.com/vbenjs/vue-vben-admin/issues/1902) ([a0b2a9e](https://github.com/vbenjs/vue-vben-admin/commit/a0b2a9e949dbf1e149da8be757f78fa6b1cebec0))
- breadcrumb is displayed despite the menu being hidden ([#3733](https://github.com/vbenjs/vue-vben-admin/issues/3733)) ([e8a86ec](https://github.com/vbenjs/vue-vben-admin/commit/e8a86ec8b996387c9c2d167344eb1e7a010d94fb)), closes [#3690](https://github.com/vbenjs/vue-vben-admin/issues/3690)
- **breadcrumb:** 修复面包屑跳转外链时导致当前页面404问题 ([#3337](https://github.com/vbenjs/vue-vben-admin/issues/3337)). close [#3336](https://github.com/vbenjs/vue-vben-admin/issues/3336) ([895352a](https://github.com/vbenjs/vue-vben-admin/commit/895352ad221f91bdb57fdfd0396925fb7901c2df))
- breakpoint ([#3242](https://github.com/vbenjs/vue-vben-admin/issues/3242)) ([b6f8379](https://github.com/vbenjs/vue-vben-admin/commit/b6f8379e936df3743c5b9514e88a02148b08a5d1))
- bug RangePicker with componentProps valueFormat ('YYYY-MM-DD') does not return the formatted value when using form validate() method [#3690](https://github.com/vbenjs/vue-vben-admin/issues/3690) ([#3691](https://github.com/vbenjs/vue-vben-admin/issues/3691)) ([09f795e](https://github.com/vbenjs/vue-vben-admin/commit/09f795e00ed8d56d6b1e028fc40974d3292eed5f))
- change salesProductPie.vue's data name to '成交占比'. ([#3524](https://github.com/vbenjs/vue-vben-admin/issues/3524)) ([0589458](https://github.com/vbenjs/vue-vben-admin/commit/0589458b2d120b5c6ee0ab10cd8b2d3f13318911))
- checkedKeys use unref bug ([#3198](https://github.com/vbenjs/vue-vben-admin/issues/3198)) ([ae61fa1](https://github.com/vbenjs/vue-vben-admin/commit/ae61fa11865b2d7b0337b1fd2edcb20bf559a71f))
- **ci:** update node version for linter ([a5565bf](https://github.com/vbenjs/vue-vben-admin/commit/a5565bf9cf361e38057d8ca34fe2542ea1c39873))
- **ci:** update use pnpm version for deploy ([83455a0](https://github.com/vbenjs/vue-vben-admin/commit/83455a07a0821142864b4668d89a51057d74330b))
- column setting index column sort ([#3463](https://github.com/vbenjs/vue-vben-admin/issues/3463)) ([fc002d3](https://github.com/vbenjs/vue-vben-admin/commit/fc002d3db327a432259eb02e2a72b9b81381eb6e))
- **component->markdown:** 浏览器媒体获取兼容 ([#3470](https://github.com/vbenjs/vue-vben-admin/issues/3470)) ([f0ca8d5](https://github.com/vbenjs/vue-vben-admin/commit/f0ca8d5a03e994c9948b055dc5f69dad40d96922))
- **component:** insertNextAt is not a function ([#3656](https://github.com/vbenjs/vue-vben-admin/issues/3656)) ([#3657](https://github.com/vbenjs/vue-vben-admin/issues/3657)) ([c827ffb](https://github.com/vbenjs/vue-vben-admin/commit/c827ffb8e680df13dae0c75b19634b6474aa5897))
- **component:** resolve the defaultValue error in setting the date type ([#3652](https://github.com/vbenjs/vue-vben-admin/issues/3652)) ([d42acb4](https://github.com/vbenjs/vue-vben-admin/commit/d42acb477c577c0f855403bff371e0780e630cdc)), closes [#3651](https://github.com/vbenjs/vue-vben-admin/issues/3651)
- **component:** resolve the error when clicking on a row when clickRowToExpand is true ([#3714](https://github.com/vbenjs/vue-vben-admin/issues/3714)) ([38d58ab](https://github.com/vbenjs/vue-vben-admin/commit/38d58ab47af3611cebade960dbcbd60f165f3a72))
- **component:** resolve the issue of "vxe-table" export function not being able to be used ([#3646](https://github.com/vbenjs/vue-vben-admin/issues/3646)) ([bc5e5fa](https://github.com/vbenjs/vue-vben-admin/commit/bc5e5fa015f8c5f1d69f3f8572a1957d83cfe44e)), closes [#3614](https://github.com/vbenjs/vue-vben-admin/issues/3614)
- **component:** resovle fullscreen content issues with "fixedHeight" and "contentFullHeight" combined ([#3721](https://github.com/vbenjs/vue-vben-admin/issues/3721)) ([212e78f](https://github.com/vbenjs/vue-vben-admin/commit/212e78fa76132b4239e81d3432f7f3c15d7e5254))
- **components->Upload:** 修复文件上传过程中删除文件终止上传时上传状态未改变不能关闭Modal的bug ([#3761](https://github.com/vbenjs/vue-vben-admin/issues/3761)) ([04d4c5c](https://github.com/vbenjs/vue-vben-admin/commit/04d4c5cd665f52cb287b5059b301e71aed75b3df))
- **config:** vite:html warning ([#3518](https://github.com/vbenjs/vue-vben-admin/issues/3518)) ([6978517](https://github.com/vbenjs/vue-vben-admin/commit/6978517a3a0b522a466fc248d0ed4384cdcfecb7))
- content fixed mode with blank page ([#3523](https://github.com/vbenjs/vue-vben-admin/issues/3523)) ([49fdb6c](https://github.com/vbenjs/vue-vben-admin/commit/49fdb6c986f36e45fc9f9e206af371f8eb3581f6))
- contextmenu location not right when body with scroll ([#3516](https://github.com/vbenjs/vue-vben-admin/issues/3516)) ([c2c9f4f](https://github.com/vbenjs/vue-vben-admin/commit/c2c9f4f556d65eb768a5202a398dc9684c08d577))
- Correct spelling error in comments ([#3678](https://github.com/vbenjs/vue-vben-admin/issues/3678)) ([54f8584](https://github.com/vbenjs/vue-vben-admin/commit/54f85844436d95ce290a2f3b5db5b7c4fd14cc0d))
- **CropperAvatar:** wrong type about the prop size ([#3635](https://github.com/vbenjs/vue-vben-admin/issues/3635)) ([aef90aa](https://github.com/vbenjs/vue-vben-admin/commit/aef90aa2a0b43c3fc72596d9aecf408a594cb6fd))
- **CropperModal:** beforeUpload should return false ([#3601](https://github.com/vbenjs/vue-vben-admin/issues/3601)) ([b6bcf8d](https://github.com/vbenjs/vue-vben-admin/commit/b6bcf8d36dc348af7b51782e43c09c5e1cfeed68))
- **customExport:** Failure to export ([#3137](https://github.com/vbenjs/vue-vben-admin/issues/3137)) ([4d02205](https://github.com/vbenjs/vue-vben-admin/commit/4d02205839aad840bbb247b26b7e1dcdbc8b3a67))
- **dark:** fix --text-color light color not work ([#3228](https://github.com/vbenjs/vue-vben-admin/issues/3228)) ([2e632e4](https://github.com/vbenjs/vue-vben-admin/commit/2e632e4d4d8af4b8766396b340f9996832310853))
- **DatePicker:** date show is wrong and setup script defineExpose ([#3324](https://github.com/vbenjs/vue-vben-admin/issues/3324)) ([f62043b](https://github.com/vbenjs/vue-vben-admin/commit/f62043b1fca82234e04aa04629ba4bbcc624b0ee))
- **DatePicker:** zh-CN is not work in DatePicker ([#3273](https://github.com/vbenjs/vue-vben-admin/issues/3273)) ([6d047fb](https://github.com/vbenjs/vue-vben-admin/commit/6d047fb53fb113a4c6fc5c46c5b4195e50744eb0))
- defaultValue类型为number时的bug ([#3288](https://github.com/vbenjs/vue-vben-admin/issues/3288)) ([3b2760c](https://github.com/vbenjs/vue-vben-admin/commit/3b2760ca3ae5b51989ea7e97713f629a567fe53a))
- **demo->customerForm:** FormItem下有多个受控组件控制台显示错误提示的bug ([#3238](https://github.com/vbenjs/vue-vben-admin/issues/3238)) ([ec646c5](https://github.com/vbenjs/vue-vben-admin/commit/ec646c57b8c2d365f5ce298c496e1efaad8456b7))
- **demo:** 修复引导页文件名问题 ([#3352](https://github.com/vbenjs/vue-vben-admin/issues/3352)) ([be935eb](https://github.com/vbenjs/vue-vben-admin/commit/be935eb44e363665b99288f78f03cb3053274200))
- **demo:** 修复form demo的远程搜索不会触发的bug ([#3770](https://github.com/vbenjs/vue-vben-admin/issues/3770)) ([44b1877](https://github.com/vbenjs/vue-vben-admin/commit/44b1877eaedca1716aa40b8d819d5fe7cbd26ba0))
- **demo:** account page table without dept ([#3164](https://github.com/vbenjs/vue-vben-admin/issues/3164)) ([40aac65](https://github.com/vbenjs/vue-vben-admin/commit/40aac6544cb9b22e2362f2a2d99c0a9cc2f7fb57))
- **demo:** useForm中DatePickerRangePicker 日期控件位置不对 ([ae58ada](https://github.com/vbenjs/vue-vben-admin/commit/ae58ada82e2f62cea8e89a18c9f2ab18d6dba52a))
- **dept:** no parentDept can edit parentDept ([#3255](https://github.com/vbenjs/vue-vben-admin/issues/3255)) ([2142506](https://github.com/vbenjs/vue-vben-admin/commit/2142506ce5225dbe19118fcedb2cb48612c58fa7))
- Docker 打包逻辑改进,彻底解决缓存问题 ([#3473](https://github.com/vbenjs/vue-vben-admin/issues/3473)) ([dcbe551](https://github.com/vbenjs/vue-vben-admin/commit/dcbe5510d42c3dc5e93b68704a5fa24c88d4de69))
- EditableCell about checked/unChecked Value, getDisable, rowKey missing for updating ([#3418](https://github.com/vbenjs/vue-vben-admin/issues/3418)). resolve [#3419](https://github.com/vbenjs/vue-vben-admin/issues/3419) ([404a472](https://github.com/vbenjs/vue-vben-admin/commit/404a4720b016abb6da93cb0b03271ebea6cca976))
- **EditCellTable:** 表格编辑行在使用Switch,checkedValue为数字时无法切换开关.close [#2560](https://github.com/vbenjs/vue-vben-admin/issues/2560) ([71c4394](https://github.com/vbenjs/vue-vben-admin/commit/71c43945a5e95fda6daddbb90af51f6d149547f5))
- **Editor:** ts类型错误 ([8b13f62](https://github.com/vbenjs/vue-vben-admin/commit/8b13f62995cb7f080eabf2e22d530959d4b79e0b))
- Failed to resolve component EllipsisText ([#3330](https://github.com/vbenjs/vue-vben-admin/issues/3330)) ([42e9de5](https://github.com/vbenjs/vue-vben-admin/commit/42e9de50a2bb150556a0eb8098acb2d2d3662c3c))
- FormItem won't render when a component is not provided ([9e055ad](https://github.com/vbenjs/vue-vben-admin/commit/9e055ad2734819c2778c0db1990e69b67c95022f))
- **FormItem:** use getPopupContainer default value ([#3215](https://github.com/vbenjs/vue-vben-admin/issues/3215)) ([ed267d9](https://github.com/vbenjs/vue-vben-admin/commit/ed267d9c016e50b4d9a7886209bad2432a88ad9b))
- **FormTable:** Invert select bug ([#3412](https://github.com/vbenjs/vue-vben-admin/issues/3412)) ([595b1ce](https://github.com/vbenjs/vue-vben-admin/commit/595b1ce680d8b315589d98036a70333055123b18))
- **full-screen:** dom fullscreen status text ([#3130](https://github.com/vbenjs/vue-vben-admin/issues/3130)) ([e161c14](https://github.com/vbenjs/vue-vben-admin/commit/e161c1449ac3d097cd6eab9441b25de25d3aa27e))
- fullscreen-modal width wrong ([#3321](https://github.com/vbenjs/vue-vben-admin/issues/3321)) ([617b013](https://github.com/vbenjs/vue-vben-admin/commit/617b01338cf4a8d88da529dae7da878b52b30c3b))
- handleFormValues 不再将所有空字符串转换为undefined ([#3496](https://github.com/vbenjs/vue-vben-admin/issues/3496)) ([6fbb576](https://github.com/vbenjs/vue-vben-admin/commit/6fbb57621e6ff79f93830969ab388549cbec5d32))
- **koa->upload:** fix the error that occurs when uploading files in the `test server` of Koa. ([#3698](https://github.com/vbenjs/vue-vben-admin/issues/3698)) ([954f04f](https://github.com/vbenjs/vue-vben-admin/commit/954f04f1c8e941e45c2bd4ab55df331ba13cb89c))
- **layout->menu:** can`t hover when menu is colappsed ([#3499](https://github.com/vbenjs/vue-vben-admin/issues/3499)) resolve [#3492](https://github.com/vbenjs/vue-vben-admin/issues/3492) ([7ffe172](https://github.com/vbenjs/vue-vben-admin/commit/7ffe1726b9ac0ac1f90c20b53996636f31af5c31))
- **layout->user-dropdown:** resolve warning "Invalid prop name: key is a reserved property" ([#3640](https://github.com/vbenjs/vue-vben-admin/issues/3640)) ([eae68bb](https://github.com/vbenjs/vue-vben-admin/commit/eae68bb029864d5f1af4e0c6b57038d0c96e4faf)), closes [#3639](https://github.com/vbenjs/vue-vben-admin/issues/3639)
- **layout:** 修复切换导航栏模式,分割菜单的状态不同步,导致页面内容区域存在被遮挡的问题 ([#3519](https://github.com/vbenjs/vue-vben-admin/issues/3519)) ([50276cb](https://github.com/vbenjs/vue-vben-admin/commit/50276cb60275d15c2d370c5a1be2705067c7b275))
- **LayoutSidre:** resolve the breakpoint conflict. resolve [#3605](https://github.com/vbenjs/vue-vben-admin/issues/3605) ([1a7ae0e](https://github.com/vbenjs/vue-vben-admin/commit/1a7ae0e81071876fe6a5cf2ef00bb61cbca70736))
- **LockModal:** Cannot unlock ([#3143](https://github.com/vbenjs/vue-vben-admin/issues/3143)) ([cdac147](https://github.com/vbenjs/vue-vben-admin/commit/cdac147bc8d09fba6ac14ff1ed31ab4d5b5cb28b))
- **Login:** avoid infinite loop when query redirect to next route redirect ([#3630](https://github.com/vbenjs/vue-vben-admin/issues/3630)). resolve [#3620](https://github.com/vbenjs/vue-vben-admin/issues/3620) [#3627](https://github.com/vbenjs/vue-vben-admin/issues/3627) ([ab55cbf](https://github.com/vbenjs/vue-vben-admin/commit/ab55cbf99bd9891f10546176e203eb4ea8cafaa4))
- **Menu:** tab标签切换选中状态焦点重复. fix [#1681](https://github.com/vbenjs/vue-vben-admin/issues/1681) ([2ec5f63](https://github.com/vbenjs/vue-vben-admin/commit/2ec5f6322d036ea5d6968c16961d2c253e1cef06))
- **menu:** top menu and breadcrumb show wrong ([#3703](https://github.com/vbenjs/vue-vben-admin/issues/3703)) ([573fd53](https://github.com/vbenjs/vue-vben-admin/commit/573fd53b4e287524ffa6ec205b68812b657dde71))
- modal open logic missing ([#3462](https://github.com/vbenjs/vue-vben-admin/issues/3462)) ([cc97f06](https://github.com/vbenjs/vue-vben-admin/commit/cc97f0635438c102b97102a1e0a9d5550961d6fa))
- **Modal:** 修复BasicModal跟原生Modal样式冲突问题 ([#3720](https://github.com/vbenjs/vue-vben-admin/issues/3720)) ([ade6d4c](https://github.com/vbenjs/vue-vben-admin/commit/ade6d4c22dd62aa666fe934a747e2a3764feb7cd))
- modalElIterator可能为空导致报错 ([#3738](https://github.com/vbenjs/vue-vben-admin/issues/3738)) ([162a0d0](https://github.com/vbenjs/vue-vben-admin/commit/162a0d025252ff954f081d126c381e5fefd06e83))
- navigator.clipboard 兼容问题 [#3372](https://github.com/vbenjs/vue-vben-admin/issues/3372) ([#3403](https://github.com/vbenjs/vue-vben-admin/issues/3403)) ([d3600da](https://github.com/vbenjs/vue-vben-admin/commit/d3600daf5c55cc884f4a0311ee7335bdad529a1a))
- **PageWrapper:** 修复headerSticky样式 ([#3569](https://github.com/vbenjs/vue-vben-admin/issues/3569)) ([778ebe1](https://github.com/vbenjs/vue-vben-admin/commit/778ebe1f44bc4929f34fad41b5fec13e9270b517))
- **PopConfirmButton:** avoid type lint error ([#3600](https://github.com/vbenjs/vue-vben-admin/issues/3600)) ([5ec4446](https://github.com/vbenjs/vue-vben-admin/commit/5ec444644384c6a1b8d559e0e21dfa814e5af635))
- remove duplicate code ([#3674](https://github.com/vbenjs/vue-vben-admin/issues/3674)) ([c33ee66](https://github.com/vbenjs/vue-vben-admin/commit/c33ee66473159a0322b7c4489538dd5309587e45))
- repair login about redirect query ([#3592](https://github.com/vbenjs/vue-vben-admin/issues/3592)) ([236ddf3](https://github.com/vbenjs/vue-vben-admin/commit/236ddf3471a7851ff6541f5709e9cbb6105b58f7))
- resolve conflicts between eslint and prettier and bump prettier-plugin-packagejson version to 2.4.6([#3328](https://github.com/vbenjs/vue-vben-admin/issues/3328)) ([8a00070](https://github.com/vbenjs/vue-vben-admin/commit/8a000705d1c89194647a11d01a620c1a893d2643))
- **router:** resolve menu loading failure when permission is in "role mode" ([#3660](https://github.com/vbenjs/vue-vben-admin/issues/3660)) ([c7631fe](https://github.com/vbenjs/vue-vben-admin/commit/c7631fed681da0dd51583cf3ecba60ebfd76ec4d)), closes [#3655](https://github.com/vbenjs/vue-vben-admin/issues/3655)
- **router:** resolve the next function being called twice ([#3643](https://github.com/vbenjs/vue-vben-admin/issues/3643)) ([7ec9344](https://github.com/vbenjs/vue-vben-admin/commit/7ec9344be8e80899749f41d173c1a11db267354e)), closes [#3642](https://github.com/vbenjs/vue-vben-admin/issues/3642)
- **router:** the issue of blank page navigation during repair of non-LAYOUT first-level route component ([#3764](https://github.com/vbenjs/vue-vben-admin/issues/3764)) ([c58c192](https://github.com/vbenjs/vue-vben-admin/commit/c58c1929c1e8a41c15ff2f4f4398eba0fd375b69))
- scroll back to top when tab switch ([#3498](https://github.com/vbenjs/vue-vben-admin/issues/3498)). resolve [#3490](https://github.com/vbenjs/vue-vben-admin/issues/3490) ([d709dd6](https://github.com/vbenjs/vue-vben-admin/commit/d709dd67b50a2e2b88cbcce48f19085ce528f971))
- scrollbar is obscured ([#3331](https://github.com/vbenjs/vue-vben-admin/issues/3331)) ([3f65baf](https://github.com/vbenjs/vue-vben-admin/commit/3f65baf503bee677bde70535525ae514d0585d69))
- ScrollContainer的一个问题 [#3046](https://github.com/vbenjs/vue-vben-admin/issues/3046) ([#3119](https://github.com/vbenjs/vue-vben-admin/issues/3119)) ([aa03c87](https://github.com/vbenjs/vue-vben-admin/commit/aa03c87383c703ddce7759bd7ba114709f2f5241))
- **ScrollContainer:** enable x scroll ([#3564](https://github.com/vbenjs/vue-vben-admin/issues/3564)) ([a1e862b](https://github.com/vbenjs/vue-vben-admin/commit/a1e862bde7a29420fd1de6083c5bde02bef8e9fd))
- **SimpleMenuTag:** SimpleMenuTag的引用都改为动态组件引用,以消除打包警告.close [#3121](https://github.com/vbenjs/vue-vben-admin/issues/3121) ([6e33c26](https://github.com/vbenjs/vue-vben-admin/commit/6e33c268930ad2a99311f0f2b6eb4b90f3cf61ce))
- **StrengthMeter:** change事件应随handleChange一起抛出。close [#3118](https://github.com/vbenjs/vue-vben-admin/issues/3118) ([f5ce480](https://github.com/vbenjs/vue-vben-admin/commit/f5ce480f0fb2f97de57e26a01945b715938f6e18))
- **style:** 修复黑暗模式下弹框、demo目录下、按钮样式问题 ([#3208](https://github.com/vbenjs/vue-vben-admin/issues/3208)) ([06a6c94](https://github.com/vbenjs/vue-vben-admin/commit/06a6c947a980530be6654f05357bc3c721c1140b))
- tabel取消编辑单元格后会回到初始值. close [#2739](https://github.com/vbenjs/vue-vben-admin/issues/2739) ([#3108](https://github.com/vbenjs/vue-vben-admin/issues/3108)) ([9864305](https://github.com/vbenjs/vue-vben-admin/commit/986430513bc2da9a2ad88d40c026b0373bf22d07))
- table height calc when fullcontent and footer visible change ([#3392](https://github.com/vbenjs/vue-vben-admin/issues/3392)) ([20698c0](https://github.com/vbenjs/vue-vben-admin/commit/20698c052c2b696587ac77ba7c85d74abc974ed5))
- table index column width is not enough in english ([#3342](https://github.com/vbenjs/vue-vben-admin/issues/3342)) ([0f13758](https://github.com/vbenjs/vue-vben-admin/commit/0f137585542ee2cf3b542a4ca4d94e76aadfb3d0))
- TableAction设置icon显示iconify关键字 ([#3608](https://github.com/vbenjs/vue-vben-admin/issues/3608)) ([b233973](https://github.com/vbenjs/vue-vben-admin/commit/b2339739746740eaaf4adee3ef16757f3b05ec86))
- **test-server:** test-server can not lanuch ([#3554](https://github.com/vbenjs/vue-vben-admin/issues/3554)) ([e679704](https://github.com/vbenjs/vue-vben-admin/commit/e6797043c53abb8280ff9c86e32663450a650076))
- **tree:** remove expandedKeys prop default value ([#3184](https://github.com/vbenjs/vue-vben-admin/issues/3184)) ([92875cb](https://github.com/vbenjs/vue-vben-admin/commit/92875cbeccf6213bcad9acd4e322cdee59e35266))
- turbo run lint ([#3332](https://github.com/vbenjs/vue-vben-admin/issues/3332)) ([064922d](https://github.com/vbenjs/vue-vben-admin/commit/064922dd4c3ae674a463e4b9453a4ca8bf2a52a0)), closes [#3277](https://github.com/vbenjs/vue-vben-admin/issues/3277)
- **type:** type:check error ([#3309](https://github.com/vbenjs/vue-vben-admin/issues/3309)) ([2cd5a40](https://github.com/vbenjs/vue-vben-admin/commit/2cd5a40322e9b7946e789d7c5023fda0e712af4d))
- typo in locale ([#3659](https://github.com/vbenjs/vue-vben-admin/issues/3659)) ([a4cc1d5](https://github.com/vbenjs/vue-vben-admin/commit/a4cc1d53169bc26e01862ca4ff88e28d5329ab8f))
- typo substract -> subtract ([#3551](https://github.com/vbenjs/vue-vben-admin/issues/3551)) ([f3fbb57](https://github.com/vbenjs/vue-vben-admin/commit/f3fbb57dc944a11a06be2eff376d77f9cef29813))
- **typo:** fileservice class name ([#3625](https://github.com/vbenjs/vue-vben-admin/issues/3625)) ([b794469](https://github.com/vbenjs/vue-vben-admin/commit/b7944690d118377a32e694fa30081b1e43c71719))
- Update TableAction.vue ([#3619](https://github.com/vbenjs/vue-vben-admin/issues/3619)) ([76ffd8f](https://github.com/vbenjs/vue-vben-admin/commit/76ffd8fdf1ecc37a30f33c901ff199ba21f88ad4))
- **Upload:** The file name is too long bug ([#3182](https://github.com/vbenjs/vue-vben-admin/issues/3182)) ([e7fbd74](https://github.com/vbenjs/vue-vben-admin/commit/e7fbd742287928112b318bf966e57c74f6a8ee72))
- **useFormEvent:** 修复表单项存在defaultValue时,updateSchema方法会将setFieldsValue设置的值覆盖问题 ([#3287](https://github.com/vbenjs/vue-vben-admin/issues/3287)) ([72ef3df](https://github.com/vbenjs/vue-vben-admin/commit/72ef3df57fe978c0b8e185f0d632a59e128a390f))
- **useFormEvents:** 修复setFieldsValue 方法设置完值后,函数 componentProps丢失formActionType 的bug ([#3301](https://github.com/vbenjs/vue-vben-admin/issues/3301)) ([82671d0](https://github.com/vbenjs/vue-vben-admin/commit/82671d07502adbaa06decbe0caa51ca2ba2e5149))
- **util:** resolve executing retry even when HTTP status code is 401 ([#3756](https://github.com/vbenjs/vue-vben-admin/issues/3756)) ([3627402](https://github.com/vbenjs/vue-vben-admin/commit/36274025d6a19de978bcaaae3f0ddb42f31ecd2f))
- validateFields await missing ([#3254](https://github.com/vbenjs/vue-vben-admin/issues/3254)) ([71c3fea](https://github.com/vbenjs/vue-vben-admin/commit/71c3fea88afa9209f080458bbd7429b1d37baa2c))
- **VFormDesign:** findIndex === -1 ([#3305](https://github.com/vbenjs/vue-vben-admin/issues/3305)) ([d7472b8](https://github.com/vbenjs/vue-vben-admin/commit/d7472b8a2e480299888ffeac6ac95466b27afa0f))
- **vxe-table:** theme dark is not work ([#3239](https://github.com/vbenjs/vue-vben-admin/issues/3239)) ([031d613](https://github.com/vbenjs/vue-vben-admin/commit/031d613b18125c877ebaa4a3241c3b4bf9c7624a))
- watch open logic lost after build ([#3421](https://github.com/vbenjs/vue-vben-admin/issues/3421)) ([089a989](https://github.com/vbenjs/vue-vben-admin/commit/089a98953e01d6b7cb0003f33d321035e19311c5))
### Features
- 解决Form updateSchema后执行setProps导致schemaRef被重置的问题 ([#3354](https://github.com/vbenjs/vue-vben-admin/issues/3354)) ([b0e8154](https://github.com/vbenjs/vue-vben-admin/commit/b0e8154f9f23db71dba7302395cc7d3db4b4a339))
- 新增表单只读功能 ([#3335](https://github.com/vbenjs/vue-vben-admin/issues/3335)) ([342328c](https://github.com/vbenjs/vue-vben-admin/commit/342328ce5f06b33dabdbd4a3bdd2c846f011eb03))
- 修复 vxetable 实例中缺少的 getRefMaps 和 getComputeMaps 方法 ([#3361](https://github.com/vbenjs/vue-vben-admin/issues/3361)) ([2376e8f](https://github.com/vbenjs/vue-vben-admin/commit/2376e8f67d154fe902452c6c1af19248402602b7))
- 增加文本省略组件 ([#3180](https://github.com/vbenjs/vue-vben-admin/issues/3180)) ([8722471](https://github.com/vbenjs/vue-vben-admin/commit/87224715c3983227866f148d858276c1234f77e0))
- 支持设置多重水印,增加清除所有水印方法. close [#2610](https://github.com/vbenjs/vue-vben-admin/issues/2610) ([#3084](https://github.com/vbenjs/vue-vben-admin/issues/3084)) ([64b8128](https://github.com/vbenjs/vue-vben-admin/commit/64b812802f5ca053c8f0ae9c9f159cbfedb32d5d))
- add pinia persist plugin ([#3173](https://github.com/vbenjs/vue-vben-admin/issues/3173)) ([2152b3f](https://github.com/vbenjs/vue-vben-admin/commit/2152b3f779b47f70e4442ff4c850db10048733d3))
- **ApiTree:** 完善ApiTree组件的重置回显功能. close [#2307](https://github.com/vbenjs/vue-vben-admin/issues/2307) ([a0d4b10](https://github.com/vbenjs/vue-vben-admin/commit/a0d4b10a1f0f858925ce7fff3f9b686308fd3ada))
- **BasicButton:** BasicButton组件支持icon插槽. close [#1377](https://github.com/vbenjs/vue-vben-admin/issues/1377) ([5aac032](https://github.com/vbenjs/vue-vben-admin/commit/5aac032acc294e087e45d5787cbae843d5a86f28))
- **BasicForm:** 新增监听表单收缩方法传值进行判断 ([#3745](https://github.com/vbenjs/vue-vben-admin/issues/3745)) ([e9c6dd8](https://github.com/vbenjs/vue-vben-admin/commit/e9c6dd83b1b21bd46fbb7b16f159733761b49fd2))
- **BasicForm:** Improve ts types for BasicForm ([#3426](https://github.com/vbenjs/vue-vben-admin/issues/3426)) ([6bb7918](https://github.com/vbenjs/vue-vben-admin/commit/6bb79180fc798b1a0b1a6c22f7c13ddb3a45a3b5))
- **BasicTable:** 新增表格搜索获取参数的方法 ([#3715](https://github.com/vbenjs/vue-vben-admin/issues/3715)) ([de5f9e3](https://github.com/vbenjs/vue-vben-admin/commit/de5f9e304791ce131a589683282b42f77d10238c))
- **BasicTable:** table enable accordion expand ([#3533](https://github.com/vbenjs/vue-vben-admin/issues/3533)). resolve [#3525](https://github.com/vbenjs/vue-vben-admin/issues/3525) ([abae7f3](https://github.com/vbenjs/vue-vben-admin/commit/abae7f3295846f10b69c591739bbec22d176b6fe))
- **BasicTree:** BasicTree组件暴露treeData数据 ([caf1783](https://github.com/vbenjs/vue-vben-admin/commit/caf178352537650f603aca441386b377f7cf8821))
- ColumnSetting and SizeSetting persist ([#3398](https://github.com/vbenjs/vue-vben-admin/issues/3398)) ([f4df2d5](https://github.com/vbenjs/vue-vben-admin/commit/f4df2d5a4bd23f346af10580e5ab7de64933bb4c))
- **components->Upload:** 修正图片上传组件允许自定义上传格式限制 ([#3755](https://github.com/vbenjs/vue-vben-admin/issues/3755)) ([302e212](https://github.com/vbenjs/vue-vben-admin/commit/302e2125ba1c7e63e7db47ef6e1ee256da9f81d4))
- **demo->BasicTable:** add TableSelectionBar and enable checkbox rowSelection demo ([#3477](https://github.com/vbenjs/vue-vben-admin/issues/3477)) ([816553b](https://github.com/vbenjs/vue-vben-admin/commit/816553bfcd5a88988c6e7b93cc3378f4a5b17fee))
- **demo->useRequest:** 更新错误重试示例 ([#3456](https://github.com/vbenjs/vue-vben-admin/issues/3456)) ([7fa2578](https://github.com/vbenjs/vue-vben-admin/commit/7fa2578e6d578e7ab44793fcb2b41189a7ba9af3))
- **demo->useRequest:** 更新useRequest 依赖 Effect 函数案例 ([#3460](https://github.com/vbenjs/vue-vben-admin/issues/3460)) ([b57d9fc](https://github.com/vbenjs/vue-vben-admin/commit/b57d9fc60dd113607cd381dff1f88c47671fc434))
- **demo:** hooks useRequest 异步数据管理 ([#3447](https://github.com/vbenjs/vue-vben-admin/issues/3447)) ([d6d1120](https://github.com/vbenjs/vue-vben-admin/commit/d6d1120d00a24b7a97bd37f6a0786c1265fa870d))
- **deps:** update vite version to 5.x ([#3508](https://github.com/vbenjs/vue-vben-admin/issues/3508)) ([e6c7b5f](https://github.com/vbenjs/vue-vben-admin/commit/e6c7b5f9282adbdd9429495d5918c1eafbffde7d))
- fix ellipsis bug ([#3644](https://github.com/vbenjs/vue-vben-admin/issues/3644)) ([9372f1d](https://github.com/vbenjs/vue-vben-admin/commit/9372f1d159bb3236810e469defe6986b924d2264))
- **Form:** 新增Transfer、CropperAvatar、BasicTitle 组件至Form中并添加至演示页面 ([#3362](https://github.com/vbenjs/vue-vben-admin/issues/3362)) ([f6147fa](https://github.com/vbenjs/vue-vben-admin/commit/f6147fa44985d149692b5c6053a49b76d24767cc))
- **Form:** 在Form将BasicTitle识做为Divider一样的处理 ([#3371](https://github.com/vbenjs/vue-vben-admin/issues/3371)) ([cd71e60](https://github.com/vbenjs/vue-vben-admin/commit/cd71e60dd16e87706deb2d06310bc507c55d6a99))
- Form增加ImageUpload组件 ([#3172](https://github.com/vbenjs/vue-vben-admin/issues/3172)) ([b776ac4](https://github.com/vbenjs/vue-vben-admin/commit/b776ac4cd8a4895804b554949f39c82c03382006))
- **hooks:** useWatermark添加水印防篡改功能([#3395](https://github.com/vbenjs/vue-vben-admin/issues/3395)) ([#3397](https://github.com/vbenjs/vue-vben-admin/issues/3397)) ([0a1a5ff](https://github.com/vbenjs/vue-vben-admin/commit/0a1a5ffedc58190529617c9267c6510dc7e17ca9))
- **IconPicker:** IconPicker could allowClear and readonly for form ([#3414](https://github.com/vbenjs/vue-vben-admin/issues/3414)) ([e23f294](https://github.com/vbenjs/vue-vben-admin/commit/e23f29464bd609d6bc7228a5940032d693b006aa))
- iframe expose postmessage function ([#3368](https://github.com/vbenjs/vue-vben-admin/issues/3368)) ([05bc4ac](https://github.com/vbenjs/vue-vben-admin/commit/05bc4acb9b2107bfad8200c0f1942a76367d7a00))
- **input:** add auto-trimming for vxe-table input components ([#3684](https://github.com/vbenjs/vue-vben-admin/issues/3684)) ([9882e8d](https://github.com/vbenjs/vue-vben-admin/commit/9882e8df86cc68373cf0f1fa4f4aa04a9773825e))
- **layout->tabs:** support insert new tab after current tab ([#3471](https://github.com/vbenjs/vue-vben-admin/issues/3471)) ([1e34d3e](https://github.com/vbenjs/vue-vben-admin/commit/1e34d3e9e4c79a62a16c6209639f5394dea61148))
- **layout:** move setting button to tabs when fold ([#3264](https://github.com/vbenjs/vue-vben-admin/issues/3264)) ([83426b5](https://github.com/vbenjs/vue-vben-admin/commit/83426b5c96a88c3a6aa399eb6100ea5fb494fd0e))
- **Menu:** Add custom images to menu ([#3158](https://github.com/vbenjs/vue-vben-admin/issues/3158)) ([b3a6ef6](https://github.com/vbenjs/vue-vben-admin/commit/b3a6ef63bb500d8103bde17d588b3c0c4c77efd6))
- **menu:** Restore side bar settings and added menu mouse move in mode light style ([#3295](https://github.com/vbenjs/vue-vben-admin/issues/3295)) ([003a951](https://github.com/vbenjs/vue-vben-admin/commit/003a951befb9ef2878a35fbe3054252d0bc8e77e))
- **MultipleTab:** add tabs auto collapse interaction in fold mode and setting ([#3256](https://github.com/vbenjs/vue-vben-admin/issues/3256)) ([191e809](https://github.com/vbenjs/vue-vben-admin/commit/191e809b6d696d6e0b72c67ba1c7e89c721f2642))
- pinia persist plugin custom serializer ([#3244](https://github.com/vbenjs/vue-vben-admin/issues/3244)) ([ea51c49](https://github.com/vbenjs/vue-vben-admin/commit/ea51c492c2ba56aa6693217e24f60dc143f124f1))
- RefForm页面新增只读功能按钮 ([#3346](https://github.com/vbenjs/vue-vben-admin/issues/3346)) ([97b76ea](https://github.com/vbenjs/vue-vben-admin/commit/97b76ea6bc902d00c87c5cbd1cb2d67aa9a88347))
- **search:** adjust the menu search function to recognize lowercase input ([#3736](https://github.com/vbenjs/vue-vben-admin/issues/3736)) ([96ac362](https://github.com/vbenjs/vue-vben-admin/commit/96ac362fa6a89af256cf8a84e4b667c195c6ea2e))
- **Table-> CustomerCell:** helpMessage支持传递 tsx 和 h函数的数据 ([c373ffd](https://github.com/vbenjs/vue-vben-admin/commit/c373ffd3bfb7db454e0501b2f7b138ed1a9ec657))
- table搜索表单值发生改变可以触发reload ([#3378](https://github.com/vbenjs/vue-vben-admin/issues/3378)) ([1ca3f7c](https://github.com/vbenjs/vue-vben-admin/commit/1ca3f7c2c0c0c00e8395e26c59796c875d34e12c))
- **treeTable:** add function collapseRows and demo ([#3375](https://github.com/vbenjs/vue-vben-admin/issues/3375)) ([e656b5d](https://github.com/vbenjs/vue-vben-admin/commit/e656b5d8dcde38deeedc73d713d2367e54d2893b))
- **type->api:** resultField推断api的返回值应该包含recordbale类型 ([#3699](https://github.com/vbenjs/vue-vben-admin/issues/3699)) ([c7ab4a5](https://github.com/vbenjs/vue-vben-admin/commit/c7ab4a52989256ccae996191cc249d9cbb36e6d6))
- **Upload:** file list add drag func ([#3227](https://github.com/vbenjs/vue-vben-admin/issues/3227)). resolve [#3179](https://github.com/vbenjs/vue-vben-admin/issues/3179) ([beed7f2](https://github.com/vbenjs/vue-vben-admin/commit/beed7f2e1172531fe691384a50c8b0457f3a80d8))
- **VirtualScroll:** 虚拟滚动增加滚动到顶部, 底部, 指定项方法 ([#3687](https://github.com/vbenjs/vue-vben-admin/issues/3687)) ([7c52f08](https://github.com/vbenjs/vue-vben-admin/commit/7c52f083db30f7e68c3e10a88cbc47d41cf9de20))
- vxeTable searchInfo demo ([#3223](https://github.com/vbenjs/vue-vben-admin/issues/3223)) close [#3011](https://github.com/vbenjs/vue-vben-admin/issues/3011) ([59145ad](https://github.com/vbenjs/vue-vben-admin/commit/59145ade255ee752a7c8d8995634ec172a7f60c8))
- **vxetable:** 新增 clearEdit 方法 ([#3369](https://github.com/vbenjs/vue-vben-admin/issues/3369)) ([522e892](https://github.com/vbenjs/vue-vben-admin/commit/522e892d7947807f7d500a2bace23880729df204))
- **watermark:** support custom style ([#3634](https://github.com/vbenjs/vue-vben-admin/issues/3634)) ([ca3ddd1](https://github.com/vbenjs/vue-vben-admin/commit/ca3ddd19f7811cbf32fd87b6c1cfd6681c08fc69))
### Performance Improvements
- 解决ts文件通过alias引入vue文件后, vscode调转不到正确vue文件路径 ([#3099](https://github.com/vbenjs/vue-vben-admin/issues/3099)) ([033d882](https://github.com/vbenjs/vue-vben-admin/commit/033d8828a9545770e98909291dcb6fd8db90ee41))
- 优化水印在控制台可以hide的问题 ([#3732](https://github.com/vbenjs/vue-vben-admin/issues/3732)) ([9784cdc](https://github.com/vbenjs/vue-vben-admin/commit/9784cdc840336d5c2bb006fa3ababfa7fa4056af))
- **BasicTree:** 获取treeData改写成函数 ([748b99b](https://github.com/vbenjs/vue-vben-admin/commit/748b99b18f5fc4e313add38ad457f0a5f064db70))
- **BasicTree:** 外部获取treeData不必通过treeDataRef.value ([#3353](https://github.com/vbenjs/vue-vben-admin/issues/3353)) ([943f500](https://github.com/vbenjs/vue-vben-admin/commit/943f50051ca80b6646ed44a2117b7c9ef632ed6d))
- **breakpointEnum:** 修改enum与breakpoint.less内一致 ([#3276](https://github.com/vbenjs/vue-vben-admin/issues/3276)) ([8932318](https://github.com/vbenjs/vue-vben-admin/commit/89323186b56b06b148664ae7483c490cf7eadefa))
- **component:** formItem: label支持函数渲染 ([#3504](https://github.com/vbenjs/vue-vben-admin/issues/3504)) ([e6a7e4c](https://github.com/vbenjs/vue-vben-admin/commit/e6a7e4c4fcdc5ad94f55c4f19000d6767773691e))
- **ConfigProvider:** 配置antdv主题色, 使其与modifyVars配置一致 ([#3219](https://github.com/vbenjs/vue-vben-admin/issues/3219)) ([bb3d5b8](https://github.com/vbenjs/vue-vben-admin/commit/bb3d5b8ae8e8ae0e91acb3022f51572daf3210c6))
- **darkMode:** 深色模式颜色定义以及切换方式优化 ([#3436](https://github.com/vbenjs/vue-vben-admin/issues/3436)) ([b008c44](https://github.com/vbenjs/vue-vben-admin/commit/b008c44246bec32def74c6ae1dd3522bf8c1ca2e))
- **darkMode:** 优化深色模式颜色切换相关方法; 增加根据主题更新自定义颜色方法和示例 ([#3216](https://github.com/vbenjs/vue-vben-admin/issues/3216)) ([e497721](https://github.com/vbenjs/vue-vben-admin/commit/e497721e9b3d03de07a61808012d0d6e04fd9663))
- **IconPicker:** input trigger popover by click ([#3278](https://github.com/vbenjs/vue-vben-admin/issues/3278)) ([2bbc2d2](https://github.com/vbenjs/vue-vben-admin/commit/2bbc2d28119c7f7cadbf5411b9ea886fb8965de0))
- **ImageUpload:** 根据官方示例设置图片回显格式 ([#3252](https://github.com/vbenjs/vue-vben-admin/issues/3252)) ([2991bb1](https://github.com/vbenjs/vue-vben-admin/commit/2991bb1670d44633d1f571374553d027e0dad8a2))
- Modify i18 file format to JSON ([#3171](https://github.com/vbenjs/vue-vben-admin/issues/3171)) ([c24e0ef](https://github.com/vbenjs/vue-vben-admin/commit/c24e0efd1d2c7148a3df9c8b12a2a500910a3590))
- **useForm:** If the args of the setFieldsValue is empty, it will not be executed. close [#3209](https://github.com/vbenjs/vue-vben-admin/issues/3209) ([8f90087](https://github.com/vbenjs/vue-vben-admin/commit/8f900871ace30895d9fee84c4eb9018c0ad0450e))
### Reverts
- Revert "chore(deps): update ant-design-vue version to 4.1.0. resolve #3495" ([f9fc369](https://github.com/vbenjs/vue-vben-admin/commit/f9fc369637d1588aa5eebf5fee1f3526de14e0cb)), closes [#3495](https://github.com/vbenjs/vue-vben-admin/issues/3495)
- Revert "feat: table搜索表单值发生改变可以触发reload (#3378)" (#3407) ([2828ed3](https://github.com/vbenjs/vue-vben-admin/commit/2828ed304a778bb16b52223607428dac926d73bf)), closes [#3378](https://github.com/vbenjs/vue-vben-admin/issues/3378) [#3407](https://github.com/vbenjs/vue-vben-admin/issues/3407)
- Revert "chore: update `unplugin-config` (#3116)" (#3117) ([f0550f2](https://github.com/vbenjs/vue-vben-admin/commit/f0550f20438a4c11f51fcf3e4a4286692bcf7d9f)), closes [#3116](https://github.com/vbenjs/vue-vben-admin/issues/3116) [#3117](https://github.com/vbenjs/vue-vben-admin/issues/3117)
- Revert "chore: Update Dependencies" ([ae09d3c](https://github.com/vbenjs/vue-vben-admin/commit/ae09d3cfd6b11689620565b57b506826626d09e9))
- Revert "refactor: use `unplugin-config` (#3106)" ([694dead](https://github.com/vbenjs/vue-vben-admin/commit/694dead3115a535782b7dd3a3c2dc4eaa9f32d76)), closes [#3106](https://github.com/vbenjs/vue-vben-admin/issues/3106)
## [2.8.0](https://github.com/anncwb/vue-vben-admin/compare/v2.7.2...v2.8.0) (2021-11-03)
### Bug Fixes
- fixed token clear error ([9640484](https://github.com/anncwb/vue-vben-admin/commit/96404848955f84d57b88dd240ab3a57b7017103c))
- improve type introduction, fix [#1196](https://github.com/anncwb/vue-vben-admin/issues/1196) ([2820d5a](https://github.com/anncwb/vue-vben-admin/commit/2820d5a627260bb8eddfcd25df1cd7d1196932e8))
- **api-select:** fixed `value` prop define ([f87b0f2](https://github.com/anncwb/vue-vben-admin/commit/f87b0f2f5efe4e9977c4cc0742dbcaefbad2ca02)), closes [#1175](https://github.com/anncwb/vue-vben-admin/issues/1175)
- **card-list:** fixed build error ([628e820](https://github.com/anncwb/vue-vben-admin/commit/628e820684ce5d81f130548505efe83e8d516131))
- **code-editor:** fixed formatting error ([e7c9636](https://github.com/anncwb/vue-vben-admin/commit/e7c96363a1963b7733a9ee498403eb6a062160e6))
- **echarts:** theme setting supported ([93812f7](https://github.com/anncwb/vue-vben-admin/commit/93812f734ec85529aa27fc3100a2eaef8c7a6df5)), closes [#1095](https://github.com/anncwb/vue-vben-admin/issues/1095)
- **markdown:** the hierarchy of markDown components after full screen ([c8017b1](https://github.com/anncwb/vue-vben-admin/commit/c8017b1365ea49f95a26148a539f8c30d8a8631f))
- **markdown:** `value` not worked on init ([0bb9c03](https://github.com/anncwb/vue-vben-admin/commit/0bb9c035f77588c58d36b3fd45d89b9730cd70d7))
- **modal:** avoid style pollution to the whole world ([#1128](https://github.com/anncwb/vue-vben-admin/issues/1128)) ([6e7f6f8](https://github.com/anncwb/vue-vben-admin/commit/6e7f6f82ed2819e02e2b3114884e665d0762d7e9))
- **table:** `rowClassName` not worked with `striped` ([044e2e4](https://github.com/anncwb/vue-vben-admin/commit/044e2e4e866dd5b120daab03c47aba1ca1f9140a)), closes [#1167](https://github.com/anncwb/vue-vben-admin/issues/1167)
- **table:** 修复表格背景颜色再深色模式下会被穿透问题 ([#1133](https://github.com/anncwb/vue-vben-admin/issues/1133)) ([30fa4cf](https://github.com/anncwb/vue-vben-admin/commit/30fa4cfa2ab6229efc67224fd082e32da0a95d49))
- **table:** editable icon not show with empty cell ([edc3096](https://github.com/anncwb/vue-vben-admin/commit/edc30965653831b4572c5d5e067f556f4757ce75)), closes [#1103](https://github.com/anncwb/vue-vben-admin/issues/1103)
- **table:** fix table footer style ([a426b90](https://github.com/anncwb/vue-vben-admin/commit/a426b9027ef524f9033d510d0c74cd17b2ad5bcf)), closes [#1112](https://github.com/anncwb/vue-vben-admin/issues/1112)
- **table:** Solve the bug of setting ifshow to false in table column ([#1166](https://github.com/anncwb/vue-vben-admin/issues/1166)) ([5fa730c](https://github.com/anncwb/vue-vben-admin/commit/5fa730c49ae46fa448d49d597dc7b2b6a019b268))
- **table-action:** `divider` not work as expected ([7593ef6](https://github.com/anncwb/vue-vben-admin/commit/7593ef6a4f081ed800658b70316ab2f1e3ee631d))
- **tinymce:** fixed `inline` mode ([8e01377](https://github.com/anncwb/vue-vben-admin/commit/8e01377481a34cda221de6bbb01fc7d5b2824c82)), closes [#1092](https://github.com/anncwb/vue-vben-admin/issues/1092)
- **upload:** `accept` not work as expected ([656ee4e](https://github.com/anncwb/vue-vben-admin/commit/656ee4e5c9b363b6ab59aa071915414e5ee95de4))
- `getUserinfo` is compatible with empty roles data ([1ddfc31](https://github.com/anncwb/vue-vben-admin/commit/1ddfc31c3c4c792c5f741f6d0f0754ffc9a6613c))
- `slots` worked in `basicTable` and `basicModal` ([5138e44](https://github.com/anncwb/vue-vben-admin/commit/5138e447e74ef01309457d22f44129c8b1b2f815))
- `useRedo` called duplicate may cause exception ([1235978](https://github.com/anncwb/vue-vben-admin/commit/1235978ab23740dfb11e3de7ac26a7d10a4899dc)), closes [#1121](https://github.com/anncwb/vue-vben-admin/issues/1121)
- 修复 `apiSelect` 绑定值 `attrs` 的问题 ([#1172](https://github.com/anncwb/vue-vben-admin/issues/1172)) ([c753d94](https://github.com/anncwb/vue-vben-admin/commit/c753d945e08f72cab5bc8a585601cab6a0523fca))
- 修复弹窗全屏按钮异常关闭的问题([#1177](https://github.com/anncwb/vue-vben-admin/issues/1177)) ([#1182](https://github.com/anncwb/vue-vben-admin/issues/1182)) ([9e9ea3f](https://github.com/anncwb/vue-vben-admin/commit/9e9ea3f43d8c4b88649c1998bf89186b5f7ee6a2))
- 修改 axios 中 urlPrefix 字段不生效问题 ([#1170](https://github.com/anncwb/vue-vben-admin/issues/1170)) ([7df9b51](https://github.com/anncwb/vue-vben-admin/commit/7df9b513447d8deab2fd8e86fa23c807adb6d440))
- add loss action for userStore ([a36825a](https://github.com/anncwb/vue-vben-admin/commit/a36825a6d423aae9aaf1936ce55947ba8c2104b0))
- fix all types of errors, compatible with volar plugin ([e15b4f1](https://github.com/anncwb/vue-vben-admin/commit/e15b4f14db51812effd55670b3d2da7b082e00a7))
- fixed build warning for style of `intro.js` ([d27633f](https://github.com/anncwb/vue-vben-admin/commit/d27633fb31824e92cbeb24f8d626d8e33ce7179e)), closes [#1130](https://github.com/anncwb/vue-vben-admin/issues/1130)
- Improve content height calculation ([#1136](https://github.com/anncwb/vue-vben-admin/issues/1136)) ([6717fe6](https://github.com/anncwb/vue-vben-admin/commit/6717fe654e88e6a939a16c523832870388ec1886))
- name of vite `mode` support more characters ([9f68229](https://github.com/anncwb/vue-vben-admin/commit/9f6822991c4b2da78e0a5d0c7d6e0288f0d9d1cb)), closes [#1115](https://github.com/anncwb/vue-vben-admin/issues/1115)
- refresh failed while token invalid ([3a5d1a5](https://github.com/anncwb/vue-vben-admin/commit/3a5d1a5757c0a2be17e6dd370cbb023ddbb30d5e)), closes [#1101](https://github.com/anncwb/vue-vben-admin/issues/1101)
- warning in logout action ([b3307fe](https://github.com/anncwb/vue-vben-admin/commit/b3307fe2836fb6f9806d602d5bdb7e540c49f1b0))
- **tinymce:** fixed `tinymce` destory method ([fb43fad](https://github.com/anncwb/vue-vben-admin/commit/fb43fad555b093af23194bdb3670bc1347c0010f))
### Features
- **demo:** add `JsonPreview` demo ([83c1683](https://github.com/anncwb/vue-vben-admin/commit/83c1683bfdcf4ea33de771895b46e41f276969e8)), closes [#1146](https://github.com/anncwb/vue-vben-admin/issues/1146)
- **form:** add `Divider` for schema component type ([47a448b](https://github.com/anncwb/vue-vben-admin/commit/47a448b8aea572e54dac97dc4f9fb6c1c005685a))
- **form:** component `Divider` support `helpMessage` ([a5ff592](https://github.com/anncwb/vue-vben-admin/commit/a5ff59237f2eb6ea4c1770acc594c75bf1f6e95f))
- **markdown-viewer:** add new component ([73dc492](https://github.com/anncwb/vue-vben-admin/commit/73dc492b2a49793d945ccdae7f5c429c874f298c)), closes [#1181](https://github.com/anncwb/vue-vben-admin/issues/1181)
- **table:** 添加和支持动态删除和插入数据 ([#1152](https://github.com/anncwb/vue-vben-admin/issues/1152)) ([59a9087](https://github.com/anncwb/vue-vben-admin/commit/59a90877287a289f746eec97d12c2d3a1d5476b0))
- **table:** add `beforeEditSubmit` for editable cell ([2c867b3](https://github.com/anncwb/vue-vben-admin/commit/2c867b3d636d57cdc526a4ca600af7d747b7d833))
- **table:** add `onValid` for editRow ([ee7c31d](https://github.com/anncwb/vue-vben-admin/commit/ee7c31db44fd8f99f0d26da368e1d82b5630f309))
- **tree:** 1. 添加自定义数据过滤判断方法 2. 添加搜索完成自动展开结果选项 3. 添加搜索完成自动选中结果选项 4. 树节点数据变化时强制搜索(同步 searchData 避免展示错误) ([#1132](https://github.com/anncwb/vue-vben-admin/issues/1132)) ([e00578c](https://github.com/anncwb/vue-vben-admin/commit/e00578c40a585a4a35f235c0228aebaf62cea1ba))
- add CardList component ([0f5ddbf](https://github.com/anncwb/vue-vben-admin/commit/0f5ddbf1ec777fc238a94bd037d37ea787316757))
### Performance Improvements
- **tree:** 优化 Tree 搜索功能,添加搜索高亮功能,优化样式表现 ([#1153](https://github.com/anncwb/vue-vben-admin/issues/1153)) ([3b6b4f7](https://github.com/anncwb/vue-vben-admin/commit/3b6b4f73033e8757fd3a032f0910dfcc30dee151))
- not waiting for router.isReady ([2884e86](https://github.com/anncwb/vue-vben-admin/commit/2884e863ce826cd92cd782f40cdee31588bc6d32))
- optimize css volume ([466d4ed](https://github.com/anncwb/vue-vben-admin/commit/466d4edcd02fc91e2b4cdbbc3c501bfd2fde7a3d))
## [2.7.1](https://github.com/anncwb/vue-vben-admin/compare/v2.6.1...v2.7.1) (2021-08-16)
### Bug Fixes
- `slots` working in components ([b1f3176](https://github.com/anncwb/vue-vben-admin/commit/b1f31762e3c86a432a8d559ab957444eaf5525ad))
- add axios error info from response ([#1083](https://github.com/anncwb/vue-vben-admin/issues/1083)) ([72634ff](https://github.com/anncwb/vue-vben-admin/commit/72634ffe6e6649d36ee41f7633c8ee2ab80cf25e))
- auto remove script dom in `useScript` ([a544dd3](https://github.com/anncwb/vue-vben-admin/commit/a544dd3e589329339177dad3d5c1f75dd6e6f0ca))
- fixed `useRedo` may loss route params ([2dd3d85](https://github.com/anncwb/vue-vben-admin/commit/2dd3d8544866231895d23dba63785b683ae0062e)), closes [#1079](https://github.com/anncwb/vue-vben-admin/issues/1079)
- fixed basicButton ghost style ([3ba8a67](https://github.com/anncwb/vue-vben-admin/commit/3ba8a67647d35fb9639a5af66f33d43eff493d15))
- fixed basicButton primary style ([1b57792](https://github.com/anncwb/vue-vben-admin/commit/1b577922e752c02fe7c033c53be37ef81e4e9b8e))
- fixed basicButton style ([beb4ae9](https://github.com/anncwb/vue-vben-admin/commit/beb4ae92c190780bbd3bc6bc7547d52e2ccf8cf1))
- **cropper:** cropper not destroy in time ([3819430](https://github.com/anncwb/vue-vben-admin/commit/381943078fd55123fde3d5555e04f279d7f1c407)), closes [#1027](https://github.com/anncwb/vue-vben-admin/issues/1027)
- **demo:** fix form style in modal ([30c5fc6](https://github.com/anncwb/vue-vben-admin/commit/30c5fc63c8600cfb03f917d79e56c0a7e7ff64e0)), closes [#1076](https://github.com/anncwb/vue-vben-admin/issues/1076)
- **i18n:** add i18n translate data ([1f55c41](https://github.com/anncwb/vue-vben-admin/commit/1f55c4180f9c0cf48e3796a77d6f0bfd46107272))
- **locales:** fix that vscode extension i18n-Ally detect zh-CN as zh ([#1044](https://github.com/anncwb/vue-vben-admin/issues/1044)) ([b2d49cb](https://github.com/anncwb/vue-vben-admin/commit/b2d49cbbf81cb15e75905deb95bdf7ac4af4e599))
- **modal:** `helpMessage` doesn't work ([953bfc6](https://github.com/anncwb/vue-vben-admin/commit/953bfc6f1a559309ea2b1114b8ede911a3751cc7))
- **page-wrapper:** fix `class` not working ([8879ae8](https://github.com/anncwb/vue-vben-admin/commit/8879ae8d773e8dc4c252c4234eefeab9bc135a30))
- **qrcode:** qrcode not displayed properly ([26f251e](https://github.com/anncwb/vue-vben-admin/commit/26f251e1ed5bfd79c8615fb552ca302f917cc588)), closes [#1026](https://github.com/anncwb/vue-vben-admin/issues/1026)
- **route:** the whitelist should include basicRoutes ([#1048](https://github.com/anncwb/vue-vben-admin/issues/1048)) ([1bb5156](https://github.com/anncwb/vue-vben-admin/commit/1bb51569236fd9bcc55dd9f237f51f218956b258))
- **table:** `0` is not shown in editable cell ([33a335a](https://github.com/anncwb/vue-vben-admin/commit/33a335a3f52aead522b3fbee0d558e2e797580ff)), closes [#1039](https://github.com/anncwb/vue-vben-admin/issues/1039)
- **table:** `cellFormat` support `Map` ([1214b7c](https://github.com/anncwb/vue-vben-admin/commit/1214b7c32c425750a4d0202a9b235eb9e45a6f47)), closes [#1031](https://github.com/anncwb/vue-vben-admin/issues/1031)
- **table:** `getSelectRows` support multi-page ([4b6025c](https://github.com/anncwb/vue-vben-admin/commit/4b6025cb9a3ef067680201ec3052bc651e0a0c1b)), closes [#914](https://github.com/anncwb/vue-vben-admin/issues/914)
- **table:** `selection-change` not triggered in unchecking ([019555b](https://github.com/anncwb/vue-vben-admin/commit/019555be0c88edc673cae382023d647e78959b30)), closes [#1053](https://github.com/anncwb/vue-vben-admin/issues/1053)
- **table:** `size` not worked in `editComponentProps` ([7971896](https://github.com/anncwb/vue-vben-admin/commit/7971896383296c155b7ab16b5beb3544f34ee525)), closes [#1074](https://github.com/anncwb/vue-vben-admin/issues/1074)
- **table:** fix `getSelectRows` for treeTable ([f2b8bb4](https://github.com/anncwb/vue-vben-admin/commit/f2b8bb43a0b9172b9ef9ced8e83bf91143a091d9)), closes [#1003](https://github.com/anncwb/vue-vben-admin/issues/1003)
- **table:** fix `injection not found` warning ([53e79a2](https://github.com/anncwb/vue-vben-admin/commit/53e79a2d94df19c0e1aa7399d5ce4c27834e0350))
- **types:** fix some type errors ([9035fd1](https://github.com/anncwb/vue-vben-admin/commit/9035fd191e4e8d954f42b3a4cd1e80ec70b7cbb6))
- The Style of tableTitle slot ([#1023](https://github.com/anncwb/vue-vben-admin/issues/1023)) ([02e7756](https://github.com/anncwb/vue-vben-admin/commit/02e77560624cc4a95a5a20ffd5e0601f1f88c6f4))
- fix build handler & misc ([#1060](https://github.com/anncwb/vue-vben-admin/issues/1060)) ([66feb77](https://github.com/anncwb/vue-vben-admin/commit/66feb779a8645a93760c784c510512118c4c6efa))
- **table:** recursive updateTableDataRecord ([#1024](https://github.com/anncwb/vue-vben-admin/issues/1024)) ([72f953c](https://github.com/anncwb/vue-vben-admin/commit/72f953c8d3413a7f5482793258503017a81cc759))
- **table:** wrong bg-color in fullscreen mode ([2052eb5](https://github.com/anncwb/vue-vben-admin/commit/2052eb5a65be38c44165efecdb15266de4638667))
- **type:** fix ant-design-vue -> ([#1043](https://github.com/anncwb/vue-vben-admin/issues/1043)) ([6d5388a](https://github.com/anncwb/vue-vben-admin/commit/6d5388aaf143ac76bac0b68d56a3ab6b5993e807))
- fix iframe heigth error ([#1012](https://github.com/anncwb/vue-vben-admin/issues/1012)) ([d76cfd7](https://github.com/anncwb/vue-vben-admin/commit/d76cfd7f809ba48880c950a64cb43a5c9c44176c))
- Fix the invalid hot update of BasicButton when changing style outside ([#1016](https://github.com/anncwb/vue-vben-admin/issues/1016)) ([be2d11d](https://github.com/anncwb/vue-vben-admin/commit/be2d11d5d344a508e94abe3534726c80e1f1f271))
- the position of tinymce upload image is wrong ([#1015](https://github.com/anncwb/vue-vben-admin/issues/1015)) ([2fd0fd2](https://github.com/anncwb/vue-vben-admin/commit/2fd0fd281e65d6d2551478c5f19250347dc14062))
- **tree:** fix `checkAll` effects `disabled` node ([ddd1893](https://github.com/anncwb/vue-vben-admin/commit/ddd1893b113e13786037522341abb2e75f8f9d5b))
- style property of actionColOpt is invalid ([#997](https://github.com/anncwb/vue-vben-admin/issues/997)) ([225bd4c](https://github.com/anncwb/vue-vben-admin/commit/225bd4c39de377d93c605f33bfdf3d8fd565f12b))
- typo ([#980](https://github.com/anncwb/vue-vben-admin/issues/980)) ([7e6a89f](https://github.com/anncwb/vue-vben-admin/commit/7e6a89ffeb8c63467908d5807d3d7c4761620ee3))
- **api-tree-select:** auto reload while `params` changed ([c734f68](https://github.com/anncwb/vue-vben-admin/commit/c734f6858daea6d11cd517463b06fcce58744947))
- **dark-theme:** alert color in dark-theme ([9b7ede0](https://github.com/anncwb/vue-vben-admin/commit/9b7ede09b9efe4d5a15ab0cdeadac480a29c0f62))
- **dark-theme:** bgcolor of `selected tree node` in dark theme ([8cf004a](https://github.com/anncwb/vue-vben-admin/commit/8cf004a5f59895e2487c3a350c83000e585b897e)), closes [#949](https://github.com/anncwb/vue-vben-admin/issues/949)
- **dark-theme:** disabled link `button` color ([4281216](https://github.com/anncwb/vue-vben-admin/commit/42812162c46832ce4d3e332bd579c042309115bc))
- **dark-theme:** fixed `TreeSelect` & `DatePicker` theme ([d1e0e8b](https://github.com/anncwb/vue-vben-admin/commit/d1e0e8bcea1c168631222989969e14f7d0d1b6a4)), closes [#955](https://github.com/anncwb/vue-vben-admin/issues/955)
- **dark-theme:** style for checked tree nodes ([662b576](https://github.com/anncwb/vue-vben-admin/commit/662b576ac2088247cb58e295378f228462508a37))
- **demo:** account page form validation ([8702965](https://github.com/anncwb/vue-vben-admin/commit/87029650570e470431fb94d35a273c5d07a73135))
- **demo:** fix roles mock data ([c375e32](https://github.com/anncwb/vue-vben-admin/commit/c375e32305eae5128e09ad1bda39ce0cc6afd790))
- **form:** remove console error for `setFieldsValue` ([8d185bb](https://github.com/anncwb/vue-vben-admin/commit/8d185bb5841c83eb49c78e8342e65067aa6f9b80)), closes [#952](https://github.com/anncwb/vue-vben-admin/issues/952)
- **table:** fix `pagination` props working ([e327893](https://github.com/anncwb/vue-vben-admin/commit/e32789373eb5b1b531572b59692bf552dac365dc))
- expandIcon slot of BasicTable component is invalid ([#975](https://github.com/anncwb/vue-vben-admin/issues/975)) ([98c206d](https://github.com/anncwb/vue-vben-admin/commit/98c206d9c9661a18dde4ec7782cbe1eb6e62ebeb))
- **demo:** menu `error-log` link to 404 page ([341bd63](https://github.com/anncwb/vue-vben-admin/commit/341bd633d8ed38a5a357db8f97166c2eba2895d3))
- **demo:** multi-modal used with dynamic component ([e1c4723](https://github.com/anncwb/vue-vben-admin/commit/e1c47233edf7675aede6d5f023726945a510ddf7))
- **echarts:** fix graphic config cannot be used in echarts options ([#959](https://github.com/anncwb/vue-vben-admin/issues/959)) ([525484e](https://github.com/anncwb/vue-vben-admin/commit/525484e7a409b032d22231f90a92e700ef4290ae))
- **form:** fix `validate` promise catch ([571f281](https://github.com/anncwb/vue-vben-admin/commit/571f28138f782553eb39cda2d632e5ac1aa1e145))
- **img-rotate-drag-verify:** fix `resume` method support ([32d64db](https://github.com/anncwb/vue-vben-admin/commit/32d64dbe816a0afda6ee9e91863199afb3e7b48e)), closes [#946](https://github.com/anncwb/vue-vben-admin/issues/946)
- **login:** fix `auto fill` style in dark-theme ([cebc6a5](https://github.com/anncwb/vue-vben-admin/commit/cebc6a590e1a19af7380a55aed43b23af274df0a))
- **perm-guard:** Fix the problem that the routing query is lost after refreshing the page ([#941](https://github.com/anncwb/vue-vben-admin/issues/941)) ([9c4889f](https://github.com/anncwb/vue-vben-admin/commit/9c4889f0859bc60decf0ef40c383c1946de1d68a))
- **qrcode:** Fix the problem that the QR code cannot be dynamically generated ([#974](https://github.com/anncwb/vue-vben-admin/issues/974)) ([fe4eae3](https://github.com/anncwb/vue-vben-admin/commit/fe4eae37146068f01ba08f033e0c2e8bd03e48b5))
- **style:** fix checkbox-checked css in dark mode ([d3f08e3](https://github.com/anncwb/vue-vben-admin/commit/d3f08e37c5b6e46f33d525e9ef4b4c235d77a192))
- **table:** component shown in `fullscreen` mode ([a07ab6d](https://github.com/anncwb/vue-vben-admin/commit/a07ab6d7aa1060f856649a9bdbec9dfa50b14f26))
- **table:** editable cell display with validation ([202aa42](https://github.com/anncwb/vue-vben-admin/commit/202aa42b8d5a94e84ad386bcf7feab96926c70dd)), closes [#953](https://github.com/anncwb/vue-vben-admin/issues/953)
- **table:** fix `dataPicker` show in `fullscreen` mode ([a5a9b3f](https://github.com/anncwb/vue-vben-admin/commit/a5a9b3fb34c64b6ea9c9ab3d58045f6e5963952b))
- **table:** fix expand style ([14fb21d](https://github.com/anncwb/vue-vben-admin/commit/14fb21d0b7b9ac69c7b3c463de6d709bd5713d14)), closes [#969](https://github.com/anncwb/vue-vben-admin/issues/969)
- **table:** fix tableSettings popup in fullscreen mode ([dce3fb0](https://github.com/anncwb/vue-vben-admin/commit/dce3fb0f20516aaf4817281f5d08109e53a73ecb))
- **table-action:** stopButtonPropagation not working ([9b8f165](https://github.com/anncwb/vue-vben-admin/commit/9b8f165a365758d001e6d86ae7afe4ae3316d485))
- Fix vite profile hot update error reporting ([#968](https://github.com/anncwb/vue-vben-admin/issues/968)) ([956ed2e](https://github.com/anncwb/vue-vben-admin/commit/956ed2e3f770cc9cf822ce80f71b1e7f179792fb))
- **utils:** The date function gets a non-date when the parameter is null ([#954](https://github.com/anncwb/vue-vben-admin/issues/954)) ([350c85a](https://github.com/anncwb/vue-vben-admin/commit/350c85accf5033cc5a21b71bc36d5b7a74eb2573))
- fixed moment locale config ([27207a7](https://github.com/anncwb/vue-vben-admin/commit/27207a78caccb04372e0275c5cee526ec460de0e))
- typo for utils/env ([#1004](https://github.com/anncwb/vue-vben-admin/issues/1004)) ([e8eefd1](https://github.com/anncwb/vue-vben-admin/commit/e8eefd1bca41c181ec6395bf1d087d2018e2b1f1))
- **table:** fix editable cell not support `ellipsis` ([4bb506f](https://github.com/anncwb/vue-vben-admin/commit/4bb506fb1f6ac7d246f8792d29f337ec003ff426)), closes [#944](https://github.com/anncwb/vue-vben-admin/issues/944)
### Features
- add `updatePath` for `useTabs` ([bcfa338](https://github.com/anncwb/vue-vben-admin/commit/bcfa33822736b761757a2673d977f752cb5c4f7c)), closes [#1068](https://github.com/anncwb/vue-vben-admin/issues/1068)
- always refresh userinfo when page reload ([cc46935](https://github.com/anncwb/vue-vben-admin/commit/cc46935a8296dae62ecfc753a956338ba433927e))
- **demo:** add `async-validator` demo ([8b4b767](https://github.com/anncwb/vue-vben-admin/commit/8b4b767f4ca78f7c6f7586d8ba662552c2b7bb51))
- **form:** add `alwaysShowLines` prop ([93f9a19](https://github.com/anncwb/vue-vben-admin/commit/93f9a19aa16a3e9cb95338417c52d9a398e3f70b)), closes [#1051](https://github.com/anncwb/vue-vben-admin/issues/1051)
- **preview:** add more features ([e23bd26](https://github.com/anncwb/vue-vben-admin/commit/e23bd2696da945291a9b652f1af39ad1936f376b))
- **table:** add getRawDataSource() function ([#1029](https://github.com/anncwb/vue-vben-admin/issues/1029)) ([f3cf162](https://github.com/anncwb/vue-vben-admin/commit/f3cf162af1fa5634d4e562fa5239939af6f26093))
- **tree:** add searchable function ([60577d6](https://github.com/anncwb/vue-vben-admin/commit/60577d6720fd3f8d4d1a88b20ab902d6161a0eec)), closes [#1057](https://github.com/anncwb/vue-vben-admin/issues/1057)
- **use-loading:** add `setTip` method ([26d9476](https://github.com/anncwb/vue-vben-admin/commit/26d9476caff41cc355190604af42e0bd2ef0a353))
- Added support for tailwindcss night mode mechanism ([#998](https://github.com/anncwb/vue-vben-admin/issues/998)) ([189bc6f](https://github.com/anncwb/vue-vben-admin/commit/189bc6feb3f2860be8c531dd1ca996f3a2cff018))
### Performance Improvements
- **table:** fixed code style ([da12da9](https://github.com/anncwb/vue-vben-admin/commit/da12da9d8caeba0e7732551cfbad9b0da3baaac4)), closes [#1070](https://github.com/anncwb/vue-vben-admin/issues/1070)
- improve legacy compatibility ([e2664f6](https://github.com/anncwb/vue-vben-admin/commit/e2664f60029f03642f8b1a6afa9b1998705fce37))
# [2.7.0](https://github.com/anncwb/vue-vben-admin/compare/v2.5.9...v2.7.0) (2021-08-03)
### Bug Fixes

View File

@@ -1,3 +1,90 @@
## 2.8.0(2021-11.03)
### 升级说明
- 包管理器由`yarn`改为 `pnpm`
- 删除`node_modules``yarn.lock`,全局安装`pnpm`
- 执行`pnpm install`
### ✨ Features
- **其它**
- `.env`文件中的`VITE_PROXY`配置支持单引号
- 移除 build 过程中的警告
### 🐛 Bug Fixes
- **BasicTable**
- 修复可编辑单元格某些情况下无法提交的问题
- 修复`inset`属性不起作用的问题
- 修复`useTable``BasicTable`实例的`reload`方法`await`表现不一致的问题
- 修复`clickToRowSelect`会无视行选择框 disabled 状态的问题
- 修复`BasicTable`在某些情况下,分页会被重置的问题
- 修改 `deleteTableDataRecord` 方法
- **BasicModal**
- 修复点击遮罩、按下`Esc`键都不能关闭`Modal`的问题
- 修复点击关闭按钮、最大化按钮旁边的空白区域也会导致`Modal`关闭的问题
- **BasicTree** 修复节点插槽不起作用的问题
- **CodeEditor** 修复可能会造成的`Build`失败的问题
- **BasicForm** 修复自定义 FormItem 组件的内容宽度可能超出范围的问题
- **ApiTreeSelect** 修复`params`变化未能触发重新请求 api 数据的问题
- **其它**
- 修复多标签在某些情况下关闭页签不会跳转路由的问题
- 修复部分组件可能会造成热更新异常的问题
- 修复直接`import`部分`antdv`子组件时会在 build 过程中报错的问题TabPane、RadioGroup
## 2.7.2(2021-09-14)
### ✨ Features
- **BasicForm** 表单组件新增`Divider`,用于较长表单的区域分割
- **BasicTable**
- 单元格编辑新增提交回调,将根据回调函数返回的结果来决定是否将数据提交到表格
- 行编辑添加校验方法,允许只校验而不提交值,以便异步保存数据成功后才提交倒表格
- 修复`rowClassName`属性无法和`striped`同时使用的问题
- 新增组件 **MarkdownViewer** 用于显示 Markdown 格式的富文本
### 🐛 Bug Fixes
- **CodeEditor** 修复 JSON 编辑器在格式化无效 JSON 文本时会抛出异常的问题
- **Tinymce** 修复 inline 模式在一些场景下会出现异常的问题
- **BasicTable**
- 修复可编辑单元格的内容为空时,不会显示编辑图标的问题
- 修复表尾合计行与表格主体部分的列有时候未能对齐的问题
- **MarkDown** 修复初始 value 属性的值不起作用的问题
- **BasicUpload** 修复`accept`属性不支持`MIME`及点开头的后缀名的问题
- **ApiSelect** 修复`value`属性的类型定义问题
- **其它**
- 修复部分封装组件在使用插槽时报错的问题
- 修复`useECharts``theme`参数不起作用的问题
- 修复`Token`失效时,按 F5 刷新页面可能会出现页面加载异常的问题
- 修复`useRedo`的不当调用可能会导致重定向`path`异常的问题
- 修复`vite`自定义模式名称不支持下划线的问题
## 2.7.1(2021-08-16)
- 升级 vue 3.2,如果运行失败,删除 node_modules 后重装即可
### ✨ Features
- **BasicTree** 添加搜索功能相关属性和方法
- **BasicForm** 新增`alwaysShowLines`用于设置折叠时保留显示的行数
### 🐛 Bug Fixes
- **Cropper** 修复未能及时销毁的问题
- **BasicTable**
- 修复`CellFormat`无法使用`Map`类型数据的问题
- 修复可编辑单元格未能正确显示`0`值的问题
- 修复 selection-change 事件在取消勾选时未能正确触发的问题
- 修复浅色主题下的全屏状态背景颜色不正确的问题
- 修复`getSelectRows`不支持远程数据跨页选择时获取完整数据的问题
- 修复在`editComponentProps`中为编辑组件提供的`size`属性无效的问题
- **Qrcode** 修复二维码组件在创建时未能及时绘制的问题
- **BasicModal** 修复`helpMessage`属性不起作用的问题
- **BasicButton** 修复按钮样式表现与 antd 官方不一致的问题
- **其它** 修复`useRedo`(重新加载当前路由)会丢失路由`params`数据的问题
## 2.7.0(2021-08-03)
## (破坏性更新) Breaking changes

1
CNAME Normal file
View File

@@ -0,0 +1 @@
vben.vvbin.cn

25
Dockerfile Normal file
View File

@@ -0,0 +1,25 @@
# node 构建
FROM node:16-alpine as build-stage
# 署名
MAINTAINER Adoin 'adoin@qq.com'
WORKDIR /app
COPY . ./
# 设置 node 阿里镜像
RUN npm config set registry https://registry.npmmirror.com
# 设置--max-old-space-size
ENV NODE_OPTIONS=--max-old-space-size=16384
# 设置阿里镜像、pnpm、依赖、编译
RUN npm install pnpm -g && \
pnpm install --frozen-lockfile && \
pnpm build:docker
# node部分结束
RUN echo "🎉 编 🎉 译 🎉 成 🎉 功 🎉"
# nginx 部署
FROM nginx:1.23.3-alpine as production-stage
COPY --from=build-stage /app/dist /usr/share/nginx/html/dist
COPY --from=build-stage /app/nginx.conf /etc/nginx/nginx.conf
EXPOSE 80
## 将/usr/share/nginx/html/dist/assets/index.js 和/usr/share/nginx/html/dist/_app.config.js中的"$vg_base_url"替换为环境变量中的VG_BASE_URL,$vg_sub_domain 替换成VG_SUB_DOMAIN$vg_default_user替换成VG_DEFAULT_USER$vg_default_password替换成VG_DEFAULT_PASSWORD 而后启动nginx
CMD sed -i "s|__vg_base_url|$VG_BASE_URL|g" /usr/share/nginx/html/dist/assets/entry/index-*.js /usr/share/nginx/html/dist/_app.config.js && \
nginx -g 'daemon off;'
RUN echo "🎉 架 🎉 设 🎉 成 🎉 功 🎉"

View File

@@ -9,24 +9,24 @@
## Introduction
Vue Vben Admin is a free and open source middle and back-end template. Using the latest `vue3`, `vite2`, `TypeScript` and other mainstream technology development, the out-of-the-box middle and back-end front-end solutions can also be used for learning reference.
Vue Vben Admin is a free and open source middle platform/back-end template. Using the latest `vue3`, `vite4`, `TypeScript` and other mainstream technology, Vben is the out-of-the-box front-end solution for both production and learning purpose.
## Feature
## Features
- **State of The Art Development**Use front-end front-end technology development such as Vue3/vite2
- **State-of-art Techinical Stack**Using the latest and popular front-end technology such as Vue3/vite2
- **TypeScript**: Application-level JavaScript language
- **Theming**: Configurable themes
- **International**Built-in complete internationalization program
- **Mock Server** Built-in mock data scheme
- **Authority** Built-in complete dynamic routing permission generation scheme.
- **Component** Multiple commonly used components are encapsulated twice
- **International**Built-in i18n support
- **Response Mock**: Built-in response mock ability
- **Authority**: Built-in permission system based on dynamic routes.
- **Component**: Extracted and encapsulated components for various scenarios.
## 预览
## Preview
- [vue-vben-admin](https://vvbin.cn/next/) - Full version Chinese site
- [vue-vben-admin-gh-pages](https://anncwb.github.io/vue-vben-admin/) - Full version of the github site
- [vben-admin-thin-next](https://vvbin.cn/thin/next/) - Simplified Chinese site
- [vben-admin-thin-gh-pages](https://anncwb.github.io/vben-admin-thin-next/) -Simplified github site
- [vue-vben-admin](https://vben.vvbin.cn/) - Full version (Chinese)
- [vue-vben-admin-gh-pages](https://anncwb.github.io/vue-vben-admin/) - Full version (github hosted)
- [vben-admin-thin-next](https://vben.vvbin.cn/thin/next/) - Simplified Version (Chinese)
- [vben-admin-thin-gh-pages](https://anncwb.github.io/vben-admin-thin-next/) -Simplified Version (github hosted)
Test account: vben/123456
@@ -44,7 +44,7 @@ Open the project in Gitpod (free online dev environment for GitHub) and start co
## Documentation
[Document](https://vvbin.cn/doc-next/)
[Document](https://doc.vvbin.cn/)
## Preparation
@@ -54,7 +54,7 @@ Open the project in Gitpod (free online dev environment for GitHub) and start co
- [TypeScript](https://www.typescriptlang.org/) - Familiar with the basic syntax of `TypeScript`
- [Es6+](http://es6.ruanyifeng.com/) - Familiar with es6 basic syntax
- [Vue-Router-Next](https://next.router.vuejs.org/) - Familiar with the basic use of vue-router
- [Ant-Design-Vue](https://2x.antdv.com/docs/vue/introduce-cn/) - ui basic use
- [Ant-Design-Vue](https://antdv.com/docs/vue/introduce-cn/) - ui basic use
- [Mock.js](https://github.com/nuysoft/Mock) - mockjs basic syntax
## Install and use
@@ -65,27 +65,45 @@ Open the project in Gitpod (free online dev environment for GitHub) and start co
git clone https://github.com/anncwb/vue-vben-admin.git
```
- Installation dependencies
- Install dependencies
```bash
cd vue-vben-admin
yarn install
pnpm install
```
- run
```bash
yarn serve
pnpm serve
```
- build
```bash
yarn build
pnpm build
```
- docker
### The dockerFile is located in the project root directory and supports differential deployment
#### build image
```bash
docker build -t vue-vben-admin .
```
#### Use environment variables to achieve differentiated container deployment. Specify service endpoint by assigning `VG_BASE_URL`. In the following example, `http://localhost:3333` is used as the back-end service address and the container is mapped to port `6666`:
```bash
docker run --name vue-vben-admin -d -p 6666:80 -e VG_BASE_URL=http://localhost:3333 vue-vben-admin
```
Then you can navigate to `http://localhost:6666`
## Change Log
[CHANGELOG](./CHANGELOG.zh_CN.md)
@@ -97,7 +115,7 @@ yarn build
## How to contribute
You are very welcome to join[Raise an issue](https://github.com/anncwb/vue-vben-admin/issues/new/choose) Or submit a Pull Request。
You are very welcome to join[Raise an issue](https://github.com/anncwb/vue-vben-admin/issues/new/choose) or submit a Pull Request。
**Pull Request:**
@@ -113,7 +131,7 @@ You are very welcome to join[Raise an issue](https://github.com/anncwb/vue-vb
- `feat` Add new features
- `fix` Fix the problem/BUG
- `style` The code style is related and does not affect the running result
- `style` Modify the code style/format that does not affect the feature
- `perf` Optimization/performance improvement
- `refactor` Refactor
- `revert` Undo edit
@@ -127,13 +145,10 @@ You are very welcome to join[Raise an issue](https://github.com/anncwb/vue-vb
## Related warehouse
If these plugins are helpful to you, you can give a star support
If these plugins are helpful to you, you can show support by leaving a star!
- [vite-plugin-mock](https://github.com/anncwb/vite-plugin-mock) - Used for local and development environment data mock
- [vite-plugin-html](https://github.com/anncwb/vite-plugin-html) - Used for html template conversion and compression
- [vite-plugin-style-import](https://github.com/anncwb/vite-plugin-style-import) - Used for component library style introduction on demand
- [vite-plugin-theme](https://github.com/anncwb/vite-plugin-theme) - Used for online switching of theme colors and other color-related configurations
- [vite-plugin-imagemin](https://github.com/anncwb/vite-plugin-imagemin) - Used to pack compressed image resources
- [vite-plugin-compression](https://github.com/anncwb/vite-plugin-compression) - Used to pack input .gz|.brotil files
- [vite-plugin-svg-icons](https://github.com/anncwb/vite-plugin-svg-icons) - Used to quickly generate svg sprite
@@ -141,7 +156,7 @@ If these plugins are helpful to you, you can give a star support
The `Chrome 80+` browser is recommended for local development
Support modern browsers, not IE
Support modern browsers, doesn't include IE
| [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt=" Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>IE | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt=" Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Edge | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Firefox | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Chrome | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png" alt="Safari" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Safari |
| :-: | :-: | :-: | :-: | :-: |
@@ -149,20 +164,15 @@ Support modern browsers, not IE
## Maintainer
[@Vben](https://github.com/anncwb)
[@Vben](https://github.com/anncwb) [@Jinmao](https://github.com/jinmao88)
## Donate
## Thanks
If you think this project is helpful to you, you can help the author buy a cup of coffee to show your support!
<img src="https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.png" alt="JetBrains Logo (Main) logo." height="120">
![donate](https://anncwb.github.io/anncwb/images/sponsor.png)
## Star History Chart
<a style="display: block;width: 100px;height: 50px;line-height: 50px; color: #fff;text-align: center; background: #408aed;border-radius: 4px;" href="https://www.paypal.com/paypalme/cvvben">Paypal Me</a>
## Discord
- [github discussions](https://github.com/anncwb/vue-vben-admin/discussions)
- [Discord](https://discord.gg/8GuAdwDhj6)
[![Star History Chart](https://api.star-history.com/svg?repos=vbenjs/vue-vben-admin&type=Date)](https://star-history.com/#vbenjs/vue-vben-admin&Date)
## License

View File

@@ -9,11 +9,11 @@
## 简介
Vue Vben Admin 是一个免费开源的中后台模版。使用了最新的`vue3`,`vite2`,`TypeScript`等主流技术开发,开箱即用的中后台前端解决方案,也可用于学习参考。
Vue Vben Admin 是一个免费开源的中后台模版。使用了最新的`vue3`,`vite5`,`TypeScript`等主流技术开发,开箱即用的中后台前端解决方案,也可用于学习参考。
## 特性
- **最新技术栈**:使用 Vue3/vite2 等前端前沿技术开发
- **最新技术栈**:使用 Vue3/vite5 等前端前沿技术开发
- **TypeScript**: 应用程序级 JavaScript 的语言
- **主题**:可配置的主题
- **国际化**:内置完善的国际化方案
@@ -23,9 +23,9 @@ Vue Vben Admin 是一个免费开源的中后台模版。使用了最新的`vue3
## 预览
- [vue-vben-admin](https://vvbin.cn/next/) - 完整版中文站点
- [vue-vben-admin](https://vben.vvbin.cn/) - 完整版中文站点
- [vue-vben-admin-gh-pages](https://anncwb.github.io/vue-vben-admin/) - 完整版 github 站点
- [vben-admin-thin-next](https://vvbin.cn/thin/next/) - 简化版中文站点
- [vben-admin-thin-next](https://vben.vvbin.cn/thin/next/) - 简化版中文站点
- [vben-admin-thin-gh-pages](https://anncwb.github.io/vben-admin-thin-next/) - 简化版 github 站点
测试账号: vben/123456
@@ -44,7 +44,7 @@ Vue Vben Admin 是一个免费开源的中后台模版。使用了最新的`vue3
## 文档
[文档地址](https://vvbin.cn/doc-next/)
[文档地址](https://doc.vvbin.cn/)
## 准备
@@ -54,7 +54,7 @@ Vue Vben Admin 是一个免费开源的中后台模版。使用了最新的`vue3
- [TypeScript](https://www.typescriptlang.org/) - 熟悉`TypeScript`基本语法
- [Es6+](http://es6.ruanyifeng.com/) - 熟悉 es6 基本语法
- [Vue-Router-Next](https://next.router.vuejs.org/) - 熟悉 vue-router 基本使用
- [Ant-Design-Vue](https://2x.antdv.com/docs/vue/introduce-cn/) - ui 基本使用
- [Ant-Design-Vue](https://antdv.com/docs/vue/introduce-cn/) - ui 基本使用
- [Mock.js](https://github.com/nuysoft/Mock) - mockjs 基本语法
## 安装使用
@@ -70,22 +70,40 @@ git clone https://github.com/anncwb/vue-vben-admin.git
```bash
cd vue-vben-admin
yarn install
pnpm install
```
- 运行
```bash
yarn serve
pnpm serve
```
- 打包
```bash
yarn build
pnpm build
```
- docker
### dockerFile 位于项目根目录下 并且支持差异化部署
#### 构建镜像
```bash
docker build -t vue-vben-admin .
```
#### 动态使用环境变量实现容器差异化部署,通过不同的 VG_BASE_URL 环境变量,指向不同的后端服务地址,下面例子使用 http://localhost:3333 作为后端服务地址,并且将容器映射到 6666 端口
```bash
docker run --name vue-vben-admin -d -p 6666:80 -e VG_BASE_URL=http://localhost:3333 vue-vben-admin
```
而后可以打开 http://localhost:6666 访问
## 更新日志
[CHANGELOG](./CHANGELOG.zh_CN.md)
@@ -141,27 +159,21 @@ yarn build
- [vite-plugin-mock](https://github.com/anncwb/vite-plugin-mock) - 用于本地及开发环境数据 mock
- [vite-plugin-html](https://github.com/anncwb/vite-plugin-html) - 用于 html 模版转换及压缩
- [vite-plugin-style-import](https://github.com/anncwb/vite-plugin-style-import) - 用于组件库样式按需引入
- [vite-plugin-theme](https://github.com/anncwb/vite-plugin-theme) - 用于在线切换主题色等颜色相关配置
- [vite-plugin-imagemin](https://github.com/anncwb/vite-plugin-imagemin) - 用于打包压缩图片资源
- [vite-plugin-compression](https://github.com/anncwb/vite-plugin-compression) - 用于打包输出.gz|.brotil 文件
- [vite-plugin-svg-icons](https://github.com/anncwb/vite-plugin-svg-icons) - 用于快速生成 svg 雪碧图
## 后台整合示例
- [lamp-cloud](https://github.com/zuihou/lamp-cloud) - 基于 SpringCloud Alibaba 的微服务中后台快速开发平台
- [matecloud](https://github.com/matevip/matecloud) - MateCloud 微服务脚手架,基于 Spring Cloud 2020.0.3、SpringBoot 2.5.3 的全开源平台
## 维护者
[@Vben](https://github.com/anncwb)
[@Vben](https://github.com/anncwb) [@Jinmao](https://github.com/jinmao88)
## 捐赠
## 感谢
如果你觉得这个项目对你有帮助,你可以帮作者买一杯咖啡表示支持!
![donate](https://anncwb.github.io/anncwb/images/sponsor.png)
<a style="display: block;width: 100px;height: 50px;line-height: 50px; color: #fff;text-align: center; background: #408aed;border-radius: 4px;" href="https://www.paypal.com/paypalme/cvvben">Paypal Me</a>
<img src="https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.png" alt="JetBrains Logo (Main) logo." height='120'>
## 交流
@@ -169,6 +181,10 @@ yarn build
- QQ 群 `569291866`
## Star 历史
[![Star History Chart](https://api.star-history.com/svg?repos=vbenjs/vue-vben-admin&type=Date)](https://star-history.com/#vbenjs/vue-vben-admin&Date)
## License
[MIT © Vben-2020](./LICENSE)

View File

View File

@@ -8,8 +8,8 @@ It is used to start the test interface service, which can test the upload, webso
cd ./test/server
yarn
pnpm install
yarn start
pnpm run start
```

View File

@@ -34,7 +34,7 @@ app.ws.use(
}
console.log(message);
});
})
}),
);
const router = new Router();
@@ -52,7 +52,7 @@ app.use(
keepExtensions: true,
maxFieldsSize: 20 * 1024 * 1024,
},
})
}),
);
app.use(router.routes());
app.use(router.allowedMethods());

View File

@@ -0,0 +1,36 @@
{
"name": "server",
"version": "1.0.0",
"license": "MIT",
"scripts": {
"compile": "rimraf ./dist && tsup ./index.ts --dts --format cjs,esm ",
"prod": "npx pm2 start ecosystem.config.cjs --env production",
"restart": "pm2 restart ecosystem.config.cjs --env production",
"start": "nodemon",
"stop": "npx pm2 stop ecosystem.config.cjs"
},
"dependencies": {
"fs-extra": "^11.1.1",
"koa": "^2.14.2",
"koa-body": "^6.0.1",
"koa-bodyparser": "^4.4.1",
"koa-route": "^3.2.0",
"koa-router": "^12.0.0",
"koa-static": "^5.0.0",
"koa-websocket": "^7.0.0",
"koa2-cors": "^2.0.6"
},
"devDependencies": {
"@types/koa": "^2.13.6",
"@types/koa-bodyparser": "^5.0.2",
"@types/koa-router": "^7.4.4",
"@types/node": "^20.4.0",
"nodemon": "^2.0.22",
"pm2": "^5.3.0",
"rimraf": "^5.0.1",
"ts-node": "^10.9.1",
"tsconfig-paths": "^4.2.0",
"tsup": "^7.1.0",
"typescript": "^5.1.6"
}
}

View File

@@ -5,13 +5,13 @@ const uploadUrl = 'http://localhost:3300/static/upload';
const filePath = path.join(__dirname, '../static/upload/');
fs.ensureDir(filePath);
export default class UserService {
export default class FileService {
async upload(ctx, files, isMultiple) {
let fileReader, fileResource, writeStream;
const fileFunc = function (file) {
fileReader = fs.createReadStream(file.path);
fileResource = filePath + `/${file.name}`;
fileReader = fs.createReadStream(file.filepath);
fileResource = filePath + `/${file.originalFilename}`;
console.log(fileResource);
writeStream = fs.createWriteStream(fileResource);
@@ -22,7 +22,7 @@ export default class UserService {
if (flag) {
let url = '';
for (let i = 0; i < files.length; i++) {
url += uploadUrl + `/${files[i].name},`;
url += uploadUrl + `/${files[i].originalFilename},`;
}
url = url.replace(/,$/gi, '');
ctx.body = {
@@ -32,7 +32,7 @@ export default class UserService {
};
} else {
ctx.body = {
url: uploadUrl + `/${files.name}`,
url: uploadUrl + `/${files.originalFilename}`,
code: 0,
message: 'upload Success!',
};

View File

@@ -0,0 +1,7 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"extends": "@vben/ts-config/node-server.json",
"compilerOptions": {
"noImplicitAny": false
}
}

View File

@@ -1,79 +0,0 @@
import { generate } from '@ant-design/colors';
export const primaryColor = '#0960bd';
export const darkMode = 'light';
type Fn = (...arg: any) => any;
type GenerateTheme = 'default' | 'dark';
export interface GenerateColorsParams {
mixLighten: Fn;
mixDarken: Fn;
tinycolor: any;
color?: string;
}
export function generateAntColors(color: string, theme: GenerateTheme = 'default') {
return generate(color, {
theme,
});
}
export function getThemeColors(color?: string) {
const tc = color || primaryColor;
const lightColors = generateAntColors(tc);
const primary = lightColors[5];
const modeColors = generateAntColors(primary, 'dark');
return [...lightColors, ...modeColors];
}
export function generateColors({
color = primaryColor,
mixLighten,
mixDarken,
tinycolor,
}: GenerateColorsParams) {
const arr = new Array(19).fill(0);
const lightens = arr.map((_t, i) => {
return mixLighten(color, i / 5);
});
const darkens = arr.map((_t, i) => {
return mixDarken(color, i / 5);
});
const alphaColors = arr.map((_t, i) => {
return tinycolor(color)
.setAlpha(i / 20)
.toRgbString();
});
const shortAlphaColors = alphaColors.map((item) => item.replace(/\s/g, '').replace(/0\./g, '.'));
const tinycolorLightens = arr
.map((_t, i) => {
return tinycolor(color)
.lighten(i * 5)
.toHexString();
})
.filter((item) => item !== '#ffffff');
const tinycolorDarkens = arr
.map((_t, i) => {
return tinycolor(color)
.darken(i * 5)
.toHexString();
})
.filter((item) => item !== '#000000');
return [
...lightens,
...darkens,
...alphaColors,
...shortAlphaColors,
...tinycolorDarkens,
...tinycolorLightens,
].filter((item) => !item.includes('-'));
}

View File

@@ -1,6 +0,0 @@
/**
* The name of the configuration file entered in the production environment
*/
export const GLOB_CONFIG_FILE_NAME = '_app.config.js';
export const OUTPUT_DIR = 'dist';

View File

@@ -1,37 +0,0 @@
import { generateAntColors, primaryColor } from '../config/themeConfig';
import { getThemeVariables } from 'ant-design-vue/dist/theme';
import { resolve } from 'path';
/**
* less global variable
*/
export function generateModifyVars(dark = false) {
const palettes = generateAntColors(primaryColor);
const primary = palettes[5];
const primaryColorObj: Record<string, string> = {};
for (let index = 0; index < 10; index++) {
primaryColorObj[`primary-${index + 1}`] = palettes[index];
}
const modifyVars = getThemeVariables({ dark });
return {
...modifyVars,
// Used for global import to avoid the need to import each style file separately
// reference: Avoid repeated references
hack: `${modifyVars.hack} @import (reference) "${resolve('src/design/config.less')}";`,
'primary-color': primary,
...primaryColorObj,
'info-color': primary,
'processing-color': primary,
'success-color': '#55D187', // Success color
'error-color': '#ED6F6F', // False color
'warning-color': '#EFBD47', // Warning color
'border-color-base': '#EEEEEE',
'font-size-base': '14px', // Main font size
'border-radius-base': '2px', // Component/float fillet
'link-color': primary, // Link color
'app-content-background': '#fafafa', // Link color
};
}

View File

@@ -1,72 +0,0 @@
import path from 'path';
import fs from 'fs-extra';
import inquirer from 'inquirer';
import chalk from 'chalk';
import pkg from '../../../package.json';
async function generateIcon() {
const dir = path.resolve(process.cwd(), 'node_modules/@iconify/json');
const raw = await fs.readJSON(path.join(dir, 'collections.json'));
const collections = Object.entries(raw).map(([id, v]) => ({
...(v as any),
id,
}));
const choices = collections.map((item) => ({ key: item.id, value: item.id, name: item.name }));
inquirer
.prompt([
{
type: 'list',
name: 'useType',
choices: [
{ key: 'local', value: 'local', name: 'Local' },
{ key: 'onLine', value: 'onLine', name: 'OnLine' },
],
message: 'How to use icons?',
},
{
type: 'list',
name: 'iconSet',
choices: choices,
message: 'Select the icon set that needs to be generated?',
},
{
type: 'input',
name: 'output',
message: 'Select the icon set that needs to be generated?',
default: 'src/components/Icon/data',
},
])
.then(async (answers) => {
const { iconSet, output, useType } = answers;
const outputDir = path.resolve(process.cwd(), output);
fs.ensureDir(outputDir);
const genCollections = collections.filter((item) => [iconSet].includes(item.id));
const prefixSet: string[] = [];
for (const info of genCollections) {
const data = await fs.readJSON(path.join(dir, 'json', `${info.id}.json`));
if (data) {
const { prefix } = data;
const isLocal = useType === 'local';
const icons = Object.keys(data.icons).map(
(item) => `${isLocal ? prefix + ':' : ''}${item}`
);
await fs.writeFileSync(
path.join(output, `icons.data.ts`),
`export default ${isLocal ? JSON.stringify(icons) : JSON.stringify({ prefix, icons })}`
);
prefixSet.push(prefix);
}
}
fs.emptyDir(path.join(process.cwd(), 'node_modules/.vite'));
console.log(
`${chalk.cyan(`[${pkg.name}]`)}` + ' - Icon generated successfully:' + `[${prefixSet}]`
);
});
}
generateIcon();

View File

@@ -1,9 +0,0 @@
/**
* Get the configuration file variable name
* @param env
*/
export const getConfigFileName = (env: Record<string, any>) => {
return `__PRODUCTION__${env.VITE_GLOB_APP_SHORT_NAME || '__APP'}__CONF__`
.toUpperCase()
.replace(/\s/g, '');
};

View File

@@ -1,44 +0,0 @@
/**
* Generate additional configuration files when used for packaging. The file can be configured with some global variables, so that it can be changed directly externally without repackaging
*/
import { GLOB_CONFIG_FILE_NAME, OUTPUT_DIR } from '../constant';
import fs, { writeFileSync } from 'fs-extra';
import chalk from 'chalk';
import { getRootPath, getEnvConfig } from '../utils';
import { getConfigFileName } from '../getConfigFileName';
import pkg from '../../package.json';
function createConfig(
{
configName,
config,
configFileName = GLOB_CONFIG_FILE_NAME,
}: { configName: string; config: any; configFileName?: string } = { configName: '', config: {} }
) {
try {
const windowConf = `window.${configName}`;
// Ensure that the variable will not be modified
const configStr = `${windowConf}=${JSON.stringify(config)};
Object.freeze(${windowConf});
Object.defineProperty(window, "${configName}", {
configurable: false,
writable: false,
});
`.replace(/\s/g, '');
fs.mkdirp(getRootPath(OUTPUT_DIR));
writeFileSync(getRootPath(`${OUTPUT_DIR}/${configFileName}`), configStr);
console.log(chalk.cyan(`✨ [${pkg.name}]`) + ` - configuration file is build successfully:`);
console.log(chalk.gray(OUTPUT_DIR + '/' + chalk.green(configFileName)) + '\n');
} catch (error) {
console.log(chalk.red('configuration file configuration file failed to package:\n' + error));
}
}
export function runBuildConfig() {
const config = getEnvConfig();
const configFileName = getConfigFileName(config);
createConfig({ config, configName: configFileName });
}

View File

@@ -1,23 +0,0 @@
// #!/usr/bin/env node
import { runBuildConfig } from './buildConf';
import chalk from 'chalk';
import pkg from '../../package.json';
export const runBuild = async () => {
try {
const argvList = process.argv.splice(2);
// Generate configuration file
if (!argvList.includes('disabled-config')) {
await runBuildConfig();
}
console.log(`${chalk.cyan(`[${pkg.name}]`)}` + ' - build successfully!');
} catch (error) {
console.log(chalk.red('vite build error:\n' + error));
process.exit(1);
}
};
runBuild();

View File

@@ -1,90 +0,0 @@
import fs from 'fs';
import path from 'path';
import dotenv from 'dotenv';
export function isDevFn(mode: string): boolean {
return mode === 'development';
}
export function isProdFn(mode: string): boolean {
return mode === 'production';
}
/**
* Whether to generate package preview
*/
export function isReportMode(): boolean {
return process.env.REPORT === 'true';
}
// Read all environment variable configuration files to process.env
export function wrapperEnv(envConf: Recordable): ViteEnv {
const ret: any = {};
for (const envName of Object.keys(envConf)) {
let realName = envConf[envName].replace(/\\n/g, '\n');
realName = realName === 'true' ? true : realName === 'false' ? false : realName;
if (envName === 'VITE_PORT') {
realName = Number(realName);
}
if (envName === 'VITE_PROXY') {
try {
realName = JSON.parse(realName);
} catch (error) {}
}
ret[envName] = realName;
if (typeof realName === 'string') {
process.env[envName] = realName;
} else if (typeof realName === 'object') {
process.env[envName] = JSON.stringify(realName);
}
}
return ret;
}
/**
* 获取当前环境下生效的配置文件名
*/
function getConfFiles() {
const script = process.env.npm_lifecycle_script;
const reg = new RegExp('--mode ([a-z]+)');
const result = reg.exec(script as string) as any;
if (result) {
const mode = result[1] as string;
return ['.env', `.env.${mode}`];
}
return ['.env', '.env.production'];
}
/**
* Get the environment variables starting with the specified prefix
* @param match prefix
* @param confFiles ext
*/
export function getEnvConfig(match = 'VITE_GLOB_', confFiles = getConfFiles()) {
let envConfig = {};
confFiles.forEach((item) => {
try {
const env = dotenv.parse(fs.readFileSync(path.resolve(process.cwd(), item)));
envConfig = { ...envConfig, ...env };
} catch (e) {
console.error(`Error in parsing ${item}`, e);
}
});
const reg = new RegExp(`^(${match})`);
Object.keys(envConfig).forEach((key) => {
if (!reg.test(key)) {
Reflect.deleteProperty(envConfig, key);
}
});
return envConfig;
}
/**
* Get user root directory
* @param dir file path
*/
export function getRootPath(...dir: string[]) {
return path.resolve(process.cwd(), ...dir);
}

View File

@@ -1,21 +0,0 @@
// TODO
import type { GetManualChunk } from 'rollup';
//
const vendorLibs: { match: string[]; output: string }[] = [
// {
// match: ['xlsx'],
// output: 'xlsx',
// },
];
// @ts-ignore
export const configManualChunk: GetManualChunk = (id: string) => {
if (/[\\/]node_modules[\\/]/.test(id)) {
const matchItem = vendorLibs.find((item) => {
const reg = new RegExp(`[\\/]node_modules[\\/]_?(${item.match.join('|')})(.*)`, 'ig');
return reg.test(id);
});
return matchItem ? matchItem.output : null;
}
};

View File

@@ -1,25 +0,0 @@
import type { Plugin } from 'vite';
/**
* TODO
* Temporarily solve the Vite circular dependency problem, and wait for a better solution to fix it later. I don't know what problems this writing will bring.
* @returns
*/
export function configHmrPlugin(): Plugin {
return {
name: 'singleHMR',
handleHotUpdate({ modules, file }) {
if (file.match(/xml$/)) return [];
modules.forEach((m) => {
if (!m.url.match(/\.(css|less)/)) {
m.importedModules = new Set();
m.importers = new Set();
}
});
return modules;
},
};
}

View File

@@ -1,42 +0,0 @@
/**
* Plugin to minimize and use ejs template syntax in index.html.
* https://github.com/anncwb/vite-plugin-html
*/
import type { Plugin } from 'vite';
import html from 'vite-plugin-html';
import pkg from '../../../package.json';
import { GLOB_CONFIG_FILE_NAME } from '../../constant';
export function configHtmlPlugin(env: ViteEnv, isBuild: boolean) {
const { VITE_GLOB_APP_TITLE, VITE_PUBLIC_PATH } = env;
const path = VITE_PUBLIC_PATH.endsWith('/') ? VITE_PUBLIC_PATH : `${VITE_PUBLIC_PATH}/`;
const getAppConfigSrc = () => {
return `${path || '/'}${GLOB_CONFIG_FILE_NAME}?v=${pkg.version}-${new Date().getTime()}`;
};
const htmlPlugin: Plugin[] = html({
minify: isBuild,
inject: {
// Inject data into ejs template
injectData: {
title: VITE_GLOB_APP_TITLE,
},
// Embed the generated app.config.js file
tags: isBuild
? [
{
tag: 'script',
attrs: {
src: getAppConfigSrc(),
},
},
]
: [],
},
});
return htmlPlugin;
}

View File

@@ -1,35 +0,0 @@
// Image resource files used to compress the output of the production environment
// https://github.com/anncwb/vite-plugin-imagemin
import viteImagemin from 'vite-plugin-imagemin';
export function configImageminPlugin() {
const plugin = viteImagemin({
gifsicle: {
optimizationLevel: 7,
interlaced: false,
},
optipng: {
optimizationLevel: 7,
},
mozjpeg: {
quality: 20,
},
pngquant: {
quality: [0.8, 0.9],
speed: 4,
},
svgo: {
plugins: [
{
name: 'removeViewBox',
},
{
name: 'removeEmptyAttrs',
active: false,
},
],
},
});
return plugin;
}

View File

@@ -1,81 +0,0 @@
import type { Plugin } from 'vite';
import vue from '@vitejs/plugin-vue';
import vueJsx from '@vitejs/plugin-vue-jsx';
import legacy from '@vitejs/plugin-legacy';
import purgeIcons from 'vite-plugin-purge-icons';
import windiCSS from 'vite-plugin-windicss';
import { configHtmlPlugin } from './html';
import { configPwaConfig } from './pwa';
import { configMockPlugin } from './mock';
import { configCompressPlugin } from './compress';
import { configStyleImportPlugin } from './styleImport';
import { configVisualizerConfig } from './visualizer';
import { configThemePlugin } from './theme';
import { configImageminPlugin } from './imagemin';
import { configSvgIconsPlugin } from './svgSprite';
import { configHmrPlugin } from './hmr';
export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) {
const {
VITE_USE_IMAGEMIN,
VITE_USE_MOCK,
VITE_LEGACY,
VITE_BUILD_COMPRESS,
VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE,
} = viteEnv;
const vitePlugins: (Plugin | Plugin[])[] = [
// have to
vue(),
// have to
vueJsx(),
];
// vite-plugin-windicss
vitePlugins.push(windiCSS());
// TODO
!isBuild && vitePlugins.push(configHmrPlugin());
// @vitejs/plugin-legacy
VITE_LEGACY && isBuild && vitePlugins.push(legacy());
// vite-plugin-html
vitePlugins.push(configHtmlPlugin(viteEnv, isBuild));
// vite-plugin-svg-icons
vitePlugins.push(configSvgIconsPlugin(isBuild));
// vite-plugin-mock
VITE_USE_MOCK && vitePlugins.push(configMockPlugin(isBuild));
// vite-plugin-purge-icons
vitePlugins.push(purgeIcons());
// vite-plugin-style-import
vitePlugins.push(configStyleImportPlugin(isBuild));
// rollup-plugin-visualizer
vitePlugins.push(configVisualizerConfig());
//vite-plugin-theme
vitePlugins.push(configThemePlugin(isBuild));
// The following plugins only work in the production environment
if (isBuild) {
//vite-plugin-imagemin
VITE_USE_IMAGEMIN && vitePlugins.push(configImageminPlugin());
// rollup-plugin-gzip
vitePlugins.push(
configCompressPlugin(VITE_BUILD_COMPRESS, VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE)
);
// vite-plugin-pwa
vitePlugins.push(configPwaConfig(viteEnv));
}
return vitePlugins;
}

View File

@@ -1,34 +0,0 @@
/**
* Zero-config PWA for Vite
* https://github.com/antfu/vite-plugin-pwa
*/
import { VitePWA } from 'vite-plugin-pwa';
export function configPwaConfig(env: ViteEnv) {
const { VITE_USE_PWA, VITE_GLOB_APP_TITLE, VITE_GLOB_APP_SHORT_NAME } = env;
if (VITE_USE_PWA) {
// vite-plugin-pwa
const pwaPlugin = VitePWA({
manifest: {
name: VITE_GLOB_APP_TITLE,
short_name: VITE_GLOB_APP_SHORT_NAME,
icons: [
{
src: './resource/img/pwa-192x192.png',
sizes: '192x192',
type: 'image/png',
},
{
src: './resource/img/pwa-512x512.png',
sizes: '512x512',
type: 'image/png',
},
],
},
});
return pwaPlugin;
}
return [];
}

View File

@@ -1,22 +0,0 @@
/**
* Introduces component library styles on demand.
* https://github.com/anncwb/vite-plugin-style-import
*/
import styleImport from 'vite-plugin-style-import';
export function configStyleImportPlugin(isBuild: boolean) {
if (!isBuild) return [];
const styleImportPlugin = styleImport({
libs: [
{
libraryName: 'ant-design-vue',
esModule: true,
resolveStyle: (name) => {
return `ant-design-vue/es/${name}/style/index`;
},
},
],
});
return styleImportPlugin;
}

View File

@@ -1,17 +0,0 @@
/**
* Vite Plugin for fast creating SVG sprites.
* https://github.com/anncwb/vite-plugin-svg-icons
*/
import SvgIconsPlugin from 'vite-plugin-svg-icons';
import path from 'path';
export function configSvgIconsPlugin(isBuild: boolean) {
const svgIconsPlugin = SvgIconsPlugin({
iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')],
svgoOptions: isBuild,
// default
symbolId: 'icon-[dir]-[name]',
});
return svgIconsPlugin;
}

View File

@@ -1,84 +0,0 @@
/**
* Vite plugin for website theme color switching
* https://github.com/anncwb/vite-plugin-theme
*/
import type { Plugin } from 'vite';
import path from 'path';
import {
viteThemePlugin,
antdDarkThemePlugin,
mixLighten,
mixDarken,
tinycolor,
} from 'vite-plugin-theme';
import { getThemeColors, generateColors } from '../../config/themeConfig';
import { generateModifyVars } from '../../generate/generateModifyVars';
export function configThemePlugin(isBuild: boolean): Plugin[] {
const colors = generateColors({
mixDarken,
mixLighten,
tinycolor,
});
const plugin = [
viteThemePlugin({
resolveSelector: (s) => {
s = s.trim();
switch (s) {
case '.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon':
return '.ant-steps-item-icon > .ant-steps-icon';
case '.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled)':
case '.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover':
case '.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active':
return s;
case '.ant-steps-item-icon > .ant-steps-icon':
return s;
case '.ant-select-item-option-selected:not(.ant-select-item-option-disabled)':
return s;
}
return s.startsWith('[data-theme') ? s : `[data-theme] ${s}`;
},
colorVariables: [...getThemeColors(), ...colors],
}),
antdDarkThemePlugin({
preloadFiles: [
path.resolve(process.cwd(), 'node_modules/ant-design-vue/dist/antd.less'),
//path.resolve(process.cwd(), 'node_modules/ant-design-vue/dist/antd.dark.less'),
path.resolve(process.cwd(), 'src/design/index.less'),
],
filter: (id) => (isBuild ? !id.endsWith('antd.less') : true),
// extractCss: false,
darkModifyVars: {
...generateModifyVars(true),
'text-color': '#c9d1d9',
'primary-1': 'rgb(255 255 255 / 8%)',
'text-color-base': '#c9d1d9',
'component-background': '#151515',
'heading-color': 'rgb(255 255 255 / 65%)',
// black: '#0e1117',
// #8b949e
'text-color-secondary': '#8b949e',
'border-color-base': '#303030',
// 'border-color-split': '#30363d',
'item-active-bg': '#111b26',
'app-content-background': 'rgb(255 255 255 / 4%)',
'tree-node-selected-bg': '#11263c',
'alert-success-border-color': '#274916',
'alert-success-bg-color': '#162312',
'alert-success-icon-color': '#49aa19',
'alert-info-border-color': '#153450',
'alert-info-bg-color': '#111b26',
'alert-info-icon-color': '#177ddc',
'alert-warning-border-color': '#594214',
'alert-warning-bg-color': '#2b2111',
'alert-warning-icon-color': '#d89614',
'alert-error-border-color': '#58181c',
'alert-error-bg-color': '#2a1215',
'alert-error-icon-color': '#a61d24',
},
}),
];
return plugin as unknown as Plugin[];
}

View File

@@ -1,17 +0,0 @@
/**
* Package file volume analysis
*/
import visualizer from 'rollup-plugin-visualizer';
import { isReportMode } from '../../utils';
export function configVisualizerConfig() {
if (isReportMode()) {
return visualizer({
filename: './node_modules/.cache/visualizer/stats.html',
open: true,
gzipSize: true,
brotliSize: true,
}) as Plugin;
}
return [];
}

View File

@@ -1,34 +0,0 @@
/**
* Used to parse the .env.development proxy configuration
*/
import type { ProxyOptions } from 'vite';
type ProxyItem = [string, string];
type ProxyList = ProxyItem[];
type ProxyTargetList = Record<string, ProxyOptions & { rewrite: (path: string) => string }>;
const httpsRE = /^https:\/\//;
/**
* Generate proxy
* @param list
*/
export function createProxy(list: ProxyList = []) {
const ret: ProxyTargetList = {};
for (const [prefix, target] of list) {
const isHttps = httpsRE.test(target);
// https://github.com/http-party/node-http-proxy#options
ret[prefix] = {
target: target,
changeOrigin: true,
ws: true,
rewrite: (path) => path.replace(new RegExp(`^${prefix}`), ''),
// https is require secure=false
...(isHttps ? { secure: false } : {}),
};
}
return ret;
}

View File

@@ -1,32 +0,0 @@
module.exports = {
ignores: [(commit) => commit.includes('init')],
extends: ['@commitlint/config-conventional'],
rules: {
'body-leading-blank': [2, 'always'],
'footer-leading-blank': [1, 'always'],
'header-max-length': [2, 'always', 108],
'subject-empty': [2, 'never'],
'type-empty': [2, 'never'],
'type-enum': [
2,
'always',
[
'feat',
'fix',
'perf',
'style',
'docs',
'test',
'refactor',
'build',
'ci',
'chore',
'revert',
'wip',
'workflow',
'types',
'release',
],
],
},
};

View File

@@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="en" id="htmlRoot">
<!doctype html>
<html lang="zh" id="htmlRoot">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
@@ -8,67 +8,60 @@
name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=0"
/>
<title><%= title %></title>
<title><%= VITE_GLOB_APP_TITLE %></title>
<link rel="icon" href="/favicon.ico" />
</head>
<body>
<script>
(() => {
var htmlRoot = document.getElementById('htmlRoot');
var theme = window.localStorage.getItem('__APP__DARK__MODE__');
if (htmlRoot && theme) {
htmlRoot.setAttribute('data-theme', theme);
theme = htmlRoot = null;
}
})();
</script>
<div id="app">
<style>
html {
/* same as ant-design-vue/dist/reset.css setting, avoid the title line-height changed */
line-height: 1.15;
}
html[data-theme='dark'] .app-loading {
background-color: #2c344a;
}
html[data-theme='dark'] .app-loading .app-loading-title {
color: rgba(255, 255, 255, 0.85);
color: rgb(255 255 255 / 85%);
}
.app-loading {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
justify-content: center;
align-items: center;
flex-direction: column;
background-color: #f4f7f9;
}
.app-loading .app-loading-wrap {
display: flex;
position: absolute;
top: 50%;
left: 50%;
display: flex;
-webkit-transform: translate3d(-50%, -50%, 0);
transform: translate3d(-50%, -50%, 0);
justify-content: center;
align-items: center;
flex-direction: column;
align-items: center;
justify-content: center;
transform: translate3d(-50%, -50%, 0);
}
.app-loading .dots {
display: flex;
padding: 98px;
justify-content: center;
align-items: center;
justify-content: center;
padding: 98px;
}
.app-loading .app-loading-title {
display: flex;
margin-top: 30px;
font-size: 30px;
color: rgba(0, 0, 0, 0.85);
justify-content: center;
align-items: center;
justify-content: center;
margin-top: 30px;
color: rgb(0 0 0 / 85%);
font-size: 30px;
}
.app-loading .app-loading-logo {
@@ -79,28 +72,28 @@
}
.dot {
position: relative;
display: inline-block;
position: relative;
box-sizing: border-box;
width: 48px;
height: 48px;
margin-top: 30px;
font-size: 32px;
transform: rotate(45deg);
box-sizing: border-box;
animation: antRotate 1.2s infinite linear;
animation: ant-rotate 1.2s infinite linear;
font-size: 32px;
}
.dot i {
position: absolute;
display: block;
position: absolute;
width: 20px;
height: 20px;
background-color: #0065cc;
transform: scale(0.75);
transform-origin: 50% 50%;
animation: ant-spin-move 1s infinite linear alternate;
border-radius: 100%;
opacity: 0.3;
transform: scale(0.75);
animation: antSpinMove 1s infinite linear alternate;
transform-origin: 50% 50%;
background-color: #0065cc;
}
.dot i:nth-child(1) {
@@ -111,41 +104,28 @@
.dot i:nth-child(2) {
top: 0;
right: 0;
-webkit-animation-delay: 0.4s;
animation-delay: 0.4s;
}
.dot i:nth-child(3) {
right: 0;
bottom: 0;
-webkit-animation-delay: 0.8s;
animation-delay: 0.8s;
}
.dot i:nth-child(4) {
bottom: 0;
left: 0;
-webkit-animation-delay: 1.2s;
animation-delay: 1.2s;
}
@keyframes antRotate {
@keyframes ant-rotate {
to {
-webkit-transform: rotate(405deg);
transform: rotate(405deg);
}
}
@-webkit-keyframes antRotate {
to {
-webkit-transform: rotate(405deg);
transform: rotate(405deg);
}
}
@keyframes antSpinMove {
to {
opacity: 1;
}
}
@-webkit-keyframes antSpinMove {
@keyframes ant-spin-move {
to {
opacity: 1;
}
@@ -153,11 +133,11 @@
</style>
<div class="app-loading">
<div class="app-loading-wrap">
<img src="/resource/img/logo.png" class="app-loading-logo" alt="Logo" />
<img src="/logo.png" class="app-loading-logo" alt="Logo" />
<div class="app-loading-dots">
<span class="dot dot-spin"><i></i><i></i><i></i><i></i></span>
</div>
<div class="app-loading-title"><%= title %></div>
<div class="app-loading-title"><%= VITE_GLOB_APP_TITLE %></div>
</div>
</div>
</div>

View File

@@ -0,0 +1,9 @@
*.sh
node_modules
*.md
*.woff
*.ttf
.turbo
dist
package.json

View File

@@ -0,0 +1,4 @@
module.exports = {
root: true,
extends: ['@vben/eslint-config/strict'],
};

View File

@@ -0,0 +1,10 @@
import { defineBuildConfig } from 'unbuild';
export default defineBuildConfig({
clean: true,
entries: ['src/index', 'src/strict'],
declaration: true,
rollup: {
emitCJS: true,
},
});

View File

@@ -0,0 +1,50 @@
{
"name": "@vben/eslint-config",
"version": "1.0.0",
"private": true,
"homepage": "https://github.com/vbenjs/vue-vben-admin",
"bugs": {
"url": "https://github.com/vbenjs/vue-vben-admin/issues"
},
"repository": {
"type": "git",
"url": "git+https://github.com/vbenjs/vue-vben-admin.git",
"directory": "internal/eslint-config"
},
"license": "MIT",
"type": "module",
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.mjs",
"require": "./dist/index.cjs"
},
"./strict": {
"types": "./dist/strict.d.ts",
"import": "./dist/strict.mjs",
"require": "./dist/strict.cjs"
}
},
"main": "./dist/index.cjs",
"module": "./dist/index.mjs",
"types": "./dist/index.d.ts",
"files": [
"dist"
],
"scripts": {
"clean": "pnpm rimraf .turbo node_modules dist",
"lint": "pnpm eslint .",
"stub": "pnpm unbuild --stub"
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^7.0.1",
"@typescript-eslint/parser": "^7.0.1",
"eslint": "^8.56.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-simple-import-sort": "^12.0.0",
"eslint-plugin-vue": "^9.21.1",
"vue-eslint-parser": "^9.4.2"
}
}

View File

@@ -1,7 +1,4 @@
// @ts-check
const { defineConfig } = require('eslint-define-config');
module.exports = defineConfig({
root: true,
export default {
env: {
browser: true,
node: true,
@@ -16,27 +13,27 @@ module.exports = defineConfig({
ecmaFeatures: {
jsx: true,
},
project: './tsconfig.*?.json',
createDefaultProgram: false,
extraFileExtensions: ['.vue'],
},
plugins: ['vue', '@typescript-eslint', 'import'],
extends: [
'eslint:recommended',
'plugin:vue/vue3-recommended',
'plugin:@typescript-eslint/recommended',
'prettier',
'plugin:prettier/recommended',
'plugin:jest/recommended',
],
rules: {
'@typescript-eslint/ban-ts-ignore': 'off',
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-var-requires': 'off',
'@typescript-eslint/no-empty-function': 'off',
'vue/custom-event-name-casing': 'off',
'no-unused-vars': 'off',
'no-case-declarations': 'off',
'no-use-before-define': 'off',
'@typescript-eslint/no-use-before-define': 'off',
'@typescript-eslint/ban-ts-comment': 'off',
'@typescript-eslint/ban-types': 'off',
'@typescript-eslint/no-non-null-assertion': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'space-before-function-paren': 'off',
'import/first': 'error',
'import/newline-after-import': 'error',
'import/no-duplicates': 'error',
'@typescript-eslint/no-unused-vars': [
'error',
{
@@ -44,15 +41,19 @@ module.exports = defineConfig({
varsIgnorePattern: '^_',
},
],
'no-unused-vars': [
'error',
{
argsIgnorePattern: '^_',
varsIgnorePattern: '^_',
},
],
'space-before-function-paren': 'off',
'@typescript-eslint/ban-ts-ignore': 'off',
'@typescript-eslint/ban-ts-comment': 'off',
'@typescript-eslint/ban-types': 'off',
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-var-requires': 'off',
'@typescript-eslint/no-empty-function': 'off',
'@typescript-eslint/no-use-before-define': 'off',
'@typescript-eslint/no-non-null-assertion': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'vue/script-setup-uses-vars': 'error',
'vue/no-reserved-component-names': 'off',
'vue/custom-event-name-casing': 'off',
'vue/attributes-order': 'off',
'vue/one-component-per-file': 'off',
'vue/html-closing-bracket-newline': 'off',
@@ -61,7 +62,7 @@ module.exports = defineConfig({
'vue/singleline-html-element-content-newline': 'off',
'vue/attribute-hyphenation': 'off',
'vue/require-default-prop': 'off',
'vue/script-setup-uses-vars': 'off',
'vue/require-explicit-emits': 'off',
'vue/html-self-closing': [
'error',
{
@@ -74,5 +75,17 @@ module.exports = defineConfig({
math: 'always',
},
],
'vue/multi-word-component-names': 'off',
// 'sort-imports': [
// 'error',
// {
// ignoreCase: true,
// ignoreDeclarationSort: false,
// ignoreMemberSort: false,
// memberSyntaxSortOrder: ['none', 'all', 'multiple', 'single'],
// allowSeparatedGroups: false,
// },
// ],
},
});
globals: { defineOptions: 'readonly' },
};

View File

@@ -0,0 +1,57 @@
export default {
extends: ['@vben'],
plugins: ['simple-import-sort'],
rules: {
'simple-import-sort/imports': 'error',
'simple-import-sort/exports': 'error',
'@typescript-eslint/ban-ts-comment': [
'error',
{
'ts-expect-error': 'allow-with-description',
'ts-ignore': 'allow-with-description',
'ts-nocheck': 'allow-with-description',
'ts-check': false,
},
],
/**
* 【强制】关键字前后有一个空格
* @link https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/keyword-spacing.md
*/
'keyword-spacing': 'off',
'@typescript-eslint/keyword-spacing': [
'error',
{
before: true,
after: true,
overrides: {
return: { after: true },
throw: { after: true },
case: { after: true },
},
},
],
/**
* 禁止出现空函数,普通函数(非 async/await/generator、箭头函数、类上的方法除外
* @link https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-empty-function.md
*/
'no-empty-function': 'off',
'@typescript-eslint/no-empty-function': [
'error',
{
allow: ['arrowFunctions', 'functions', 'methods'],
},
],
/**
* 优先使用 interface 而不是 type 定义对象类型
* @link https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/consistent-type-definitions.md
*/
'@typescript-eslint/consistent-type-definitions': ['warn', 'interface'],
'vue/attributes-order': 'error',
'vue/require-default-prop': 'error',
},
};

View File

@@ -0,0 +1,5 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"extends": "@vben/ts-config/node.json",
"include": ["src"]
}

View File

@@ -0,0 +1,9 @@
*.sh
node_modules
*.md
*.woff
*.ttf
.turbo
dist
package.json

View File

@@ -0,0 +1,4 @@
module.exports = {
root: true,
extends: ['@vben/eslint-config/strict'],
};

View File

@@ -0,0 +1,10 @@
import { defineBuildConfig } from 'unbuild';
export default defineBuildConfig({
clean: true,
entries: ['src/index'],
declaration: true,
rollup: {
emitCJS: true,
},
});

View File

@@ -0,0 +1,49 @@
{
"name": "@vben/stylelint-config",
"version": "1.0.0",
"private": true,
"homepage": "https://github.com/vbenjs/vue-vben-admin",
"bugs": {
"url": "https://github.com/vbenjs/vue-vben-admin/issues"
},
"repository": {
"type": "git",
"url": "git+https://github.com/vbenjs/vue-vben-admin.git",
"directory": "internal/stylelint-config"
},
"license": "MIT",
"type": "module",
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.mjs",
"require": "./dist/index.cjs"
}
},
"main": "./dist/index.cjs",
"module": "./dist/index.mjs",
"types": "./dist/index.d.ts",
"files": [
"dist"
],
"scripts": {
"clean": "pnpm rimraf .turbo node_modules dist",
"lint": "pnpm eslint .",
"stub": "pnpm unbuild --stub"
},
"devDependencies": {
"postcss": "^8.4.38",
"postcss-html": "^1.6.0",
"postcss-less": "^6.0.0",
"postcss-scss": "^4.0.9",
"prettier": "^3.2.5",
"stylelint": "^16.3.1",
"stylelint-config-property-sort-order-smacss": "^10.0.0",
"stylelint-config-recommended-scss": "^14.0.0",
"stylelint-config-recommended-vue": "^1.5.0",
"stylelint-config-standard": "^36.0.0",
"stylelint-config-standard-scss": "^13.1.0",
"stylelint-order": "^6.0.4",
"stylelint-prettier": "^5.0.0"
}
}

View File

@@ -1,12 +1,37 @@
module.exports = {
root: true,
plugins: ['stylelint-order'],
extends: ['stylelint-config-standard', 'stylelint-config-prettier'],
export default {
extends: ['stylelint-config-standard', 'stylelint-config-property-sort-order-smacss'],
plugins: ['stylelint-order', 'stylelint-prettier'],
// customSyntax: 'postcss-html',
overrides: [
{
files: ['**/*.(css|html|vue)'],
customSyntax: 'postcss-html',
},
{
files: ['*.less', '**/*.less'],
customSyntax: 'postcss-less',
extends: ['stylelint-config-standard', 'stylelint-config-recommended-vue'],
},
{
files: ['*.scss', '**/*.scss'],
customSyntax: 'postcss-scss',
extends: ['stylelint-config-standard-scss', 'stylelint-config-recommended-vue/scss'],
rule: {
'scss/percent-placeholder-pattern': null,
},
},
],
rules: {
'prettier/prettier': true,
'media-feature-range-notation': null,
'selector-not-notation': null,
'import-notation': null,
'function-no-unknown': null,
'selector-class-pattern': null,
'selector-pseudo-class-no-unknown': [
true,
{
ignorePseudoClasses: ['global'],
ignorePseudoClasses: ['global', 'deep'],
},
],
'selector-pseudo-element-no-unknown': [
@@ -29,17 +54,14 @@ module.exports = {
'each',
'include',
'mixin',
'extend',
],
},
],
'no-empty-source': null,
'named-grid-areas-no-invalid': null,
'unicode-bom': 'never',
'no-descending-specificity': null,
'font-family-no-missing-generic-family-keyword': null,
'declaration-colon-space-after': 'always-single-line',
'declaration-colon-space-before': 'never',
// 'declaration-block-trailing-semicolon': 'always',
'rule-empty-line-before': [
'always',
{
@@ -63,7 +85,7 @@ module.exports = {
},
'rules',
],
{ severity: 'warning' },
{ severity: 'error' },
],
},
ignoreFiles: ['**/*.js', '**/*.jsx', '**/*.tsx', '**/*.ts'],

View File

@@ -0,0 +1,5 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"extends": "@vben/ts-config/node.json",
"include": ["src"]
}

View File

@@ -0,0 +1,27 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"display": "Base",
"compilerOptions": {
"target": "ESNext",
"module": "ESNext",
"moduleResolution": "bundler",
"strict": true,
"declaration": true,
"noImplicitOverride": true,
"noUnusedLocals": true,
"esModuleInterop": true,
"useUnknownInCatchVariables": false,
"composite": false,
"declarationMap": false,
"forceConsistentCasingInFileNames": true,
"inlineSources": false,
"isolatedModules": true,
"skipLibCheck": true,
"noUnusedParameters": false,
"preserveWatchOutput": true,
"experimentalDecorators": true,
"resolveJsonModule": true,
"removeComments": true
},
"exclude": ["**/node_modules/**", "**/dist/**"]
}

View File

@@ -1,4 +1,7 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"display": "Node Server Config",
"extends": "./base.json",
"compilerOptions": {
"module": "commonjs",
"declaration": false,

View File

@@ -0,0 +1,12 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"display": "Node Config",
"extends": "./base.json",
"compilerOptions": {
"lib": ["ESNext"],
"noImplicitAny": true,
"sourceMap": true,
"noEmit": true,
"baseUrl": "./"
}
}

View File

@@ -0,0 +1,26 @@
{
"name": "@vben/ts-config",
"version": "1.0.0",
"private": true,
"homepage": "https://github.com/vbenjs/vue-vben-admin",
"bugs": {
"url": "https://github.com/vbenjs/vue-vben-admin/issues"
},
"repository": {
"type": "git",
"url": "git+https://github.com/vbenjs/vue-vben-admin.git",
"directory": "internal/ts-config"
},
"license": "MIT",
"type": "module",
"files": [
"base.json",
"node.json",
"vue-app.json",
"node-server.json"
],
"dependencies": {
"@types/node": "^20.12.7",
"vite": "^5.2.9"
}
}

View File

@@ -0,0 +1,10 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"display": "Vue Application",
"extends": "./base.json",
"compilerOptions": {
"jsx": "preserve",
"lib": ["ESNext", "DOM"],
"noImplicitAny": false
}
}

View File

@@ -0,0 +1,9 @@
*.sh
node_modules
*.md
*.woff
*.ttf
.turbo
dist
package.json

View File

@@ -0,0 +1,4 @@
module.exports = {
root: true,
extends: ['@vben/eslint-config/strict'],
};

View File

@@ -0,0 +1,10 @@
import { defineBuildConfig } from 'unbuild';
export default defineBuildConfig({
clean: true,
entries: ['src/index'],
declaration: true,
rollup: {
emitCJS: true,
},
});

View File

@@ -0,0 +1,59 @@
{
"name": "@vben/vite-config",
"version": "1.0.0",
"private": true,
"homepage": "https://github.com/vbenjs/vue-vben-admin",
"bugs": {
"url": "https://github.com/vbenjs/vue-vben-admin/issues"
},
"repository": {
"type": "git",
"url": "git+https://github.com/vbenjs/vue-vben-admin.git",
"directory": "internal/vite-config"
},
"license": "MIT",
"type": "module",
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.mjs",
"require": "./dist/index.cjs"
}
},
"main": "./dist/index.cjs",
"module": "./dist/index.mjs",
"types": "./dist/index.d.ts",
"files": [
"dist"
],
"scripts": {
"clean": "pnpm rimraf .turbo node_modules dist",
"lint": "pnpm eslint .",
"stub": "pnpm unbuild --stub"
},
"dependencies": {
"@ant-design/colors": "^7.0.2",
"vite": "^5.2.9"
},
"devDependencies": {
"@types/fs-extra": "^11.0.4",
"@vitejs/plugin-vue": "^5.0.4",
"@vitejs/plugin-vue-jsx": "^3.1.0",
"ant-design-vue": "^4.1.2",
"dayjs": "^1.11.10",
"dotenv": "^16.4.5",
"fs-extra": "^11.2.0",
"less": "^4.2.0",
"picocolors": "^1.0.0",
"pkg-types": "^1.0.3",
"rollup-plugin-visualizer": "^5.12.0",
"sass": "^1.75.0",
"unocss": "0.59.4",
"vite-plugin-compression": "^0.5.1",
"vite-plugin-dts": "^3.8.3",
"vite-plugin-html": "^3.2.2",
"vite-plugin-mock": "^2.9.6",
"vite-plugin-purge-icons": "^0.10.0",
"vite-plugin-svg-icons": "^2.0.1"
}
}

View File

@@ -0,0 +1,109 @@
import { resolve } from 'node:path';
import dayjs from 'dayjs';
import { readPackageJSON } from 'pkg-types';
import { defineConfig, loadEnv, mergeConfig, type UserConfig } from 'vite';
import { createPlugins } from '../plugins';
import { generateModifyVars } from '../utils/modifyVars';
import { commonConfig } from './common';
interface DefineOptions {
overrides?: UserConfig;
options?: {
//
};
}
function defineApplicationConfig(defineOptions: DefineOptions = {}) {
const { overrides = {} } = defineOptions;
return defineConfig(async ({ command, mode }) => {
const root = process.cwd();
const isBuild = command === 'build';
const { VITE_PUBLIC_PATH, VITE_USE_MOCK, VITE_BUILD_COMPRESS, VITE_ENABLE_ANALYZE } = loadEnv(
mode,
root,
);
const defineData = await createDefineData(root);
const plugins = await createPlugins({
isBuild,
root,
enableAnalyze: VITE_ENABLE_ANALYZE === 'true',
enableMock: VITE_USE_MOCK === 'true',
compress: VITE_BUILD_COMPRESS,
});
const pathResolve = (pathname: string) => resolve(root, '.', pathname);
const timestamp = new Date().getTime();
const applicationConfig: UserConfig = {
base: VITE_PUBLIC_PATH,
resolve: {
alias: [
{
find: 'vue-i18n',
replacement: 'vue-i18n/dist/vue-i18n.cjs.js',
},
// @/xxxx => src/xxxx
{
find: /@\//,
replacement: pathResolve('src') + '/',
},
// #/xxxx => types/xxxx
{
find: /#\//,
replacement: pathResolve('types') + '/',
},
],
},
define: defineData,
build: {
target: 'es2015',
cssTarget: 'chrome80',
rollupOptions: {
output: {
// 入口文件名
entryFileNames: `assets/entry/[name]-[hash]-${timestamp}.js`,
manualChunks: {
vue: ['vue', 'pinia', 'vue-router'],
antd: ['ant-design-vue', '@ant-design/icons-vue'],
},
},
},
},
css: {
preprocessorOptions: {
less: {
modifyVars: generateModifyVars(),
javascriptEnabled: true,
},
},
},
plugins,
};
const mergedConfig = mergeConfig(commonConfig(mode), applicationConfig);
return mergeConfig(mergedConfig, overrides);
});
}
async function createDefineData(root: string) {
try {
const pkgJson = await readPackageJSON(root);
const { dependencies, devDependencies, name, version } = pkgJson;
const __APP_INFO__ = {
pkg: { dependencies, devDependencies, name, version },
lastBuildTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
};
return {
__APP_INFO__: JSON.stringify(__APP_INFO__),
};
} catch (error) {
return {};
}
}
export { defineApplicationConfig };

View File

@@ -0,0 +1,22 @@
import UnoCSS from 'unocss/vite';
import { type UserConfig } from 'vite';
const commonConfig: (mode: string) => UserConfig = (mode) => ({
server: {
host: true,
},
esbuild: {
drop: mode === 'production' ? ['console', 'debugger'] : [],
},
build: {
reportCompressedSize: false,
chunkSizeWarningLimit: 1500,
rollupOptions: {
// TODO: Prevent memory overflow
maxParallelFileOps: 3,
},
},
plugins: [UnoCSS()],
});
export { commonConfig };

View File

@@ -0,0 +1,42 @@
import { readPackageJSON } from 'pkg-types';
import { defineConfig, mergeConfig, type UserConfig } from 'vite';
import dts from 'vite-plugin-dts';
import { commonConfig } from './common';
interface DefineOptions {
overrides?: UserConfig;
options?: {
//
};
}
function definePackageConfig(defineOptions: DefineOptions = {}) {
const { overrides = {} } = defineOptions;
const root = process.cwd();
return defineConfig(async ({ mode }) => {
const { dependencies = {}, peerDependencies = {} } = await readPackageJSON(root);
const packageConfig: UserConfig = {
build: {
lib: {
entry: 'src/index.ts',
formats: ['es'],
fileName: () => 'index.mjs',
},
rollupOptions: {
external: [...Object.keys(dependencies), ...Object.keys(peerDependencies)],
},
},
plugins: [
dts({
logLevel: 'error',
}),
],
};
const mergedConfig = mergeConfig(commonConfig(mode), packageConfig);
return mergeConfig(mergedConfig, overrides);
});
}
export { definePackageConfig };

View File

@@ -0,0 +1,2 @@
export * from './config/application';
export * from './config/package';

View File

@@ -0,0 +1,104 @@
import colors from 'picocolors';
import { readPackageJSON } from 'pkg-types';
import { type PluginOption } from 'vite';
import { getEnvConfig } from '../utils/env';
import { createContentHash } from '../utils/hash';
const GLOBAL_CONFIG_FILE_NAME = '_app.config.js';
const PLUGIN_NAME = 'app-config';
async function createAppConfigPlugin({
root,
isBuild,
}: {
root: string;
isBuild: boolean;
}): Promise<PluginOption> {
let publicPath: string;
let source: string;
if (!isBuild) {
return {
name: PLUGIN_NAME,
};
}
const { version = '' } = await readPackageJSON(root);
return {
name: PLUGIN_NAME,
async configResolved(_config) {
const appTitle = _config?.env?.VITE_GLOB_APP_TITLE ?? '';
// appTitle = appTitle.replace(/\s/g, '_').replace(/-/g, '_');
publicPath = _config.base;
source = await getConfigSource(appTitle);
},
async transformIndexHtml(html) {
publicPath = publicPath.endsWith('/') ? publicPath : `${publicPath}/`;
const appConfigSrc = `${
publicPath || '/'
}${GLOBAL_CONFIG_FILE_NAME}?v=${version}-${createContentHash(source)}`;
return {
html,
tags: [
{
tag: 'script',
attrs: {
src: appConfigSrc,
},
},
],
};
},
async generateBundle() {
try {
this.emitFile({
type: 'asset',
fileName: GLOBAL_CONFIG_FILE_NAME,
source,
});
console.log(colors.cyan(`✨configuration file is build successfully!`));
} catch (error) {
console.log(
colors.red('configuration file configuration file failed to package:\n' + error),
);
}
},
};
}
/**
* Get the configuration file variable name
* @param env
*/
const getVariableName = (title: string) => {
function strToHex(str: string) {
const result: string[] = [];
for (let i = 0; i < str.length; ++i) {
const hex = str.charCodeAt(i).toString(16);
result.push(('000' + hex).slice(-4));
}
return result.join('').toUpperCase();
}
return `__PRODUCTION__${strToHex(title) || '__APP'}__CONF__`.toUpperCase().replace(/\s/g, '');
};
async function getConfigSource(appTitle: string) {
const config = await getEnvConfig();
const variableName = getVariableName(appTitle);
const windowVariable = `window.${variableName}`;
// Ensure that the variable will not be modified
let source = `${windowVariable}=${JSON.stringify(config)};`;
source += `
Object.freeze(${windowVariable});
Object.defineProperty(window, "${variableName}", {
configurable: false,
writable: false,
});
`.replace(/\s/g, '');
return source;
}
export { createAppConfigPlugin };

View File

@@ -2,33 +2,36 @@
* Used to package and output gzip. Note that this does not work properly in Vite, the specific reason is still being investigated
* https://github.com/anncwb/vite-plugin-compression
*/
import type { Plugin } from 'vite';
import type { PluginOption } from 'vite';
import compressPlugin from 'vite-plugin-compression';
export function configCompressPlugin(
compress: 'gzip' | 'brotli' | 'none',
deleteOriginFile = false
): Plugin | Plugin[] {
export function configCompressPlugin({
compress,
deleteOriginFile = false,
}: {
compress: string;
deleteOriginFile?: boolean;
}): PluginOption[] {
const compressList = compress.split(',');
const plugins: Plugin[] = [];
const plugins: PluginOption[] = [];
if (compressList.includes('gzip')) {
plugins.push(
compressPlugin({
ext: '.gz',
deleteOriginFile,
})
}),
);
}
if (compressList.includes('brotli')) {
plugins.push(
compressPlugin({
ext: '.br',
algorithm: 'brotliCompress',
deleteOriginFile,
})
}),
);
}
return plugins;

View File

@@ -0,0 +1,13 @@
/**
* Plugin to minimize and use ejs template syntax in index.html.
* https://github.com/anncwb/vite-plugin-html
*/
import type { PluginOption } from 'vite';
import { createHtmlPlugin } from 'vite-plugin-html';
export function configHtmlPlugin({ isBuild }: { isBuild: boolean }) {
const htmlPlugin: PluginOption[] = createHtmlPlugin({
minify: isBuild,
});
return htmlPlugin;
}

Some files were not shown because too many files have changed in this diff Show More