更新记录

1.0.3(2026-03-03) 下载此版本

更新

1.0.1(2026-03-02) 下载此版本

更新package.json

1.0.0(2026-03-02) 下载此版本

1.0.0

查看更多

平台兼容性

uni-app(4.84)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
× × ×
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
× × × × × × × × × - × ×

uni-app x(4.84)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - - - - -

general-work-pages 通办通用页面业务包

插件简介

general-work-pages 是一个通办业务页面模板插件,包含通用表单解析页面和离线通用解析页面及相关业务组件。支持动态表单渲染、流程审批、文件上传等功能,适用于需要快速构建通办业务应用的 uni-app 项目。

功能特性

  • 动态表单解析:支持通过 JSON 配置动态渲染表单页面
  • 在线/离线双模式:提供在线通用解析和离线通用解析两种工作模式
  • 流程审批:内置流程启动、审批、转办、历史查看等功能
  • 高级搜索:支持模糊搜索和高级搜索
  • 主子表联动:支持主表和子表的详情展示和编辑
  • 文件上传:集成文件上传组件
  • 数据加密:支持敏感字段加密展示

平台支持

平台 支持
Vue 2
Vue 3
Web (Chrome/Safari)
App (Android)
App (iOS)
小程序

安装方式

方式一:通过 HBuilderX 导入

  1. 在 HBuilderX 中打开项目
  2. general-work-pages 文件夹复制到项目的 uni_modules 目录下
  3. 重新编译项目

方式二:手动安装

  1. 下载插件包
  2. 解压到项目的 uni_modules 目录
  3. 重新编译项目

使用说明

1. 配置页面路由

在项目的 pages.json 中配置插件页面路由:

{
  "pages": [
    // 在线通用解析 - 主界面
    {
      "path": "uni_modules/general-work-pages/pages/generalapppage/generalapppage",
      "style": {
        "enablePullDownRefresh": true,
        "app-plus": {
          "pullToRefresh": {
            "color": "#1F78FF",
            "offset": "70px"
          }
        }
      }
    },
    // 在线通用解析 - 主表详情页面
    {
      "path": "uni_modules/general-work-pages/pages/generalapppage/maindetailpage/maindetailpage",
      "style": {
        "enablePullDownRefresh": true
      }
    },
    // 在线通用解析 - 子表详情页面
    {
      "path": "uni_modules/general-work-pages/pages/generalapppage/childdetailpage/childdetailpage",
      "style": {
        "enablePullDownRefresh": false
      }
    },
    // 在线通用解析 - 弹出框组件
    {
      "path": "uni_modules/general-work-pages/pages/generalapppage/inputbtncomponents/inputbtncomponents",
      "style": {}
    },
    // 在线通用解析 - 流程转办
    {
      "path": "uni_modules/general-work-pages/pages/generalapppage/transferflow/transferflow",
      "style": {
        "navigationBarTitleText": "",
        "enablePullDownRefresh": false
      }
    },
    // 在线通用解析 - 高级搜索
    {
      "path": "uni_modules/general-work-pages/pages/generalapppage/advancedsearchpage/advancedsearchpage",
      "style": {
        "navigationBarTitleText": "",
        "enablePullDownRefresh": false
      }
    },

    // 离线通用解析 - 主界面
    {
      "path": "uni_modules/general-work-pages/pages/offlineGeneralapppage/generalapppage",
      "style": {
        "enablePullDownRefresh": true
      }
    },
    // 离线通用解析 - 主表详情页面
    {
      "path": "uni_modules/general-work-pages/pages/offlineGeneralapppage/maindetailpage/maindetailpage",
      "style": {
        "enablePullDownRefresh": true
      }
    },
    // 离线通用解析 - 子表详情页面
    {
      "path": "uni_modules/general-work-pages/pages/offlineGeneralapppage/childdetailpage/childdetailpage",
      "style": {
        "enablePullDownRefresh": true
      }
    },
    // 离线通用解析 - 弹出框组件
    {
      "path": "uni_modules/general-work-pages/pages/offlineGeneralapppage/inputbtncomponents/inputbtncomponents",
      "style": {}
    }
  ]
}

2. 页面跳转

在线通用解析页面

uni.navigateTo({
  url: '/uni_modules/general-work-pages/components/generalapppage/generalapppage?app=应用标识&appid=应用ID&name=应用名称'
});

离线通用解析页面

uni.navigateTo({
  url: '/uni_modules/general-work-pages/components/offlineGeneralapppage/generalapppage?app=应用标识&appid=应用ID&name=应用名称'
});

3. 必需参数说明

参数 类型 必填 说明
app String 应用唯一标识
appid String 应用ID
name String 应用名称(用于导航栏标题)
bizid String 业务数据ID(直接跳转到详情页时传入)

目录结构

general-work-pages/
├── pages/
│   ├── generalapppage/              # 在线通用解析
│   │   ├── generalapppage.vue       # 主界面(列表页)
│   │   ├── maindetailpage/          # 主表详情页
│   │   ├── childdetailpage/         # 子表详情页
│   │   ├── childtablepage/          # 子表列表
│   │   ├── advancedsearchpage/      # 高级搜索
│   │   ├── transferflow/            # 流程转办
│   │   ├── flowStart.vue            # 流程启动
│   │   ├── flowapproval.vue         # 流程审批
│   │   ├── flowhistory.vue          # 流程历史
│   │   ├── uploadimg/               # 图片上传
│   │   ├── mixins.js                # 公共混入
│   │   └── appJsonHandler.js        # JSON解析处理
│   └── offlineGeneralapppage/       # 离线通用解析(结构同上)
├── package.json                      # 插件配置
├── changelog.md                      # 版本日志
└── readme.md                         # 使用文档

依赖要求

必需依赖

  • Vuex: 用于全局状态管理
  • uView UI: UI组件库
  • 自定义 axios 封装(需在项目中实现 this.$axios)
  • IndexedDB 工具函数(需在项目中实现 @/publicFunction/indexeddb_utils.js)

必需的 Vuex State

插件依赖以下 Vuex 状态:

{
  appInfo: {},              // 当前应用信息
  jsonData: {},             // 页面JSON配置
  currentAppInfo: {},       // 当前应用详细信息
  updateMainTableData: false, // 是否刷新主表数据
  mainTableSearchList: {},  // 主表搜索条件
  currentuser: {},          // 当前用户信息
  appEncryptionData: []     // 加密字段配置
}

客户化组件

需要在项目中实现客户化事件组件:

// @/pages/customization/customization.vue
// 用于处理特定业务的客户化逻辑

注意事项

  1. 后端 API 要求:插件需要后端提供以下接口:

    • /api-apps/mobile/{app}/mobileLayout - 获取页面JSON配置
    • /api-apps/mobile/{app}/list - 获取列表数据
    • /api-apps/workflow/{app}/bindingFlow - 查询流程绑定信息
    • /api-user/dicts/findByCodes - 获取数据字典
    • /api-user/signatureoption/list - 获取签名选项
  2. 全局配置:需要在项目中配置 appConfig.dev_url 作为后端 API 基础地址

  3. 权限要求:根据业务需求,可能需要配置文件上传、相机等权限

  4. Vue 版本:当前仅支持 Vue 2,不支持 Vue 3

  5. 平台兼容性:主要支持 Web 和 Android App,不支持 iOS 和小程序

更新日志

查看 changelog.md 了解版本更新历史。

技术支持

如有问题或建议,请通过以下方式联系:

  • 提交 Issue
  • 邮件联系项目维护者

许可证

本插件遵循项目许可证,仅供授权用户使用。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。