找回密码
 立即注册
首页 业界区 业界 uniapp-vue3-os手机oa系统|uni-app+vue3跨三端os后台管 ...

uniapp-vue3-os手机oa系统|uni-app+vue3跨三端os后台管理模板

接快背 2025-8-23 22:13:06
最新研发uniapp+vue3+pinia2+uv-ui仿ios手机界面oa后台系统解决方案。
uni-vue3-oa基于uniapp+vue3+pinia2+qiun-data-charts从0-1纯手撸仿ios界面OA式手机后台。实现栅格化磁贴布局、多屏滑动、自定义桌面小组件、桌面图标支持链接/页面地址方式打开。支持运行到h5+小程序+app端
运行效果

编译到h5+小程序+app端效果。
1.png

自定义手机os式栅格磁贴布局模板。
2.png

技术栈


  • 编辑器:HbuilderX 4.75
  • 技术框架:uniapp+vue3+vite5+pinia2
  • UI组件库:uni-ui+uv-ui(uniapp vue3组件库)
  • 弹框组件:uv3-popup(基于uniapp+vue3自定义弹窗组件)
  • 表格组件:uv3-table(基于uniapp+vue3跨端综合表格组件)
  • 图表组件:qiun-data-charts
  • 模拟数据:mockjs(用于自定义表格模拟数据)
  • 缓存技术:pinia-plugin-unistorage
  • 编译支持:h5+小程序+app端
3.png

4.gif

支持更换桌面壁纸、桌面二级缩略弹窗菜单。
5.gif

项目整体采用背景虚化模糊视觉UI。实现了图表、表格、表单、编辑器、用户管理、角色管理等常用业务场景示例。探索一种全新的os式手机oa管理系统新解决方案。
6.gif

项目框架目录

使用hbuilderx4.75编辑器搭建项目模板,采用vue3 setup语法糖编码开发。
7.png

uni-vue3-os手机oa管理系统已经更新到我的原创作品集,多谢支持!

uni-app+vue3+pinia2跨端仿ios桌面OA管理系统
8.gif

支持运行到web端在pc界面以750px宽度显示布局。
9.png

10.png

11.png

12.gif

通用布局模板

13.png

页面整体布局分为自定义顶部+桌面内容+底部三部分。
  1. <template>
  2.     <view class="uv3__container flexbox flex-col flex1" :style="deskVariable">
  3.         
  4.         <slot name="header" />
  5.         
  6.         
  7.         <view class="uv3__scrollview flex1">
  8.             <slot />
  9.         </view>
  10.         
  11.         
  12.         <slot name="footer" />
  13.         
  14.         
  15.         <image v-if="showBackground" class="fixwxbg" :src="appState.config.skin || '/static/skin/theme.png'" mode="scaleToFill" />
  16.     </view>
  17. </template>
复制代码
uniapp+vue3自定义table表格

uniapp-vue3-oa管理系统用到的table表格组件uv3table。全新升级版跨三端【h5+小程序+app端】多功能增强版table组件。
14.gif

想要了解更多关于自定义表格详情,可以去看看下面这篇分享文章。
uniapp-vue3-table:基于uni-app+vue3跨端自定义表格table组件
15.png

16.png

17.png

18.png

19.png

20.png

21.png

22.png

23.png

24.png

25.png

26.png

27.png

28.png

29.png

30.png

31.png

32.png

33.png

34.png

35.png

36.png

37.png

38.png

39.png

看到这里感觉还不错吧,爆肝好几个日夜纯手撸os式手机oa后台管理解决方案。
桌面布局结构

40.png
  1. <template>
  2.     <uv3-layout>
  3.         
  4.         <Desk />
  5.         
  6.         <template #footer>
  7.             
  8.             <Dock />
  9.         </template>
  10.         
  11.         <Touch />
  12.     </uv3-layout>
  13. </template>
复制代码
uniapp+vue3手机桌面os栅格化布局

41.png

42.png

43.png

44.png

桌面菜单配置参数
  1. /**
  2. * ====== 桌面os菜单配置项 ======
  3. * label 图标标题
  4. * imgico 图标(本地或网络图片) 当type: 'icon'则为uni-icons图标名,当type: 'widget'则为自定义小部件标识名
  5. * type 图标类型(icon | widget) icon为uni-icons图标、widget为自定义小部件
  6. * path 跳转路由页面
  7. * link 跳转外部链接
  8. * hideLabel 是否隐藏图标标题
  9. * background 自定义图标背景色
  10. * color 自定义图标颜色
  11. * padding 内边距
  12. * size 栅格磁贴布局(16种) 1x1 1x2 1x3 1x4、2x1 2x2 2x3 2x4、3x1 3x2 3x3 3x4、4x1 4x2 4x3 4x4
  13. * onClick 点击图标回调函数
  14. * children 二级菜单
  15. * */
复制代码
45.png

配置children,则显示二级缩略菜单。
46.png

以弹窗形式展开,背景虚化模糊效果。
47.png
  1. <template>
  2.     <view class="uv3__container flexbox flex-col flex1" :style="deskVariable">
  3.         
  4.         <slot name="header" />
  5.         
  6.         
  7.         <view class="uv3__scrollview flex1">
  8.             <slot />
  9.         </view>
  10.         
  11.         
  12.         <slot name="footer" />
  13.         
  14.         
  15.         <image v-if="showBackground" class="fixwxbg" :src="appState.config.skin || '/static/skin/theme.png'" mode="scaleToFill" />
  16.     </view>
  17. </template>                                                                        ...<template>
  18.     <view class="uv3__container flexbox flex-col flex1" :style="deskVariable">
  19.         
  20.         <slot name="header" />
  21.         
  22.         
  23.         <view class="uv3__scrollview flex1">
  24.             <slot />
  25.         </view>
  26.         
  27.         
  28.         <slot name="footer" />
  29.         
  30.         
  31.         <image v-if="showBackground" class="fixwxbg" :src="appState.config.skin || '/static/skin/theme.png'" mode="scaleToFill" />
  32.     </view>
  33. </template><template>
  34.     <view class="uv3__container flexbox flex-col flex1" :style="deskVariable">
  35.         
  36.         <slot name="header" />
  37.         
  38.         
  39.         <view class="uv3__scrollview flex1">
  40.             <slot />
  41.         </view>
  42.         
  43.         
  44.         <slot name="footer" />
  45.         
  46.         
  47.         <image v-if="showBackground" class="fixwxbg" :src="appState.config.skin || '/static/skin/theme.png'" mode="scaleToFill" />
  48.     </view>
  49. </template>                                                        ...<template>
  50.     <uv3-layout>
  51.         
  52.         <Desk />
  53.         
  54.         <template #footer>
  55.             
  56.             <Dock />
  57.         </template>
  58.         
  59.         <Touch />
  60.     </uv3-layout>
  61. </template>                        {{item.label}}                                                                        ...                ...
复制代码
点击桌面图标,支持以如下几种方式绑定事件。
  1. const handleClickDeskMenu = (item) => {
  2.     if(item.link) {
  3.         // 链接
  4.         openURL(item.link)
  5.     }else if(item.path) {
  6.         // 页面路由地址
  7.         uni.navigateTo({
  8.             url: item.path.substr(0, 1) == '/' ? item.path : '/' + item.path
  9.         })
  10.     }else if(Array.isArray(item.children)) {
  11.         // 二级菜单
  12.         deskPopupMenu.value = item
  13.         deskPopupVisible.value = true
  14.     }
  15.     // 绑定点击事件
  16.     typeof item.onClick === 'function' && item.onClick()
  17. }
复制代码
桌面菜单json配置片段
  1. const deskMenu = ref([
  2.   {
  3.     pid: 202508182307,
  4.     list: [
  5.       {label: '今日', imgico: 'today', type: 'widget', hideLabel: true, size: '2x1'},
  6.       {label: '备忘录', imgico: 'note', type: 'widget', size: '2x2'},
  7.       {label: '倒计时', imgico: 'countdown', type: 'widget', hideLabel: true, size: '3x2'},
  8.       ...
  9.     ]
  10.   },
  11.   {
  12.     pid: 202508182310,
  13.     list: [
  14.       {label: 'Appstore', imgico: '/static/os/AppStore.png'},
  15.       
  16.       ...
  17.     ]
  18.   },
  19.   {
  20.     pid: 202508182315,
  21.     list: [
  22.       {label: 'Github', imgico: '/static/svg/github.svg', link: 'https://github.com/', background: '#8e0fdd', size: '2x2'},
  23.       {label: 'Vue.js', imgico: '/static/vue.png', link: 'https://vuejs.org/',},
  24.       {label: 'uniapp', imgico: '/static/uni.png', link: 'https://uniapp.dcloud.net.cn/',},
  25.       
  26.       ...
  27.     ]
  28.   },
  29.   {
  30.     pid: 202508182319,
  31.     list: [
  32.       {label: 'DeepSeek', imgico: 'https://cdn.deepseek.com/logo.png', link: 'https://chat.deepseek.com/', hideLabel: true, background: '#fff', padding: '10px', size: '3x2'},
  33.       
  34.       ...
  35.     ]
  36.   },
  37.   {
  38.     pid: 202508182321,
  39.     list: [
  40.       {label: 'uni-app', imgico: '/static/uni.png', link: 'https://uniapp.dcloud.net.cn/'},
  41.       {label: '首页', imgico: 'home', type: 'icon', path: 'pages/index/index'},
  42.       {label: '工作台', imgico: '/static/svg/dashboard.svg', path: 'pages/index/dashboard', background: '#fff',},
  43.       {
  44.         label: '组件',
  45.         'children': [
  46.           ...
  47.         ]
  48.       },
  49.       {
  50.         label: '个人中心',
  51.         'children': [
  52.           ...
  53.         ]
  54.       },
  55.       {
  56.         label: 'AI应用',
  57.         'children': [
  58.           {label: 'DeepSeek', imgico: 'https://www.faxianai.com/wp-content/uploads/2025/02/20250205134524-1febd.png', link: 'https://chat.deepseek.com/', background: '#fff', padding: '5px',},
  59.           {label: '腾讯元宝', imgico: 'https://www.faxianai.com/wp-content/uploads/2025/02/20250224143149-7fe1f.png', link: 'https://yuanbao.tencent.com/', padding: '5px'},
  60.           {label: '豆包', imgico: 'https://lf-flow-web-cdn.doubao.com/obj/flow-doubao/doubao/web/static/image/OnboardingAvatar.0f4f29a4.webp', link: 'https://www.doubao.com/',},
  61.          
  62.           ...
  63.         ]
  64.       },
  65.       {
  66.         label: '关于', imgico: 'info', type: 'icon',
  67.         onClick: () => {
  68.           // ...
  69.         }
  70.       },
  71.       {
  72.         label: '公众号', imgico: 'weixin', type: 'icon',
  73.         onClick: () => {
  74.           // ...
  75.         }
  76.       },
  77.     ]
  78.   }
  79. ])
复制代码
以上就是uniapp+vue3实战仿ios手机oa管理系统的一些知识分享,感谢大家的阅读与支持~
附上几个最新实例项目
最新版uni-app+vue3+uv-ui跨三端仿微信app聊天应用【h5+小程序+app端】
Flutter3-MacOS桌面OS系统|flutter3.32+window_manager客户端OS模板
最新研发flutter3.27+bitsdojo_window+getx客户端仿微信聊天Exe应用
最新版uniapp+vue3+uv-ui跨三端短视频+直播+聊天【H5+小程序+App端】
Uniapp-DeepSeek跨三端AI助手|uniapp+vue3+deepseek-v3流式ai聊天模板
Electron35-DeepSeek桌面端AI系统|vue3.5+electron+arco客户端ai模板
vue3-webseek网页版AI问答|Vite6+DeepSeek+Arco流式ai聊天打字效果
flutter3-dymall仿抖音直播商城|Flutter3.27短视频+直播+聊天App实例
uniapp+vue3酒店预订|vite5+uniapp预约订房系统模板(h5+小程序+App端)
Tauri2.0+Vite5聊天室|vue3+tauri2+element-plus仿微信|tauri聊天应用
Electron32-ViteOS桌面版os系统|vue3+electron+arco客户端OS管理模板
Electron31-Vue3Admin管理系统|vite5+electron+pinia桌面端后台Exe
48.gif

 

来源:豆瓜网用户自行投稿发布,如果侵权,请联系站长删除

相关推荐

您需要登录后才可以回帖 登录 | 立即注册