181 Commits
13.3 ... 1.4.0

Author SHA1 Message Date
TinyAnts
f2bbfffe10 Merge branch 'release/1.4.0' 2023-01-11 10:42:16 +08:00
TinyAnts
c46903a210 Merge branch 'hotfix/article' 2023-01-11 10:35:33 +08:00
TinyAnts
803a50cf3c Merge branch 'master' into develop 2023-01-11 10:35:33 +08:00
TinyAnts
2f161aa3fe 修复获取全部文章问题 2023-01-11 10:35:16 +08:00
TinyAnts
22e7aa77cd Merge branch 'master' into develop 2023-01-11 10:20:26 +08:00
TinyAnts
18360d43e5 Merge branch 'hotfix/scanLogin' 2023-01-11 10:20:25 +08:00
TinyAnts
b360bb7485 修改PC端扫码登录的问题 2023-01-11 10:19:40 +08:00
TinyAnts
ded1cabf1e Merge tag '1.4.0' into develop 2023-01-10 18:29:19 +08:00
TinyAnts
f4b6179336 Merge branch 'release/1.4.0' 2023-01-10 18:29:17 +08:00
Jason
35b485c0a7 打包 2023-01-10 18:19:31 +08:00
Jason
f39417f9b9 Merge branch 'develop' of https://gitee.com/likeadmin/likeadmin_java into develop 2023-01-10 18:08:05 +08:00
Jason
313121b2ab 调整uniapph5基础路径 2023-01-10 18:05:16 +08:00
TinyAnts
a6ad0a2feb Merge branch 'develop' of https://gitee.com/likeadmin/likeadmin_java into develop 2023-01-10 18:00:33 +08:00
Jason
e20fe09db4 调整提示 2023-01-10 17:55:48 +08:00
Jason
bf31eff2e0 代码生成器添加提示 2023-01-10 17:55:21 +08:00
TinyAnts
8b450e991f Merge branch 'develop' of https://gitee.com/likeadmin/likeadmin_java into develop 2023-01-10 17:31:12 +08:00
TinyAnts
86c8697a0f 修复代码生成器获取别名出错 2023-01-10 17:30:49 +08:00
Jason
16fbaa8b4e Merge branch 'develop' of https://gitee.com/likeadmin/likeadmin_java into develop 2023-01-10 17:12:19 +08:00
Jason
0f08a3ec04 indexhtml添加移动端pc端判断 2023-01-10 17:12:01 +08:00
TinyAnts
54fd266103 调整sql文件 2023-01-10 17:11:24 +08:00
Jason
b4dadbee38 pc打包 2023-01-10 16:01:19 +08:00
Jason
45645668ef 后台打包 2023-01-10 15:58:46 +08:00
Jason
79a3959a17 pc端调整 2023-01-10 15:57:36 +08:00
TinyAnts
678c5a5fb6 优化代码 2023-01-10 15:14:51 +08:00
Jason
b081a2b3e5 新增组件示例 2023-01-10 11:09:05 +08:00
TinyAnts
21866eb315 调整PC端底部版权获取信息问题 2023-01-10 10:26:26 +08:00
TinyAnts
5880ea48af Merge branch 'develop' of https://gitee.com/likeadmin/likeadmin_java into develop 2023-01-10 09:54:06 +08:00
TinyAnts
ae398bf417 修改文章列表的搜索参数 2023-01-10 09:54:00 +08:00
Jason
96ce0b284c Merge branch 'develop' of https://gitee.com/likeadmin/likeadmin_java into develop 2023-01-09 19:02:32 +08:00
Jason
5d056280b0 pc端 2023-01-09 19:02:20 +08:00
TinyAnts
712538213b 修复部分文章数据获取不到分类的问题 2023-01-09 19:00:22 +08:00
TinyAnts
97518d66d3 增加PC资讯中心接口 2023-01-09 18:53:40 +08:00
TinyAnts
570198d9bc 修复开放平台编辑参数不一致bug 2023-01-09 18:15:12 +08:00
TinyAnts
f48116e8d1 增加PC端文章详情接口 2023-01-09 18:11:28 +08:00
TinyAnts
d6bd188203 处理PC端的装修数据问题 2023-01-09 16:00:22 +08:00
Jason
144fe94ecb 后台pc相关设置 2023-01-09 15:33:09 +08:00
Jason
667b92265f Merge branch 'develop' of https://gitee.com/likeadmin/likeadmin_java into develop 2023-01-09 10:13:12 +08:00
Jason
964e9c5bd7 调整代码生成器 2023-01-09 10:12:49 +08:00
TinyAnts
0daebef757 修复代码生成器字段缺失问题 2023-01-09 10:08:47 +08:00
TinyAnts
691786b478 修复代码生成器字段缺失 2023-01-09 10:07:11 +08:00
TinyAnts
27bcde0da0 调整安装sql 2023-01-06 17:51:02 +08:00
TinyAnts
1f193e7850 代码生成器构建菜单权限 2023-01-06 17:47:21 +08:00
TinyAnts
55ee7d8a47 代码生成器构建菜单的参数处理 2023-01-06 16:50:01 +08:00
TinyAnts
c45df35bd9 调整sql安装文件 2023-01-06 16:17:42 +08:00
TinyAnts
853e64fee5 增加扫码登录功能 2023-01-06 16:13:46 +08:00
TinyAnts
f2450bc615 优化代码 2023-01-03 19:00:27 +08:00
TinyAnts
ed6b24c677 处理代码生成器关联查询 2022-12-30 12:10:07 +08:00
Jason
7a71bcf238 Merge tag 'wjx202212301141' into develop
no message
2022-12-30 11:42:09 +08:00
Jason
22bebdf804 Merge branch 'hotfix/wjx202212301141' 2022-12-30 11:42:08 +08:00
Jason
6f8e8442c0 重新打包 2022-12-30 11:41:58 +08:00
Jason
b693e829f9 Merge branch 'develop' of https://gitee.com/likeadmin/likeadmin_java into develop 2022-12-30 11:40:23 +08:00
Jason
8d37e36395 代码生成器调整 2022-12-30 11:40:08 +08:00
lr
7419ceb502 Merge branch 'hotfix/uploads' 2022-12-30 11:20:01 +08:00
lr
f6491d1ba0 Merge tag 'uploads' into develop
no message
2022-12-30 11:20:01 +08:00
lr
84c4b305d1 增加uploads目录 2022-12-30 11:18:55 +08:00
TinyAnts
5f3260c586 增加根据表名获取字段 2022-12-30 11:11:36 +08:00
TinyAnts
c5781cd796 处理代码生成器关联查询 2022-12-30 10:35:58 +08:00
TinyAnts
9d4964af1b Merge tag '1.3.6' into develop 2022-12-30 10:02:14 +08:00
TinyAnts
56de8a32f1 Merge branch 'release/1.3.6' 2022-12-30 10:02:13 +08:00
TinyAnts
dbdeed946e 调整SQL文件 2022-12-30 09:53:07 +08:00
Jason
42892bcb8b Merge tag 'wjx202212300933' into develop
no message

# Conflicts:
#	frontend/assets/403.f0c419d0.js
#	frontend/assets/404.a1c8cef0.js
#	frontend/assets/add-nav.78e0236c.js
#	frontend/assets/add-nav.vue_vue_type_script_setup_true_lang.856419ed.js
#	frontend/assets/article.74bca9b5.js
#	frontend/assets/attr-setting.vue_vue_type_script_setup_true_lang.3f964a14.js
#	frontend/assets/attr.049f48d5.js
#	frontend/assets/attr.0b7b7c99.js
#	frontend/assets/attr.303c1d3b.js
#	frontend/assets/attr.80ca5719.js
#	frontend/assets/attr.a9a313fb.js
#	frontend/assets/attr.vue_vue_type_script_setup_true_lang.6d0a5dbb.js
#	frontend/assets/attr.vue_vue_type_script_setup_true_lang.8e9dd23e.js
#	frontend/assets/attr.vue_vue_type_script_setup_true_lang.9aec2f99.js
#	frontend/assets/attr.vue_vue_type_script_setup_true_lang.ab98fda4.js
#	frontend/assets/attr.vue_vue_type_script_setup_true_lang.b7d84074.js
#	frontend/assets/auth.f2a07a12.js
#	frontend/assets/auth.vue_vue_type_script_setup_true_lang.7ef0ba85.js
#	frontend/assets/cache.4c254d80.js
#	frontend/assets/code-preview.326ed395.js
#	frontend/assets/code-preview.vue_vue_type_script_setup_true_lang.136e5f05.js
#	frontend/assets/code.e8685cc5.js
#	frontend/assets/config.a5e3522c.js
#	frontend/assets/consumer.7aec82d3.js
#	frontend/assets/content.3563b530.js
#	frontend/assets/content.3f7be8fd.js
#	frontend/assets/content.54b8d1d4.js
#	frontend/assets/content.6bac01bd.js
#	frontend/assets/content.a0ce4144.js
#	frontend/assets/content.b9dac3a5.js
#	frontend/assets/content.d207a2aa.js
#	frontend/assets/content.ddf02ef6.js
#	frontend/assets/content.vue_vue_type_script_setup_true_lang.3bb51b7a.js
#	frontend/assets/content.vue_vue_type_script_setup_true_lang.afe6098d.js
#	frontend/assets/content.vue_vue_type_script_setup_true_lang.b304c701.js
#	frontend/assets/data-table.17275e70.js
#	frontend/assets/data-table.vue_vue_type_script_setup_true_lang.4be18121.js
#	frontend/assets/decoration-img.480c1d38.js
#	frontend/assets/decoration.c4bfe19f.js
#	frontend/assets/default_reply.30cc1448.js
#	frontend/assets/department.05a11643.js
#	frontend/assets/detail.0f743553.js
#	frontend/assets/dict.ce868610.js
#	frontend/assets/edit.2dbf5ac2.js
#	frontend/assets/edit.2e9c7282.js
#	frontend/assets/edit.4baeb334.js
#	frontend/assets/edit.6d9ae951.js
#	frontend/assets/edit.95929423.js
#	frontend/assets/edit.96767b58.js
#	frontend/assets/edit.9ccb2ea8.js
#	frontend/assets/edit.9ed6b70f.js
#	frontend/assets/edit.aeab9105.js
#	frontend/assets/edit.b84537ff.js
#	frontend/assets/edit.c7f85044.js
#	frontend/assets/edit.d2275167.js
#	frontend/assets/edit.d460b056.js
#	frontend/assets/edit.fcd83473.js
#	frontend/assets/edit.vue_vue_type_script_setup_true_lang.0af81f90.js
#	frontend/assets/edit.vue_vue_type_script_setup_true_lang.113cbdf9.js
#	frontend/assets/edit.vue_vue_type_script_setup_true_lang.2b98166e.js
#	frontend/assets/edit.vue_vue_type_script_setup_true_lang.4905cd93.js
#	frontend/assets/edit.vue_vue_type_script_setup_true_lang.4f65e8a1.js
#	frontend/assets/edit.vue_vue_type_script_setup_true_lang.59ff2825.js
#	frontend/assets/edit.vue_vue_type_script_setup_true_lang.74776acb.js
#	frontend/assets/edit.vue_vue_type_script_setup_true_lang.7ea5a852.js
#	frontend/assets/edit.vue_vue_type_script_setup_true_lang.8b4e0ec3.js
#	frontend/assets/edit.vue_vue_type_script_setup_true_lang.f8f78045.js
#	frontend/assets/edit.vue_vue_type_script_setup_true_lang.f8f974df.js
#	frontend/assets/environment.da0e74f3.js
#	frontend/assets/error.8fb57bb2.js
#	frontend/assets/filing.9c47550a.js
#	frontend/assets/follow_reply.107a5ac7.js
#	frontend/assets/h5.fea75e1a.js
#	frontend/assets/index.16ada191.js
#	frontend/assets/index.1771e9d1.js
#	frontend/assets/index.1fb47746.js
#	frontend/assets/index.5eb7e5c4.js
#	frontend/assets/index.6c6f898a.js
#	frontend/assets/index.75023305.js
#	frontend/assets/index.77862a69.js
#	frontend/assets/index.79dd911d.js
#	frontend/assets/index.848577dc.js
#	frontend/assets/index.84d368ba.js
#	frontend/assets/index.8982a748.js
#	frontend/assets/index.92011b5f.js
#	frontend/assets/index.9a6fb272.js
#	frontend/assets/index.a5822411.js
#	frontend/assets/index.aa44aaf7.js
#	frontend/assets/index.b7bb2d87.js
#	frontend/assets/index.bd5146fc.js
#	frontend/assets/index.beff7283.js
#	frontend/assets/index.c7812cea.js
#	frontend/assets/index.dc901e48.js
#	frontend/assets/index.ef519870.js
#	frontend/assets/index.f11ab1e9.js
#	frontend/assets/index.f66054e9.js
#	frontend/assets/index.f667cbcd.js
#	frontend/assets/index.fe3d9dae.js
#	frontend/assets/index.vue_vue_type_style_index_0_lang.c87a51a3.js
#	frontend/assets/information.28b9a11e.js
#	frontend/assets/journal.af99cc6e.js
#	frontend/assets/keyword_reply.1fe852e8.js
#	frontend/assets/login.f0fef830.js
#	frontend/assets/login_register.c80d9ed9.js
#	frontend/assets/menu.09d42840.js
#	frontend/assets/menu.0ae9ccbc.js
#	frontend/assets/menu.eae2d8fc.js
#	frontend/assets/message.1e9ad99e.js
#	frontend/assets/oa-attr.7c3cd5f4.js
#	frontend/assets/oa-menu-form-edit.d931b7f0.js
#	frontend/assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang.2af5db4a.js
#	frontend/assets/oa-menu-form.fff01e76.js
#	frontend/assets/oa-menu-form.vue_vue_type_script_setup_true_lang.f8a3c660.js
#	frontend/assets/oa-phone.85104509.js
#	frontend/assets/picker.6266f853.js
#	frontend/assets/picker.bb543009.js
#	frontend/assets/post.01f561c3.js
#	frontend/assets/preview.7ce5d1df.js
#	frontend/assets/protocol.64ac74bd.js
#	frontend/assets/role.eef9faf9.js
#	frontend/assets/setting.be7e8445.js
#	frontend/assets/setup.d2d0d2bc.js
#	frontend/assets/system.fd9f3942.js
#	frontend/assets/tabbar.777ec1ab.js
#	frontend/assets/useDictOptions.15dee2f9.js
#	frontend/assets/useMenuOa.192cb686.js
#	frontend/assets/user.4c0b4415.js
#	frontend/assets/weapp.1dfe0168.js
#	frontend/assets/website.0825f59c.js
#	frontend/assets/wx_dev.01a9b978.js
#	frontend/assets/wx_oa.1210c1af.js
#	frontend/index.html
#	public/admin/assets/403.be75ce33.js
#	public/admin/assets/403.c7652e24.js
#	public/admin/assets/404.dc53075e.js
#	public/admin/assets/404.ff366785.js
#	public/admin/assets/add-nav.71c25bc4.js
#	public/admin/assets/add-nav.8ff08431.js
#	public/admin/assets/add-nav.vue_vue_type_script_setup_true_lang.215ec6d4.js
#	public/admin/assets/add-nav.vue_vue_type_script_setup_true_lang.8851ce0d.js
#	public/admin/assets/article.38714de2.js
#	public/admin/assets/article.51338dfb.js
#	public/admin/assets/attr-setting.b26b2685.js
#	public/admin/assets/attr-setting.vue_vue_type_script_setup_true_lang.84e61532.js
#	public/admin/assets/attr-setting.vue_vue_type_script_setup_true_lang.c0a78b81.js
#	public/admin/assets/attr.0bf07d6c.js
#	public/admin/assets/attr.1105345f.js
#	public/admin/assets/attr.1a24a3b1.js
#	public/admin/assets/attr.39b6c6f4.js
#	public/admin/assets/attr.65290945.js
#	public/admin/assets/attr.6c55da6b.js
#	public/admin/assets/attr.805fa21f.js
#	public/admin/assets/attr.98b102e5.js
#	public/admin/assets/attr.ac5be732.js
#	public/admin/assets/attr.bc1c3a6a.js
#	public/admin/assets/attr.vue_vue_type_script_setup_true_lang.1024ff07.js
#	public/admin/assets/attr.vue_vue_type_script_setup_true_lang.2e693200.js
#	public/admin/assets/attr.vue_vue_type_script_setup_true_lang.610eeb03.js
#	public/admin/assets/attr.vue_vue_type_script_setup_true_lang.68317d75.js
#	public/admin/assets/attr.vue_vue_type_script_setup_true_lang.7c96b670.js
#	public/admin/assets/attr.vue_vue_type_script_setup_true_lang.9aa3d580.js
#	public/admin/assets/attr.vue_vue_type_script_setup_true_lang.9d5db47c.js
#	public/admin/assets/attr.vue_vue_type_script_setup_true_lang.a51cc6d0.js
#	public/admin/assets/attr.vue_vue_type_script_setup_true_lang.c2c86fa3.js
#	public/admin/assets/attr.vue_vue_type_script_setup_true_lang.dc504eeb.js
#	public/admin/assets/auth.58436929.js
#	public/admin/assets/auth.72ce47e2.js
#	public/admin/assets/auth.vue_vue_type_script_setup_true_lang.9144d151.js
#	public/admin/assets/auth.vue_vue_type_script_setup_true_lang.f2e0efdb.js
#	public/admin/assets/cache.1411bd71.js
#	public/admin/assets/cache.eaaa3b01.js
#	public/admin/assets/code-preview.b3fbdb96.js
#	public/admin/assets/code-preview.cbbe484e.js
#	public/admin/assets/code-preview.vue_vue_type_script_setup_true_lang.417cad3e.js
#	public/admin/assets/code-preview.vue_vue_type_script_setup_true_lang.dece62bb.js
#	public/admin/assets/code.1b609fc8.js
#	public/admin/assets/code.70be45c9.js
#	public/admin/assets/config.67eec5e0.js
#	public/admin/assets/config.72957399.js
#	public/admin/assets/consumer.ac2027e1.js
#	public/admin/assets/consumer.d53e90aa.js
#	public/admin/assets/content.0331f6f6.js
#	public/admin/assets/content.06cd617c.js
#	public/admin/assets/content.0abc6fd8.js
#	public/admin/assets/content.3eb29ea6.js
#	public/admin/assets/content.4392d29d.js
#	public/admin/assets/content.4b82873f.js
#	public/admin/assets/content.4f3df2a4.js
#	public/admin/assets/content.6d4b870e.js
#	public/admin/assets/content.7be5491b.js
#	public/admin/assets/content.7dbaf50d.js
#	public/admin/assets/content.8770db05.js
#	public/admin/assets/content.c073f4f9.js
#	public/admin/assets/content.c942e0cc.js
#	public/admin/assets/content.d57a1119.js
#	public/admin/assets/content.ea750dee.js
#	public/admin/assets/content.f103064c.js
#	public/admin/assets/content.vue_vue_type_script_setup_true_lang.217e9a8e.js
#	public/admin/assets/content.vue_vue_type_script_setup_true_lang.35dd01b2.js
#	public/admin/assets/content.vue_vue_type_script_setup_true_lang.64d77af9.js
#	public/admin/assets/content.vue_vue_type_script_setup_true_lang.96010cac.js
#	public/admin/assets/content.vue_vue_type_script_setup_true_lang.a2c85d60.js
#	public/admin/assets/content.vue_vue_type_script_setup_true_lang.e873fa0c.js
#	public/admin/assets/data-table.07e93a3a.js
#	public/admin/assets/data-table.fb9b752a.js
#	public/admin/assets/data-table.vue_vue_type_script_setup_true_lang.7f9e9084.js
#	public/admin/assets/data-table.vue_vue_type_script_setup_true_lang.f66dc883.js
#	public/admin/assets/decoration-img.4dec7bca.js
#	public/admin/assets/decoration-img.9d7f6da2.js
#	public/admin/assets/decoration.7912193e.js
#	public/admin/assets/decoration.815a1b2b.js
#	public/admin/assets/default_reply.6fdb7d94.js
#	public/admin/assets/default_reply.cf5a89f4.js
#	public/admin/assets/department.48a04152.js
#	public/admin/assets/department.86e3365f.js
#	public/admin/assets/detail.de7ed10a.js
#	public/admin/assets/detail.e67949b0.js
#	public/admin/assets/dict.68f4cb01.js
#	public/admin/assets/dict.7598c3e1.js
#	public/admin/assets/edit.04acf599.js
#	public/admin/assets/edit.1058ab87.js
#	public/admin/assets/edit.19542373.js
#	public/admin/assets/edit.195b6c37.js
#	public/admin/assets/edit.1efad864.js
#	public/admin/assets/edit.2353d155.js
#	public/admin/assets/edit.2c45ecc3.js
#	public/admin/assets/edit.32c4d425.js
#	public/admin/assets/edit.363d1c9c.js
#	public/admin/assets/edit.4a9641ad.js
#	public/admin/assets/edit.4b2283de.js
#	public/admin/assets/edit.4cadd5f2.js
#	public/admin/assets/edit.559ac486.js
#	public/admin/assets/edit.5da54424.js
#	public/admin/assets/edit.66fa646d.js
#	public/admin/assets/edit.68731657.js
#	public/admin/assets/edit.6b367aca.js
#	public/admin/assets/edit.743f4c0c.js
#	public/admin/assets/edit.872eb840.js
#	public/admin/assets/edit.886d9084.js
#	public/admin/assets/edit.8d7da4aa.js
#	public/admin/assets/edit.9a168e9e.js
#	public/admin/assets/edit.b78cf684.js
#	public/admin/assets/edit.c581b19c.js
#	public/admin/assets/edit.c5a5e1ec.js
#	public/admin/assets/edit.dec130d9.js
#	public/admin/assets/edit.e30c9927.js
#	public/admin/assets/edit.e44bdfb6.js
#	public/admin/assets/edit.ee60daaf.js
#	public/admin/assets/edit.f67b0c7d.js
#	public/admin/assets/edit.vue_vue_type_script_setup_true_lang.1e2b9cbb.js
#	public/admin/assets/edit.vue_vue_type_script_setup_true_lang.2026007c.js
#	public/admin/assets/edit.vue_vue_type_script_setup_true_lang.20c72cd4.js
#	public/admin/assets/edit.vue_vue_type_script_setup_true_lang.21beb4c8.js
#	public/admin/assets/edit.vue_vue_type_script_setup_true_lang.309dc4b4.js
#	public/admin/assets/edit.vue_vue_type_script_setup_true_lang.35c06c20.js
#	public/admin/assets/edit.vue_vue_type_script_setup_true_lang.401606cd.js
#	public/admin/assets/edit.vue_vue_type_script_setup_true_lang.4e0b8a6b.js
#	public/admin/assets/edit.vue_vue_type_script_setup_true_lang.4fbfad27.js
#	public/admin/assets/edit.vue_vue_type_script_setup_true_lang.4feed0c9.js
#	public/admin/assets/edit.vue_vue_type_script_setup_true_lang.6e4cbbd1.js
#	public/admin/assets/edit.vue_vue_type_script_setup_true_lang.71edccc3.js
#	public/admin/assets/edit.vue_vue_type_script_setup_true_lang.735deee1.js
#	public/admin/assets/edit.vue_vue_type_script_setup_true_lang.8031e87f.js
#	public/admin/assets/edit.vue_vue_type_script_setup_true_lang.8a9d92ef.js
#	public/admin/assets/edit.vue_vue_type_script_setup_true_lang.8ee65651.js
#	public/admin/assets/edit.vue_vue_type_script_setup_true_lang.95b7f706.js
#	public/admin/assets/edit.vue_vue_type_script_setup_true_lang.964927cf.js
#	public/admin/assets/edit.vue_vue_type_script_setup_true_lang.9734ead4.js
#	public/admin/assets/edit.vue_vue_type_script_setup_true_lang.a2645652.js
#	public/admin/assets/edit.vue_vue_type_script_setup_true_lang.bc00cb19.js
#	public/admin/assets/edit.vue_vue_type_script_setup_true_lang.dec3e455.js
#	public/admin/assets/environment.a1f39ebd.js
#	public/admin/assets/environment.a824f3db.js
#	public/admin/assets/error.3245b397.js
#	public/admin/assets/error.ad96ad67.js
#	public/admin/assets/filing.a511c649.js
#	public/admin/assets/filing.eccc076c.js
#	public/admin/assets/follow_reply.b676d4ee.js
#	public/admin/assets/follow_reply.e30a481b.js
#	public/admin/assets/h5.2a7add8f.js
#	public/admin/assets/h5.afd9020f.js
#	public/admin/assets/index.011bede3.js
#	public/admin/assets/index.04d77970.js
#	public/admin/assets/index.0d2f02aa.js
#	public/admin/assets/index.136be2f4.js
#	public/admin/assets/index.1530a00e.js
#	public/admin/assets/index.16fe56fd.js
#	public/admin/assets/index.1866acee.js
#	public/admin/assets/index.1f81f8b5.js
#	public/admin/assets/index.21b73b19.js
#	public/admin/assets/index.22f8ab12.js
#	public/admin/assets/index.2539f5ae.js
#	public/admin/assets/index.28c53d29.js
#	public/admin/assets/index.2c0a48a6.js
#	public/admin/assets/index.3257f813.js
#	public/admin/assets/index.3745546a.js
#	public/admin/assets/index.3b91d655.js
#	public/admin/assets/index.3fbb5f30.js
#	public/admin/assets/index.4fd20bc9.js
#	public/admin/assets/index.50bcf3eb.js
#	public/admin/assets/index.523e1856.js
#	public/admin/assets/index.565fa41f.js
#	public/admin/assets/index.588358a2.js
#	public/admin/assets/index.58d92e59.js
#	public/admin/assets/index.5a304e0e.js
#	public/admin/assets/index.5cc34703.js
#	public/admin/assets/index.5f24c449.js
#	public/admin/assets/index.64e62b67.js
#	public/admin/assets/index.65cfc9bc.js
#	public/admin/assets/index.6d47c9ed.js
#	public/admin/assets/index.6f04b646.js
#	public/admin/assets/index.73a26a62.js
#	public/admin/assets/index.783c022e.js
#	public/admin/assets/index.7b48eeb3.js
#	public/admin/assets/index.8bcf72cb.js
#	public/admin/assets/index.942364fe.js
#	public/admin/assets/index.963c9b05.js
#	public/admin/assets/index.9ab195d2.js
#	public/admin/assets/index.a80222dc.js
#	public/admin/assets/index.a885a6ae.js
#	public/admin/assets/index.b348b281.js
#	public/admin/assets/index.b7299661.js
#	public/admin/assets/index.c93a1529.js
#	public/admin/assets/index.cdb9f716.js
#	public/admin/assets/index.d1b8bb0d.js
#	public/admin/assets/index.e66cf170.js
#	public/admin/assets/index.eeba4956.js
#	public/admin/assets/index.f040d64d.js
#	public/admin/assets/index.f6838d76.js
#	public/admin/assets/index.fd4cf356.js
#	public/admin/assets/index.fdde7276.js
#	public/admin/assets/index.vue_vue_type_style_index_0_lang.26fd2700.js
#	public/admin/assets/index.vue_vue_type_style_index_0_lang.8a5b07f4.js
#	public/admin/assets/information.5f67d768.js
#	public/admin/assets/information.aef5fed0.js
#	public/admin/assets/journal.64e725be.js
#	public/admin/assets/journal.c7bb9e85.js
#	public/admin/assets/keyword_reply.55add9d3.js
#	public/admin/assets/keyword_reply.57eeee16.js
#	public/admin/assets/login.3e20fdbc.js
#	public/admin/assets/login.dfb02019.js
#	public/admin/assets/login_register.f086e958.js
#	public/admin/assets/login_register.fce39c20.js
#	public/admin/assets/menu.00ecf38c.js
#	public/admin/assets/menu.1480198a.js
#	public/admin/assets/menu.5f3f4c47.js
#	public/admin/assets/menu.7368e3d7.js
#	public/admin/assets/menu.77a3989d.js
#	public/admin/assets/menu.b1b1aaa6.js
#	public/admin/assets/message.15ef96dc.js
#	public/admin/assets/message.8743f2b4.js
#	public/admin/assets/oa-attr.98d5d599.js
#	public/admin/assets/oa-attr.e543aa62.js
#	public/admin/assets/oa-menu-form-edit.045f9ab6.js
#	public/admin/assets/oa-menu-form-edit.6d6a7d14.js
#	public/admin/assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang.4a94d8c8.js
#	public/admin/assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang.e36a043a.js
#	public/admin/assets/oa-menu-form.57debade.js
#	public/admin/assets/oa-menu-form.5af7d29e.js
#	public/admin/assets/oa-menu-form.vue_vue_type_script_setup_true_lang.67bb8ea5.js
#	public/admin/assets/oa-menu-form.vue_vue_type_script_setup_true_lang.e41e7bd3.js
#	public/admin/assets/oa-phone.48a76668.js
#	public/admin/assets/oa-phone.66424cfe.js
#	public/admin/assets/picker.0b96d088.js
#	public/admin/assets/picker.5d8eed0a.js
#	public/admin/assets/picker.7fdea6ff.js
#	public/admin/assets/picker.dbcd437c.js
#	public/admin/assets/post.09fddbe1.js
#	public/admin/assets/post.ef78bb4b.js
#	public/admin/assets/preview.02e7bf70.js
#	public/admin/assets/preview.26af8dc8.js
#	public/admin/assets/protocol.1a7d013b.js
#	public/admin/assets/protocol.8e267222.js
#	public/admin/assets/role.86090770.js
#	public/admin/assets/role.b25c198c.js
#	public/admin/assets/setting.2f03e550.js
#	public/admin/assets/setting.5ca7d662.js
#	public/admin/assets/setup.684d6202.js
#	public/admin/assets/setup.e44fd5fe.js
#	public/admin/assets/system.2ead1522.js
#	public/admin/assets/system.35951c5a.js
#	public/admin/assets/tabbar.34f74b99.js
#	public/admin/assets/tabbar.bdd89062.js
#	public/admin/assets/useDictOptions.5cafb1f4.js
#	public/admin/assets/useDictOptions.b34b37f1.js
#	public/admin/assets/useMenuOa.870ab9e1.js
#	public/admin/assets/useMenuOa.d7923d98.js
#	public/admin/assets/user.4d5749bd.js
#	public/admin/assets/user.a9344a7d.js
#	public/admin/assets/weapp.57fd07ba.js
#	public/admin/assets/weapp.7765716e.js
#	public/admin/assets/website.4c8013dc.js
#	public/admin/assets/website.e8828dd2.js
#	public/admin/assets/wx_dev.146ac4c9.js
#	public/admin/assets/wx_dev.649507e0.js
#	public/admin/assets/wx_oa.4f05f86f.js
#	public/admin/assets/wx_oa.bdf9a81f.js
2022-12-30 09:39:13 +08:00
Jason
a7d6b7ce61 Merge branch 'hotfix/wjx202212300933' 2022-12-30 09:38:20 +08:00
Jason
d9f6b66c56 重新打包,移除打包文件 2022-12-30 09:38:09 +08:00
Jason
373bd551d7 Merge tag 'wjx202212291606' into develop
no message
2022-12-29 16:27:16 +08:00
Jason
e5f1ac1231 Merge branch 'hotfix/wjx202212291606' 2022-12-29 16:27:15 +08:00
Jason
c3e0a81b31 打包 2022-12-29 16:27:02 +08:00
Jason
df513e47ec 调整代码生成器设置 2022-12-29 16:04:32 +08:00
TinyAnts
62a3606169 修复代码生成关联表前缀问题 2022-12-29 14:16:54 +08:00
TinyAnts
97202201a2 优化定时任务 2022-12-29 11:59:10 +08:00
TinyAnts
088fffe836 调整获取所有库表不分页 2022-12-29 11:10:54 +08:00
TinyAnts
d59c9de38a 增加所有库表接口 2022-12-29 10:08:03 +08:00
TinyAnts
d63947856b 增加查询所有表接口 2022-12-29 09:43:05 +08:00
全栈程序员钟哥
36b6540a60 修改readme
Signed-off-by: 全栈程序员钟哥 <294687409@qq.com>
2022-12-28 07:34:22 +00:00
Jason
49fd6d3639 后台打包 2022-12-28 10:13:50 +08:00
Jason
3fd832d9e6 代码生成器配置调整 2022-12-28 10:12:33 +08:00
TinyAnts
aabc6205fb 增加返回字段 2022-12-28 10:05:35 +08:00
TinyAnts
4a7fd71da7 增加演示环境 ***** 敏感数据处理 2022-12-27 17:16:40 +08:00
TinyAnts
d7b6dc992f 移除多余代码 2022-12-23 18:11:10 +08:00
TinyAnts
2998041bde 移除多余代码 2022-12-23 17:52:20 +08:00
TinyAnts
2304922b8a 修复公众号授权登录bug 2022-12-23 16:13:30 +08:00
Jason
049209bfca 调整代码生成器模板 2022-12-23 14:50:25 +08:00
TinyAnts
dc5ed4b14b 修改包 2022-12-21 12:06:38 +08:00
TinyAnts
9beff48e28 增加演示环境拦截 2022-12-21 11:21:54 +08:00
TinyAnts
173640af07 微信扫码登录 2022-12-20 17:56:19 +08:00
TinyAnts
919cdc243c Merge branch 'develop' of https://gitee.com/likeadmin/likeadmin_java into develop 2022-12-20 17:33:08 +08:00
TinyAnts
670ac0208c 扫码登录 2022-12-20 17:33:01 +08:00
caijianhao
869c444fa5 Merge branch 'develop' of https://gitee.com/likeadmin/likeadmin_java into develop 2022-12-20 17:09:01 +08:00
caijianhao
8b6b0e5257 调整网站信息设置接口 2022-12-20 17:08:38 +08:00
TinyAnts
8fed83cd15 优化用户端登录代码 2022-12-20 16:13:45 +08:00
caijianhao
864b54951a Merge branch 'develop' of https://gitee.com/likeadmin/likeadmin_java into develop
# Conflicts:
#	server/like-front/src/main/java/com/mdd/front/config/FrontConfig.java
2022-12-20 15:50:21 +08:00
caijianhao
9e89783add pc端首页接口 2022-12-20 15:49:29 +08:00
TinyAnts
3b8e501a0b 优化登录代码 2022-12-20 15:22:17 +08:00
TinyAnts
3e97c2201b 增加开放平台渠道设置管理 2022-12-20 14:53:08 +08:00
TinyAnts
3b5a8ae197 Merge branch 'develop' of https://gitee.com/likeadmin/likeadmin_java into develop
# Conflicts:
#	server/like-front/src/main/java/com/mdd/front/config/FrontConfig.java
2022-12-20 11:56:17 +08:00
TinyAnts
43983deb48 扫码登录二维码 2022-12-20 11:55:21 +08:00
caijianhao
2022859769 Merge branch 'develop' of https://gitee.com/likeadmin/likeadmin_java into develop 2022-12-20 11:36:29 +08:00
DESKTOP-9BP5159\XY-003
bdf79ccb84 pc端配置接口 2022-12-20 11:36:20 +08:00
DESKTOP-9BP5159\XY-003
2a1d803c5f 调整接口 2022-12-20 11:23:26 +08:00
TinyAnts
444ea6b4cb 修复代码生成器bug 2022-12-12 18:03:59 +08:00
TinyAnts
f76a83b918 增加描述 2022-12-08 14:55:06 +08:00
TinyAnts
6e7292b97c Merge branch 'release/1.3.5' 2022-12-07 14:58:33 +08:00
TinyAnts
4281a0f5bc Merge tag '1.3.5' into develop 2022-12-07 14:58:33 +08:00
TinyAnts
933ea5a3dd bug处理 2022-12-07 10:10:54 +08:00
TinyAnts
75c8b03969 Merge branch 'develop' of https://gitee.com/likeadmin/likeadmin_java into develop 2022-12-06 10:20:56 +08:00
TinyAnts
a22fe53275 修复附件管理名称超长问题 2022-12-06 09:40:00 +08:00
TinyAnts
85ba64cd2f 处理日志功能时间线程问题 2022-12-06 09:39:33 +08:00
Jason
1d83523405 定时任务列表添加最后执行时间 2022-12-06 09:32:43 +08:00
xinjie
1ab2ca6b4e 打包 2022-12-02 17:03:56 +08:00
xinjie
5c043df578 完成定时任务对接 2022-12-02 17:01:30 +08:00
TinyAnts
f7a1b14500 修复定时任务新增没有分组 2022-12-02 16:54:46 +08:00
TinyAnts
a1a70346c9 init 2022-12-02 15:01:39 +08:00
TinyAnts
edfbe6ab4c 开放权限 2022-12-02 14:49:01 +08:00
TinyAnts
d593391f62 Merge branch 'develop' of https://gitee.com/likeadmin/likeadmin_java into develop 2022-12-02 14:42:31 +08:00
TinyAnts
5f5026d40c 优化工具类的命名 2022-12-02 14:42:20 +08:00
xinjie
2453b0fc3b 修复上传文件请求头参数错误问题 2022-12-02 14:40:25 +08:00
TinyAnts
0077e75e85 修复管理员搜索bug 2022-12-02 14:18:29 +08:00
TinyAnts
327f0df6a9 增加定时任务管理 2022-12-02 14:14:34 +08:00
TinyAnts
03d09ca7d7 增加定时任务管理 2022-12-01 14:27:19 +08:00
TinyAnts
621e7916dc 计划任务管理 2022-11-30 22:09:27 +08:00
TinyAnts
c2a64e30f5 Merge branch 'develop' of https://gitee.com/likeadmin/likeadmin_java into develop 2022-11-30 15:57:27 +08:00
TinyAnts
698d44696e 接入EasyExel依赖 2022-11-30 15:54:10 +08:00
xinjie
ef350201ca 调整管理员支持多部门多角色 2022-11-29 19:05:29 +08:00
TinyAnts
06bc994b42 修复管理员报错 2022-11-29 18:52:47 +08:00
windy
2c5310ca21 调整 多角色 多部门 多岗位 2022-11-29 16:57:15 +08:00
全栈程序员钟哥
0c5d7641b0 修改文档内容
Signed-off-by: 全栈程序员钟哥 <294687409@qq.com>
2022-11-22 06:21:47 +00:00
xinjie
af92e6209c 微信小程序头像,昵称调整 2022-11-21 15:52:00 +08:00
lr
cab7c3af39 Merge branch 'hotfix/lr-20221120' 2022-11-20 23:23:20 +08:00
lr
c38c46c09f Merge branch 'master' into develop 2022-11-20 23:23:20 +08:00
lr
1805cb1515 调整README信息 2022-11-20 23:23:01 +08:00
TinyAnts
0d086f6198 Merge tag '1.3.4' into develop 2022-11-17 18:55:44 +08:00
TinyAnts
4d43d7cdcc Merge branch 'release/1.3.4' 2022-11-17 18:55:42 +08:00
TinyAnts
8105c877af 安装sql 2022-11-17 18:28:16 +08:00
TinyAnts
ff5b649969 修复管理员编辑bug 2022-11-17 18:07:11 +08:00
Jason
c64d0151b3 打包,调整文件接口路径 2022-11-17 17:45:49 +08:00
Jason
98328e1bb1 打包 2022-11-17 17:33:22 +08:00
TinyAnts
402321fe3c 系统管理员编辑限制 2022-11-17 17:32:29 +08:00
TinyAnts
830c10ea73 增加系统管理员校验 2022-11-17 17:31:13 +08:00
TinyAnts
728a0f6ec5 调整注释 2022-11-17 17:03:25 +08:00
TinyAnts
40df111da7 修复通知设置bug 2022-11-17 16:40:28 +08:00
Jason
1d7c2383c1 调整素材中心按钮权限相关 2022-11-17 16:38:59 +08:00
Jason
3137a59566 Merge branch 'develop' of https://gitee.com/likeshop_gitee/likeadmin-java into develop 2022-11-17 16:25:37 +08:00
Jason
339f63c0c0 调整素材相关接口 2022-11-17 16:25:28 +08:00
TinyAnts
edc5357b8c 调整素材接口 2022-11-17 16:14:51 +08:00
TinyAnts
e22508240d Merge branch 'develop' of https://gitee.com/likeadmin/likeadmin_java into develop 2022-11-17 16:09:06 +08:00
TinyAnts
8480f98f28 调整登录异常监控 2022-11-17 16:09:01 +08:00
Jason
45b11402ce 调整管理员 2022-11-17 16:06:23 +08:00
TinyAnts
ef53643368 修复用户忘记密码bug 2022-11-17 15:42:26 +08:00
TinyAnts
41d372da5f 修复用户修改密码依然是密码错误bug 2022-11-17 15:40:47 +08:00
TinyAnts
aa4ba06be0 修复用户修改密码bug 2022-11-17 15:30:06 +08:00
TinyAnts
aa92623d7c 调整登录时效读配置 2022-11-17 15:27:11 +08:00
TinyAnts
b13523ca5e 优化登录时效配置 2022-11-17 15:18:45 +08:00
TinyAnts
522c698f6c 修复uniapp端更新手机号后createTime被更新 2022-11-17 15:07:32 +08:00
TinyAnts
b1fe1d9d47 Merge branch 'develop' of https://gitee.com/likeadmin/likeadmin_java into develop 2022-11-17 14:59:48 +08:00
TinyAnts
25a85adf9e 处理编辑管理员 2022-11-17 14:59:32 +08:00
Jason
54c58d6ee1 调整后台底部导航,上传文件接口 2022-11-17 14:57:35 +08:00
TinyAnts
52615d1646 sa-token异常拦截 2022-11-17 14:53:29 +08:00
TinyAnts
2cd73748bb 修复底部导航编辑bug 2022-11-17 12:18:53 +08:00
TinyAnts
e23cb64f32 调整上传目录配置 2022-11-17 12:02:04 +08:00
TinyAnts
c639499fbc 修复静态图片404问题 2022-11-17 11:50:27 +08:00
TinyAnts
bd97df6f7b 优化代码 2022-11-17 11:39:14 +08:00
TinyAnts
e211426c1a 优化404拦截写法 2022-11-16 23:21:59 +08:00
TinyAnts
dafaf09011 修复json响应工具 2022-11-16 23:09:33 +08:00
TinyAnts
97b8f7016d 调整代码生成器 2022-11-16 22:59:16 +08:00
TinyAnts
3247a5f7d0 调整代码生成器 2022-11-16 22:06:21 +08:00
TinyAnts
57c88cf773 调整代码生成器 2022-11-16 19:01:45 +08:00
TinyAnts
329734b332 代码生成器 2022-11-16 18:17:59 +08:00
TinyAnts
c622781003 代码生成器调整 2022-11-16 17:54:01 +08:00
xinjie
e89f22cd8c 调整接口的一些字段及接口名称 2022-11-16 16:18:59 +08:00
TinyAnts
6db7255ed3 优化通知驱动类 2022-11-16 16:11:38 +08:00
TinyAnts
7a37ac18ac 修复通知设置bug 2022-11-16 15:01:40 +08:00
TinyAnts
ca9a251176 修复管理员编辑bug 2022-11-16 12:08:09 +08:00
TinyAnts
798d12c16f 修复登录问题 2022-11-16 12:00:43 +08:00
TinyAnts
124b1ff5dd 调整json转换工具 2022-11-16 11:49:39 +08:00
TinyAnts
a5d63d6c96 接入sa-token 2022-11-16 11:35:52 +08:00
TinyAnts
956bf841b3 整体优化代码结构 2022-11-15 22:25:17 +08:00
xinjie
e685304616 移动端-资讯中心下拉导航栏消失问题 2022-11-15 14:59:23 +08:00
xinjie
abbd23e332 可视化装修能拖拽排序 2022-11-15 14:46:12 +08:00
xinjie
37d39503bd 修改工作台二维码图片 2022-11-15 14:30:34 +08:00
xinjie
8055572f19 设置添加面包屑,logo配置 2022-11-15 14:23:03 +08:00
xinjie
7383a145b4 设置添加面包屑,logo配置 2022-11-15 14:18:24 +08:00
TinyAnts
1ab009544f Merge tag '13.3' into develop 2022-10-14 17:09:06 +08:00
956 changed files with 32680 additions and 7081 deletions

4
.gitignore vendored
View File

@@ -7,4 +7,6 @@ application-dev.yml
application-pro.yml
application-dem.yml
application-prod.yml
application-test.yml
application-test.yml
/public/uploads/*
!/public/uploads/index.html

View File

@@ -14,7 +14,8 @@
账号admin 密码123456
### 手机端uniapp前台
<img width="40%" src="https://md.likeshop.cn/server/index.php?s=/api/attachment/visitFile&sign=260c0869d9ba7e692b2db1e216078241" /><br>
### 开发文档
地址:[https://www.likeadmin.cn](https://www.likeadmin.cn "https://www.likeadmin.cn")
## 👨‍💻‍简介
@@ -52,6 +53,3 @@
<div class="half">
<img width="30%" src="https://md.likeshop.cn/server/index.php?s=/api/attachment/visitFile&sign=2dbac190afadfb6650a04c8af44980e1" /> <img width="30%" src="https://md.likeshop.cn/server/index.php?s=/api/attachment/visitFile&sign=73adbdb91ff5c43ca3e694a99effae7a" /> <img width="30%" src="https://md.likeshop.cn/server/index.php?s=/api/attachment/visitFile&sign=55b51eaebd7d696f96ccbf60d4694368" />
</div><br>
### 🪐接口文档
[点击这里进入更多更详细文档。](https://www.likeadmin.cn "点击这里进入更多更详细文档。")

View File

@@ -4,7 +4,7 @@ import fsExtra from 'fs-extra'
const { existsSync, remove, copy } = fsExtra
const cwd = process.cwd()
//打包发布路径,谨慎改动
const releaseRelativePath = '../frontend'
const releaseRelativePath = '../public/admin'
const distPath = path.resolve(cwd, 'dist')
const releasePath = path.resolve(cwd, releaseRelativePath)

View File

@@ -2,10 +2,10 @@ import request from '@/utils/request'
// 配置
export function getConfig() {
return request.get({ url: '/common/index/config' })
return request.get({ url: '/index/config' })
}
// 工作台主页
export function getWorkbench() {
return request.get({ url: '/common/index/console' })
return request.get({ url: '/index/console' })
}

View File

@@ -2,10 +2,10 @@ import request from '@/utils/request'
// 微信开发平台配置保存
export function setWxDevConfig(params: any) {
return request.post({ url: '/channel/wx/save', params })
return request.post({ url: '/channel/op/save', params })
}
// 微信开发平台配置详情
export function getWxDevConfig() {
return request.get({ url: '/channel/wx/detail' })
return request.get({ url: '/channel/op/detail' })
}

View File

@@ -1,39 +1,39 @@
import request from '@/utils/request'
export function fileCateAdd(params: Record<string, any>) {
return request.post({ url: '/common/album/cateAdd', params })
return request.post({ url: '/albums/cateAdd', params })
}
export function fileCateEdit(params: Record<string, any>) {
return request.post({ url: '/common/album/cateRename', params })
return request.post({ url: '/albums/cateRename', params })
}
// 文件分类删除
export function fileCateDelete(params: Record<string, any>) {
return request.post({ url: '/common/album/cateDel', params })
return request.post({ url: '/albums/cateDel', params })
}
// 文件分类列表
export function fileCateLists(params: Record<string, any>) {
return request.get({ url: '/common/album/cateList', params })
return request.get({ url: '/albums/cateList', params })
}
// 文件列表
export function fileList(params: Record<string, any>) {
return request.get({ url: '/common/album/albumList', params })
return request.get({ url: '/albums/albumList', params })
}
// 文件删除
export function fileDelete(params: Record<string, any>) {
return request.post({ url: '/common/album/albumDel', params })
return request.post({ url: '/albums/albumDel', params })
}
// 文件移动
export function fileMove(params: Record<string, any>) {
return request.post({ url: '/common/album/albumMove', params })
return request.post({ url: '/albums/albumMove', params })
}
// 文件重命名
export function fileRename(params: { id: number; name: string }) {
return request.post({ url: '/common/album/albumRename', params })
return request.post({ url: '/albums/albumRename', params })
}

View File

@@ -14,3 +14,28 @@ export function systemLogLists(params: any) {
export function systemCache() {
return request.get({ url: '/monitor/cache' })
}
// 定时任务列表
export function crontabLists(params: any) {
return request.get({ url: '/crontab/list', params })
}
// 添加定时任务
export function crontabAdd(params: any) {
return request.post({ url: '/crontab/add', params })
}
// 定时任务详情
export function crontabDetail(params: any) {
return request.get({ url: '/crontab/detail', params })
}
// 编辑定时任务
export function crontabEdit(params: any) {
return request.post({ url: '/crontab/edit', params })
}
// 删除定时任务
export function crontabDel(params: any) {
return request.post({ url: '/crontab/del', params })
}

View File

@@ -10,6 +10,15 @@ export function dataTable(params: any) {
return request.get({ url: '/gen/db', params })
}
// 数据表所有列表接口
export function dataTableAll() {
return request.get({ url: '/gen/dbAll' })
}
//表名查字段
export function dataTableToColumn(params: any) {
return request.get({ url: '/gen/dbColumn', params })
}
//选择要生成代码的数据表
export function selectTable(params: any) {
return request.post(

View File

@@ -24,10 +24,7 @@
<overflow-tooltip :content="data.name" />
</span>
<el-dropdown
v-perms="[
'common:album:cateRename',
'common:album:cateDel'
]"
v-perms="['albums:cateRename', 'albums:cateDel']"
v-if="data.id > 0"
:hide-on-click="false"
>
@@ -35,7 +32,7 @@
<template #dropdown>
<el-dropdown-menu>
<popover-input
v-perms="['common:album:cateRename']"
v-perms="['albums:cateRename']"
@confirm="handleEditCate($event, data.id)"
size="default"
:value="data.name"
@@ -51,7 +48,7 @@
</div>
</popover-input>
<div
v-perms="['common:album:cateDel']"
v-perms="['albums:cateDel']"
@click="handleDeleteCate(data.id)"
>
<el-dropdown-item>删除分组</el-dropdown-item>
@@ -68,7 +65,7 @@
<div class="flex justify-center p-2 border-t border-br">
<popover-input
v-perms="['common:album:cateAdd']"
v-perms="['albums:cateAdd']"
@confirm="handleAddCate"
size="default"
width="400px"
@@ -85,7 +82,7 @@
<div class="flex-1 flex">
<upload
v-if="type == 'image'"
v-perms="['common:upload:image']"
v-perms="['upload:image']"
class="mr-3"
:data="{ cid: cateId }"
:type="type"
@@ -96,7 +93,7 @@
</upload>
<upload
v-if="type == 'video'"
v-perms="['common:upload:video']"
v-perms="['upload:video']"
class="mr-3"
:data="{ cid: cateId }"
:type="type"
@@ -106,7 +103,7 @@
<el-button type="primary">本地上传</el-button>
</upload>
<el-button
v-perms="['common:album:albumDel']"
v-perms="['albums:albumDel']"
v-if="mode == 'page'"
:disabled="!select.length"
@click.stop="batchFileDelete()"
@@ -115,7 +112,7 @@
</el-button>
<popup
v-perms="['common:album:albumMove']"
v-perms="['albums:albumMove']"
v-if="mode == 'page'"
class="ml-3"
@confirm="batchFileMove"
@@ -214,7 +211,7 @@
<overflow-tooltip class="mt-1" :content="item.name" />
<div class="operation-btns flex items-center">
<popover-input
v-perms="['common:album:albumRename']"
v-perms="['albums:albumRename']"
@confirm="handleFileRename($event, item.id)"
size="default"
:value="item.name"
@@ -263,7 +260,7 @@
<el-table-column prop="createTime" label="上传时间" min-width="100" />
<el-table-column label="操作" width="150" fixed="right">
<template #default="{ row }">
<div class="inline-block" v-perms="['common:album:albumRename']">
<div class="inline-block" v-perms="['albums:albumRename']">
<popover-input
@confirm="handleFileRename($event, row.id)"
size="default"
@@ -281,7 +278,7 @@
查看
</el-button>
</div>
<div class="inline-block" v-perms="['common:album:albumDel']">
<div class="inline-block" v-perms="['albums:albumDel']">
<el-button
type="primary"
link
@@ -315,14 +312,14 @@
</el-checkbox>
</span>
<el-button
v-perms="['common:album:albumDel']"
v-perms="['albums:albumDel']"
:disabled="!select.length"
@click="batchFileDelete()"
>
删除
</el-button>
<popup
v-perms="['common:album:albumMove']"
v-perms="['albums:albumMove']"
class="ml-3 inline"
@confirm="batchFileMove"
:disabled="!select.length"

View File

@@ -79,9 +79,9 @@ export default defineComponent({
setup(props, { emit }) {
const userStore = useUserStore()
const uploadRefs = shallowRef<InstanceType<typeof ElUpload>>()
const action = ref(`${config.baseUrl}${config.urlPrefix}/common/upload/${props.type}`)
const action = ref(`${config.baseUrl}${config.urlPrefix}/upload/${props.type}`)
const headers = computed(() => ({
token: userStore.token,
['like-admin']: userStore.token,
version: config.version
}))
const visible = ref(false)

View File

@@ -1,7 +1,7 @@
const config = {
terminal: 1, //终端
title: '后台管理系统', //网站默认标题
version: '1.3.3', //版本号
version: '1.4.0', //版本号
baseUrl: `${import.meta.env.VITE_APP_BASE_URL || ''}/`, //请求接口域名
urlPrefix: 'api', //请求默认前缀
timeout: 10 * 1000 //请求超时时长

View File

@@ -1,4 +1,6 @@
const defaultSetting = {
showCrumb: true, // 是否显示面包屑
showLogo: true, // 是否显示logo
isUniqueOpened: false, //只展开一个一级菜单
sideWidth: 200, //侧边栏宽度
sideTheme: 'light', //侧边栏主题

View File

@@ -8,7 +8,7 @@
<div class="navbar-item">
<refresh />
</div>
<div class="flex items-center px-2" v-if="!isMobile">
<div class="flex items-center px-2" v-if="!isMobile && settingStore.showCrumb">
<breadcrumb />
</div>
</div>

View File

@@ -57,9 +57,23 @@
/>
</div>
</div>
<div class="setting-item mb-5">
<div class="text-tx-secondary mb-4">菜单栏宽度</div>
<div><el-input-number v-model="sideWidth" :min="180" :max="250" /></div>
<div class="setting-item mb-5 flex justify-between items-center">
<div class="text-tx-secondary flex-none mr-3">菜单栏宽度</div>
<div>
<el-input-number v-model="sideWidth" :min="180" :max="250" />
</div>
</div>
<div class="setting-item mb-5 flex justify-between items-center">
<div class="text-tx-secondary flex-none mr-3">显示LOGO</div>
<div>
<el-switch v-model="showLogo" :active-value="true" :inactive-value="false" />
</div>
</div>
<div class="setting-item mb-5 flex justify-between items-center">
<div class="text-tx-secondary flex-none mr-3">显示面包屑</div>
<div>
<el-switch v-model="showCrumb" :active-value="true" :inactive-value="false" />
</div>
</div>
<div class="setting-item mb-5 flex justify-between items-center">
<el-button @click="resetTheme">重置主题</el-button>
@@ -158,6 +172,30 @@ const theme = computed({
}
})
const showLogo = computed({
get() {
return settingStore.showLogo
},
set(value) {
settingStore.setSetting({
key: 'showLogo',
value
})
}
})
const showCrumb = computed({
get() {
return settingStore.showCrumb
},
set(value) {
settingStore.setSetting({
key: 'showCrumb',
value
})
}
})
const isDark = useDark()
const themeChange = () => {
settingStore.setTheme(isDark.value)

View File

@@ -1,6 +1,6 @@
<template>
<div class="side" :style="sideStyle">
<side-logo :show-title="!isCollapsed" :theme="sideTheme" />
<side-logo v-if="settingStore.showLogo" :show-title="!isCollapsed" :theme="sideTheme" />
<side-menu
:routes="routes"
:isCollapsed="isCollapsed"

View File

@@ -6,5 +6,6 @@ import './styles/index.scss'
import 'virtual:svg-icons-register'
const app = createApp(App)
console.log(app)
app.use(install)
app.mount('#app')

View File

@@ -21,7 +21,7 @@ const axiosHooks: AxiosHooks = {
// 添加token
if (withToken) {
const token = getToken()
headers.token = token
headers['like-admin'] = token
}
// POST请求下如果无data则将params视为data
if (

View File

@@ -3,14 +3,14 @@
<el-card class="!border-none" shadow="never">
<el-alert
type="warning"
title="温馨提示:填写微信开放平台开发配置,请前往微信开放平台创建应用并完成认证;APP应用配置主要用于APP微信登录和微信支付"
title="温馨提示:填写微信开放平台开发配置,请前往微信开放平台创建应用并完成认证;网站应用配置主要用于网站微信登录和微信支付"
:closable="false"
show-icon
/>
</el-card>
<el-form ref="formRef" :model="formData" label-width="160px">
<el-card class="!border-none mt-4" shadow="never">
<div class="font-medium mb-7">APP应用</div>
<div class="font-medium mb-7">网站应用</div>
<el-form-item label="AppID" prop="appId">
<div class="w-80">
<el-input v-model="formData.appId" placeholder="请输入AppID" />
@@ -23,20 +23,15 @@
</div>
</div>
</el-form-item>
<el-form-item>
<div class="form-tips">
小程序账号登录微信公众平台点击开发>开发设置->开发者ID设置AppID和AppSecret
</div>
</el-form-item>
</el-card>
</el-form>
<footer-btns v-perms="['channel:wx:save']">
<footer-btns v-perms="['channel:op:save']">
<el-button type="primary" @click="handelSave">保存</el-button>
</footer-btns>
</div>
</template>
<script lang="ts" setup name="wxDevConfig">
import { getWxDevConfig, setWxDevConfig } from '@/api/channel/wx_dev'
import { getWxDevConfig, setWxDevConfig } from '@/api/channel/wx_op'
import feedback from '@/utils/feedback'
const formData = reactive({

View File

@@ -1,37 +1,36 @@
<template>
<div>
<div>
<del-wrap
class="max-w-[400px]"
v-for="(item, index) in modelValue"
:key="index"
@close="handleDelete(index)"
>
<div class="bg-fill-light flex items-center w-full p-4 mb-4">
<material-picker
v-model="item.image"
upload-class="bg-body"
size="60px"
exclude-domain
>
<template #upload>
<div class="upload-btn w-[60px] h-[60px]">
<icon name="el-icon-Plus" :size="20" />
<draggable class="draggable" v-model="navLists" animation="300">
<template v-slot:item="{ element: item, index }">
<del-wrap class="max-w-[400px]" :key="index" @close="handleDelete(index)">
<div class="bg-fill-light flex items-center w-full p-4 mb-4 cursor-move">
<material-picker
v-model="item.image"
upload-class="bg-body"
size="60px"
exclude-domain
>
<template #upload>
<div class="upload-btn w-[60px] h-[60px]">
<icon name="el-icon-Plus" :size="20" />
</div>
</template>
</material-picker>
<div class="ml-3 flex-1">
<div class="flex">
<span class="text-tx-regular flex-none mr-3">名称</span>
<el-input v-model="item.name" placeholder="请输入名称" />
</div>
<div class="flex mt-[18px]">
<span class="text-tx-regular flex-none mr-3">链接</span>
<link-picker v-model="item.link" />
</div>
</div>
</template>
</material-picker>
<div class="ml-3 flex-1">
<div class="flex">
<span class="text-tx-regular flex-none mr-3">名称</span>
<el-input v-model="item.name" placeholder="请输入名称" />
</div>
<div class="flex mt-[18px]">
<span class="text-tx-regular flex-none mr-3">链接</span>
<link-picker v-model="item.link" />
</div>
</div>
</div>
</del-wrap>
</del-wrap>
</template>
</draggable>
</div>
<div>
<el-button type="primary" @click="handleAdd">添加</el-button>
@@ -41,7 +40,7 @@
<script lang="ts" setup>
import feedback from '@/utils/feedback'
import type { PropType } from 'vue'
import Draggable from 'vuedraggable'
const props = defineProps({
modelValue: {
type: Array as PropType<any[]>,
@@ -57,9 +56,19 @@ const props = defineProps({
}
})
const emit = defineEmits(['update:modelValue'])
const navLists = computed({
get() {
return props.modelValue
},
set(value) {
emit('update:modelValue', value)
}
})
const handleAdd = () => {
if (props.modelValue?.length < props.max) {
props.modelValue.push({
navLists.value.push({
image: '',
name: '导航名称',
link: {}
@@ -72,7 +81,7 @@ const handleDelete = (index: number) => {
if (props.modelValue?.length <= props.min) {
return feedback.msgError(`最少保留${props.min}`)
}
props.modelValue.splice(index, 1)
navLists.value.splice(index, 1)
}
</script>

View File

@@ -11,6 +11,7 @@
:is="widgets[widget?.name]?.attr"
:content="widget?.content"
:styles="widget?.styles"
:type="type"
/>
</keep-alive>
</div>
@@ -23,6 +24,10 @@ const props = defineProps({
widget: {
type: Object as PropType<Record<string, any>>,
default: () => ({})
},
type: {
type: String as PropType<'mobile' | 'pc'>,
default: 'mobile'
}
})
</script>

View File

@@ -0,0 +1,67 @@
<template>
<div class="pages-preview">
<div
v-for="(widget, index) in pageData"
:key="widget.id"
class="relative"
:class="{
'cursor-pointer': !widget?.disabled
}"
@click="handleClick(widget, index)"
>
<div
class="absolute w-full h-full z-[100] border-dashed"
:class="{
select: index == modelValue,
'border-[#dcdfe6] border-2': !widget?.disabled
}"
:style="widget.styles"
></div>
<slot>
<component
:is="widgets[widget?.name]?.content"
:content="widget.content"
:styles="widget.styles"
:key="widget.id"
/>
</slot>
</div>
</div>
</template>
<script lang="ts" setup>
import widgets from '../widgets'
import type { PropType } from 'vue'
defineProps({
pageData: {
type: Array as PropType<any[]>,
default: () => []
},
modelValue: {
type: Number,
default: 0
}
})
const emit = defineEmits<{
(event: 'update:modelValue', value: number): void
}>()
const handleClick = (widget: any, index: number) => {
if (widget.disabled) return
emit('update:modelValue', index)
}
</script>
<style lang="scss" scoped>
.pages-preview {
width: 460px;
height: 360px;
background: url(../../image/pc_index.png);
background-size: 100% 100%;
background-repeat: no-repeat;
.select {
@apply border-primary border-solid;
}
}
</style>

View File

@@ -1,7 +1,7 @@
<template>
<div>
<el-form label-width="70px">
<el-form-item label="是否启用">
<el-form-item label="是否启用" v-if="type == 'mobile'">
<el-radio-group v-model="content.enabled">
<el-radio :label="1">开启</el-radio>
<el-radio :label="0">停用</el-radio>
@@ -10,28 +10,44 @@
<el-form-item label="图片设置">
<div class="flex-1">
<div class="form-tips">最多添加5张建议图片尺寸750px*340px</div>
<del-wrap
v-for="(item, index) in content.data"
:key="index"
@close="handleDelete(index)"
class="max-w-[400px]"
>
<div class="bg-fill-light flex items-center w-full p-4 mt-4">
<material-picker
v-model="item.image"
upload-class="bg-body"
exclude-domain
/>
<div class="ml-3 flex-1">
<el-form-item label="图片名称">
<el-input v-model="item.name" placeholder="请输入名称" />
</el-form-item>
<el-form-item class="mt-[18px]" label="图片链接">
<link-picker v-model="item.link" />
</el-form-item>
</div>
</div>
</del-wrap>
<draggable class="draggable" v-model="content.data" animation="300">
<template v-slot:item="{ element: item, index }">
<del-wrap
:key="index"
@close="handleDelete(index)"
class="max-w-[400px]"
>
<div
class="bg-fill-light flex items-center w-full p-4 mt-4 cursor-move"
>
<material-picker
v-model="item.image"
upload-class="bg-body"
exclude-domain
/>
<div class="ml-3 flex-1">
<el-form-item label="图片名称">
<el-input
v-model="item.name"
placeholder="请输入名称"
/>
</el-form-item>
<el-form-item class="mt-[18px]" label="图片链接">
<link-picker
v-if="type == 'mobile'"
v-model="item.link"
/>
<el-input
v-if="type == 'pc'"
placeholder="请输入链接"
v-model="item.link.path"
/>
</el-form-item>
</div>
</div>
</del-wrap>
</template>
</draggable>
</div>
</el-form-item>
<el-form-item v-if="content.data?.length < limit">
@@ -44,6 +60,7 @@
import feedback from '@/utils/feedback'
import type { PropType } from 'vue'
import type options from './options'
import Draggable from 'vuedraggable'
const limit = 5
type OptionsType = ReturnType<typeof options>
const props = defineProps({
@@ -54,6 +71,10 @@ const props = defineProps({
styles: {
type: Object as PropType<OptionsType['styles']>,
default: () => ({})
},
type: {
type: String as PropType<'mobile' | 'pc'>,
default: 'mobile'
}
})

View File

@@ -1,7 +1,12 @@
<template>
<div class="banner">
<div class="banner-image">
<decoration-img width="100%" height="170px" :src="getImage" fit="contain" />
<div class="banner" :style="styles">
<div class="banner-image w-full h-full">
<decoration-img
width="100%"
:height="styles.height || height"
:src="getImage"
fit="contain"
/>
</div>
</div>
</template>
@@ -18,6 +23,10 @@ const props = defineProps({
styles: {
type: Object as PropType<OptionsType['styles']>,
default: () => ({})
},
height: {
type: String,
default: '170px'
}
})

View File

@@ -10,28 +10,36 @@
<el-form-item label="图片设置">
<div class="flex-1">
<div class="form-tips">最多添加5张建议图片尺寸750px*200px</div>
<del-wrap
v-for="(item, index) in content.data"
:key="index"
@close="handleDelete(index)"
class="max-w-[400px]"
>
<div class="bg-fill-light flex items-center w-full p-4 mt-4">
<material-picker
v-model="item.image"
upload-class="bg-body"
exclude-domain
/>
<div class="ml-3 flex-1">
<el-form-item label="图片名称">
<el-input v-model="item.name" placeholder="请输入名称" />
</el-form-item>
<el-form-item class="mt-[18px]" label="图片链接">
<link-picker v-model="item.link" />
</el-form-item>
</div>
</div>
</del-wrap>
<draggable class="draggable" v-model="content.data" animation="300">
<template v-slot:item="{ element: item, index }">
<del-wrap
:key="index"
@close="handleDelete(index)"
class="max-w-[400px]"
>
<div
class="bg-fill-light flex items-center w-full p-4 mt-4 cursor-move"
>
<material-picker
v-model="item.image"
upload-class="bg-body"
exclude-domain
/>
<div class="ml-3 flex-1">
<el-form-item label="图片名称">
<el-input
v-model="item.name"
placeholder="请输入名称"
/>
</el-form-item>
<el-form-item class="mt-[18px]" label="图片链接">
<link-picker v-model="item.link" />
</el-form-item>
</div>
</div>
</del-wrap>
</template>
</draggable>
</div>
</el-form-item>
<el-form-item v-if="content.data?.length < limit">
@@ -44,6 +52,7 @@
import feedback from '@/utils/feedback'
import type { PropType } from 'vue'
import type options from './options'
import Draggable from 'vuedraggable'
const limit = 5
type OptionsType = ReturnType<typeof options>
const props = defineProps({

Binary file not shown.

After

Width:  |  Height:  |  Size: 516 KiB

View File

@@ -0,0 +1,90 @@
<template>
<div class="decoration-pages min-w-[1100px]">
<el-card shadow="never" class="!border-none flex-1 flex" :body-style="{ flex: 1 }">
<div class="flex h-full items-start">
<Menu v-model="activeMenu" :menus="menus" />
<preview-pc class="mx-4" v-model="selectWidgetIndex" :pageData="getPageData" />
<attr-setting class="flex-1" :widget="getSelectWidget" type="pc" />
</div>
</el-card>
<footer-btns class="mt-4" :fixed="false" v-perms="['decorate:pages:save']">
<el-button type="primary" @click="setData">保存</el-button>
</footer-btns>
</div>
</template>
<script lang="ts" setup name="decorationPc">
import Menu from './component/pages/menu.vue'
import PreviewPc from './component/pages/preview-pc.vue'
import AttrSetting from './component/pages/attr-setting.vue'
import widgets from './component/widgets'
import { getDecoratePages, setDecoratePages } from '@/api/decoration'
import { getNonDuplicateID } from '@/utils/util'
enum pagesTypeEnum {
HOME = '4'
}
const generatePageData = (widgetNames: string[]) => {
return widgetNames.map((widgetName) => {
const options = {
id: getNonDuplicateID(),
...(widgets[widgetName]?.options() || {})
}
return options
})
}
const menus: Record<
string,
{
id: number
name: string
pageData: any[]
}
> = reactive({
[pagesTypeEnum.HOME]: {
id: 4,
pageType: 4,
name: 'pc首页装修',
pageData: []
}
})
const activeMenu = ref('4')
const selectWidgetIndex = ref(0)
const getPageData = computed(() => {
return menus[activeMenu.value]?.pageData ?? []
})
const getSelectWidget = computed(() => {
return menus[activeMenu.value]?.pageData[selectWidgetIndex.value] ?? ''
})
const getData = async () => {
const data = await getDecoratePages({ id: activeMenu.value })
menus[String(data.id)].pageData = JSON.parse(data.pageData)
selectWidgetIndex.value = getPageData.value.findIndex((item) => !item.disabled)
}
const setData = async () => {
await setDecoratePages({
...menus[activeMenu.value],
pageData: JSON.stringify(menus[activeMenu.value].pageData)
})
getData()
}
watch(
activeMenu,
() => {
selectWidgetIndex.value = getPageData.value.findIndex((item) => !item.disabled)
getData()
},
{
immediate: true
}
)
</script>
<style lang="scss" scoped>
.decoration-pages {
min-height: calc(100vh - var(--navbar-height) - 80px);
@apply flex flex-col;
}
</style>

View File

@@ -188,7 +188,7 @@ const onMove = (e: any) => {
const getData = async () => {
const data = await getDecorateTabbar()
tabbar.list = data.list.map((item: any) => ({ ...item, link: JSON.parse(item.link) }))
tabbar.list = data.list
tabbar.style = data.style
}
const setData = async () => {

View File

@@ -8,7 +8,7 @@
ref="formRef"
class="ls-form"
:model="formData"
label-width="100px"
label-width="130px"
:rules="rules"
>
<el-tabs v-model="activeName">
@@ -218,11 +218,50 @@
</div>
</el-form-item>
<el-form-item label="生成方式" prop="gen.genType">
<el-radio-group v-model="formData.gen.genType">
<el-radio :label="GenType.ZIP">压缩包下载</el-radio>
<el-radio :label="GenType.CUSTOM_PATH">自定义路径</el-radio>
</el-radio-group>
<div>
<el-radio-group v-model="formData.gen.genType">
<el-radio :label="GenType.ZIP">压缩包下载</el-radio>
<el-radio :label="GenType.CUSTOM_PATH">自定义路径</el-radio>
</el-radio-group>
<div class="form-tips">压縮包下载方式暂不支持自动构建菜单权限</div>
</div>
</el-form-item>
<el-form-item label="菜单构建" prop="gen.menuStatus" required>
<div>
<el-radio-group v-model="formData.gen.menuStatus">
<el-radio :label="1">自动构建</el-radio>
<el-radio :label="0">手动添加</el-radio>
</el-radio-group>
<div class="form-tips">
自动构建自动执行生成菜单sql 手动添加自行添加菜单
</div>
</div>
</el-form-item>
<el-form-item label="父级菜单" prop="gen.menuPid">
<el-tree-select
class="w-80"
v-model="formData.gen.menuPid"
:data="optionsData.menu"
clearable
node-key="id"
:props="{
label: 'menuName'
}"
default-expand-all
placeholder="请选择父级菜单"
check-strictly
/>
</el-form-item>
<el-form-item label="菜单名称" prop="gen.menuName">
<div class="w-80">
<el-input
v-model="formData.gen.menuName"
placeholder="请输入菜单名称"
clearable
/>
</div>
</el-form-item>
<el-form-item
v-if="formData.gen.genType == GenType.CUSTOM_PATH"
label="自定义路径"
@@ -273,6 +312,48 @@
</el-form-item>
</template>
</el-tab-pane>
<el-tab-pane label="关联配置" name="relation">
<el-form-item label="关联子表的表名" prop="gen.subTableName">
<el-select
class="w-80"
v-model="formData.gen.subTableName"
clearable
@change="handleTableChange"
>
<el-option
v-for="item in optionsData.dataTable"
:key="item.tableName"
:value="item.tableName"
:label="`${item.tableName}${item.tableComment}`"
/>
</el-select>
</el-form-item>
<el-form-item label="子表关联的外键名 " prop="gen.subTableFk">
<el-select
class="w-80"
v-model="formData.gen.subTableFk"
clearable
:loading="columnLoading"
>
<el-option
v-for="item in tableColumn"
:key="item.id"
:value="item.columnName"
:label="`${item.columnName}${item.columnComment}`"
/>
</el-select>
</el-form-item>
<el-form-item label="关联表主键 " prop="gen.subTableFr">
<el-select class="w-80" v-model="formData.gen.subTableFr" clearable>
<el-option
v-for="item in formData.column"
:key="item.id"
:value="item.columnName"
:label="`${item.columnName}${item.columnComment}`"
/>
</el-select>
</el-form-item>
</el-tab-pane>
</el-tabs>
</el-form>
</el-card>
@@ -283,7 +364,7 @@
</template>
<script lang="ts" setup name="tableEdit">
import { generateEdit, tableDetail } from '@/api/tools/code'
import { dataTableAll, generateEdit, tableDetail, dataTableToColumn } from '@/api/tools/code'
import { dictTypeAll } from '@/api/setting/dict'
import type { FormInstance } from 'element-plus'
import feedback from '@/utils/feedback'
@@ -322,9 +403,13 @@ const formData = reactive({
moduleName: '',
subTableFk: '',
subTableName: '',
subTableFr: '',
treeParent: '',
treePrimary: '',
treeName: ''
treeName: '',
menuName: '',
menuStatus: 0,
menuPid: 0
}
})
@@ -345,15 +430,18 @@ const getDetails = async () => {
const data = await tableDetail({
id: route.query.id
})
Object.keys(formData).forEach((key) => {
//@ts-ignore
formData[key] = data[key]
})
getTableColumn()
}
const { optionsData } = useDictOptions<{
dictType: any[]
menu: any[]
dataTable: any[]
}>({
dictType: {
api: dictTypeAll
@@ -361,13 +449,29 @@ const { optionsData } = useDictOptions<{
menu: {
api: menuLists,
transformData(data: any) {
const menu = { id: 0, name: '顶级', children: [] }
const menu = { id: 0, menuName: '顶级', children: [] }
menu.children = data
return menu
return [menu]
}
},
dataTable: {
api: dataTableAll
}
})
const columnLoading = ref(false)
const tableColumn = ref<any[]>([])
const getTableColumn = async () => {
columnLoading.value = true
const res = await dataTableToColumn({ tableName: formData.gen.subTableName })
columnLoading.value = false
tableColumn.value = res
}
const handleTableChange = () => {
formData.gen.subTableFk = ''
getTableColumn()
}
const handleSave = async () => {
try {
await formRef.value?.validate()

View File

@@ -28,13 +28,14 @@
<el-form-item label="名称" prop="nickname">
<el-input v-model="formData.nickname" placeholder="请输入名称" clearable />
</el-form-item>
<el-form-item label="归属部门" prop="deptId">
<el-form-item label="归属部门" prop="deptIds">
<el-tree-select
class="flex-1"
v-model="formData.deptId"
v-model="formData.deptIds"
:data="optionsData.dept"
clearable
node-key="id"
multiple
:props="{
value: 'id',
label: 'name',
@@ -47,11 +48,12 @@
placeholder="请选择上级部门"
/>
</el-form-item>
<el-form-item label="岗位" prop="deptId">
<el-form-item label="岗位" prop="postIds">
<el-select
class="flex-1"
clearable
v-model="formData.postId"
multiple
v-model="formData.postIds"
placeholder="请选择岗位"
>
<el-option
@@ -63,10 +65,11 @@
</el-select>
</el-form-item>
<el-form-item label="角色" prop="role">
<el-form-item label="角色" prop="roleIds">
<el-select
v-model="formData.role"
v-model="formData.roleIds"
:disabled="isRoot"
multiple
class="flex-1"
clearable
placeholder="请选择角色"
@@ -76,7 +79,7 @@
v-for="(item, index) in optionsData.role"
:key="index"
:label="item.name"
:value="String(item.id)"
:value="item.id"
/>
</el-select>
</el-form-item>
@@ -135,12 +138,12 @@ const popupTitle = computed(() => {
})
const formData = reactive({
id: '',
id: 0,
username: '',
nickname: '',
deptId: '',
postId: '',
role: '',
deptIds: [],
postIds: [],
roleIds: [],
avatar: '',
password: '',
passwordConfirm: '',
@@ -149,7 +152,7 @@ const formData = reactive({
})
const isRoot = computed(() => {
return formData.role == '0'
return formData.id == 1
})
const passwordConfirmValidator = (rule: object, value: string, callback: any) => {
@@ -174,8 +177,9 @@ const formRules = reactive({
trigger: ['blur']
}
],
role: [
roleIds: [
{
type: 'array',
required: true,
message: '请选择角色',
trigger: ['blur']
@@ -231,6 +235,13 @@ const open = (type = 'add') => {
}
const setFormData = async (row: any) => {
formRules.password = []
formRules.passwordConfirm = [
{
validator: passwordConfirmValidator,
trigger: 'blur'
}
]
const data = await adminDetail({
id: row.id
})
@@ -239,16 +250,7 @@ const setFormData = async (row: any) => {
//@ts-ignore
formData[key] = data[key]
}
Number(formData.deptId) == 0 && (formData.deptId = '')
Number(formData.postId) == 0 && (formData.postId = '')
}
formRules.password = []
formRules.passwordConfirm = [
{
validator: passwordConfirmValidator,
trigger: 'blur'
}
]
}
const handleClose = () => {

View File

@@ -52,8 +52,18 @@
</el-table-column>
<el-table-column label="账号" prop="username" min-width="100" />
<el-table-column label="名称" prop="nickname" min-width="100" />
<el-table-column label="角色" prop="role" min-width="100" />
<el-table-column label="部门" prop="dept" min-width="100" />
<el-table-column
label="角色"
prop="role"
show-tooltip-when-overflow
min-width="100"
/>
<el-table-column
label="部门"
prop="dept"
show-tooltip-when-overflow
min-width="100"
/>
<el-table-column label="创建时间" prop="createTime" min-width="180" />
<el-table-column label="最近登录时间" prop="lastLoginTime" min-width="180" />
<el-table-column label="最近登录IP" prop="lastLoginIp" min-width="120" />

View File

@@ -224,7 +224,7 @@ const formData = reactive({
//路由参数
params: '',
//是否缓存 0=否, 1=是
isCache: 1,
isCache: 0,
//是否显示 0=否, 1=是
isShow: 1,
//是否禁用 0=否, 1=是

View File

@@ -0,0 +1,142 @@
<template>
<div class="article-edit">
<el-card class="!border-none" shadow="never">
<el-page-header :content="$route.meta.title" @back="$router.back()" />
</el-card>
<el-card class="mt-4 !border-none" shadow="never">
<el-form
ref="formRef"
class="ls-form"
:model="formData"
label-width="96px"
:rules="rules"
>
<el-form-item label="任务名称" prop="name">
<div class="w-80">
<el-input
v-model="formData.name"
placeholder="请输入任务名称"
maxlength="30"
clearable
/>
</div>
</el-form-item>
<el-form-item label="任务分组" prop="groups">
<el-select
class="w-80"
v-model="formData.groups"
clearable
placeholder="请选择任务分组"
>
<el-option label="默认" value="default" />
<el-option label="系统" value="system" />
</el-select>
</el-form-item>
<el-form-item label="调用方法" prop="command">
<div class="w-80">
<el-input
v-model="formData.command"
placeholder="请输入调用目标字符串"
clearable
/>
</div>
</el-form-item>
<el-form-item label="cron表达式" prop="rules">
<div class="w-80">
<el-input v-model="formData.rules" placeholder="请输入cron执行表达式" />
</div>
</el-form-item>
<el-form-item label="备注" prop="remark">
<div class="w-80">
<el-input
v-model="formData.remark"
type="textarea"
:autosize="{ minRows: 3, maxRows: 6 }"
:maxlength="200"
show-word-limit
clearable
/>
</div>
</el-form-item>
<el-form-item label="执行策略" prop="groups">
<el-radio-group v-model="formData.strategy">
<el-radio :label="1"> 立即执行 </el-radio>
<el-radio :label="2"> 执行一次 </el-radio>
<el-radio :label="3"> 放弃执行 </el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="是否并发" prop="concurrent">
<el-radio-group v-model="formData.concurrent">
<el-radio :label="1"> 允许 </el-radio>
<el-radio :label="0"> 禁止 </el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="状态">
<el-switch v-model="formData.status" :active-value="1" :inactive-value="2" />
</el-form-item>
</el-form>
</el-card>
<footer-btns>
<el-button type="primary" @click="handleSave">保存</el-button>
</footer-btns>
</div>
</template>
<script lang="ts" setup name="scheduledTaskEdit">
import type { FormInstance } from 'element-plus'
import { crontabAdd, crontabEdit, crontabDetail } from '@/api/setting/system'
import useMultipleTabs from '@/hooks/useMultipleTabs'
import feedback from '@/utils/feedback'
const route = useRoute()
const router = useRouter()
const formData = reactive({
id: '',
name: '',
groups: '',
command: '',
rules: '',
status: 1,
strategy: 1,
concurrent: 0,
remark: ''
})
const { removeTab } = useMultipleTabs()
const formRef = shallowRef<FormInstance>()
const rules = reactive({
name: [{ required: true, message: '请输入任务名称' }],
command: [{ required: true, message: '请输入调用目标字符串' }],
rules: [{ required: true, message: '请输入cron执行表达式' }]
})
const getDetails = async () => {
const data = await crontabDetail({
id: route.query.id
})
Object.keys(formData).forEach((key) => {
//@ts-ignore
formData[key] = data[key]
})
}
const handleSave = async () => {
await formRef.value?.validate()
if (route.query.id) {
await crontabEdit(formData)
} else {
await crontabAdd(formData)
}
feedback.msgSuccess('操作成功')
removeTab()
router.back()
}
onMounted(async () => {
if (!route.query.id) {
return
}
await getDetails()
})
</script>

View File

@@ -0,0 +1,111 @@
<template>
<div>
<el-card shadow="never" class="!border-none">
<router-link
v-perms="['crontab/add', 'crontab/add:edit']"
:to="getRoutePath('crontab/add:edit')"
>
<el-button type="primary" class="mb-[16px]">
<template #icon>
<icon name="el-icon-Plus" />
</template>
新增
</el-button>
</router-link>
<el-table
ref="paneTable"
class="m-t-24"
:data="pager.lists"
v-loading="pager.loading"
style="width: 100%"
>
<el-table-column prop="name" label="名称" min-width="120" />
<el-table-column prop="groups" label="分组" min-width="100">
<template #default="{ row }">
<dict-value
:value="row.groups"
:options="[
{
name: '默认',
value: 'default'
},
{
name: '系统',
value: 'system'
}
]"
/>
</template>
</el-table-column>
<el-table-column prop="command" label="调用目标字符串" min-width="100" />
<el-table-column prop="rules" label="cron表达式" min-width="100" />
<el-table-column prop="status" label="状态" min-width="100">
<template #default="{ row }">
<el-tag v-if="row.status == 1" type="success">运行中</el-tag>
<el-tag v-if="row.status == 2" type="info">已停止</el-tag>
<el-tag v-if="row.status == 3" type="danger">错误</el-tag>
</template>
</el-table-column>
<el-table-column prop="error" label="错误信息" min-width="120" />
<el-table-column label="最后执行时间" prop="endTime" min-width="180" />
<el-table-column prop="taskTime" label="执行耗时ms" min-width="100" />
<el-table-column label="操作" width="120" fixed="right">
<template #default="{ row }">
<div class="flex">
<el-button type="primary" link>
<router-link
v-perms="['crontab/edit', 'crontab/add:edit']"
:to="{
path: getRoutePath('crontab/add:edit'),
query: {
id: row.id
}
}"
>
<el-button type="primary" link> 编辑 </el-button>
</router-link>
</el-button>
<el-button
v-perms="['crontab/delete']"
type="danger"
link
@click="handleDelete(row.id)"
>
删除
</el-button>
</div>
</template>
</el-table-column>
</el-table>
<div class="flex justify-end mt-4">
<pagination v-model="pager" @change="getLists" />
</div>
</el-card>
</div>
</template>
<script lang="ts" setup name="scheduledTask">
import { crontabLists, crontabDel } from '@/api/setting/system'
import { usePaging } from '@/hooks/usePaging'
import { getRoutePath } from '@/router'
import feedback from '@/utils/feedback'
const { pager, getLists } = usePaging({
fetchFun: crontabLists,
params: {}
})
const handleDelete = async (id: number) => {
await feedback.confirm('确定要删除?')
await crontabDel({ id })
feedback.msgSuccess('删除成功')
getLists()
}
getLists()
</script>
<style lang="scss"></style>

View File

@@ -84,7 +84,9 @@ const handleDelete = (index: number) => {
// 设置备案信息
const handleSubmit = async () => {
await setCopyright(formData.value)
await setCopyright({
list: formData.value
})
feedback.msgSuccess('操作成功')
getData()
}

View File

@@ -52,6 +52,44 @@
</div>
</el-form-item>
</el-card>
<el-card shadow="never" class="!border-none mt-4">
<div class="text-xl font-medium mb-[20px]">PC端设置</div>
<el-form-item label="PC端LOGO" prop="pcLogo">
<div>
<material-picker v-model="formData.pcLogo" :limit="1" />
<div class="form-tips">建议尺寸120*28px支持jpgjpegpng格式</div>
</div>
</el-form-item>
<el-form-item label="网站标题" prop="pcTitle">
<div class="w-80">
<el-input
v-model.trim="formData.pcTitle"
placeholder="请输入PC端网站标题"
maxlength="30"
show-word-limit
/>
</div>
</el-form-item>
<el-form-item label="网站图标" prop="pcIco">
<div>
<material-picker v-model="formData.pcIco" :limit="1" />
<div class="form-tips">建议尺寸100*100像素支持jpgjpegpng格式</div>
</div>
</el-form-item>
<el-form-item label="网站描述" prop="pcDesc">
<div class="w-80">
<el-input v-model.trim="formData.pcDesc" placeholder="请输入PC端网站描述" />
</div>
</el-form-item>
<el-form-item label="网站关键词" prop="pcKeywords">
<div class="w-80">
<el-input
v-model.trim="formData.pcKeywords"
placeholder="请输入PC端网站关键词"
/>
</div>
</el-form-item>
</el-card>
</el-form>
<footer-btns v-perms="['setting:website:save']">
<el-button type="primary" @click="handleSubmit">保存</el-button>
@@ -73,7 +111,12 @@ const formData = reactive({
logo: '', // 网站logo
backdrop: '', // 登录页广告图
shopName: '',
shopLogo: ''
shopLogo: '',
pcDesc: '',
pcIco: '',
pcKeywords: '',
pcLogo: '',
pcTitle: ''
})
// 表单验证
@@ -119,6 +162,27 @@ const rules = {
message: '请选择商城LOGO',
trigger: ['change']
}
],
pcLogo: [
{
required: true,
message: '请选择PC端LOGO',
trigger: ['change']
}
],
pcTitle: [
{
required: true,
message: '请输入PC端网站标题',
trigger: ['blur']
}
],
pcIco: [
{
required: true,
message: '请选择PC端网站图标',
trigger: ['change']
}
]
}

View File

@@ -0,0 +1,63 @@
<template>
<div>
<el-card header="基础使用" shadow="none" class="!border-none">
<div class="flex flex-wrap">
<div class="flex m-4">
<div class="mr-4">选择图片</div>
<material-picker v-model="state.value1" />
</div>
<div class="flex m-4">
<div class="mr-4">选择视频</div>
<material-picker type="video" v-model="state.value3" />
</div>
<div class="flex flex-1 m-4">
<div class="mr-4">多张图片</div>
<div class="flex-1">
<!-- 外层需要有足够的宽度这样预览图和选择按钮才不会直接换行 -->
<material-picker :limit="4" v-model="state.value2" />
</div>
</div>
</div>
</el-card>
<el-card header="进阶用法" shadow="none" class="!border-none mt-4">
<div class="flex flex-wrap">
<div class="flex m-4">
<div class="mr-4">自定义选择器大小</div>
<material-picker size="60px" v-model="state.value4" />
</div>
<div class="flex m-4">
<div class="mr-4">使用插槽</div>
<material-picker v-model="state.value5">
<template #upload>
<el-button>选择文件</el-button>
</template>
</material-picker>
</div>
<div class="flex m-4">
<div class="mr-4">选出地址不带域名</div>
<material-picker :exclude-domain="true" v-model="state.value6" />
</div>
</div>
<div>
<div class="flex m-4 items-center">
<div class="w-20 flex-none">带域名</div>
<el-input class="w-[500px]" :model-value="state.value5" />
</div>
<div class="flex m-4 items-center">
<div class="w-20 flex-none">不带域名</div>
<el-input class="w-[500px]" :model-value="state.value6" />
</div>
</div>
</el-card>
</div>
</template>
<script lang="ts" setup>
const state = reactive({
value1: '',
value2: [],
value3: '',
value4: '',
value5: '',
value6: ''
})
</script>

View File

@@ -0,0 +1,64 @@
<template>
<div>
<el-card header="element-plus图标" shadow="none" class="!border-none">
<div class="flex items-center">
<icon class="m-4" :size="24" name="el-icon-Search" />
<icon class="m-4" :size="24" name="el-icon-Plus" />
<icon class="m-4" :size="24" name="el-icon-FullScreen" />
<icon class="m-4" :size="24" name="el-icon-Setting" />
<icon class="m-4" :size="24" name="el-icon-Warning" />
</div>
</el-card>
<el-card header="本地图标" shadow="none" class="!border-none mt-4">
<div class="flex items-center">
<icon class="m-4" :size="24" name="local-icon-baoxian" />
<icon class="m-4" :size="24" name="local-icon-youhui" />
<icon class="m-4" :size="24" name="local-icon-daiyunying" />
<icon class="m-4" :size="24" name="local-icon-diancanshezhi" />
<icon class="m-4" :size="24" name="local-icon-dianzifapiao" />
</div>
</el-card>
<el-card header="图标选择器" shadow="none" class="!border-none mt-4">
<div class="flex items-center">
<icon-picker v-model="state.value" />
</div>
</el-card>
<el-card
header="element-plus图标库大全点击复制图标名称"
shadow="none"
class="!border-none mt-4"
>
<div class="flex items-center">
<div class="flex flex-wrap">
<div v-for="item in getElementPlusIconNames()" :key="item" class="m-1">
<el-button v-copy="item">
<icon :name="item" :size="20" />
</el-button>
</div>
</div>
</div>
</el-card>
<el-card
header="本地图标库大全(点击复制图标名称)"
shadow="none"
class="!border-none mt-4"
>
<div class="flex items-center">
<div class="flex flex-wrap">
<div v-for="item in getLocalIconNames()" :key="item" class="m-1">
<el-button v-copy="item">
<icon :name="item" :size="20" />
</el-button>
</div>
</div>
</div>
</el-card>
</div>
</template>
<script lang="ts" setup>
import Icon from '@/components/icon/index.vue'
import { getElementPlusIconNames, getLocalIconNames } from '@/components/icon'
const state = reactive({
value: ''
})
</script>

View File

@@ -0,0 +1,12 @@
<template>
<div>
<el-card header="基础使用" shadow="none" class="!border-none">
<link-picker v-model="state.value1" />
</el-card>
</div>
</template>
<script lang="ts" setup>
const state = reactive({
value1: {}
})
</script>

View File

@@ -0,0 +1,9 @@
<template>
<div>
<el-card header="基础使用" shadow="none" class="!border-none">
<overflow-tooltip class="w-20 m-4" content="超出自动打点,悬浮弹窗显示全部内容" />
<overflow-tooltip class="w-60 m-4" content="超出自动打点,悬浮弹窗显示全部内容" />
</el-card>
</div>
</template>
<script lang="ts" setup></script>

View File

@@ -0,0 +1,48 @@
<template>
<div>
<el-card header="基础使用" shadow="none" class="!border-none">
<div class="flex flex-wrap">
<div class="m-4">
<popover-input @confirm="onConfirm">
<template #default>
<el-button> 点击输入 </el-button>
</template>
</popover-input>
</div>
<div class="m-4">
<popover-input type="number" @confirm="onConfirm">
<template #default>
<el-button> 输入数字 </el-button>
</template>
</popover-input>
</div>
<div class="m-4">
<popover-input size="small" @confirm="onConfirm">
<template #default>
<el-button> 调整大小 </el-button>
</template>
</popover-input>
</div>
<div class="m-4">
<popover-input :limit="20" :show-limit="true" @confirm="onConfirm">
<template #default>
<el-button> 限制输入长度 </el-button>
</template>
</popover-input>
</div>
<div class="m-4">
<popover-input value="默认值" @confirm="onConfirm">
<template #default>
<el-button> 默认值 </el-button>
</template>
</popover-input>
</div>
</div>
</el-card>
</div>
</template>
<script lang="ts" setup>
const onConfirm = (value: string) => {
console.log(value)
}
</script>

View File

@@ -0,0 +1,16 @@
<template>
<div>
<el-card header="基础使用" shadow="none" class="!border-none">
<editor v-model="state.value1" height="500px" />
</el-card>
<el-card header="简洁模式" shadow="none" class="!border-none mt-4">
<editor v-model="state.value2" height="500px" mode="simple" />
</el-card>
</div>
</template>
<script lang="ts" setup>
const state = reactive({
value1: '',
value2: ''
})
</script>

View File

@@ -0,0 +1,65 @@
<template>
<div>
<el-card header="基础使用" shadow="none" class="!border-none">
<div class="flex flex-wrap">
<div class="m-4">
<upload
@change="onChange"
@success="onSuccess"
@error="onError"
:show-progress="true"
>
<el-button type="primary">上传图片</el-button>
</upload>
</div>
<div class="m-4">
<upload
type="video"
@change="onChange"
@success="onSuccess"
@error="onError"
:show-progress="true"
>
<el-button type="primary">上传视频</el-button>
</upload>
</div>
<div class="m-4">
<upload
:multiple="false"
@change="onChange"
@success="onSuccess"
@error="onError"
:show-progress="true"
>
<el-button type="primary">取消多选</el-button>
</upload>
</div>
<div class="m-4">
<upload
:limit="2"
@change="onChange"
@success="onSuccess"
@error="onError"
:show-progress="true"
>
<el-button type="primary">一次最多上传2张</el-button>
</upload>
</div>
</div>
</el-card>
</div>
</template>
<script lang="ts" setup>
import Upload from '@/components/upload/index.vue'
const onChange = (file: any) => {
console.log('上传文件的状态发生改变', file)
}
const onSuccess = (file: any) => {
console.log('上传文件成功', file)
}
const onError = (file: any) => {
console.log('上传文件失败', file)
}
</script>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 486 KiB

View File

@@ -141,8 +141,8 @@ import menu_generator from './image/menu_generator.png'
import menu_file from './image/menu_file.png'
import menu_auth from './image/menu_auth.png'
import menu_web from './image/menu_web.png'
import qq_group from './image/qq_group.png'
import customer_service from './image/customer_service.png'
import oa_code from './image/oa_code.png'
import service_code from './image/service_code.png'
// 表单数据
const workbenchData: any = reactive({
version: {
@@ -156,12 +156,12 @@ const workbenchData: any = reactive({
},
support: [
{
image: qq_group,
title: '扫码进入QQ交流群',
desc: '疑难疑点 进入QQ群'
image: oa_code,
title: '官方公众号',
desc: '关注官方公众号'
},
{
image: customer_service,
image: service_code,
title: '添加企业客服微信',
desc: '想了解更多请添加客服'
}

View File

@@ -1 +0,0 @@
import o from"./error.23d95e8d.js";import{d as r,o as t,c as m,V as p}from"./@vue.cab01781.js";import"./element-plus.8115766e.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./vue-router.5046cc50.js";import"./index.637212e4.js";import"./lodash.b68d77aa.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";const i={class:"error404"},L=r({__name:"404",setup(e){return(u,c)=>(t(),m("div",i,[p(o,{code:"404",title:"\u54CE\u5440\uFF0C\u51FA\u9519\u4E86\uFF01\u60A8\u8BBF\u95EE\u7684\u9875\u9762\u4E0D\u5B58\u5728\u2026"})]))}});export{L as default};

View File

@@ -1 +0,0 @@
import"./add-nav.vue_vue_type_script_setup_true_lang.07425cf8.js";import{_ as S}from"./add-nav.vue_vue_type_script_setup_true_lang.07425cf8.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.8d2925c7.js";import"./index.637212e4.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./picker.9b4a6b6a.js";import"./index.d1e65413.js";import"./picker.b9df525d.js";import"./index.864bc580.js";import"./usePaging.52ce9b34.js";import"./index.vue_vue_type_script_setup_true_lang.23d9d5f1.js";import"./vue3-video-play.05975c53.js";import"./vuedraggable.a5db575d.js";import"./vue.de4be77f.js";import"./sortablejs.cd7e2c7e.js";export{S as default};

View File

@@ -1 +0,0 @@
import{C as F,w as b}from"./element-plus.8115766e.js";import{_ as v}from"./index.8d2925c7.js";import{_ as A}from"./picker.9b4a6b6a.js";import{_ as B}from"./picker.b9df525d.js";import{f as _,b as y}from"./index.637212e4.js";import{d as C,o as u,c as r,a as e,W as D,a8 as E,L as w,M as m,V as t,T as U}from"./@vue.cab01781.js";const N={class:"bg-fill-light flex items-center w-full p-4 mb-4"},$={class:"upload-btn w-[60px] h-[60px]"},z={class:"ml-3 flex-1"},L={class:"flex"},T=e("span",{class:"text-tx-regular flex-none mr-3"},"\u540D\u79F0",-1),I={class:"flex mt-[18px]"},M=e("span",{class:"text-tx-regular flex-none mr-3"},"\u94FE\u63A5",-1),P=U("\u6DFB\u52A0"),K=C({__name:"add-nav",props:{modelValue:{type:Array,default:()=>[]},max:{type:Number,default:10},min:{type:Number,default:1}},setup(d){const l=d,p=()=>{var a;((a=l.modelValue)==null?void 0:a.length)<l.max?l.modelValue.push({image:"",name:"\u5BFC\u822A\u540D\u79F0",link:{}}):_.msgError(`\u6700\u591A\u6DFB\u52A0${l.max}\u4E2A`)},i=a=>{var s;if(((s=l.modelValue)==null?void 0:s.length)<=l.min)return _.msgError(`\u6700\u5C11\u4FDD\u7559${l.min}\u4E2A`);l.modelValue.splice(a,1)};return(a,s)=>{const f=y,x=B,V=F,h=A,g=v,k=b;return u(),r("div",null,[e("div",null,[(u(!0),r(D,null,E(d.modelValue,(o,c)=>(u(),w(g,{class:"max-w-[400px]",key:c,onClose:n=>i(c)},{default:m(()=>[e("div",N,[t(x,{modelValue:o.image,"onUpdate:modelValue":n=>o.image=n,"upload-class":"bg-body",size:"60px","exclude-domain":""},{upload:m(()=>[e("div",$,[t(f,{name:"el-icon-Plus",size:20})])]),_:2},1032,["modelValue","onUpdate:modelValue"]),e("div",z,[e("div",L,[T,t(V,{modelValue:o.name,"onUpdate:modelValue":n=>o.name=n,placeholder:"\u8BF7\u8F93\u5165\u540D\u79F0"},null,8,["modelValue","onUpdate:modelValue"])]),e("div",I,[M,t(h,{modelValue:o.link,"onUpdate:modelValue":n=>o.link=n},null,8,["modelValue","onUpdate:modelValue"])])])])]),_:2},1032,["onClose"]))),128))]),e("div",null,[t(k,{type:"primary",onClick:p},{default:m(()=>[P]),_:1})])])}}});export{K as _};

View File

@@ -1 +0,0 @@
import"./attr-setting.vue_vue_type_script_setup_true_lang.0e0d5d0f.js";import{_ as cm}from"./attr-setting.vue_vue_type_script_setup_true_lang.0e0d5d0f.js";import"./index.945f3159.js";import"./attr.vue_vue_type_script_setup_true_lang.46fd57c0.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.8d2925c7.js";import"./index.637212e4.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./picker.9b4a6b6a.js";import"./index.d1e65413.js";import"./picker.b9df525d.js";import"./index.864bc580.js";import"./usePaging.52ce9b34.js";import"./index.vue_vue_type_script_setup_true_lang.23d9d5f1.js";import"./vue3-video-play.05975c53.js";import"./vuedraggable.a5db575d.js";import"./vue.de4be77f.js";import"./sortablejs.cd7e2c7e.js";import"./content.vue_vue_type_script_setup_true_lang.39e55fc6.js";import"./decoration-img.318173cb.js";import"./attr.vue_vue_type_script_setup_true_lang.d0e1e64c.js";import"./content.f5096561.js";import"./attr.vue_vue_type_script_setup_true_lang.fbbefe09.js";import"./add-nav.vue_vue_type_script_setup_true_lang.07425cf8.js";import"./content.234d99b9.js";import"./attr.vue_vue_type_script_setup_true_lang.0411bda0.js";import"./content.vue_vue_type_script_setup_true_lang.101fa054.js";import"./attr.vue_vue_type_script_setup_true_lang.06a2fa18.js";import"./content.8e1e3b35.js";import"./decoration.c5478144.js";import"./attr.vue_vue_type_script_setup_true_lang.0b87e513.js";import"./content.cb47bf22.js";import"./attr.vue_vue_type_script_setup_true_lang.b7c8fc1c.js";import"./content.vue_vue_type_script_setup_true_lang.026e017c.js";import"./attr.vue_vue_type_script_setup_true_lang.0583d8bc.js";import"./content.931f326b.js";export{cm as default};

View File

@@ -1 +0,0 @@
import{w as i}from"./index.945f3159.js";import{d as l,o as t,c as d,a as m,U as f,L as c,R as p,u as g,aK as b}from"./@vue.cab01781.js";const u={class:"pages-setting"},w={class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2"},k=l({__name:"attr-setting",props:{widget:{type:Object,default:()=>({})}},setup(e){return(y,x)=>{var s,a,n,o,r;return t(),d("div",u,[m("div",w,f((s=e.widget)==null?void 0:s.title),1),(t(),c(b,null,[(t(),c(p((n=g(i)[(a=e.widget)==null?void 0:a.name])==null?void 0:n.attr),{class:"pt-5 pr-4",content:(o=e.widget)==null?void 0:o.content,styles:(r=e.widget)==null?void 0:r.styles},null,8,["content","styles"]))],1024))])}}});export{k as _};

View File

@@ -1 +0,0 @@
import"./attr.vue_vue_type_script_setup_true_lang.b7c8fc1c.js";import{_ as S}from"./attr.vue_vue_type_script_setup_true_lang.b7c8fc1c.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.8d2925c7.js";import"./index.637212e4.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./picker.9b4a6b6a.js";import"./index.d1e65413.js";import"./picker.b9df525d.js";import"./index.864bc580.js";import"./usePaging.52ce9b34.js";import"./index.vue_vue_type_script_setup_true_lang.23d9d5f1.js";import"./vue3-video-play.05975c53.js";import"./vuedraggable.a5db575d.js";import"./vue.de4be77f.js";import"./sortablejs.cd7e2c7e.js";export{S as default};

View File

@@ -1 +0,0 @@
import"./attr.vue_vue_type_script_setup_true_lang.fbbefe09.js";import{_ as T}from"./attr.vue_vue_type_script_setup_true_lang.fbbefe09.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./add-nav.vue_vue_type_script_setup_true_lang.07425cf8.js";import"./index.8d2925c7.js";import"./index.637212e4.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./picker.9b4a6b6a.js";import"./index.d1e65413.js";import"./picker.b9df525d.js";import"./index.864bc580.js";import"./usePaging.52ce9b34.js";import"./index.vue_vue_type_script_setup_true_lang.23d9d5f1.js";import"./vue3-video-play.05975c53.js";import"./vuedraggable.a5db575d.js";import"./vue.de4be77f.js";import"./sortablejs.cd7e2c7e.js";export{T as default};

View File

@@ -1 +0,0 @@
import"./attr.vue_vue_type_script_setup_true_lang.46fd57c0.js";import{_ as S}from"./attr.vue_vue_type_script_setup_true_lang.46fd57c0.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.8d2925c7.js";import"./index.637212e4.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./picker.9b4a6b6a.js";import"./index.d1e65413.js";import"./picker.b9df525d.js";import"./index.864bc580.js";import"./usePaging.52ce9b34.js";import"./index.vue_vue_type_script_setup_true_lang.23d9d5f1.js";import"./vue3-video-play.05975c53.js";import"./vuedraggable.a5db575d.js";import"./vue.de4be77f.js";import"./sortablejs.cd7e2c7e.js";export{S as default};

View File

@@ -1 +0,0 @@
import"./attr.vue_vue_type_script_setup_true_lang.d0e1e64c.js";import{_ as R}from"./attr.vue_vue_type_script_setup_true_lang.d0e1e64c.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./picker.b9df525d.js";import"./index.d1e65413.js";import"./index.637212e4.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./index.864bc580.js";import"./usePaging.52ce9b34.js";import"./index.8d2925c7.js";import"./index.vue_vue_type_script_setup_true_lang.23d9d5f1.js";import"./vue3-video-play.05975c53.js";import"./vuedraggable.a5db575d.js";import"./vue.de4be77f.js";import"./sortablejs.cd7e2c7e.js";export{R as default};

View File

@@ -1 +0,0 @@
import"./attr.vue_vue_type_script_setup_true_lang.0411bda0.js";import{_ as T}from"./attr.vue_vue_type_script_setup_true_lang.0411bda0.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./add-nav.vue_vue_type_script_setup_true_lang.07425cf8.js";import"./index.8d2925c7.js";import"./index.637212e4.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./picker.9b4a6b6a.js";import"./index.d1e65413.js";import"./picker.b9df525d.js";import"./index.864bc580.js";import"./usePaging.52ce9b34.js";import"./index.vue_vue_type_script_setup_true_lang.23d9d5f1.js";import"./vue3-video-play.05975c53.js";import"./vuedraggable.a5db575d.js";import"./vue.de4be77f.js";import"./sortablejs.cd7e2c7e.js";export{T as default};

View File

@@ -1 +0,0 @@
import{O as y,P as U,D as v,C as w,w as N,F as O}from"./element-plus.8115766e.js";import{_ as $}from"./index.8d2925c7.js";import{_ as j}from"./picker.9b4a6b6a.js";import{_ as I}from"./picker.b9df525d.js";import{f}from"./index.637212e4.js";import{d as L,o as c,c as E,V as e,M as t,a as _,W as R,a8 as T,L as V,S as G,T as r}from"./@vue.cab01781.js";const M=r("\u5F00\u542F"),P=r("\u505C\u7528"),S={class:"flex-1"},W=_("div",{class:"form-tips"},"\u6700\u591A\u6DFB\u52A05\u5F20\uFF0C\u5EFA\u8BAE\u56FE\u7247\u5C3A\u5BF8\uFF1A750px*340px",-1),q={class:"bg-fill-light flex items-center w-full p-4 mt-4"},z={class:"ml-3 flex-1"},H=r("\u6DFB\u52A0\u56FE\u7247"),ee=L({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(a){const d=a,m=5,b=()=>{var n;((n=d.content.data)==null?void 0:n.length)<m?d.content.data.push({image:"",name:"",link:{}}):f.msgError(`\u6700\u591A\u6DFB\u52A0${m}\u5F20\u56FE\u7247`)},g=n=>{var u;if(((u=d.content.data)==null?void 0:u.length)<=1)return f.msgError("\u6700\u5C11\u4FDD\u7559\u4E00\u5F20\u56FE\u7247");d.content.data.splice(n,1)};return(n,u)=>{const p=y,h=U,s=v,k=I,x=w,B=j,A=$,C=N,D=O;return c(),E("div",null,[e(D,{"label-width":"70px"},{default:t(()=>{var i;return[e(s,{label:"\u662F\u5426\u542F\u7528"},{default:t(()=>[e(h,{modelValue:a.content.enabled,"onUpdate:modelValue":u[0]||(u[0]=o=>a.content.enabled=o)},{default:t(()=>[e(p,{label:1},{default:t(()=>[M]),_:1}),e(p,{label:0},{default:t(()=>[P]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(s,{label:"\u56FE\u7247\u8BBE\u7F6E"},{default:t(()=>[_("div",S,[W,(c(!0),E(R,null,T(a.content.data,(o,F)=>(c(),V(A,{key:F,onClose:l=>g(F),class:"max-w-[400px]"},{default:t(()=>[_("div",q,[e(k,{modelValue:o.image,"onUpdate:modelValue":l=>o.image=l,"upload-class":"bg-body","exclude-domain":""},null,8,["modelValue","onUpdate:modelValue"]),_("div",z,[e(s,{label:"\u56FE\u7247\u540D\u79F0"},{default:t(()=>[e(x,{modelValue:o.name,"onUpdate:modelValue":l=>o.name=l,placeholder:"\u8BF7\u8F93\u5165\u540D\u79F0"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(s,{class:"mt-[18px]",label:"\u56FE\u7247\u94FE\u63A5"},{default:t(()=>[e(B,{modelValue:o.link,"onUpdate:modelValue":l=>o.link=l},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)])])]),_:2},1032,["onClose"]))),128))])]),_:1}),((i=a.content.data)==null?void 0:i.length)<m?(c(),V(s,{key:0},{default:t(()=>[e(C,{type:"primary",onClick:b},{default:t(()=>[H]),_:1})]),_:1})):G("",!0)]}),_:1})])}}});export{ee as _};

View File

@@ -1 +0,0 @@
import{O as y,P as U,D as v,C as w,w as N,F as O}from"./element-plus.8115766e.js";import{_ as $}from"./index.8d2925c7.js";import{_ as j}from"./picker.9b4a6b6a.js";import{_ as I}from"./picker.b9df525d.js";import{f}from"./index.637212e4.js";import{d as L,o as c,c as E,V as e,M as t,a as _,W as R,a8 as T,L as V,S as G,T as r}from"./@vue.cab01781.js";const M=r("\u5F00\u542F"),P=r("\u505C\u7528"),S={class:"flex-1"},W=_("div",{class:"form-tips"},"\u6700\u591A\u6DFB\u52A05\u5F20\uFF0C\u5EFA\u8BAE\u56FE\u7247\u5C3A\u5BF8\uFF1A750px*200px",-1),q={class:"bg-fill-light flex items-center w-full p-4 mt-4"},z={class:"ml-3 flex-1"},H=r("\u6DFB\u52A0\u56FE\u7247"),ee=L({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(a){const d=a,m=5,b=()=>{var n;((n=d.content.data)==null?void 0:n.length)<m?d.content.data.push({image:"",name:"",link:{}}):f.msgError(`\u6700\u591A\u6DFB\u52A0${m}\u5F20\u56FE\u7247`)},g=n=>{var u;if(((u=d.content.data)==null?void 0:u.length)<=1)return f.msgError("\u6700\u5C11\u4FDD\u7559\u4E00\u5F20\u56FE\u7247");d.content.data.splice(n,1)};return(n,u)=>{const p=y,h=U,s=v,k=I,x=w,B=j,A=$,C=N,D=O;return c(),E("div",null,[e(D,{"label-width":"70px"},{default:t(()=>{var i;return[e(s,{label:"\u662F\u5426\u542F\u7528"},{default:t(()=>[e(h,{modelValue:a.content.enabled,"onUpdate:modelValue":u[0]||(u[0]=o=>a.content.enabled=o)},{default:t(()=>[e(p,{label:1},{default:t(()=>[M]),_:1}),e(p,{label:0},{default:t(()=>[P]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(s,{label:"\u56FE\u7247\u8BBE\u7F6E"},{default:t(()=>[_("div",S,[W,(c(!0),E(R,null,T(a.content.data,(o,F)=>(c(),V(A,{key:F,onClose:l=>g(F),class:"max-w-[400px]"},{default:t(()=>[_("div",q,[e(k,{modelValue:o.image,"onUpdate:modelValue":l=>o.image=l,"upload-class":"bg-body","exclude-domain":""},null,8,["modelValue","onUpdate:modelValue"]),_("div",z,[e(s,{label:"\u56FE\u7247\u540D\u79F0"},{default:t(()=>[e(x,{modelValue:o.name,"onUpdate:modelValue":l=>o.name=l,placeholder:"\u8BF7\u8F93\u5165\u540D\u79F0"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(s,{class:"mt-[18px]",label:"\u56FE\u7247\u94FE\u63A5"},{default:t(()=>[e(B,{modelValue:o.link,"onUpdate:modelValue":l=>o.link=l},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)])])]),_:2},1032,["onClose"]))),128))])]),_:1}),((i=a.content.data)==null?void 0:i.length)<m?(c(),V(s,{key:0},{default:t(()=>[e(C,{type:"primary",onClick:b},{default:t(()=>[H]),_:1})]),_:1})):G("",!0)]}),_:1})])}}});export{ee as _};

View File

@@ -1 +0,0 @@
import"./auth.vue_vue_type_script_setup_true_lang.ce82790d.js";import{_ as K}from"./auth.vue_vue_type_script_setup_true_lang.ce82790d.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./role.b7697fcc.js";import"./index.637212e4.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./menu.7b3eb352.js";import"./index.d1e65413.js";export{K as default};

View File

@@ -1 +0,0 @@
import"./code-preview.vue_vue_type_script_setup_true_lang.b1a2000a.js";import{_ as H}from"./code-preview.vue_vue_type_script_setup_true_lang.b1a2000a.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.637212e4.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";export{H as default};

View File

@@ -1 +0,0 @@
import{r as n}from"./index.637212e4.js";function r(e){return n.get({url:"/gen/list",params:e})}function a(e){return n.get({url:"/gen/db",params:e})}function o(e){return n.post({url:"/gen/importTable",params:e},{isParamsToData:!1})}function s(e){return n.get({url:"/gen/detail",params:e})}function u(e){return n.post({url:"/gen/syncTable",params:e},{isParamsToData:!1})}function l(e){return n.post({url:"/gen/delTable",params:e})}function g(e){return n.post({url:"/gen/editTable",params:e})}function i(e){return n.get({url:"/gen/previewCode",params:e})}function d(e){return n.get({url:"/gen/genCode",params:e})}function f(e){return n.get({responseType:"blob",url:"/gen/downloadCode",params:e},{isTransformResponse:!1})}export{l as a,i as b,d as c,f as d,r as e,o as f,g,a as h,u as s,s as t};

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
import"./content.vue_vue_type_script_setup_true_lang.39e55fc6.js";import{_ as I}from"./content.vue_vue_type_script_setup_true_lang.39e55fc6.js";import"./decoration-img.318173cb.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.637212e4.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";export{I as default};

View File

@@ -1 +0,0 @@
import"./content.vue_vue_type_script_setup_true_lang.101fa054.js";import{_ as I}from"./content.vue_vue_type_script_setup_true_lang.101fa054.js";import"./decoration-img.318173cb.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.637212e4.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";export{I as default};

View File

@@ -1 +0,0 @@
import"./content.vue_vue_type_script_setup_true_lang.026e017c.js";import{_ as I}from"./content.vue_vue_type_script_setup_true_lang.026e017c.js";import"./decoration-img.318173cb.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.637212e4.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";export{I as default};

View File

@@ -1 +0,0 @@
import o from"./decoration-img.318173cb.js";import{d as s,e as c,o as r,c as i,a as p,V as d,u as m}from"./@vue.cab01781.js";const u={class:"banner"},_={class:"banner-image"},h=s({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(t){const n=t,a=c(()=>{const{data:e}=n.content;return Array.isArray(e)&&e[0]?e[0].image:""});return(e,l)=>(r(),i("div",u,[p("div",_,[d(o,{width:"100%",height:"170px",src:m(a),fit:"contain"},null,8,["src"])])]))}});export{h as _};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

View File

@@ -1 +0,0 @@
import"./data-table.vue_vue_type_script_setup_true_lang.37bde242.js";import{_ as K}from"./data-table.vue_vue_type_script_setup_true_lang.37bde242.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.d1e65413.js";import"./index.637212e4.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./usePaging.52ce9b34.js";import"./code.a888a9a0.js";export{K as default};

View File

@@ -1 +0,0 @@
import"./edit.vue_vue_type_script_setup_true_lang.b45d08e0.js";import{_ as J}from"./edit.vue_vue_type_script_setup_true_lang.b45d08e0.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./post.6184f4a9.js";import"./index.637212e4.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./index.d1e65413.js";export{J as default};

View File

@@ -1 +0,0 @@
import"./edit.vue_vue_type_script_setup_true_lang.f9374adb.js";import{_ as J}from"./edit.vue_vue_type_script_setup_true_lang.f9374adb.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.d1e65413.js";import"./index.637212e4.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./dict.d6892937.js";export{J as default};

View File

@@ -1 +0,0 @@
import"./edit.vue_vue_type_script_setup_true_lang.c2798af6.js";import{_ as J}from"./edit.vue_vue_type_script_setup_true_lang.c2798af6.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.637212e4.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./menu.7b3eb352.js";import"./index.d1e65413.js";export{J as default};

View File

@@ -1 +0,0 @@
import"./edit.vue_vue_type_script_setup_true_lang.71f1198d.js";import{_ as K}from"./edit.vue_vue_type_script_setup_true_lang.71f1198d.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./department.385278c9.js";import"./index.637212e4.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./index.d1e65413.js";import"./useDictOptions.d4946608.js";export{K as default};

View File

@@ -1 +0,0 @@
import"./edit.vue_vue_type_script_setup_true_lang.3345a3c6.js";import{_ as J}from"./edit.vue_vue_type_script_setup_true_lang.3345a3c6.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./article.53d50b5f.js";import"./index.637212e4.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./index.d1e65413.js";export{J as default};

View File

@@ -1 +0,0 @@
import"./edit.vue_vue_type_script_setup_true_lang.e5d96833.js";import{_ as J}from"./edit.vue_vue_type_script_setup_true_lang.e5d96833.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./wx_oa.1fa692ff.js";import"./index.637212e4.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./index.d1e65413.js";export{J as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
import"./edit.vue_vue_type_script_setup_true_lang.52f42f90.js";import{_ as V}from"./edit.vue_vue_type_script_setup_true_lang.52f42f90.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./picker.b9df525d.js";import"./index.d1e65413.js";import"./index.637212e4.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./index.864bc580.js";import"./usePaging.52ce9b34.js";import"./index.8d2925c7.js";import"./index.vue_vue_type_script_setup_true_lang.23d9d5f1.js";import"./vue3-video-play.05975c53.js";import"./vuedraggable.a5db575d.js";import"./vue.de4be77f.js";import"./sortablejs.cd7e2c7e.js";import"./useDictOptions.d4946608.js";import"./role.b7697fcc.js";import"./post.6184f4a9.js";import"./department.385278c9.js";export{V as default};

View File

@@ -1 +0,0 @@
import"./edit.vue_vue_type_script_setup_true_lang.72787588.js";import{_ as I}from"./edit.vue_vue_type_script_setup_true_lang.72787588.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.637212e4.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./index.d1e65413.js";export{I as default};

View File

@@ -1 +0,0 @@
import"./edit.vue_vue_type_script_setup_true_lang.69569164.js";import{_ as J}from"./edit.vue_vue_type_script_setup_true_lang.69569164.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./role.b7697fcc.js";import"./index.637212e4.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./index.d1e65413.js";export{J as default};

View File

@@ -1 +0,0 @@
import"./edit.vue_vue_type_script_setup_true_lang.cebf7b46.js";import{_ as J}from"./edit.vue_vue_type_script_setup_true_lang.cebf7b46.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./message.dc04ea86.js";import"./index.637212e4.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./index.d1e65413.js";export{J as default};

View File

@@ -1 +0,0 @@
import"./edit.vue_vue_type_script_setup_true_lang.0b082024.js";import{_ as J}from"./edit.vue_vue_type_script_setup_true_lang.0b082024.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.d1e65413.js";import"./index.637212e4.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./dict.d6892937.js";export{J as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
import{_ as V}from"./index.6c726fd2.js";import{C as y,D as A,w as x,F as I,I as U}from"./element-plus.8115766e.js";import{f as _,b as N}from"./index.637212e4.js";import{_ as L}from"./index.8d2925c7.js";import{g as P,s as S}from"./website.3175a18e.js";import{d as f,r as T,ag as $,o as s,c as d,V as e,M as o,W as M,a8 as O,L as F,a as t,O as W,T as h}from"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";const j={class:"website-filing"},q=t("div",{class:"mb-5"},"\u7AD9\u70B9\u5E95\u90E8\u7248\u6743\u5907\u6848\u4FE1\u606F\u8BBE\u7F6E",-1),z={class:"bg-fill-lighter py-4"},G={class:"w-80"},H={class:"w-80"},J=t("div",{class:"form-tips"},"\u8DF3\u8F6C\u94FE\u63A5\u4E0D\u8BBE\u7F6E\uFF0C\u5219\u4E0D\u8DF3\u8F6C",-1),K=h(" \u6DFB\u52A0 "),Q=h("\u4FDD\u5B58"),R=f({name:"webFilling"}),Ue=f({...R,setup(X){const u=T([{name:"",link:""}]),r=async()=>{const n=await P();!n.length||(u.value=n)},v=()=>{u.value.push({name:"",link:""})},E=n=>{if(u.value.length<=1)return _.msgError("\u81F3\u5C11\u4FDD\u7559\u4E00\u4E2A");u.value.splice(n,1)},g=async()=>{await S(u.value),_.msgSuccess("\u64CD\u4F5C\u6210\u529F"),r()};return r(),(n,Y)=>{const i=y,m=A,B=L,C=N,p=x,D=I,w=U,b=V,k=$("perms");return s(),d("div",j,[e(w,{shadow:"never",class:"!border-none"},{default:o(()=>[q,e(D,{ref:"form",class:"ls-form","label-width":"100px"},{default:o(()=>[(s(!0),d(M,null,O(u.value,(a,c)=>(s(),F(B,{class:"mb-4",key:c,"show-close":u.value.length>1,onClose:l=>E(c)},{default:o(()=>[t("div",z,[e(m,{label:"\u663E\u793A\u5185\u5BB9",prop:"name"},{default:o(()=>[t("div",G,[t("div",null,[e(i,{modelValue:a.name,"onUpdate:modelValue":l=>a.name=l,placeholder:"\u8BF7\u8F93\u5165\u5185\u5BB9 \uFF0C\u4F8B\u5982\uFF1A ICP\u5907\u6848\u53F7"},null,8,["modelValue","onUpdate:modelValue"])])])]),_:2},1024),e(m,{label:"\u8DF3\u8F6C\u94FE\u63A5",prop:"link"},{default:o(()=>[t("div",H,[t("div",null,[e(i,{modelValue:a.link,"onUpdate:modelValue":l=>a.link=l,placeholder:"\u8BF7\u8F93\u5165\u94FE\u63A5\uFF0C\u4F8B\u5982\uFF1Ahttp://www.beian.gov.cn"},null,8,["modelValue","onUpdate:modelValue"])]),J])]),_:2},1024)])]),_:2},1032,["show-close","onClose"]))),128)),t("div",null,[e(p,{type:"primary",onClick:v},{default:o(()=>[e(C,{name:"el-icon-Plus"}),K]),_:1})])]),_:1},512)]),_:1}),W((s(),F(b,null,{default:o(()=>[e(p,{type:"primary",onClick:g},{default:o(()=>[Q]),_:1})]),_:1})),[[k,["setting:copyright:save"]]])])}}});export{Ue as default};

View File

@@ -1 +0,0 @@
import{Z as U,w as z,J as G,K as J,I as K,L as P}from"./element-plus.8115766e.js";import{M as C,f as D,b as Z}from"./index.637212e4.js";import{m as j,d as q}from"./menu.7b3eb352.js";import{_ as H}from"./edit.vue_vue_type_script_setup_true_lang.c2798af6.js";import{d as R,s as x,r as E,ag as Q,o as n,c as v,V as s,M as t,a as N,O as c,L as r,u as w,S as $,T as m,n as L}from"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./index.d1e65413.js";const W={class:"menu-lists"},X=m(" \u65B0\u589E "),Y=m(" \u5C55\u5F00/\u6298\u53E0 "),ee={key:0},te={key:1},oe={key:2},ae={class:"flex"},ne=m("\u6B63\u5E38"),se=m("\u505C\u7528"),ie=m(" \u65B0\u589E "),le=m(" \u7F16\u8F91 "),ue=m(" \u5220\u9664 "),re=R({name:"menu"}),Ke=R({...re,setup(me){const b=x(),d=x();let h=!1;const p=E(!1),_=E(!1),y=E([]),k=async()=>{p.value=!0;try{const e=await j();y.value=e,p.value=!1}catch{p.value=!1}},g=async e=>{var o,i;_.value=!0,await L(),e&&((o=d.value)==null||o.setFormData({pid:e})),(i=d.value)==null||i.open("add")},A=async e=>{var o,i;_.value=!0,await L(),(o=d.value)==null||o.open("edit"),(i=d.value)==null||i.getDetail(e)},V=async e=>{await D.confirm("\u786E\u5B9A\u8981\u5220\u9664\uFF1F"),await q({id:e}),D.msgSuccess("\u5220\u9664\u6210\u529F"),k()},M=()=>{h=!h,F(y.value,h)},F=(e,o=!0)=>{var i;for(const l in e)(i=b.value)==null||i.toggleRowExpansion(e[l],o),e[l].children&&F(e[l].children,o)};return k(),(e,o)=>{const i=Z,l=z,u=G,B=U,S=J,I=K,f=Q("perms"),O=P;return n(),v("div",W,[s(I,{class:"!border-none",shadow:"never"},{default:t(()=>[N("div",null,[c((n(),r(l,{type:"primary",onClick:o[0]||(o[0]=a=>g())},{icon:t(()=>[s(i,{name:"el-icon-Plus"})]),default:t(()=>[X]),_:1})),[[f,["system:menu:add"]]]),s(l,{onClick:M},{default:t(()=>[Y]),_:1})]),c((n(),r(S,{ref_key:"tableRef",ref:b,class:"mt-4",size:"large",data:y.value,"row-key":"id","tree-props":{children:"children",hasChildren:"hasChildren"}},{default:t(()=>[s(u,{label:"\u83DC\u5355\u540D\u79F0",prop:"menuName","min-width":"150","show-overflow-tooltip":""}),s(u,{label:"\u7C7B\u578B",prop:"menuType","min-width":"80"},{default:t(({row:a})=>[a.menuType==w(C).CATALOGUE?(n(),v("div",ee,"\u76EE\u5F55")):a.menuType==w(C).MENU?(n(),v("div",te,"\u83DC\u5355")):a.menuType==w(C).BUTTON?(n(),v("div",oe,"\u6309\u94AE")):$("",!0)]),_:1}),s(u,{label:"\u56FE\u6807",prop:"menuIcon","min-width":"80"},{default:t(({row:a})=>[N("div",ae,[s(i,{name:a.menuIcon,size:20},null,8,["name"])])]),_:1}),s(u,{label:"\u6743\u9650\u6807\u8BC6",prop:"perms","min-width":"150","show-overflow-tooltip":""}),s(u,{label:"\u72B6\u6001",prop:"isDisable","min-width":"100"},{default:t(({row:a})=>[a.isDisable==0?(n(),r(B,{key:0},{default:t(()=>[ne]),_:1})):(n(),r(B,{key:1,type:"danger"},{default:t(()=>[se]),_:1}))]),_:1}),s(u,{label:"\u6392\u5E8F",prop:"menuSort","min-width":"100"}),s(u,{label:"\u66F4\u65B0\u65F6\u95F4",prop:"updateTime","min-width":"180"}),s(u,{label:"\u64CD\u4F5C",width:"160",fixed:"right"},{default:t(({row:a})=>[c((n(),r(l,{type:"primary",link:"",onClick:T=>g(a.id)},{default:t(()=>[ie]),_:2},1032,["onClick"])),[[f,["system:menu:add"]]]),c((n(),r(l,{type:"primary",link:"",onClick:T=>A(a)},{default:t(()=>[le]),_:2},1032,["onClick"])),[[f,["system:menu:edit"]]]),c((n(),r(l,{type:"danger",link:"",onClick:T=>V(a.id)},{default:t(()=>[ue]),_:2},1032,["onClick"])),[[f,["system:menu:del"]]])]),_:1})]),_:1},8,["data"])),[[O,p.value]])]),_:1}),_.value?(n(),r(H,{key:0,ref_key:"editRef",ref:d,onSuccess:k,onClose:o[1]||(o[1]=a=>_.value=!1)},null,512)):$("",!0)])}}});export{Ke as default};

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
import{x as c,y as u,I as f}from"./element-plus.8115766e.js";import{_ as y}from"./index.864bc580.js";import{d as i,r as x,o as r,c as m,V as e,M as o,W as b,a8 as v}from"./@vue.cab01781.js";import{d as g}from"./index.637212e4.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./usePaging.52ce9b34.js";import"./index.8d2925c7.js";import"./index.d1e65413.js";import"./index.vue_vue_type_script_setup_true_lang.23d9d5f1.js";import"./vue3-video-play.05975c53.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";const C={class:"material-index"},E=i({name:"materialCenter"}),V=i({...E,setup(k){const n=[{type:"image",name:"\u56FE\u7247"},{type:"video",name:"\u89C6\u9891"}],a=x("image");return(z,p)=>{const s=y,_=c,l=u,d=f;return r(),m("div",C,[e(d,{class:"!border-none",shadow:"never"},{default:o(()=>[e(l,{modelValue:a.value,"onUpdate:modelValue":p[0]||(p[0]=t=>a.value=t)},{default:o(()=>[(r(),m(b,null,v(n,t=>e(_,{label:t.name,name:t.type,index:t.type,key:t.type,lazy:""},{default:o(()=>[e(s,{type:t.type,mode:"page","file-size":"120px",limit:-1,"page-size":20},null,8,["type"])]),_:2},1032,["label","name","index"])),64))]),_:1},8,["modelValue"])]),_:1})])}}});const nt=g(V,[["__scopeId","data-v-15a46c2f"]]);export{nt as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
import{_ as B}from"./index.6c726fd2.js";import{I as E,w as V}from"./element-plus.8115766e.js";import b from"./menu.a7799810.js";import h from"./preview.0130a41e.js";import{_ as C}from"./attr-setting.vue_vue_type_script_setup_true_lang.0e0d5d0f.js";import{w as F}from"./index.945f3159.js";import{s as N,a as P}from"./decoration.c5478144.js";import{n as k,f as I,d as S}from"./index.637212e4.js";import{d as v,a0 as T,r as d,e as _,w as A,ag as M,o as g,c as O,V as r,M as n,a as J,u as f,O as U,L as W,T as L}from"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./attr.vue_vue_type_script_setup_true_lang.46fd57c0.js";import"./index.8d2925c7.js";import"./picker.9b4a6b6a.js";import"./index.d1e65413.js";import"./picker.b9df525d.js";import"./index.864bc580.js";import"./usePaging.52ce9b34.js";import"./index.vue_vue_type_script_setup_true_lang.23d9d5f1.js";import"./vue3-video-play.05975c53.js";import"./vuedraggable.a5db575d.js";import"./vue.de4be77f.js";import"./sortablejs.cd7e2c7e.js";import"./content.vue_vue_type_script_setup_true_lang.39e55fc6.js";import"./decoration-img.318173cb.js";import"./attr.vue_vue_type_script_setup_true_lang.d0e1e64c.js";import"./content.f5096561.js";import"./attr.vue_vue_type_script_setup_true_lang.fbbefe09.js";import"./add-nav.vue_vue_type_script_setup_true_lang.07425cf8.js";import"./content.234d99b9.js";import"./attr.vue_vue_type_script_setup_true_lang.0411bda0.js";import"./content.vue_vue_type_script_setup_true_lang.101fa054.js";import"./attr.vue_vue_type_script_setup_true_lang.06a2fa18.js";import"./content.8e1e3b35.js";import"./attr.vue_vue_type_script_setup_true_lang.0b87e513.js";import"./content.cb47bf22.js";import"./attr.vue_vue_type_script_setup_true_lang.b7c8fc1c.js";import"./content.vue_vue_type_script_setup_true_lang.026e017c.js";import"./attr.vue_vue_type_script_setup_true_lang.0583d8bc.js";import"./content.931f326b.js";const $={class:"decoration-pages min-w-[1100px]"},j={class:"flex h-full items-start"},q=L("\u4FDD\u5B58"),z=v({name:"decorationPages"}),G=v({...z,setup(H){const s=e=>e.map(t=>{var p;return{id:k(),...((p=F[t])==null?void 0:p.options())||{}}}),o=T({[1]:{id:1,pageType:1,name:"\u9996\u9875\u88C5\u4FEE",pageData:s(["search","banner","nav","news"])},[2]:{id:2,pageType:2,name:"\u4E2A\u4EBA\u4E2D\u5FC3",pageData:s(["user-info","my-service","user-banner"])},[3]:{id:3,pageType:3,name:"\u5BA2\u670D\u8BBE\u7F6E",pageData:s(["customer-service"])}}),a=d("1"),i=d(-1),u=_(()=>{var e,t;return(t=(e=o[a.value])==null?void 0:e.pageData)!=null?t:[]}),D=_(()=>{var e,t;return(t=(e=o[a.value])==null?void 0:e.pageData[i.value])!=null?t:""}),l=async()=>{const e=await P({id:a.value});o[String(e.id)].pageData=JSON.parse(e.pageData)},x=async()=>{await N({...o[a.value],pageData:JSON.stringify(o[a.value].pageData)}),l(),I.msgSuccess("\u4FDD\u5B58\u6210\u529F")};return A(a,()=>{i.value=u.value.findIndex(e=>!e.disabled),l()},{immediate:!0}),(e,t)=>{const c=E,p=V,w=B,y=M("perms");return g(),O("div",$,[r(c,{shadow:"never",class:"!border-none flex-1 flex","body-style":{flex:1}},{default:n(()=>[J("div",j,[r(b,{modelValue:a.value,"onUpdate:modelValue":t[0]||(t[0]=m=>a.value=m),menus:o},null,8,["modelValue","menus"]),r(h,{modelValue:i.value,"onUpdate:modelValue":t[1]||(t[1]=m=>i.value=m),pageData:f(u)},null,8,["modelValue","pageData"]),r(C,{class:"flex-1",widget:f(D)},null,8,["widget"])])]),_:1}),U((g(),W(w,{class:"mt-4",fixed:!1},{default:n(()=>[r(p,{type:"primary",onClick:x},{default:n(()=>[q]),_:1})]),_:1})),[[y,["decorate:pages:save"]]])])}}});const it=S(G,[["__scopeId","data-v-ed050f9e"]]);export{it as default};

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
import"./oa-menu-form-edit.vue_vue_type_script_setup_true_lang.740d8a46.js";import{_ as L}from"./oa-menu-form-edit.vue_vue_type_script_setup_true_lang.740d8a46.js";import"./index.d1e65413.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.637212e4.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./oa-menu-form.vue_vue_type_script_setup_true_lang.434ee03b.js";import"./useMenuOa.38378b10.js";import"./wx_oa.1fa692ff.js";export{L as default};

View File

@@ -1 +0,0 @@
import"./oa-menu-form.vue_vue_type_script_setup_true_lang.434ee03b.js";import{_ as J}from"./oa-menu-form.vue_vue_type_script_setup_true_lang.434ee03b.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./useMenuOa.38378b10.js";import"./index.637212e4.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./wx_oa.1fa692ff.js";export{J as default};

View File

@@ -1 +0,0 @@
import{E as u}from"./element-plus.8115766e.js";import{w as d}from"./index.945f3159.js";import{d as _,o as r,c as p,V as f,M as v,W as y,a8 as b,Q as s,a as h,I as k,L as C,R as V,u as x}from"./@vue.cab01781.js";import{d as B}from"./index.637212e4.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./attr.vue_vue_type_script_setup_true_lang.46fd57c0.js";import"./index.8d2925c7.js";import"./picker.9b4a6b6a.js";import"./index.d1e65413.js";import"./picker.b9df525d.js";import"./index.864bc580.js";import"./usePaging.52ce9b34.js";import"./index.vue_vue_type_script_setup_true_lang.23d9d5f1.js";import"./vue3-video-play.05975c53.js";import"./vuedraggable.a5db575d.js";import"./vue.de4be77f.js";import"./sortablejs.cd7e2c7e.js";import"./content.vue_vue_type_script_setup_true_lang.39e55fc6.js";import"./decoration-img.318173cb.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./attr.vue_vue_type_script_setup_true_lang.d0e1e64c.js";import"./content.f5096561.js";import"./attr.vue_vue_type_script_setup_true_lang.fbbefe09.js";import"./add-nav.vue_vue_type_script_setup_true_lang.07425cf8.js";import"./content.234d99b9.js";import"./attr.vue_vue_type_script_setup_true_lang.0411bda0.js";import"./content.vue_vue_type_script_setup_true_lang.101fa054.js";import"./attr.vue_vue_type_script_setup_true_lang.06a2fa18.js";import"./content.8e1e3b35.js";import"./decoration.c5478144.js";import"./attr.vue_vue_type_script_setup_true_lang.0b87e513.js";import"./content.cb47bf22.js";import"./attr.vue_vue_type_script_setup_true_lang.b7c8fc1c.js";import"./content.vue_vue_type_script_setup_true_lang.026e017c.js";import"./attr.vue_vue_type_script_setup_true_lang.0583d8bc.js";import"./content.931f326b.js";const D={class:"shadow mx-[30px] pages-preview"},E=["onClick"],N=_({__name:"preview",props:{pageData:{type:Array,default:()=>[]},modelValue:{type:Number,default:0}},emits:["update:modelValue"],setup(m,{emit:l}){const n=(t,i)=>{t.disabled||l("update:modelValue",i)};return(t,i)=>{const c=u;return r(),p("div",D,[f(c,null,{default:v(()=>[(r(!0),p(y,null,b(m.pageData,(o,a)=>(r(),p("div",{key:o.id,class:s(["relative",{"cursor-pointer":!(o!=null&&o.disabled)}]),onClick:e=>n(o,a)},[h("div",{class:s(["absolute w-full h-full z-[100] border-dashed",{select:a==m.modelValue,"border-[#dcdfe6] border-2":!(o!=null&&o.disabled)}])},null,2),k(t.$slots,"default",{},()=>{var e;return[(r(),C(V((e=x(d)[o==null?void 0:o.name])==null?void 0:e.content),{content:o.content,styles:o.styles,key:o.id},null,8,["content","styles"]))]},!0)],10,E))),128))]),_:3})])}}});const Po=B(N,[["__scopeId","data-v-d63d893f"]]);export{Po as default};

View File

@@ -1 +0,0 @@
import{_ as V}from"./index.6c726fd2.js";import{C as b,D as F,F as x,I as D,w as h}from"./element-plus.8115766e.js";import{_ as B}from"./index.vue_vue_type_style_index_0_lang.bbf68320.js";import{c as E,d as g}from"./website.3175a18e.js";import{f as w}from"./index.637212e4.js";import{d as y,r as C,ag as k,o as c,c as A,a as l,V as o,M as t,O as U,L as I,W as N,T as P}from"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./@wangeditor.988960a0.js";import"./picker.b9df525d.js";import"./index.d1e65413.js";import"./index.864bc580.js";import"./usePaging.52ce9b34.js";import"./index.8d2925c7.js";import"./index.vue_vue_type_script_setup_true_lang.23d9d5f1.js";import"./vue3-video-play.05975c53.js";import"./vuedraggable.a5db575d.js";import"./vue.de4be77f.js";import"./sortablejs.cd7e2c7e.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";const S={class:"xl:flex"},T=l("span",{class:"font-medium"},"\u670D\u52A1\u534F\u8BAE",-1),L=l("span",{class:"font-medium"},"\u9690\u79C1\u534F\u8BAE",-1),M=P("\u4FDD\u5B58"),Ue=y({__name:"protocol",setup(O){const e=C({privacy:{content:"",name:""},service:{content:"",name:""}}),r=async()=>{e.value=await E()},d=async()=>{await g(e.value),w.msgSuccess("\u64CD\u4F5C\u6210\u529F"),r()};return r(),(W,a)=>{const n=b,i=F,s=x,p=B,u=D,_=h,v=V,f=k("perms");return c(),A(N,null,[l("div",S,[o(u,{class:"!border-none flex-1 xl:mr-4 mb-4",shadow:"never"},{header:t(()=>[T]),default:t(()=>[o(s,{model:e.value,"label-width":"80px"},{default:t(()=>[o(i,{label:"\u534F\u8BAE\u540D\u79F0"},{default:t(()=>[o(n,{modelValue:e.value.service.name,"onUpdate:modelValue":a[0]||(a[0]=m=>e.value.service.name=m)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),o(p,{class:"mb-10",modelValue:e.value.service.content,"onUpdate:modelValue":a[1]||(a[1]=m=>e.value.service.content=m),height:"500"},null,8,["modelValue"])]),_:1}),o(u,{class:"!border-none flex-1 mb-4",shadow:"never"},{header:t(()=>[L]),default:t(()=>[o(s,{model:e.value,"label-width":"80px"},{default:t(()=>[o(i,{label:"\u534F\u8BAE\u540D\u79F0"},{default:t(()=>[o(n,{modelValue:e.value.privacy.name,"onUpdate:modelValue":a[2]||(a[2]=m=>e.value.privacy.name=m)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),o(p,{class:"mb-10",modelValue:e.value.privacy.content,"onUpdate:modelValue":a[3]||(a[3]=m=>e.value.privacy.content=m),height:"500"},null,8,["modelValue"])]),_:1})]),U((c(),I(v,null,{default:t(()=>[o(_,{type:"primary",onClick:d},{default:t(()=>[M]),_:1})]),_:1})),[[f,["setting:protocol:save"]]])],64)}}});export{Ue as default};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

View File

@@ -1 +0,0 @@
import{_ as g}from"./index.6c726fd2.js";import{D,C as v,F as A,I as b,w as U}from"./element-plus.8115766e.js";import{_ as y}from"./picker.b9df525d.js";import{a as h,v as k,f as I}from"./index.637212e4.js";import{d as _,r as P,a0 as d,o as x,c as S,V as r,M as s,a as i,T as M}from"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.d1e65413.js";import"./index.864bc580.js";import"./usePaging.52ce9b34.js";import"./index.8d2925c7.js";import"./index.vue_vue_type_script_setup_true_lang.23d9d5f1.js";import"./vue3-video-play.05975c53.js";import"./vuedraggable.a5db575d.js";import"./vue.de4be77f.js";import"./sortablejs.cd7e2c7e.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";const N={class:"user-setting"},q={class:"w-80"},R={class:"w-80"},T={class:"w-80"},j={class:"w-80"},z={class:"w-80"},G=M("\u4FDD\u5B58"),H=_({name:"userSetting"}),xo=_({...H,setup(J){const n=P(),p=h(),u=d({avatar:"",username:"",nickname:"",currPassword:"",password:"",passwordConfirm:""}),F=d({avatar:[{required:!0,message:"\u5934\u50CF\u4E0D\u80FD\u4E3A\u7A7A",trigger:["change"]}],nickname:[{required:!0,message:"\u8BF7\u8F93\u5165\u540D\u79F0",trigger:["blur"]}],currPassword:[{validator:(a,o,e)=>{u.password&&(o||e(new Error("\u8BF7\u8F93\u5165\u5F53\u524D\u5BC6\u7801"))),e()},trigger:"blur"}],password:[{validator:(a,o,e)=>{u.currPassword&&(o||e(new Error("\u8BF7\u8F93\u5165\u65B0\u7684\u5BC6\u7801"))),e()},trigger:"blur"}],passwordConfirm:[{validator:(a,o,e)=>{u.password&&(o||e(new Error("\u8BF7\u518D\u6B21\u8F93\u5165\u5BC6\u7801")),o!==u.password&&e(new Error("\u4E24\u6B21\u8F93\u5165\u5BC6\u7801\u4E0D\u4E00\u81F4!"))),e()},trigger:"blur"}]}),f=async()=>{const a=p.userInfo;for(const o in u)u[o]=a[o]},c=async()=>{await k(u),I.msgSuccess("\u4FDD\u5B58\u6210\u529F"),p.getUserInfo()},w=async()=>{var a;await((a=n.value)==null?void 0:a.validate()),c()};return f(),(a,o)=>{const e=y,l=D,m=v,B=A,E=b,C=U,V=g;return x(),S("div",N,[r(E,{class:"!border-none",shadow:"never"},{default:s(()=>[r(B,{ref_key:"formRef",ref:n,class:"ls-form",model:u,rules:F,"label-width":"100px"},{default:s(()=>[r(l,{label:"\u5934\u50CF\uFF1A",prop:"avatar"},{default:s(()=>[r(e,{modelValue:u.avatar,"onUpdate:modelValue":o[0]||(o[0]=t=>u.avatar=t),limit:1},null,8,["modelValue"])]),_:1}),r(l,{label:"\u8D26\u53F7\uFF1A",prop:"username"},{default:s(()=>[i("div",q,[r(m,{modelValue:u.username,"onUpdate:modelValue":o[1]||(o[1]=t=>u.username=t),disabled:""},null,8,["modelValue"])])]),_:1}),r(l,{label:"\u540D\u79F0\uFF1A",prop:"nickname"},{default:s(()=>[i("div",R,[r(m,{modelValue:u.nickname,"onUpdate:modelValue":o[2]||(o[2]=t=>u.nickname=t),placeholder:"\u8BF7\u8F93\u5165\u540D\u79F0"},null,8,["modelValue"])])]),_:1}),r(l,{label:"\u5F53\u524D\u5BC6\u7801\uFF1A",prop:"currPassword"},{default:s(()=>[i("div",T,[r(m,{modelValue:u.currPassword,"onUpdate:modelValue":o[3]||(o[3]=t=>u.currPassword=t),modelModifiers:{trim:!0},placeholder:"\u4FEE\u6539\u5BC6\u7801\u65F6\u5FC5\u586B, \u4E0D\u4FEE\u6539\u5BC6\u7801\u65F6\u7559\u7A7A",type:"password","show-password":""},null,8,["modelValue"])])]),_:1}),r(l,{label:"\u65B0\u7684\u5BC6\u7801\uFF1A",prop:"password"},{default:s(()=>[i("div",j,[r(m,{modelValue:u.password,"onUpdate:modelValue":o[4]||(o[4]=t=>u.password=t),modelModifiers:{trim:!0},placeholder:"\u4FEE\u6539\u5BC6\u7801\u65F6\u5FC5\u586B, \u4E0D\u4FEE\u6539\u5BC6\u7801\u65F6\u7559\u7A7A",type:"password","show-password":""},null,8,["modelValue"])])]),_:1}),r(l,{label:"\u786E\u5B9A\u5BC6\u7801\uFF1A",prop:"passwordConfirm"},{default:s(()=>[i("div",z,[r(m,{modelValue:u.passwordConfirm,"onUpdate:modelValue":o[5]||(o[5]=t=>u.passwordConfirm=t),modelModifiers:{trim:!0},placeholder:"\u4FEE\u6539\u5BC6\u7801\u65F6\u5FC5\u586B, \u4E0D\u4FEE\u6539\u5BC6\u7801\u65F6\u7559\u7A7A",type:"password","show-password":""},null,8,["modelValue"])])]),_:1})]),_:1},8,["model","rules"])]),_:1}),r(V,null,{default:s(()=>[r(C,{type:"primary",onClick:w},{default:s(()=>[G]),_:1})]),_:1})])}}});export{xo as default};

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