V8开发文档

网页端

网页端是通过浏览器访问和使用软件。它可以在不同的操作系统和设备上运行,并且无需安装或更新。

软件框架

本软件采用 Admin 中后台进行开发,为了避免重复和遗漏,框架相关内容将不在本文介绍,您可以参考 官方文档 open in new window获得更详细的信息。

技术架构

网页端基于 Node.js、Vite、Vue3、Element-plus、Pwa 等构建,具体依赖可通过package.json查看。

目录结构

├─patches					   补丁文件
├─public                         应用目录
│  ├─static                      静态资源
│  │  ├─img                      图片资源
│  │  │  ├─bill                  单据图片
│  │  │  ├─error                 错误图片
│  │  │  ├─explorer              文件图标
│  │  │  ├─home                  首页图片
│  │  │  ├─logo                  品牌图标
│  │  │  ├─pwa                   PWA图标
│  │  │  ├─user                  用户头像
│  ├─favicon.ico                 应用图标
├─src                            主要入口
│  ├─ag                          表格组件
│  │  ├─Account                  资金内容
│  │  ├─Amount                   金额渲染
│  │  ├─Bce                      批次内容
│  │  ├─Bcr	                     批次渲染
│  │  ├─Bom                      BOM类型
│  │  ├─Cell                     计量单位
│  │  ├─Column                   表格配置
│  │  ├─Cost                     费用内容
│  │  ├─Dce                      折扣率内容
│  │  ├─Dhb                      折扣率表头
│  │  ├─Dsc                      折扣额内容
│  │  ├─Examine                  审核渲染
│  │  ├─Exp                      支出类别
│  │  ├─Gne                      商品名称
│  │  ├─Gsc                      商品扫码
│  │  ├─Gsh                      商品表头
│  │  ├─Handle                   表格操作
│  │  ├─Hbt                      结算金额
│  │  ├─Img                      图像
│  │  ├─Inc                      收入类别
│  │  ├─Index                    表格索引
│  │  ├─Mfg                      批次号
│  │  ├─Money                    金额
│  │  ├─Nums                     数量
│  │  ├─Operate                  表格操作
│  │  ├─Price                    单价
│  │  ├─Serial                   序列号
│  │  ├─Spec                     规格型号
│  │  ├─Summary                  数据统计
│  │  ├─Tce                      税率
│  │  ├─Thb                      税率表头
│  │  ├─Wce                      仓库
│  │  ├─Wcr                      仓库渲染
│  │  ├─Whb                      仓库表格
│  ├─assets                      静态资源
│  │  ├─css                      公用样式
│  │  │  ├─ag.css                表格样式
│  │  │  ├─element.css           组件样式
│  │  │  ├─style.css             通用样式
│  │  │  ├─theme.css             主题样式
│  │  ├─js                       公用函数
│  │  │  ├─fun.js                常用函数
│  │  │  ├─grid.js               表格函数
│  │  │  ├─helper.js             助手函数
│  ├─components                  公用组件
│  │  ├─Attachment.vue           文件上传
│  │  ├─Bill.vue                 结算单据
│  │  ├─Column.vue               表格配置
│  │  ├─ContextMenu.vue          右键菜单
│  │  ├─Cost.vue                 单据费用
│  │  ├─Editor.vue               富文本编辑器
│  │  ├─Elect.vue                下拉菜单
│  │  ├─Explorer.vue             资源管理器
│  │  ├─Goods.vue                商品列表
│  │  ├─Icons.vue             	 图标选择器
│  │  ├─Media.vue                文件上传
│  │  ├─Menu.vue                 菜单组件
│  │  ├─Operate.vue              区域头部
│  │  ├─Screen.vue               搜索表单
│  │  ├─Search.vue               搜索下拉
│  │  ├─Sheet.vue                公用表格
│  │  ├─Summary.vue              数据汇总
│  ├─config                      类库配置
│  │  ├─ag.js                    表格实例
│  │  ├─axios.js                 请求实例
│  │  ├─bus.js                   事务总线
│  │  ├─directive.js             扩展指令
│  │  ├─icon.js                  图标库
│  │  ├─icons.js                 图标库
│  │  ├─ins.js                   应用实例
│  │  ├─layer.js                 遮罩实例
│  │  ├─math.js                  计算实例
│  │  ├─moment.js                时间实例
│  │  ├─packages.js              依赖信息
│  │  ├─report.js                报表助手
│  │  ├─router.js                路由实例
│  │  ├─store.js                 状态管理
│  │  ├─style.js                 样式引入
│  │  ├─url.js                   接口配置
│  │  ├─vnode.js                 DOM节点
│  │  ├─watermark.js             水印实例
│  ├─page                        应用页面
│  │  ├─alone                    模块组
│  │  │  ├─Browser.vue           内置浏览
│  │  │  ├─Error.vue             错误页面
│  │  │  ├─Login.vue             登录页面
│  │  ├─config                   配置组
│  │  │  ├─explorer              资源管理
│  │  │  ├─field                 字段配置
│  │  │  ├─menu                  菜单管理
│  │  │  ├─number                编号规则
│  │  │  ├─report                数据报表
│  │  ├─console                  控制组
│  │  │  ├─Console.vue           首页框架
│  │  │  ├─Home.vue              应用主页
│  │  ├─fund                     资金组
│  │  │  ├─allot                 转账单
│  │  │  ├─bill                  结算单
│  │  │  ├─cost                  单据费用
│  │  │  ├─ice                   其他收入单
│  │  │  ├─imy                   收款单
│  │  │  ├─invoice               单据发票
│  │  │  ├─oce                   其他支出单
│  │  │  ├─omy                   付款单
│  │  ├─group                    商品组
│  │  │  ├─bom                   BOM
│  │  │  ├─brand                 品牌管理
│  │  │  ├─category              分类管理
│  │  │  ├─cell                  多计量单位
│  │  │  ├─code                  条码管理
│  │  │  ├─git                   商品期初
│  │  │  ├─goods                 商品管理
│  │  │  ├─grade                 价格等级
│  │  │  ├─spec                  多规格型号
│  │  │  ├─unit                  计量单位
│  │  ├─info                     系统组
│  │  │  ├─customers             客户组
│  │  │  │  ├─assort             客户类别
│  │  │  │  ├─cit                客户期初
│  │  │  │  ├─customer           客户管理
│  │  │  ├─finance               资金组
│  │  │  │  ├─account            资金账户
│  │  │  │  ├─exp                支出类别
│  │  │  │  ├─inc                收入类别
│  │  │  │  ├─period             结账管理
│  │  │  │  ├─summary            数据校准
│  │  │  ├─logistic              物流管理
│  │  │  ├─person                人员管理
│  │  │  ├─person                人员管理
│  │  │  ├─suppliers             供应商组
│  │  │  │  ├─classify           供应商类别
│  │  │  │  ├─sit                供应商期初
│  │  │  │  ├─supplier           供应商管理
│  │  │  ├─warehouse             仓库管理
│  │  │  │  ├─alloc              货位管理
│  │  │  │  ├─detail             仓库详情
│  │  ├─purchase                 购货组
│  │  │  │  ├─bor                购货订单
│  │  │  │  ├─bre                购货退货单
│  │  │  │  ├─buy                购货入库单
│  │  ├─room
│  │  │  │  ├─adj                成本调整单
│  │  │  │  ├─batch              批次查询
│  │  │  │  ├─check              盘点单
│  │  │  │  ├─divide             拆卸单
│  │  │  │  ├─entry              其他入库单
│  │  │  │  ├─extry              其他出库单
│  │  │  │  ├─make               组装单
│  │  │  │  ├─serial             序列查询
│  │  │  │  ├─stock              库存查询
│  │  │  │  ├─transfer           调拨单
│  │  ├─sale                     销货组
│  │  │  │  ├─sell               销货出库单
│  │  │  │  ├─sor                销货订单
│  │  │  │  ├─sre                销货退货单
│  │  ├─sheet                    销货组
│  │  │  │  ├─funds              资金报表
│  │  │  │  │  ├─cbf             现金银行报表
│  │  │  │  │  ├─cct             客户对账单
│  │  │  │  │  ├─cps             应付账款明细表
│  │  │  │  │  ├─cpt             利润表
│  │  │  │  │  ├─crs             应收账款明细表
│  │  │  │  │  ├─cst             供应商对账单
│  │  │  │  ├─purchases          购货报表
│  │  │  │  │  ├─bbt             购货付款表
│  │  │  │  │  ├─blt             购货明细表
│  │  │  │  │  ├─bot             购货排行表
│  │  │  │  │  ├─bsy             购货汇总表
│  │  │  │  │  ├─bta             购货订单跟踪表(单据)
│  │  │  │  │  ├─btb             购货订单跟踪表(商品)
│  │  │  │  ├─rooms              仓库报表
│  │  │  │  │  ├─wbs             商品库存余额表
│  │  │  │  │  ├─wds             商品收发明细表
│  │  │  │  │  ├─wss             商品收发汇总表
│  │  │  │  ├─sales              销货报表
│  │  │  │  │  ├─sbt             销货收款表
│  │  │  │  │  ├─slt             销货明细表
│  │  │  │  │  ├─sot             销货排行表
│  │  │  │  │  ├─spta            销货利润表
│  │  │  │  │  ├─sptb            销货利润明细表
│  │  │  │  │  ├─ssy             销货汇总表
│  │  │  │  │  ├─sta             销货订单跟踪表(单据)
│  │  │  │  │  ├─stb             销货订单跟踪表(商品)
│  │  ├─system                   系统组
│  │  │  ├─backup                数据备份
│  │  │  ├─frame                 组织架构
│  │  │  ├─log                   操作日志
│  │  │  ├─notification          消息通知
│  │  │  ├─role                  用户角色
│  │  │  ├─sys                   系统设置
│  │  │  ├─user                  用户管理
│  ├─plugins                     应用插件
│  │  ├─load.js                  按需加载
│  │  ├─pwa.js                   PWA实例
│  │  ├─script.js                组件名称
│  ├─App.vue                     应用入口
│  ├─main.js                     应用实例
├─.gitignore                     Git配置
├─.prettierrc                    格式标准
├─index.html                     应用入口
├─package.json                   应用配置
├─postcss.config                 CSS配置
├─vite.config.js                 Vite配置

依赖项

名称描述
@element-plus/icons-vuehttps://www.npmjs.com/package/@element-plus/icons-vue
@icon-park/vue-nexthttps://www.npmjs.com/package/@icon-park/vue-next
@pansy/watermarkhttps://www.npmjs.com/package/@pansy/watermark
@wangeditor/editorhttps://www.npmjs.com/package/@wangeditor/editor
@wangeditor/editor-for-vuehttps://www.npmjs.com/package/@wangeditor/editor-for-vue
ag-grid-communityhttps://www.npmjs.com/package/ag-grid-community
ag-grid-enterprisehttps://www.npmjs.com/package/ag-grid-enterprise
ag-grid-vue3https://www.npmjs.com/package/ag-grid-vue3
axioshttps://www.npmjs.com/package/axios
blueimp-md5https://www.npmjs.com/package/blueimp-md5
canvas-confettihttps://www.npmjs.com/package/canvas-confetti
echartshttps://www.npmjs.com/package/echarts
element-plushttps://www.npmjs.com/package/element-plus
js-base64https://www.npmjs.com/package/js-base64
mathjshttps://www.npmjs.com/package/mathjs
mitthttps://www.npmjs.com/package/mitt
momenthttps://www.npmjs.com/package/moment
nprogresshttps://www.npmjs.com/package/nprogress
piniahttps://www.npmjs.com/package/pinia
pinia-plugin-persistedstatehttps://www.npmjs.com/package/pinia-plugin-persistedstate
qrcodehttps://www.npmjs.com/package/qrcode
qshttps://www.npmjs.com/package/qs
sortablejshttps://www.npmjs.com/package/sortablejs
vuehttps://www.npmjs.com/package/vue
vue-routerhttps://www.npmjs.com/package/vue-router
@vitejs/plugin-vuehttps://www.npmjs.com/package/@vitejs/plugin-vue
autoprefixerhttps://www.npmjs.com/package/autoprefixer
patch-packagehttps://www.npmjs.com/package/patch-package
postcss-color-mixhttps://www.npmjs.com/package/postcss-color-mix
postcss-preset-envhttps://www.npmjs.com/package/postcss-preset-env
unplugin-auto-importhttps://www.npmjs.com/package/unplugin-auto-import
unplugin-element-plushttps://www.npmjs.com/package/unplugin-element-plus
unplugin-vue-componentshttps://www.npmjs.com/package/unplugin-vue-components
vitehttps://www.npmjs.com/package/vite
vite-plugin-pwahttps://www.npmjs.com/package/vite-plugin-pwa

命令项

指令描述
npm install安装依赖项
npm update更新依赖项
npm run dev本地开发调试
npm run patch补丁包
npm run build应用发布

依赖补丁

软件运行需要依赖三方类库,如遇到因类库更新导致的功能出错,可通过该依赖补丁来实现,该功能基于patch-package实现。

补丁路径:/patches/*.patch

指令名称:npm run patch

文档地址:https://github.com/ds300/patch-package

产品安装

  1. 下载并安装Node.jsopen in new window

  2. 配置 npm 镜像源

    • 阿里源
    npm config set registry https://registry.npmmirror.com
    
    • 腾讯源
    npm config set registry http://mirrors.cloud.tencent.com/npm/
    
  3. 安装项目依赖

npm install
  1. 运行项目
npm run dev
  1. 访问 http://localhost:3000open in new window

产品部署

  1. 应用打包

    npm run build
    
  2. 目录结构

        根目录
          ├─dist                        编译目录
          │  ├─static                   静态资源
          │  │  ├─css                   样式目录
          │  │  ├─img                   图片目录
          │  │  ├─js                    脚本目录
          │  ├─favicon.ico              应用图标
          │  ├─index.html               应用入口
          │  ├─manifest.webmanifest     PWA配置
          │  ├─sw.js                    PWA清单
          │  ├─workbox-*.js		       PWA脚本
    
  3. 部署到服务端

    将编译后的 dist 文件按照如下对应关系替换后端文件即可,为确保生效,替换后需清空浏览器缓存。

    前端路径后端路径
    dist/static/css/public/static/css
    dist/static/img/public/static/img
    dist/static/js/public/static/js
    favicon.ico/public/favicon.ico
    index.html/resources/views/index.blade.php
    manifest.webmanifest/public/manifest.webmanifest
    sw.js/public/sw.js
    workbox-*.js/public/workbox-*.js

接口配置

数据接口为统一配置用于网络请求或其他交互项的基础域名或 IP 地址信息,适用于全局场景和模块。

文件路径: src/config/url.js

//开发示例
export default {
    install(app) {
        app.config.globalProperties.$api = 'https://erp.nodcloud.com/api/'; //api路径
        app.config.globalProperties.$url = 'https://erp.nodcloud.com/'; //资源路径
    }
};
//发布示例
export default {
    install(app) {
        app.config.globalProperties.$api = '/api/'; //api路径
        app.config.globalProperties.$url = '/'; //资源路径
    }
};

状态管理

该文件内置了软件所需的必要数据资源,状态管理通过插件(pinia-plugin-persistedstate)实现本地持久化数据存储,

文件路径:src/config/store.js

名称说明
base基础信息
sys系统配置
soft软件信息
user用户信息
role角色信息
menu菜单信息
frame组织机构
category商品分类
assort客户分类
classify供应商分类
inc收入类别
exp支出类别
account资金账户
warehouse仓库
field表单字段
lock是否锁屏
theme主题配置
columnEL 表格配置
agAG 表格配置

公用函数

公用函数库内置了多种常用方法,同时您可根据实际业务需求扩展该函数库

  • 调用方法

    proxy.$fun.fn();
    
  • 内置函数

    名称描述
    formDetail跳转单据详情
    sleep延迟(Promise)
    speak语言播报
    formValidateSync表单同步验证
    getField获取扩展字段配置
    ustr随机字符串
    uuid唯一标识
    inSuffix后缀匹配
    qrcode二维码
    url打开链接
    getBearer获取令牌
    downBase64File下载编码文件
    downFile下载文件
    domParent获取节点指定上级节点
    validator验证数据
    querySort参数排序
    objToParm对象转查询
    emptyStr是否空字符串
    strFirstToUpperCase字符串首字母大写
    scopeRandom范围随机数
    md5加密
    flatten树结构扁平化
    orderBy数组排序
    isJson判断 JSON
    emptyObj判断空对象
    arrayDifference数组差异
    equals变量对比
    deepClone深度克隆

表格函数

基于 AG-GRID 的数据表格公用函数

  • 调用方法

    proxy.$grid.fn();
    
  • 内置函数

    名称描述
    delEmptyRow删除空行
    activateLast激活末行
    focusedCell聚焦单元格

权限函数

基于用户角色的公用函数

  • 调用方法

    proxy.$helper.fn();
    
  • 内置函数

    名称描述
    auth功能权限

公用组件

  • 文件附件 /src/components/Attachment.vue

    弹框文件资源选择器

    属性名必须说明类型默认值
    modelValue文件列表Array
    text提示文本String上传附件
    path资源路径String/
    suffix后缀名称Array[]
  • 结算单据 /src/components/Bill.vue

    结算单据选择器

    属性名必须说明类型默认值
    parm额外参数Object
    toTeleportString
    choice选择回调Function
    close关闭回调Function
  • 表格配置 /src/components/Column.vue

    EL-TABLE 样式配置

    属性名必须说明类型默认值
    name配置名称String
    modelValue配置内容Object
    hide隐藏项Array[]
    exclude排除项Array[]
  • 右键菜单 /src/components/ContextMenu.vue

    区域右键菜单

    属性名必须说明类型默认值
    area区域选择器String
    target元素选择器String
  • 单据费用 /src/components/Cost.vue

    单据费用录入

    属性名必须说明类型默认值
    total费用合计Number|String
    list费用明细Array
  • 富文本编辑器 /src/components/Editor.vue

    WangEditor 富文本封装

    属性名必须说明类型默认值
    modelValue文本内容String
    path文件路径String/
    mode配置项String
  • 数据选择器 /src/components/Elect.vue

    分页模型数据选择器

    属性名必须说明类型默认值
    url数据接口String
    modelValue内容项String|Nmuber/
    disabled是否禁用Booleanfalse
    multiple是否多选Booleanfalse
    placeholder占位文本String请选择数据
  • 文件资源管理 /src/components/Explorer.vue

    可视化文件资源管理器

    属性名必须说明类型默认值
    path资源路径String/
    toTeleportStringnull
    single是否单选Booleanfalse
    choice选择回调Functionnull
    close关闭回调Functionnull
  • 单据商品 /src/components/Goods.vue

    单据商品选择器

    属性名必须说明类型默认值
    toTeleportStringnull
    choice选择回调Functionnull
    close关闭回调Functionnull
  • 图标选择器 /src/components/Icons.vue

    icon-park 图标选择器

    属性名必须说明类型默认值
    modelValue图标名称String
  • 物流信息 /src/components/Logistic.vue

    物流录入查询器

    属性名必须说明类型默认值
    modelValue物流信息Object
    placeholder占位文本String请输入物流单号
  • 图像选择器 /src/components/Media.vue

    基于文件资源管理器的图像选择器

    属性名必须说明类型默认值
    modelValue图像路径String
    path资源路径String/
  • 菜单渲染 /src/components/Media.vue

    递归式菜单渲染

    属性名必须说明类型默认值
    value菜单配置Array
  • 通用区域 /src/components/Operate.vue

    支持返回的头部区域渲染

    属性名必须说明类型默认值
    back是否返回Booleanfalse
    slotClass插槽 ClassStringslot
  • 数据选择器 /src/components/Screen.vue

    配置式数据选择器

    属性名必须说明类型默认值
    modelValue数据内容Object
    field数据配置Object
  • 数据搜索器 /src/components/Search.vue

    配置数据搜索器

    属性名必须说明类型默认值
    placeholder占位文本String综合搜索
    modelValue数据内容Object
    field数据配置Object
  • 简易表格 /src/components/Sheet.vue

    EL-TABLE 简易表格

    属性名必须说明类型默认值
    stripe隔行背景Booleanfalse
    border是否边框Booleanfalse
  • 数据汇总 /src/components/Summary.vue

    多列数据汇总

    属性名必须说明类型默认值
    data汇总数据Object

类库实例

  • 数据表格 src/config/ag.js

  • 网络请求 src/config/axios.js

    axios 网络请求库,集成请求遮罩 layer,请求自动携带 cookie 和 token

    //请求方法
    proxy.$axios.get(url[, config]);
    proxy.$axios.delete(url[, config]);
    proxy.$axios.head(url[, config]);
    proxy.$axios.post(url[, data[, config]]);
    proxy.$axios.put(url[, data[, config]]);
    proxy.$axios.patch(url[, data[, config]]);
    
  • 事件总线 src/config/bus.js

    基于 mitt 的全局事件总线,支持跨页面事件订阅与触发

    //事件订阅
    proxy.$bus.on('event', () => {});
    //事件触发
    proxy.$bus.emit('event', parm);
    
  • 自定义指令 src/config/directive.js

    名称指令描述
    分页自适应v-pagination适用于 el-pagination 在页面尺寸改变情况下节点的显示隐藏
    表单多列自适应v-form-column适用于 el-form 表单 el-form-item 行内显示数量
  • 图标实例 src/config/icon.js

    基于 element-plus 的全局 vue 图标组件 参考链接open in new window

    <!-- 加号图标 -->
    <el-icon>
        <Plus/>
    </el-icon>
    <!-- 减号图标 -->
    <el-icon>
        <Minus/>
    </el-icon>
    
  • 图标实例 src/config/icons.js

    基于 iconPark 的全局 vue 图标组件 参考链接open in new window

    <!-- 配置图标 -->
    <icon-park type="config" />
    <!-- 书签图标 -->
    <icon-park type="bookmark" />
    
  • 应用实例 src/config/ins.js

    适用于全局场景下的应用实例化获取

    import ins from '@/config/ins';
    let proxy = ins.app.config.globalProperties;
    
  • 遮罩层 src/config/layer.js

    基于 el-loading 的指令调用

    //显示遮罩
    proxy.$layer.show();
    //隐藏遮罩
    proxy.$layer.hide();
    
  • 时间实例 src/config/moment.js

    基于 moment 的全局时间实例

    //获取日期
    proxy.$moment().format('dddd');
    proxy.$moment().format('MMMM Do YYYY, h:mm:ss a');
    proxy.$moment().format('dddd');
    proxy.$moment().format('MMM Do YY');
    proxy.$moment().format('YYYY [escaped] YYYY');
    proxy.$moment().format();
    
  • 版本依赖 src/config/packages.js

    获取 package 依赖内容

    proxy.$packages;
    
  • 报表助手 src/config/report.js

    基于 report 的实例化与封装 参考链接open in new window

    //报表助手
    proxy.$report.helper.fun();
    //打印报表
    proxy.$report.scene.print(parm);
    //预览报表
    proxy.$report.scene.view(parm);
    //设计报表
    proxy.$report.scene.design(parm);
    //输出报表
    proxy.$report.scene.document(parm);
    
  • 页面路由 src/config/router.js

    基于 vue-router 的页面路由,支持动态加载与懒加载

  • 状态管理 src/config/store.js

    基于 pinia 的状态存储,通过 pinia-plugin-persistedstate 实现数据持久化

    //获取实例
    let store = proxy.$pinia.state.value.store;
    //深色模式
    store.theme.dark = true;
    
  • 样式引用 src/config/style.js

  • 接口配置 src/config/url.js

    //获取
    let api = proxy.$api;
    
  • 接口配置 src/config/vnode.js

    基于 vnode 的动态 dialog、drawer 渲染,支持 slot 和组件传递

    let vnode = proxy.$vnode;
    //渲染对话框
    vnode.dialog().render();
    //渲染抽屉
    vnode.drawer().render();
    //节点卸载
    vnode.unrender();
    //节点关闭
    vnode.close();
    
  • 页面水印 src/config/watermark.js

    基于 watermark 封装的全局页面水印

    //渲染水印
    proxy.$watermark.render(parm);
    //删除水印
    proxy.$watermark.destroy();
    
  • 自动加载 src/plugins/load.js

    组件自动加载,实现无需 import 引入直接使用

  • pwa 实例 src/plugins/pwa.js

    基于 vite-plugin-pwa 实现的 pwa 实现

  • 组件名称 src/plugins/script.js

    扩展 vue 组合模式下简略组件命名

    <script setup name="Console">
        //...
    </script>
    

模块结构

模块采用增删改查通用文件结构

名称描述
Detail.vue页面头
Form.vue表单项
Record.vue列表项
  • 页面头

    页面模式适用,基于 Operate 组件的通用页面头部

  • 表单项

    1. 页面|弹框|抽屉三模式适用,支持组件传参与 Url 访问

      //挂载完成
      onMounted(() => {
          let id = proxy.$route.query.id || props.id || null;
          if (id) {
              //数据获取
              proxy.$axios.get('/api', { params: { id } }).then((result) => {
                  if (result.state == 'success') {
                      Object.assign(form, result.info);
                  } else {
                      ElMessage({
                          type: result.state,
                          message: result.message
                      });
                  }
              });
          } else {
              //自动编号
              proxy.$axios.get('/api', { params: { module: 'module' } }).then((result) => {
                  if (result.state == 'success') {
                      form.number = result.info;
                  } else {
                      ElMessage({
                          type: result.state,
                          message: result.message
                      });
                  }
              });
          }
      });
      
    2. 支持操作区域 Teleport

      <!-- props.to -->
      <Teleport v-if="props.to" :to="props.to">
          <el-button v-if="props.close" @click="props.close">取消</el-button>
          <el-button v-if="$helper.auth('model.edit')" type="primary" @click="save" :loading="load">保存</el-button>
          <el-button v-if="!props.close" class="ico-button" @click="refresh">
              <icon-park type="refresh" />
          </el-button>
      </Teleport>
      
    3. 负责模块数据的增加、修改

      //保存
      function save() {
          el.form.value.validate((valid) => {
              if (valid) {
                  load.value = true;
                  proxy.$axios.post('/api', form).then((result) => {
                      load.value = false;
                      if (result.state == 'success') {
                          form.id = result.info;
                          proxy.$bus.emit('modelRefresh', 0);
                          props.close && props.close();
                          ElMessage({ type: 'success', message: '保存成功' });
                      } else {
                          ElMessage({ type: result.state, message: result.message });
                      }
                  });
              }
          });
      }
      
  • 列表项

    1. 基于 Search 组件的多数据搜索

      <search v-model="query.search.data" :field="query.search.field" @change="record(1)"></search>
      
      const query = reactive({
          search: {
              data: {
                  name: [],
                  number: [],
                  a: [],
                  b: [],
                  c: [],
                  d: [],
                  e: [],
                  data: []
              },
              field: {
                  name: '名称',
                  number: '编号',
                  a: field.state ? field.config.a.alias : 'a',
                  b: field.state ? field.config.b.alias : 'b',
                  c: field.state ? field.config.c.alias : 'c',
                  d: field.state ? field.config.d.alias : 'd',
                  e: field.state ? field.config.e.alias : 'e',
                  data: '备注信息'
              }
          }
      });
      
    2. 基于 Column 组件的表格项配置

      <column :ref="el.column" v-model="table.column" name="model" :hide="table.hide" :exclude="table.exclude" />
      
      const table = reactive({
          column: [
              { label: '名称', key: 'name', width: '200', show: true, align: store.theme.align },
              { label: '编号', key: 'number', width: '120', show: true, align: store.theme.align },
              { label: field.state ? field.config.a.alias : 'a', key: 'a', width: '160', show: false, align: store.theme.align },
              { label: field.state ? field.config.b.alias : 'b', key: 'b', width: '160', show: false, align: store.theme.align },
              { label: field.state ? field.config.c.alias : 'c', key: 'c', width: '160', show: false, align: store.theme.align },
              { label: field.state ? field.config.d.alias : 'd', key: 'd', width: '160', show: false, align: store.theme.align },
              { label: field.state ? field.config.e.alias : 'e', key: 'e', width: '160', show: false, align: store.theme.align },
              { label: '备注信息', key: 'data', width: '200', show: true, align: store.theme.align }
          ],
          hide: [],
          exclude: []
      });
      
    3. 支持数据分页查询

      <el-pagination v-model:current-page="table.page.page" v-model:page-size="table.page.size" :total="table.page.total" :page-sizes="table.page.sizes" :pager-count="table.page.count" :small="true" :background="true" @current-change="record(0)" @size-change="record(1)" layout="total,prev,pager,next,sizes" v-pagination />
      
      const table = reactive({
          data: [],
          page: {
              page: 1,
              size: 30,
              total: 0,
              sizes: [30, 60, 90, 150, 300],
              count: 5
          }
      });
      
    4. 支持数据多选操作

    5. 支持数据导入导出

服务端

服务端是网页端、移动端(待发布)的公用后端服务、软件的业务逻辑、数据存储、数据交互等工作均由服务端处理。

运行环境

名称说明版本
操作系统Windows、Linux-
Web 服务Nginx、Apache、IIS-
Web 脚本PHP8.1+
数据库Mysql5.7+

软件框架

本软件采用 Laravel 框架进行开发,为了避免重复和遗漏,框架相关内容将不在本文介绍,您可以参考 Laravel 官方文档 open in new window获得更详细的信息。

软件依赖

名称描述
laravel/framework应用核心
laravel/sanctum身份验证
laravel/tinker内置依赖
guzzlehttp/guzzle内置依赖
mews/captcha验证码
nodcloud/library公用类库
milon/barcode条码库
php-curl-class/php-curl-classcurl 库
phpoffice/phpspreadsheetoffice 库

目录结构

本目录结构说明仅包含与软件开发相关的内容,而不包括未使用 Laravel 框架自身的目录和文件。如需了解 Laravel 框架的目录结构,请参阅 Laravel 官方文档open in new window

├─app                            应用核心
│  ├─Http                        请求处理
│  │  ├─Helpers                  控制器
│  │  │  ├─Fun.php               公用函数库
│  │  ├─Http                     数据请求
│  │  ├─Controllers              控制器
│  │  │  ├─Account.php           资金账户
│  │  │  ├─Adj.php               成本调整单
│  │  │  ├─Alloc.php             仓库货位
│  │  │  ├─Allot.php             转账单
│  │  │  ├─Assort.php            客户类别
│  │  │  ├─Backup.php            数据备份
│  │  │  ├─Batch.php             批次查询
│  │  │  ├─Bill.php              结算单
│  │  │  ├─Bom.php               BOM单
│  │  │  ├─Bor.php               购货订单
│  │  │  ├─Brand.php             商品品牌
│  │  │  ├─Bre.php               购货退货单
│  │  │  ├─Bst.php               购货报表
│  │  │  ├─Buy.php               购货入库单
│  │  │  ├─Category.php          商品类别
│  │  │  ├─Cell.php              多计量单位
│  │  │  ├─Check.php             库存盘点
│  │  │  ├─Cit.php               客户期初
│  │  │  ├─Classify.php          供应商类别
│  │  │  ├─Code.php              条码
│  │  │  ├─Controller.php        控制器
│  │  │  ├─Cost.php              单据费用
│  │  │  ├─Cst.php               资金报表
│  │  │  ├─Customer.php          客户管理
│  │  │  ├─Divide.php            拆卸单
│  │  │  ├─Entry.php             其他入库单
│  │  │  ├─Exp.php               支出类别
│  │  │  ├─Explorer.php          文件管理
│  │  │  ├─Extry.php             其他出库单
│  │  │  ├─Field.php             扩展字段
│  │  │  ├─Frame.php             组织架构
│  │  │  ├─Git.php               商品期初
│  │  │  ├─Goods.php             商品
│  │  │  ├─Grade.php             价格等级
│  │  │  ├─Home.php              首页
│  │  │  ├─Ice.php               其他收入单
│  │  │  ├─Imy.php               收款单
│  │  │  ├─Inc.php               收入类别
│  │  │  ├─Index.php             入口
│  │  │  ├─Invoice.php           发票详情
│  │  │  ├─Log.php               操作日志
│  │  │  ├─Login.php             登录
│  │  │  ├─Make.php              组装单
│  │  │  ├─Menu.php              菜单
│  │  │  ├─Notification.php      消息通知
│  │  │  ├─Number.php            编号规则
│  │  │  ├─Oce.php               其他支出单
│  │  │  ├─Omy.php               付款单
│  │  │  ├─Period.php            结账管理
│  │  │  ├─Person.php            人员管理
│  │  │  ├─Report.php            报表模板
│  │  │  ├─Role.php              用户角色
│  │  │  ├─Sell.php              销售出库单
│  │  │  ├─Serial.php            序列查询
│  │  │  ├─Service.php           数据服务
│  │  │  ├─Sheet.php             报表数据
│  │  │  ├─Sit.php               供应商期初
│  │  │  ├─Sor.php               销售订单
│  │  │  ├─Spec.php              规格型号
│  │  │  ├─Sre.php               销售退货单
│  │  │  ├─Sst.php               销售报表
│  │  │  ├─Stock.php             库存查询
│  │  │  ├─Summary.php           成本计算
│  │  │  ├─Supplier.php          供应商
│  │  │  ├─Sys.php               系统设置
│  │  │  ├─Transfer.php          调拨单
│  │  │  ├─Unit.php              计量单位
│  │  │  ├─Update.php            版本更新
│  │  │  ├─User.php              用户管理
│  │  │  ├─Warehouse.php         仓库
│  │  │  ├─Wst.php               库存报表
│  │  ├─Validate                 验证器
│  │  │  ├─Account.php           资金账户
│  │  │  ├─Adj.php               成本调整单
│  │  │  ├─AdjInfo.php           成本调整单详情
│  │  │  ├─Alloc.php             仓库货位
│  │  │  ├─Allot.php             转账单
│  │  │  ├─AllotInfo.php         转账单详情
│  │  │  ├─Assort.php            客户类别
│  │  │  ├─Backup.php            数据备份
│  │  │  ├─Batch.php             批次查询
│  │  │  ├─Bill.php              结算单
│  │  │  ├─BillInfo.php          结算单详情
│  │  │  ├─Bom.php               BOM单
│  │  │  ├─BomInfo.php           BOM单详情
│  │  │  ├─Bor.php               购货订单
│  │  │  ├─BorInfo.php           购货订单详情
│  │  │  ├─Brand.php             品牌
│  │  │  ├─Bre.php               购货退货单
│  │  │  ├─BreInfo.php           购货退货单详情
│  │  │  ├─Bst.php               购货报表
│  │  │  ├─Buy.php               购货单
│  │  │  ├─BuyInfo.php           购货单报表
│  │  │  ├─Category.php          商品类别
│  │  │  ├─Cell.php              多计量单位
│  │  │  ├─CellInfo.php          多计量单位详情
│  │  │  ├─Check.php             盘点单
│  │  │  ├─Cit.php               客户期初
│  │  │  ├─Classify.php          供应商类别
│  │  │  ├─Code.php              条码
│  │  │  ├─Cost.php              单据费用
│  │  │  ├─Cst.php               资金报表
│  │  │  ├─Customer.php          客户管理
│  │  │  ├─Divide.php            拆卸单
│  │  │  ├─DivideInfo.php        拆卸单详情
│  │  │  ├─Entry.php             其他入库单
│  │  │  ├─EntryInfo.php         其他入库单详情
│  │  │  ├─Exp.php               支出类别
│  │  │  ├─Explorer.php          文件管理
│  │  │  ├─Extry.php             其他出库单
│  │  │  ├─ExtryInfo.php         其他出库单详情
│  │  │  ├─Field.php             扩展字段
│  │  │  ├─Frame.php             组织架构
│  │  │  ├─Ga.php                商品货位
│  │  │  ├─Git.php               商品期初
│  │  │  ├─GitInfo.php           商品期初详情
│  │  │  ├─Goods.php             商品
│  │  │  ├─Grade.php             价格等级
│  │  │  ├─Gs.php                商品供应商
│  │  │  ├─Ice.php               其他收入单
│  │  │  ├─IceInfo.php           其他收入单详情
│  │  │  ├─Imy.php               收款单
│  │  │  ├─ImyInfo.php           收款单详情
│  │  │  ├─Inc.php               收入类别
│  │  │  ├─Invoice.php           发票详情
│  │  │  ├─Level.php             等级折扣
│  │  │  ├─Log.php               操作日志
│  │  │  ├─Login.php             登录
│  │  │  ├─Logistic.php          物流管理
│  │  │  ├─Make.php              组装单
│  │  │  ├─MakeInfo.php          组装单详情
│  │  │  ├─Menu.php              菜单
│  │  │  ├─Notification.php      消息通知
│  │  │  ├─Number.php            编号规则
│  │  │  ├─Oce.php               其他支出单
│  │  │  ├─OceInfo.php           其他支出单详情
│  │  │  ├─Omy.php               付款单
│  │  │  ├─OmyInfo.php           付款单详情
│  │  │  ├─Period.php            结账管理
│  │  │  ├─Person.php            人员管理
│  │  │  ├─Price.php             价格策略
│  │  │  ├─Report.php            报表模板
│  │  │  ├─Role.php              用户角色
│  │  │  ├─Sell.php              销售出库单
│  │  │  ├─SellInfo.php          销售出库单详情
│  │  │  ├─Serial.php            序列查询
│  │  │  ├─Service.php           数据服务
│  │  │  ├─Sheet.php             报表数据
│  │  │  ├─Sit.php               供应商期初
│  │  │  ├─Sor.php               销货订单
│  │  │  ├─SorInfo.php           销货订单详情
│  │  │  ├─Spec.php              规格型号
│  │  │  ├─SpecInfo.php          规格型号详情
│  │  │  ├─Sre.php               销货退货单
│  │  │  ├─SreInfo.php           销货退货单详情
│  │  │  ├─Sst.php               销售报表
│  │  │  ├─Stock.php             库存查询
│  │  │  ├─Summary.php           成本计算
│  │  │  ├─Supplier.php          供应商
│  │  │  ├─Sys.php               系统设置
│  │  │  ├─Transfer.php          调拨单
│  │  │  ├─TransferInfo.php      调拨单详情
│  │  │  ├─Unit.php              计量单位
│  │  │  ├─Update.php            版本更新
│  │  │  ├─User.php              用户
│  │  │  ├─Validate.php          验证基类
│  │  │  ├─Warehouse.php         仓库管理
│  │  │  ├─Wst.php               仓库报表
│  ├─Models
│  │  ├─Casts                    模型转换
│  │  │  ├─DateStamp.php         时间转换
│  │  │  ├─NullStr.php           类型转换
│  │  │  ├─TimeStamp.php         时间转换
│  │  ├─Traits                   Traits
│  │  │  ├─HasDateTimeFormatter.php 时间转换
│  │  ├─Account.php              资金账户
│  │  ├─AccountInfo.php          资金账户详情
│  │  ├─Adj.php                  成本调整单
│  │  ├─Alloc.php                仓库货位
│  │  ├─Allot.php                转账单
│  │  ├─AllotInfo.php            转账单详情
│  │  ├─Assort.php               客户类别
│  │  ├─Batch.php                批次表
│  │  ├─BatchInfo.php            批次表详情
│  │  ├─Bill.php                 结算单
│  │  ├─BillInfo.php             结算单详情
│  │  ├─Bom.php                  BOM单
│  │  ├─BomInfo.php              BOM单详情
│  │  ├─Bor.php                  购货订单
│  │  ├─BorInfo.php              购货订单详情
│  │  ├─Brand.php                品牌
│  │  ├─Bre.php                  购货退货单
│  │  ├─BreBill.php              购货退货结算记录
│  │  ├─BreInfo.php              购货退货单详情
│  │  ├─Buy.php                  购货入库单
│  │  ├─BuyBill.php              购货入库结算记录
│  │  ├─BuyInfo.php              购货入库单详情
│  │  ├─Category.php             商品分类
│  │  ├─Cell.php                 多计量单位
│  │  ├─CellInfo.php             多计量单位详情
│  │  ├─Cit.php                  客户期初
│  │  ├─Classify.php             供应商类别
│  │  ├─Code.php                 条码
│  │  ├─Cost.php                 单据费用
│  │  ├─Customer.php             供应商
│  │  ├─Divide.php               拆卸单
│  │  ├─DivideInfo.php           拆卸单详情
│  │  ├─Entry.php                其他入库单
│  │  ├─EntryInfo.php            其他入库单详情
│  │  ├─Exp.php                  支出类别
│  │  ├─Extry.php                其他出库单
│  │  ├─ExtryInfo.php            其他出库单详情
│  │  ├─Field.php                扩展字段
│  │  ├─Frame.php                组织架构
│  │  ├─Ga.php                   商品货位
│  │  ├─Git.php                  商品期初
│  │  ├─GitInfo.php              商品期初详情
│  │  ├─Goods.php                商品
│  │  ├─Grade.php                价格等级
│  │  ├─Gs.php                   商品货位
│  │  ├─Ice.php                  其他收入单
│  │  ├─IceInfo.php              其他收入单详情
│  │  ├─Imy.php                  收款单详情
│  │  ├─ImyInfo.php              收款单
│  │  ├─Inc.php                  收入类别
│  │  ├─Invoice.php              发票详情
│  │  ├─Level.php                等级折扣
│  │  ├─Log.php                  操作日志
│  │  ├─Logistic.php             物流管理
│  │  ├─Make.php                 组装单
│  │  ├─MakeInfo.php             组装单详情
│  │  ├─Menu.php                 菜单
│  │  ├─Model.php                模型基类
│  │  ├─Notifiable.php           消息通知
│  │  ├─Number.php               编号规则
│  │  ├─Oce.php                  其他支出单
│  │  ├─OceInfo.php              其他支出单详情
│  │  ├─Omy.php                  付款单
│  │  ├─OmyInfo.php              付款单详情
│  │  ├─Period.php               结账管理
│  │  ├─Person.php               人员管理
│  │  ├─Price.php                价格策略
│  │  ├─Record.php               单据操作
│  │  ├─Relation.php             单据关系表
│  │  ├─Report.php               报表数据
│  │  ├─Role.php                 用户角色
│  │  ├─Room.php                 库存
│  │  ├─RoomInfo.php             库存详情
│  │  ├─Sell.php                 销售出库单
│  │  ├─SellBill.php             销售出库结算记录
│  │  ├─SellInfo.php             销售出库单详情
│  │  ├─SerialInfo.php           批次详情
│  │  ├─Sit.php                  供应商期初
│  │  ├─Sor.php                  销货订单
│  │  ├─SorInfo.php              销货订单详情
│  │  ├─Spec.php                 规格型号
│  │  ├─SpecInfo.php             规格型号详情
│  │  ├─Sre.php                  销货退货单
│  │  ├─SreBill.php              销货退货结算详情
│  │  ├─SreInfo.php              销货退货单详情
│  │  ├─Summary.php              成本记录
│  │  ├─Supplier.php             供应商
│  │  ├─Sys.php                  系统设置
│  │  ├─Transfer.php             调拨单
│  │  ├─TransferInfo.php         调拨单详情
│  │  ├─Unit.php                 计量单位
│  │  ├─User.php                 用户
│  │  ├─Warehouse.php            仓库
├─config                         应用配置
│  ├─cors.php                    跨域配置
│  ├─soft.php                    版本配置
├─extend                         扩展类库
├─public                         扩展类库
│  ├─install                     安装程序
│  │  ├─css                      样式文件
│  │  ├─img                      图像文件
│  │  ├─js                       脚本文件
│  │  ├─lib                      操作文件
│  │  │  ├─base.php              安装程序
│  │  │  ├─env.ini               配置文件
│  │  │  ├─mysql.ini             数据文件
│  │  ├─index.php                引导文件
│  │  ├─install.lock             锁定文件
│  ├─static                      应用文件
│  │  ├─css                      样式文件
│  │  ├─img                      图像文件
│  │  ├─js                       脚本文件
│  ├─storage                     软链接
│  ├─.htaccess                   Apache伪静态
│  ├─favicon.ico                 应用图标
│  ├─index.php                   应用入口
│  ├─manifest.webmanifest        PWA配置
│  ├─nginx.htaccess              Nginx伪静态
│  ├─robots.txt                  蜘蛛配置
│  ├─sw.js                       PWA清单
│  ├─workbox-*.js                PWA应用
├─resources                      资源文件
│  ├─views                       视图文件
│  │  ├─index.blade.php          入口视图
├─routes                         路由
│  ├─api                         API路由
│  ├─web                         WEB路由
├─.env                           公用配置
├─composer.json                  配置文件

目录权限

目录路径
/
/install
/config
/storage

依赖函数

函数名称
mysqli_connect
symlink
exec
fsockopen
gethostbyname
file_get_contents
xml_parser_create
mb_strlen
curl_exec
pdo_mysql
openssl
zip
gd
fileinfo
session

助手函数

为了方便软件开发与函数复用,将公用方法进行了抽离,并通过 composer 自动加载引入,以方便快捷使用。

  • composer.json

    "autoload": {
        //...
        "files": [
        	"./app/Helpers/Fun.php"
        ]
    }
    
  • 函数库 app/Helpers/Fun.php

    名称描述
    search数组搜索
    sys获取系统配置
    getTreeData获取树数据
    pushLog操作日志
    tableComment数据库备注
    tableExist数据关联
    roleMenu角色菜单

函数扩展

为了适配多场景下常见需求,通过 Providers 扩展相应功能。

  • DB 扩展 app/Providers/DBServiceProvider.php

    //通过 wheres 扩展原有 where 方法不支持 in 、between 的问题
    Builder::macro('wheres',function() {
        //...
    });
    //使用方法
    $where=[
        ['name','=','张三'],
        ['age','>',18],
        ['like','in',['阅读','旅行']],
        ['birthday','between',[1990,1999]]
    ];
    DB::table('user')->wheres($where)->get();
    
  • 集合扩展 app/Providers/CollectionServiceProvider.php

    //通过 toList 方法扩展原有 toArray 方法无法处理多维数据转化问题
    Collection::macro('toList', function() {
        //...
    });
    //使用方法
    DB::table('user')->where('sex',0)->get()->toList();
    
  • 全局配置 config/app.php

    'providers' => ServiceProvider::defaultProviders()->merge([
        //...
        App\Providers\DBServiceProvider::class,
        App\Providers\CollectionServiceProvider::class
    ])->toArray()
    

路由配置

路由是请求路径的配置入口,可通过 routes 进行配置。

  • web 请求

    Route::get('/','App\Http\Controllers\Index@index');
    Route::get('/index.html','App\Http\Controllers\Index@index');
    
  • api 请求

    //常规路由
    Route::prefix('login')->group(function () {
        Route::post('/check','App\Http\Controllers\Login@check');
    });
    
    //认证路由
    Route::prefix('service')->middleware('auth')->group(function () {
        Route::get('/base','App\Http\Controllers\Service@base');
    });
    

数据模型

数据模型是软件的重要组成部分,基于场景化需求二次封装了 Model 模型。

  • 模型基类 app/Models/Model.php

    <?php
    namespace App\Models;
    use Illuminate\Database\Eloquent\Model as Eloquent;
    use App\Models\Traits\HasDateTimeFormatter;
    class Model extends Eloquent{
        use HasDateTimeFormatter;
        public $timestamps = false;
        protected $guarded=[];
    }
    
    
  • 时间序列化 app/Models/Traits/HasDateTimeFormatter.php

    <?php
    namespace App\Models\Traits;
    use DateTimeInterface;
    trait HasDateTimeFormatter{
        protected function serializeDate(DateTimeInterface $date){
            return $date->format($this->dateFormat ?: 'Y-m-d H:i:s');
        }
    }
    
  • 日期转换 app/Models/Casts/DateStamp.php

    <?php
    namespace App\Models\Casts;
    use Illuminate\Contracts\Database\Eloquent\CastsAttributes;
    class DateStamp implements CastsAttributes{
        public function get($model, $key, $value, $attributes){
            return date("Y-m-d",$value);
        }
        public function set($model, $key, $value, $attributes){
            return strtotime($value);
        }
    }
    
  • 时间转换 app/Models/Casts/TimeStamp.php

    <?php
    namespace App\Models\Casts;
    use Illuminate\Contracts\Database\Eloquent\CastsAttributes;
    class TimeStamp implements CastsAttributes{
        public function get($model, $key, $value, $attributes){
            return date("Y-m-d H:i:s",$value);
        }
        public function set($model, $key, $value, $attributes){
            return strtotime($value);
        }
    }
    
  • 示例模型

    <?php
    namespace App\Models;
    use App\Models\Casts\TimeStamp;
    class Log extends Model{
        protected $casts = [
            'time' => TimeStamp::class,
        ];
    }
    

公用类库

公用类库中包含了一系列的类、方法和工具,可以用于各种不同的项目和应用程序中。

  • 命名空间 Nodcloud\Library

  • 文件路径 extend/nodcloud/library

  • 类库方法

    • 公用方法

      类库说明:常用方法

      命名空间:Nodcloud\Library\Fun

      文件路径:extend/nodcloud/library/src/Fun.php

      函数说明:

      名称说明
      xssCleanxss 过滤
      isJson是否 JSON
      getFileMime获取文件类型
      getDirSize获取文件夹大小
      buildZIP文件压缩
      getRealSize单位大小转换
      utf8_unicodeutf-8 转 unicode
      unicode_decodeunicode 转 utf-8

      使用示例:

      use Nodcloud\Library\Fun;
      
      Fun::xssClean('html...');
      Fun::isJson('json...');
      
    • 查询条件

      类库说明:用于快速构造基于 laravel 数据查询器的查询条件

      命名空间:Nodcloud\Library\Query

      文件路径:extend/nodcloud/library/src/Query.php

      使用示例:

      use Nodcloud\Library\Query;
      
      $query=new Query;
      $input=['user'=>'admin','pwd'=>"123456"];
      $where=$query->data($input)->rule([
          ['name','=',['full']],
          ['data','=',['full','md5']]
      ])->build();
      
    • 数据匹配

      类库说明:仿造 laravel 数据查询器开发的集合数据查询

      命名空间:Nodcloud\Library\Search

      文件路径:extend/nodcloud/library/src/Search.php

      使用示例:

      use Nodcloud\Library\Search;
      
      $data=[["name"=>"张三"],["name"=>"李四"]];
      $search=new Search($data);
      $list=$search->where([['name','=','张三']])->get();
      
    • 数据 Tree

      类库说明:用于树状数据的格式化

      命名空间:Nodcloud\Library\Tree

      文件路径:extend/nodcloud/library/src/Tree.php

      使用示例:

      use Nodcloud\Library\Tree;
      
      $data=[
          ["id"=>1,"pid"=>0,"name"=>"张三"],
          ["id"=>2,"pid"=>1,"name"=>"李四"],
          ["id"=>3,"pid"=>1,"name"=>"王五"]
      ];
      $h=Tree::hTree($data,0);
      $v=Tree::vTree($data,0);
      
  • 全局配置 composer.json

    "require": {
        "nodcloud/library": "^1.0",
    }
    
    "repositories": [
        {
            "type": "path",
            "url": "./extend/*/*"
        }
    ]
    

表单验证

基于 laravel 的验证器扩展了自动验证与场景支持。

  • 验证类库 app/Http/Validate/Validate.php

    <?php
    namespace App\Http\Validate;
    use Illuminate\Support\Facades\Validator;
    class Validate {
        //当前场景
        protected $scene = null;
        //错误信息
        protected $error = null;
        //验证规则
        protected function rule(){
            return [];
        }
        //提示信息
        protected function message(){
            return [];
        }
        //场景规则
        protected function rules(){
            return [];
        }
        //设置场景
        public function scene($name){
            $this->scene = $name;
            return $this;
        }
        //数据验证
        public function check($data,$rule=[],$message=[],$rules=[]){
            //...
        }
        // 获取错误信息
        public function getError(){
            return $this->error;
        }
    }
    
    
  • 示例代码

    1. 验证规则 app/Http/Validate/Login.php

      <?php
      namespace App\Http\Validate;
      use Illuminate\Http\Request;
      use Illuminate\Support\{Str,Arr};
      use Illuminate\Validation\Rule;
      class Login extends Validate {
          public $validate;
          public $controller;
          public function __construct(Request $request){
              //控制器规则
              $this->validate=[
                  'check'=>[
                      'rule'=>[
                          'user' => ['required'],
                          'pwd' => ['required']
                      ],
                      'message'=>[
                          'user.required' => '用户名不可为空',
                          'pwd.required' => '密码不可为空'
                      ]
                  ]
              ];
              //获取控制器
              $this->controller=Str::after($request->route()->getActionName(),'@');
          }
          //验证规则
          public function rule(){
              $rule=Arr::get($this->validate,$this->controller.'.rule',[]);
              return $rule;
          }
          //提示信息
          public function message(){
              $message=Arr::get($this->validate,$this->controller.'.message',[]);
              return $message;
          }
          //场景规则
          public function rules(){
              $rules=Arr::get($this->validate,$this->controller.'.rules',[]);
              return $rules;
          }
      }
      
    2. 数据验证

      <?php
      namespace App\Http\Controllers;
      use Illuminate\Http\Request
      use App\Http\Validate\Login as Validate;
      class Login extends Controller {
          //登录验证
          public function check(Request $request,Validate $validate){
              $input=$request->input();
              $verify=$validate->check($input);
              if($verify){
                  //验证成功
              }else{
                  //验证失败
              	$err=$validate->getError();
              }
          }
      }
      

跨域请求

开发过程中因本地域和服务域不同,浏览器请求会抛出 CORS 警告信息,虽 Laravel 已内置跨域解决方案,但 Laravel 请求的生命周期中如存在断点调试等情况,将无法返回 Access-Control-Allow-Origin 头信息,为了解决上述问题,采用服务端中间件形式来处理请求以允许跨域数据传输。

  • 服务端开启 SSL 支持

  • 配置 config/cors.php

    <?php
    return [
    	//...
    	'supports_credentials' => true
    ];
    
  • 中间件 app/Http/Middleware/Cors.php

    public function handle(Request $request, Closure $next){
        //...
    }
    
  • 配置 app/Http/Kernel.php

    protected $middleware = [
        //...
        // \Illuminate\Http\Middleware\HandleCors::class,
        \App\Http\Middleware\Cors::class
    ];
    

文件存储

文件存储采用 laravel 中的 filesystem 来实现,相关文档请参阅 Laravel 官方文档open in new window

  • 配置文件 .env

    FILESYSTEM_DISK=public
    
  • 路径映射

    应用入口文件在 public 下,为了能通过 URL 访问到文件库,需使用 Artisan 指令映射

    php artisan storage:link
    

    执行命令后如下则表示成功

    The [public/storage] link has been connected to [storage/app/public].
    
  • 存储位置

    文件库存储在 storage/app/public 路径下,可通过访问 http://url/file 来获取文件

验证码

软件验证码采用 mews/captcha 扩展包实现

  • 全局配置 config/app.php

    'providers' => ServiceProvider::defaultProviders()->merge([
        //...
        Mews\Captcha\CaptchaServiceProvider::class
    ])->toArray()
    
    'aliases' => Facade::defaultAliases()->merge([
        //...
        'Captcha' => Mews\Captcha\Facades\Captcha::class,
    ])->toArray()
    
  • 配置文件 config/captcha.php

  • 数据接口 app/Http/Controllers/Login.php

    use Mews\Captcha\Facades\Captcha;
    
    //验证码生成 api/login/captcha
    public function captcha(){
        $captcha=Captcha::create('math',true);
        return ['state'=>'success','info'=>['key'=>$captcha['key'],'img'=>$captcha['img']]];
    }
    
  • 校验类型

    名称说明
    default默认
    math运算
    flat常规
    mini简易
    inverse反色
  • 数据验证 math

    $input=['key'=>'abc...','code'=>'13'];
    $rules = ['code' => 'required|captcha_api:'.$input['key'].',math'];
    $validator = validator()->make($input, $rules);
    if ($validator->fails()) {
        echo 'success';
    }else{
        echo 'error';
    }
    

用户认证

基于 Laravel Sanctum 实现的用户统一认证服务,可参考官方文档open in new window

  • 授权配置 config/auth.php

    'defaults' => [
        'guard' => 'service'
    ]
    
    'guards' => [
        'service' => [
            'driver' => 'sanctum',
            'provider' => 'users'
        ]
    ]
    
  • 用户模型 app/Models/User.php

    <?php
    namespace App\Models;
    use Laravel\Sanctum\HasApiTokens;
    class User extends Model{
        use HasApiTokens;
    }
    
  • 数据库 personal_access_tokens

  • 用户认证

    use App\Models\User;
    use Illuminate\Support\Facades\Auth;
    
    //状态认证
    $state=Auth::check();
    
    //凭证下发
    $user=User::find(1);
    $user->createToken('web')->plainTextToken;
    
  • 路由守卫

    Route::prefix('user')->middleware('auth')->group(function () {
        Route::get('/record','App\Http\Controllers\User@record');
    });
    

    模块说明

该章节为软件各功能模块的业务逻辑和数据接口说明。

  • 登录 App\Http\Controllers\Login

    接口描述
    api/login/captcha验证码
    api/login/base基础数据
    api/login/verify登录状态
    api/login/check用户登录
  • 服务 App\Http\Controllers\Service

    接口描述
    api/service/base基础数据
    api/service/userElect用户
    api/service/customerElect客户
    api/service/supplierElect供应商
    api/service/gradeElect价格等级
    api/service/brandElect商品品牌
    api/service/unitElect计量单位
    api/service/cellElect多计量单位
    api/service/roleElect用户角色
    api/service/warehouseElect仓库
    api/service/personElect人员
    api/service/specElect多规格型号
    api/service/accountElect资金账户
    api/service/bomElectBOM
    api/service/expElect支出类别
    api/service/goodsList商品列表
    api/service/goodsFind商品查找
    api/service/goodsScan商品扫码
    api/service/stockList库存信息
    api/service/batchList批次信息
    api/service/relationList关联单据
    api/service/logisticFind物流匹配
    api/service/bill结算单据
    api/service/price单据价格
    api/service/number模块编号
    api/service/messageClear已读消息
    api/service/clearStorage清理缓存
    api/service/unlock解锁屏幕
    api/service/auth授权状态
    api/service/bind授权绑定
    api/service/out退出登录
  • 菜单 App\Http\Controllers\Home

    接口描述
    api/home/summary数据汇总
    api/home/form数据概览
    api/home/assets资产数据
    api/home/fund资金数据
    api/home/total数据合计
  • 菜单 App\Http\Controllers\Menu

    接口描述
    api/menu/record数据记录
    api/menu/data菜单数据
    api/menu/save保存
    api/menu/info获取
    api/menu/destroy删除
    api/menu/store角色菜单
  • 报表 App\Http\Controllers\Report

    接口描述
    api/report/record数据记录
    api/report/save保存
    api/report/info获取
    api/report/copy复制
    api/report/exp导出
    api/report/imp导入
    api/report/destroy删除
    api/report/update更新
  • 表单 App\Http\Controllers\Sheet

    接口描述
    api/sheet/record报表模板
    api/sheet/sys系统数据
    api/sheet/code条码
    api/sheet/goods商品标签
    api/sheet/git商品期初单
    api/sheet/bor购货订单
    api/sheet/buy购货入库单
    api/sheet/bre购货退货单
    api/sheet/sor销货订单
    api/sheet/sell销货出库单
    api/sheet/sre销货退货单
    api/sheet/transfer调拨单
    api/sheet/entry其他入库单
    api/sheet/extry其他出库单
    api/sheet/bomBOM 单
    api/sheet/make组装单
    api/sheet/divide拆卸单
    api/sheet/omy付款单
    api/sheet/imy收款单
    api/sheet/ice其他收入单
    api/sheet/oce其他支出单
    api/sheet/allot转账单
    api/sheet/bill结算单
  • 扩展字段 App\Http\Controllers\Field

    接口描述
    api/field/record数据记录
    api/field/save保存
    api/field/info获取
    api/field/destroy删除
    api/field/store读取
  • 编号规则 App\Http\Controllers\Number

    接口描述
    api/login/record数据记录
    api/login/save保存
    api/login/info获取
    api/login/destroy删除
  • 文件管理 App\Http\Controllers\Explorer

    接口描述
    api/explorer/record数据记录
    api/explorer/edit名称修改
    api/explorer/folder新建文件夹
    api/explorer/upload上传
    api/explorer/destroy删除
  • 系统参数 App\Http\Controllers\Sys

    接口描述
    api/sys/record数据记录
    api/sys/save保存
    api/sys/store读取
  • 组织架构 App\Http\Controllers\Frame

    接口描述
    api/frame/record数据记录
    api/frame/save保存
    api/frame/info获取
    api/frame/destroy删除
    api/frame/data获取
    api/frame/store读取
  • 用户角色 App\Http\Controllers\Role

    接口描述
    api/role/record数据记录
    api/role/save保存
    api/role/info获取
    api/role/destroy删除
    api/role/store读取
  • 用户管理 App\Http\Controllers\User

    接口描述
    api/user/record数据记录
    api/user/save保存
    api/user/info获取
    api/user/destroy删除
  • 通知消息 App\Http\Controllers\Notification

    接口描述
    api/notification/record数据记录
    api/notification/read已读消息
    api/notification/clear清空
    api/notification/publish发布
    api/notification/message未读消息
  • 操作日志 App\Http\Controllers\Log

    接口描述
    api/log/record数据记录
    api/log/clear清空
  • 数据备份 App\Http\Controllers\Backup

    接口描述
    api/backup/record数据记录
    api/backup/backup备份
    api/backup/recover恢复数据
    api/backup/destroy删除
  • 客户管理 App\Http\Controllers\Customer

    接口描述
    api/customer/record数据记录
    api/customer/save保存
    api/customer/info获取
    api/customer/destroy删除
    api/customer/exp导出
    api/customer/imp导入
  • 客户类别 App\Http\Controllers\Assort

    接口描述
    api/assort/record数据记录
    api/assort/save保存
    api/assort/info获取
    api/assort/destroy删除
    api/assort/store读取
  • 客户期初 App\Http\Controllers\Cit

    接口描述
    api/cit/record数据记录
    api/cit/save保存
    api/cit/info获取
    api/cit/destroy删除
  • 供应商管理 App\Http\Controllers\Supplier

    接口描述
    api/supplier/record数据记录
    api/supplier/save保存
    api/supplier/info获取
    api/supplier/destroy删除
    api/supplier/exp导出
    api/supplier/imp导入
  • 供应商类别 App\Http\Controllers\Classify

    接口描述
    api/classify/record数据记录
    api/classify/save保存
    api/classify/info获取
    api/classify/destroy删除
    api/classify/store读取
  • 供应商期初 App\Http\Controllers\Sit

    接口描述
    api/sit/record数据记录
    api/sit/save保存
    api/sit/info获取
    api/sit/destroy删除
  • 资金账户 App\Http\Controllers\Account

    接口描述
    api/account/record数据记录
    api/account/save保存
    api/account/info获取
    api/account/destroy删除
    api/account/store数据接口
  • 收入类别 App\Http\Controllers\Inc

    接口描述
    api/inc/record数据记录
    api/inc/save保存
    api/inc/info获取
    api/inc/destroy删除
    api/inc/store数据接口
  • 支出类别 App\Http\Controllers\Exp

    接口描述
    api/exp/record数据记录
    api/exp/save保存
    api/exp/info获取
    api/exp/destroy删除
    api/exp/store数据接口
  • 结账管理 App\Http\Controllers\Period

    接口描述
    api/period/record数据记录
    api/period/save结账
    api/period/back反结账
  • 仓库管理 App\Http\Controllers\Warehouse

    接口描述
    api/warehouse/record数据记录
    api/warehouse/save保存
    api/warehouse/info获取
    api/warehouse/destroy删除
    api/warehouse/store数据接口
  • 仓库货位 App\Http\Controllers\Alloc

    接口描述
    api/alloc/record数据记录
    api/alloc/save保存
    api/alloc/info获取
    api/alloc/destroy删除
    api/alloc/exp导出
    api/alloc/imp导入
    api/alloc/detail仓库货位
  • 人员管理 App\Http\Controllers\Person

    接口描述
    api/person/record数据记录
    api/person/save保存
    api/person/info获取
    api/person/destroy删除
    api/person/exp导入
    api/person/imp导出
  • 物流管理 App\Http\Controllers\Logistic

    接口描述
    api/logistic/record数据记录
    api/logistic/save保存
    api/logistic/info获取
    api/logistic/destroy删除
    api/logistic/store数据接口
  • 商品管理 App\Http\Controllers\Goods

    接口描述
    api/goods/record数据记录
    api/goods/save保存
    api/goods/info获取
    api/goods/destroy删除
    api/goods/exp导出
    api/goods/imp导入
  • 商品类别 App\Http\Controllers\Category

    接口描述
    api/category/record数据记录
    api/category/save保存
    api/category/info获取
    api/category/destroy删除
    api/category/store读取
  • 商品品牌 App\Http\Controllers\Brand

    接口描述
    api/brand/record数据记录
    api/brand/save保存
    api/brand/info获取
    api/brand/destroy删除
  • 多规格型号 App\Http\Controllers\Spec

    接口描述
    api/spec/record数据记录
    api/spec/save保存
    api/spec/info获取
    api/spec/destroy删除
  • 计量单位 App\Http\Controllers\Unit

    接口描述
    api/unit/record数据记录
    api/unit/save保存
    api/unit/info获取
    api/unit/destroy删除
  • 多计量单位 App\Http\Controllers\Cell

    接口描述
    api/cell/record数据记录
    api/cell/save保存
    api/cell/info获取
    api/cell/destroy删除
    api/cell/unit单位详情
  • 价格等级 App\Http\Controllers\Grade

    接口描述
    api/grade/record数据记录
    api/grade/save保存
    api/grade/info获取
    api/grade/destroy删除
  • 条码管理 App\Http\Controllers\Code

    接口描述
    api/code/record数据记录
    api/code/save保存
    api/code/info获取
    api/code/destroy删除
    api/code/exp导出
    api/code/imp导入
    api/code/img图像
  • 商品期初 App\Http\Controllers\Git

    接口描述
    api/git/record数据记录
    api/git/save保存
    api/git/info获取
    api/git/destroy删除
    api/git/examine审核|反审核
    api/git/exp导出
    api/git/imp导入
  • 购货订单 App\Http\Controllers\Bor

    接口描述
    api/bor/record数据记录
    api/bor/save保存
    api/bor/info获取
    api/bor/destroy删除
    api/bor/examine审核|反审核
    api/bor/ment开启|关闭
    api/bor/build生成
    api/bor/exp导出
    api/bor/imp导入
  • 购货入库单 App\Http\Controllers\Buy

    接口描述
    api/buy/record数据记录
    api/buy/save保存
    api/buy/info获取
    api/buy/destroy删除
    api/buy/examine审核|反审核
    api/buy/check核对|反核对
    api/buy/build生成
    api/buy/exp导出
    api/buy/imp导入
  • 购货退货单 App\Http\Controllers\Bre

    接口描述
    api/bre/record数据记录
    api/bre/save保存
    api/bre/info获取
    api/bre/destroy删除
    api/bre/examine审核|反审核
    api/bre/check核对|反核对
    api/bre/build生成
    api/bre/exp导出
    api/bre/imp导入
  • 销货订单 App\Http\Controllers\Sor

    接口描述
    api/sor/record数据记录
    api/sor/save保存
    api/sor/info获取
    api/sor/destroy删除
    api/sor/examine审核|反审核
    api/sor/ment开启|关闭
    api/sor/build生成
    api/sor/exp导出
    api/sor/imp导入
  • 销货出库单 App\Http\Controllers\Sell

    接口描述
    api/sell/record数据记录
    api/sell/save保存
    api/sell/info获取
    api/sell/destroy删除
    api/sell/examine审核|反审核
    api/sell/check核对|反核对
    api/sell/build生成
    api/sell/exp导出
    api/sell/imp导入
  • 销货退货单 App\Http\Controllers\Sre

    接口描述
    api/sre/record数据记录
    api/sre/save保存
    api/sre/info获取
    api/sre/destroy删除
    api/sre/examine审核|反审核
    api/sre/check核对|反核对
    api/sre/build生成
    api/sre/exp导出
    api/sre/imp导入
  • 调拨单 App\Http\Controllers\Transfer

    接口描述
    api/transfer/record数据记录
    api/transfer/save保存
    api/transfer/info获取
    api/transfer/destroy删除
    api/transfer/examine审核|反审核
    api/transfer/exp导出
    api/transfer/imp导入
  • 盘点单 App\Http\Controllers\Check

    接口描述
    api/check/record数据记录
    api/check/exp导出
    api/check/excel导入-Excel
    api/check/machine导入-盘点机
  • 其他入库单 App\Http\Controllers\Entry

    接口描述
    api/entry/record数据记录
    api/entry/save保存
    api/entry/info获取
    api/entry/destroy删除
    api/entry/examine审核|反审核
    api/entry/exp导出
    api/entry/imp导入
  • 其他出库单 App\Http\Controllers\Extry

    接口描述
    api/extry/record数据记录
    api/extry/save保存
    api/extry/info获取
    api/extry/destroy删除
    api/extry/examine审核|反审核
    api/extry/exp导出
    api/extry/imp导入
  • 成本调整单 App\Http\Controllers\Adj

    接口描述
    api/adj/record数据记录
    api/adj/save保存
    api/adj/info获取
    api/adj/destroy删除
    api/adj/examine审核|反审核
    api/adj/exp导出
  • BOM 单 App\Http\Controllers\Bom

    接口描述
    api/bom/record数据记录
    api/bom/save保存
    api/bom/info获取
    api/bom/destroy删除
    api/bom/examine审核|反审核
    api/bom/exp导出
    api/bom/imp导入
  • 付款单 App\Http\Controllers\Omy

    接口描述
    api/omy/record数据记录
    api/omy/save保存
    api/omy/info获取
    api/omy/destroy删除
    api/omy/examine审核|反审核
    api/omy/exp导出
    api/omy/imp导入
  • 收款单 App\Http\Controllers\Imy

    接口描述
    api/imy/record数据记录
    api/imy/save保存
    api/imy/info获取
    api/imy/destroy删除
    api/imy/examine审核|反审核
    api/imy/exp导出
    api/imy/imp导入
  • 组装单 App\Http\Controllers\Make

    接口描述
    api/make/record数据记录
    api/make/save保存
    api/make/info获取
    api/make/destroy删除
    api/make/examine审核|反审核
    api/make/exp导出
    api/make/imp导入
  • 拆卸单 App\Http\Controllers\Divide

    接口描述
    api/divide/record数据记录
    api/divide/save保存
    api/divide/info获取
    api/divide/destroy删除
    api/divide/examine审核|反审核
    api/divide/exp导出
    api/divide/imp导入
  • 数据校准 App\Http\Controllers\Summary

    接口描述
    api/summary/init初始化
    api/summary/poll轮询数据
    api/summary/finish校准完成
  • 转账单 App\Http\Controllers\Allot

    接口描述
    api/allot/record数据记录
    api/allot/save保存
    api/allot/info获取
    api/allot/destroy删除
    api/allot/examine审核|反审核
    api/allot/exp导出
    api/allot/imp导入
  • 单据发票 App\Http\Controllers\Invoice

    接口描述
    api/invoice/record数据记录
    api/invoice/push开具发票
    api/invoice/exp导出
    api/invoice/detail记录
    api/invoice/destroy删除
    api/invoice/exps记录导出
  • 其他收入单 App\Http\Controllers\Ice

    接口描述
    api/ice/record数据记录
    api/ice/save保存
    api/ice/info获取
    api/ice/destroy删除
    api/ice/examine审核|反审核
    api/ice/exp导出
    api/ice/imp导入
  • 其他支出单 App\Http\Controllers\Oce

    接口描述
    api/oce/record数据记录
    api/oce/save保存
    api/oce/info获取
    api/oce/destroy删除
    api/oce/examine审核|反审核
    api/oce/exp导出
    api/oce/imp导入
  • 单据费用 App\Http\Controllers\Cost

    接口描述
    api/cost/record数据记录
    api/cost/build生成
    api/cost/exp导出
    api/cost/detail记录
    api/cost/exps记录导出
  • 结算单 App\Http\Controllers\Bill

    接口描述
    api/bill/record数据记录
    api/bill/save保存
    api/bill/info获取
    api/bill/destroy删除
    api/bill/examine审核|反审核
    api/bill/exp导出
  • 库存查询 App\Http\Controllers\Stock

    接口描述
    api/stock/record数据记录
    api/stock/exp导出
    api/stock/detail库存详情
    api/stock/exps详情导出
  • 批次查询 App\Http\Controllers\Batch

    接口描述
    api/batch/record数据记录
    api/batch/exp导出
    api/batch/detail序列详情
    api/batch/exps详情导出
  • 序列查询 App\Http\Controllers\Serial

    接口描述
    api/serial/record数据记录
    api/serial/exp导出
    api/serial/detail序列详情
    api/serial/exps详情导出
  • 购货报表 App\Http\Controllers\Bst

    接口描述
    api/bst/bta购货订单跟踪表(单据)
    api/bst/btaExp购货订单跟踪表(单据)导出
    api/bst/btb购货订单跟踪表(商品)
    api/bst/btbExp购货订单跟踪表(商品)导出
    api/bst/blt购货明细表
    api/bst/bltExp购货明细表导出
    api/bst/bsy购货汇总表
    api/bst/bsyExp购货明细表导出
    api/bst/bbt购货付款表
    api/bst/bbtExp购货付款表导出
    api/bst/bot购货排行表
    api/bst/botExp购货排行表导出
  • 销货报表 App\Http\Controllers\Sst

    接口描述
    api/sst/sta销货订单跟踪表(单据)
    api/sst/staExp销货订单跟踪表(单据)导出
    api/sst/stb销货订单跟踪表(商品)
    api/sst/stbExp销货订单跟踪表(商品)导出
    api/sst/slt/销货明细表
    api/sst/sltExp销货明细表导出
    api/sst/ssy销货汇总表
    api/sst/ssyExp销货明细表导出
    api/sst/sbt销货收款表
    api/sst/sbtExp销货收款表导出
    api/sst/sot销货排行表
    api/sst/sotExp销货排行表导出
    api/sst/spta销货利润表
    api/sst/sptaExp销货利润表导出
    api/sst/sptb销货利润明细表
    api/sst/sptbExp销货利润明细表导出
  • 仓库报表 App\Http\Controllers\Wst

    接口描述
    api/wst/wbs商品库存余额表
    api/wst/wbsExp商品库存余额表导出
    api/wst/wds商品收发明细表
    api/wst/wdsExp商品收发明细表导出
    api/wst/wss商品收发汇总表
    api/wst/wssExp商品收发汇总表导出
  • 资金报表 App\Http\Controllers\Cst

    接口描述
    api/cst/cbf现金银行报表
    api/cst/cbfExp现金银行报表导出
    api/cst/crs应收账款明细表
    api/cst/crsExp应收账款明细表导出
    api/cst/cps应付账款明细表
    api/cst/cpsExp应付账款明细表导出
    api/cst/cct客户对账单
    api/cst/cctExp客户对账单导出
    api/cst/cst供应商对账单
    api/cst/cstExp供应商对账单导出
    api/cst/cpt利润表
    api/cst/cptExp利润表导出
  • 版本更新 App\Http\Controllers\Update

    接口描述
    api/update/check版本检查
    api/update/online在线升级

数据字典

  • 资金详情 account_infos

    字段名数据类型NULL备注
    idintN
    accountintN资金账户
    typevarchar(32)N单据类型
    modelvarchar(64)N单据模型
    formintN单据主键
    timeintN单据时间
    directiontinyint(1)N出入方向[0:支出|1:收入]
    moneydecimal(16,4)N金额
  • 资金账户 accounts

    字段名数据类型NULL备注
    idintN
    namevarchar(32)N账户名称
    numbervarchar(32)N账户编号
    timeintN余额日期
    moneydecimal(16,4)N期初余额
    frameintY组织架构
    statetinyint(1)N启停状态[0:停用|1:启用]
    datavarchar(256)Y备注信息
    balancedecimal(16,4)Y账户余额
  • 成本调整单详情 adj_infos

    字段名数据类型NULL备注
    idintN
    adjintN所属单据
    goodsintN商品信息
    specintY规格型号
    cellintY计量单位
    warehouseintN仓库
    pricedecimal(16,4)N调整单价
    datavarchar(256)Y备注信息
  • 成本调整单 adjs

    字段名数据类型NULL备注
    idintN
    timeintN单据时间
    numbervarchar(32)N单据编号
    frameintY组织架构
    userintY制单用户
    personintY关联人员
    filejsonN文件附件
    fieldjsonN扩展字段
    datavarchar(256)Y备注信息
    examinetinyint(1)Y审核状态[0:未审核|1:已审核]
  • 仓库货位 allocs

    字段名数据类型NULL备注
    idintN
    warehouseintN所属仓库
    namevarchar(32)N货位名称
    numbervarchar(32)N货位编码
    statetinyint(1)N启停状态[0:停用|1:启用]
    datavarchar(256)Y备注信息
  • 转账单详情 allot_infos

    字段名数据类型NULL备注
    idintN
    allotintN所属单据
    outintN转出账户
    inintN转入账户
    moneydecimal(16,4)N金额
    settlevarchar(128)N结算号
    datavarchar(256)Y备注信息
  • 转账单 allots

    字段名数据类型NULL备注
    idintN
    timeintN单据时间
    numbervarchar(32)N单据编号
    totaldecimal(16,4)N单据金额
    frameintY组织架构
    userintY制单用户
    personintY关联人员
    filejsonN文件附件
    fieldjsonN扩展字段
    datavarchar(256)Y备注信息
    examinetinyint(1)Y审核状态[0:未审核|1:已审核]
  • 客户类别 assorts

    字段名数据类型NULL备注
    idintN
    pidintN所属ID
    namevarchar(32)N类别名称
    sortintN类别排序
    datavarchar(256)Y备注信息
  • 批次详情表 batch_infos

    字段名数据类型NULL备注
    idintN
    batchintN所属批次
    typevarchar(32)N单据类型
    modelvarchar(64)N单据模型
    formintN单据主键
    infointN单据详情
    directiontinyint(1)N出入方向[0:出|1:入]
    numsdecimal(12,4)N基础数量
  • 批次表 batches

    字段名数据类型NULL备注
    idintN
    roomintN所属库存
    warehouseintN所属仓库
    goodsintN所属商品
    numbervarchar(64)N批次号
    mfgintY生产日期
    numsdecimal(12,4)N库存数量
  • 结算单详情 bill_infos

    字段名数据类型NULL备注
    idintN
    billintN所属单据
    moldvarchar(32)N结算类型
    typevarchar(32)N单据类型
    modelvarchar(64)N单据模型
    formintN单据主键
    moneydecimal(16,4)N结算金额
    datavarchar(256)Y备注信息
  • 结算单 bills

    字段名数据类型NULL备注
    idintN
    customerintY客户
    supplierintY供应商
    timeintN单据时间
    numbervarchar(32)N单据编号
    typetinyint(1)N结算类型[0:预收冲应收|1:预付冲应付|2:应收冲应付|3:销退冲销货|4:购退冲购退]
    frameintY组织架构
    userintY制单用户
    personintY关联人员
    filejsonN文件附件
    fieldjsonN扩展字段
    datavarchar(256)Y备注信息
    examinetinyint(1)Y审核状态[0:未审核|1:已审核]
  • BOM单详情 bom_infos

    字段名数据类型NULL备注
    idintN
    bomintN所属单据
    goodsintN商品信息
    specintY规格型号
    cellintY计量单位
    typetinyintN类型[0:子件|1:主件]
    numsdecimal(12,4)N数量
    datavarchar(256)Y备注信息
  • BOM单 boms

    字段名数据类型NULL备注
    idintN
    timeintN单据时间
    numbervarchar(32)N单据编号
    namevarchar(64)NBOM名称
    frameintY组织架构
    userintY制单人
    personintY关联人员
    filejsonN文件附件
    fieldjsonN扩展字段
    datavarchar(256)Y备注信息
    examinetinyint(1)Y审核状态[0:未审核|1:已审核]
  • 购货订单详情 bor_infos

    字段名数据类型NULL备注
    idintN
    borintN所属单据
    goodsintN商品信息
    specintY规格型号
    cellintY计量单位
    warehouseintN仓库
    pricedecimal(16,4)N单价
    tpedecimal(16,4)N含税单价
    numsdecimal(12,4)N数量
    discountdecimal(5,2)N折扣率
    dscdecimal(16,4)N折扣额
    totaldecimal(16,4)N金额
    taxdecimal(5,2)N税率
    tatdecimal(16,4)N税额
    tptdecimal(16,4)N价税合计
    datavarchar(256)Y备注信息
    quantitydecimal(12,4)Y入库数量
  • 购货订单 bors

    字段名数据类型NULL备注
    idintN
    supplierintN供应商
    timeintN单据时间
    numbervarchar(32)N单据编号
    totaldecimal(16,4)N单据金额
    discountdecimal(16,4)N优惠金额
    actualdecimal(16,4)N实际金额
    deliveryintY交货日期
    frameintY组织架构
    userintY制单用户
    personintY关联人员
    logisticjsonN物流信息
    filejsonN文件附件
    fieldjsonN扩展字段
    datavarchar(256)Y备注信息
    examinetinyint(1)Y审核状态[0:未审核|1:已审核]
    menttinyint(1)Y入库状态[0:未入库|1:部分入库|2:已入库|3:关闭]
  • 商品品牌 brands

    字段名数据类型NULL备注
    idintN
    namevarchar(32)N品牌名称
    statetinyint(1)N启停状态[0:停用|1:启用]
    datavarchar(256)Y备注信息
  • 购货退货单结算表 bre_bills

    字段名数据类型NULL备注
    idintN
    breintN所属单据
    typevarchar(32)N单据类型
    modelvarchar(64)N单据模型
    formintN单据主键
    timeintN单据时间
    moneydecimal(16,4)N结算金额
  • 购货退货单详情 bre_infos

    字段名数据类型NULL备注
    idintN
    breintN所属单据
    goodsintN商品信息
    specintY规格型号
    cellintY计量单位
    warehouseintN仓库
    pricedecimal(16,4)N单价
    tpedecimal(16,4)N含税单价
    numsdecimal(12,4)N数量
    serialjsonN序列号
    batchvarchar(64)N批次号
    mfgintN生产日期
    discountdecimal(5,2)N折扣率
    dscdecimal(16,4)N折扣额
    totaldecimal(16,4)N金额
    taxdecimal(5,2)N税率
    tatdecimal(16,4)N税额
    tptdecimal(16,4)N价税合计
    datavarchar(256)Y备注信息
  • 购货退货单 bres

    字段名数据类型NULL备注
    idintN
    supplierintN供应商
    timeintN单据时间
    numbervarchar(32)N单据编号
    totaldecimal(16,4)N单据金额
    discountdecimal(16,4)N优惠金额
    actualdecimal(16,4)N实际金额
    moneydecimal(16,4)N收款金额
    accountintY结算账户
    costdecimal(16,4)N单据费用
    frameintY组织架构
    userintY制单用户
    personintY关联人员
    logisticjsonN物流信息
    filejsonN文件附件
    fieldjsonN扩展字段
    datavarchar(256)Y备注信息
    amountdecimal(16,4)Y结算金额
    examinetinyint(1)Y审核状态[0:未审核|1:已审核]
    checktinyint(1)Y核对状态[0:未核对|1:已核对]
    nucleustinyint(1)Y结算状态[0:未结算|1:部分结算|2:已结算]
    csetinyint(1)Y费用状态[0:未结算|1:部分结算|2:已结算|3:无需结算]
    invoicetinyint(1)Y发票状态[0:未开票|1:部分开票|2:已开票|3:无需开具]
  • 购货入库单结算表 buy_bills

    字段名数据类型NULL备注
    idintN
    buyintN所属单据
    typevarchar(32)N单据类型
    modelvarchar(64)N单据模型
    formintN单据主键
    timeintN单据时间
    moneydecimal(16,4)N结算金额
  • 购货入库单详情 buy_infos

    字段名数据类型NULL备注
    idintN
    buyintN所属单据
    goodsintN商品信息
    specintY规格型号
    cellintY计量单位
    warehouseintN仓库
    pricedecimal(16,4)N单价
    tpedecimal(16,4)N含税单价
    numsdecimal(12,4)N数量
    serialjsonN序列号
    batchvarchar(64)N批次号
    mfgintN生产日期
    discountdecimal(5,2)N折扣率
    dscdecimal(16,4)N折扣额
    totaldecimal(16,4)N金额
    taxdecimal(5,2)N税率
    tatdecimal(16,4)N税额
    tptdecimal(16,4)N价税合计
    costdecimal(16,4)N费用
    datavarchar(256)Y备注信息
    quantitydecimal(12,4)Y退货数量
  • 购货入库单 buys

    字段名数据类型NULL备注
    idintN
    supplierintN供应商
    timeintN单据时间
    numbervarchar(32)N单据编号
    totaldecimal(16,4)N单据金额
    discountdecimal(16,4)N优惠金额
    actualdecimal(16,4)N实际金额
    moneydecimal(16,4)N付款金额
    accountintY结算账户
    costdecimal(16,4)N单据费用
    frameintY组织架构
    userintY制单用户
    personintY关联人员
    logisticjsonN物流信息
    filejsonN文件附件
    fieldjsonN扩展字段
    datavarchar(256)Y备注信息
    amountdecimal(16,4)Y结算金额
    examinetinyint(1)Y审核状态[0:未审核|1:已审核]
    checktinyint(1)Y核对状态[0:未核对|1:已核对]
    nucleustinyint(1)Y结算状态[0:未结算|1:部分结算|2:已结算]
    csetinyint(1)Y费用状态[0:未结算|1:部分结算|2:已结算|3:无需结算]
    invoicetinyint(1)Y发票状态[0:未开票|1:部分开票|2:已开票|3:无需开具]
  • 商品类别 categories

    字段名数据类型NULL备注
    idintN
    pidintN所属类别
    namevarchar(32)N类别名称
    sortintN类别排序
    datavarchar(256)Y备注信息
  • 多计量单位详情 cell_infos

    字段名数据类型NULL备注
    idintN
    cellintN所属数据
    namevarchar(32)N单位名称
    numsintN单位数量
  • 多计量单位 cells

    字段名数据类型NULL备注
    idintN
    namevarchar(32)N单位名称
    statetinyint(1)N启停状态[0:停用|1:启用]
    datavarchar(256)Y备注信息
  • 客户期初结算表 cit_bills

    字段名数据类型NULL备注
    idintN
    citintN所属单据
    typevarchar(32)N单据类型
    modelvarchar(64)N单据模型
    formintN单据主键
    timeintN单据时间
    moneydecimal(16,4)N结算金额
  • 客户期初 cits

    字段名数据类型NULL备注
    idintN
    timeintN期初日期
    numbervarchar(32)N期初编号
    customerintN客户
    ardecimal(16,4)N应收金额
    drdecimal(16,4)N预收金额
    datavarchar(256)Y备注信息
    balancedecimal(16,4)Y应收款余额
    amountdecimal(16,4)Y结算金额
    nucleustinyint(1)Y结算状态[0:未结算|1:部分结算|2:已结算]
  • 供应商类别 classifies

    字段名数据类型NULL备注
    idintN
    pidintN所属类别
    namevarchar(32)N类别名称
    sortintN类别排序
    datavarchar(256)Y备注信息
  • 条码 codes

    字段名数据类型NULL备注
    idintN
    namevarchar(64)N条码名称
    textvarchar(64)N条码内容
    typetinyint(1)N条码类型[0:条形码|1:二维码]
    datavarchar(256)Y备注信息
  • 单据费用 costs

    字段名数据类型NULL备注
    idintN
    typevarchar(32)N单据类型
    modelvarchar(64)N单据模型
    formintN单据主键
    expintN支出类别
    moneydecimal(16,2)N支出金额
    datavarchar(64)N备注信息
    settledecimal(16,4)Y结算金额
    statetinyint(1)Y结算状态[0:未结算|1:部分结算|2:已结算]
  • 客户应收记录 customer_infos

    字段名数据类型NULL备注
    idintN
    customerintN客户
    typevarchar(32)N单据类型
    modelvarchar(64)N单据模型
    formintN单据主键
    timeintN单据时间
    directiontinyint(1)N加减方向[0:减少|1:增加]
    moneydecimal(16,4)N金额
  • 客户 customers

    字段名数据类型NULL备注
    idintN
    namevarchar(64)N客户名称
    pyvarchar(64)N拼音信息
    numbervarchar(32)N客户编号
    assortintY客户类别
    gradeintY价格等级
    frameintY组织架构
    userintY所属用户
    supplierintY关联供应商
    filejsonN文件附件
    titlevarchar(64)N开票名称
    taxvarchar(64)N开票税号
    bankvarchar(128)N开户银行
    accountvarchar(64)N银行账号
    typeintN开票类型[0:收据|1:普票|2:专票]
    fieldjsonN扩展字段
    statetinyint(1)N启停状态[0:停用|1:启用]
    datavarchar(256)Y备注信息
    contactjsonN联系资料
    balancedecimal(16,4)Y应收款余额
  • 拆卸单详情 divide_infos

    字段名数据类型NULL备注
    idintN
    divideintN所属单据
    goodsintN商品信息
    typetinyint(1)N组件类型[0:子件|1:主件]
    specintY规格型号
    cellintY计量单位
    warehouseintN仓库
    pricedecimal(16,4)N单价
    numsdecimal(12,4)N数量
    serialjsonN序列号
    batchvarchar(64)N批次号
    mfgintN生产日期
    totaldecimal(16,4)N金额
    costdecimal(16,4)N费用
    datavarchar(256)Y备注信息
  • 拆卸单 divides

    字段名数据类型NULL备注
    idintN
    timeintN单据时间
    numbervarchar(32)N单据编号
    bomintY关联BOM
    costdecimal(16,4)N单据费用
    frameintY组织架构
    userintY制单人
    personintY关联人员
    logisticjsonN物流信息
    filejsonN文件附件
    fieldjsonN扩展字段
    datavarchar(256)Y备注信息
    examinetinyint(1)Y审核状态[0:未审核|1:已审核]
    csetinyint(1)Y费用状态[0:未结算|1:部分结算|2:已结算|3:无需结算]
  • 其他入库单 entries

    字段名数据类型NULL备注
    idintN
    supplierintY供应商
    timeintN单据时间
    numbervarchar(32)N单据编号
    typetinyint(1)N单据类型[0:其他入库单|1:盘盈单]
    totaldecimal(16,4)N单据金额
    costdecimal(16,4)N单据费用
    frameintY组织架构
    userintY制单人
    personintY关联人员
    logisticjsonN物流信息
    filejsonN文件附件
    fieldjsonN扩展字段
    datavarchar(256)Y备注信息
    examinetinyint(1)Y审核状态[0:未审核|1:已审核]
    csetinyint(1)Y费用状态[0:未结算|1:部分结算|2:已结算|3:无需结算]
  • 其他入库单详情 entry_infos

    字段名数据类型NULL备注
    idintN
    entryintN所属单据
    goodsintN商品信息
    specintY规格型号
    cellintY计量单位
    warehouseintN仓库
    pricedecimal(16,4)N单价
    numsdecimal(12,4)N数量
    serialjsonN序列号
    batchvarchar(64)N批次号
    mfgintN生产日期
    totaldecimal(16,4)N金额
    costdecimal(16,4)N费用
    datavarchar(256)Y备注信息
  • 支出类别 exps

    字段名数据类型NULL备注
    idintN
    namevarchar(32)N类别名称
    sortintN类别排序
    statetinyint(1)N启停状态[0:停用|1:启用]
    datavarchar(256)Y备注信息
  • 其他出库单 extries

    字段名数据类型NULL备注
    idintN
    customerintY客户
    timeintN单据时间
    numbervarchar(32)N单据编号
    typetinyint(1)N单据类型[0:其他出库单|1:盘亏单]
    totaldecimal(16,4)N单据金额
    costdecimal(16,4)N单据费用
    frameintY组织架构
    userintY制单人
    personintY关联人员
    logisticjsonN物流信息
    filejsonN文件附件
    fieldjsonN扩展字段
    datavarchar(256)Y备注信息
    examinetinyint(1)Y审核状态[0:未审核|1:已审核]
    csetinyint(1)Y费用状态[0:未结算|1:部分结算|2:已结算|3:无需结算]
  • 其他出库单详情 extry_infos

    字段名数据类型NULL备注
    idintN
    extryintN所属单据
    goodsintN商品信息
    specintY规格型号
    cellintY计量单位
    warehouseintN仓库
    pricedecimal(16,4)N单价
    numsdecimal(12,4)N数量
    serialjsonN序列号
    batchvarchar(64)N批次号
    mfgintN生产日期
    totaldecimal(16,4)N金额
    datavarchar(256)Y备注信息
  • 失败任务 failed_jobs

    字段名数据类型NULL备注
    idbigint unsignedN
    uuidvarchar(191)N
    connectiontextN
    queuetextN
    payloadlongtextN
    exceptionlongtextN
    failed_attimestampN
  • 扩展字段 fields

    字段名数据类型NULL备注
    idintN
    modulevarchar(32)N模块名称
    configjsonN字段配置
    datavarchar(256)Y备注信息
  • 先进先出记录表 fifos

    字段名数据类型NULL备注
    idintN
    outintN出库主键
    inintN入库主键
    numsdecimal(12,4)N出库数量
  • 文件详情 files

    字段名数据类型NULL备注
    idintN
    pathvarchar(2048)N文件路径
    userintN所属用户
  • 组织架构 frames

    字段名数据类型NULL备注
    idintN
    pidintN所属组织
    namevarchar(32)N组织名称
    sortintN组织排序
    datavarchar(256)Y备注信息
  • 商品货位 gas

    字段名数据类型NULL备注
    idintN
    goodsintN所属商品
    warehouseintN仓库名称
    allocintN货位名称
    datavarchar(256)Y备注信息
  • 商品期初详情 git_infos

    字段名数据类型NULL备注
    idintN
    gitintN所属单据
    goodsintN商品信息
    specintY规格型号
    cellintY计量单位
    warehouseintN仓库
    pricedecimal(16,4)N单价
    numsdecimal(12,4)N数量
    serialjsonN序列号
    batchvarchar(64)N批次号
    mfgintN生产日期
    totaldecimal(16,4)N金额
    datavarchar(256)Y备注信息
  • 商品期初 gits

    字段名数据类型NULL备注
    idintN
    timeintN单据时间
    numbervarchar(32)N单据编号
    totaldecimal(16,4)N单据金额
    frameintY组织架构
    userintY制单用户
    personintY关联人员
    filejsonN文件附件
    fieldjsonN扩展字段
    datavarchar(256)Y备注信息
    examinetinyint(1)Y审核状态[0:未审核|1:已审核]
  • 商品 goods

    字段名数据类型NULL备注
    idintN
    namevarchar(64)N商品名称
    pyvarchar(32)N拼音信息
    numbervarchar(32)N商品编号
    categoryintN商品类别
    brandintY商品品牌
    stintN规格类型[0:规格|1:多规格]
    mdlvarchar(32)Y规格型号
    specintY多规格型号
    utintN单位类型[0:单位|1:多单位]
    unitintY计量单位
    cellintY多计量单位
    codevarchar(64)N商品条码
    buydecimal(16,4)N购货价格
    selldecimal(16,4)N销货价格
    taxdecimal(5,2)N商品税率
    warehouseintY默认仓库
    alloctinyint(1)N仓库货位[0:停用|1:启用]
    espvarchar(64)N库存预警
    leveltinyint(1)N等级折扣[0:停用|1:启用]
    seqtinyint(1)N序列商品[0:停用|1:启用]
    batchtinyint(1)N批次商品[0:停用|1:启用]
    povtinyint(1)N有效期[0:停用|1:启用]
    qgpintN保质期
    adyintN预警天数
    imgvarchar(256)N商品图像
    filejsonN文件附件
    detaillongtextN图文详情
    fieldjsonN扩展字段
    statetinyint(1)N启停状态[0:停用|1:启用]
    datavarchar(256)Y备注信息
  • 价格等级 grades

    字段名数据类型NULL备注
    idintN
    namevarchar(32)N等级名称
    statetinyint(1)N启停状态[0:停用|1:启用]
    datavarchar(256)Y备注信息
  • 商品供应商 gs

    字段名数据类型NULL备注
    idintN
    goodsintN所属商品
    supplierintN供应商
    datavarchar(256)Y备注信息
  • 其他收入单结算表 ice_bills

    字段名数据类型NULL备注
    idintN
    iceintN所属单据
    typevarchar(32)N单据类型
    modelvarchar(64)N单据模型
    formintN单据主键
    timeintN单据时间
    moneydecimal(16,4)N结算金额
  • 其他收入单详情 ice_infos

    字段名数据类型NULL备注
    idintN
    iceintN所属单据
    incintN收入类别
    moneydecimal(16,4)N金额
    datavarchar(256)Y备注信息
  • 其他收入单 ices

    字段名数据类型NULL备注
    idintN
    customerintY客户
    timeintN单据时间
    numbervarchar(32)N单据编号
    totaldecimal(16,4)N单据金额
    actualdecimal(16,4)N实际金额
    moneydecimal(16,4)N收款金额
    accountintN资金账户
    frameintY组织架构
    userintY制单用户
    personintY关联人员
    filejsonN文件附件
    fieldjsonN扩展字段
    datavarchar(256)Y备注信息
    amountdecimal(16,4)Y结算金额
    examinetinyint(1)Y审核状态[0:未审核|1:已审核]
    nucleustinyint(1)Y结算状态[0:未结算|1:部分结算|2:已结算]
  • 收款单 imies

    字段名数据类型NULL备注
    idintN
    customerintN客户
    timeintN单据时间
    numbervarchar(32)N单据编号
    totaldecimal(16,4)N单据金额
    frameintY组织架构
    userintY制单用户
    personintY关联人员
    filejsonN文件附件
    fieldjsonN扩展字段
    datavarchar(256)Y备注信息
    amountdecimal(16,4)Y结算金额
    examinetinyint(1)Y审核状态[0:未审核|1:已审核]
    nucleustinyint(1)Y结算状态[0:未结算|1:部分结算|2:已结算]
  • 收款单结算表 imy_bills

    字段名数据类型NULL备注
    idintN
    imyintN所属单据
    typevarchar(32)N单据类型
    modelvarchar(64)N单据模型
    formintN单据主键
    timeintN单据时间
    moneydecimal(16,4)N结算金额
  • 收款单详情 imy_infos

    字段名数据类型NULL备注
    idintN
    imyintN所属单据
    accountintN资金账户
    moneydecimal(16,4)N金额
    settlevarchar(128)N结算号
    datavarchar(256)Y备注信息
  • 收入类别 incs

    字段名数据类型NULL备注
    idintN
    namevarchar(32)N类别名称
    sortintN类别排序
    statetinyint(1)N启停状态[0:停用|1:启用]
    datavarchar(256)Y备注信息
  • 发票详情 invoices

    字段名数据类型NULL备注
    idintN
    typevarchar(32)N单据类型
    modelvarchar(64)N单据模型
    formintN单据主键
    titlevarchar(256)N发票抬头
    timeintN开票时间
    numbervarchar(64)N发票号码
    moldtinyintN发票类型[0:收据|1:普票|2:专票]
    moneydecimal(16,4)N发票金额
    filejsonN文件附件
    datavarchar(256)Y备注信息
    userintN操作用户
  • 计划任务 jobs

    字段名数据类型NULL备注
    idbigint unsignedN
    queuevarchar(191)N
    payloadlongtextN
    attemptstinyint unsignedN
    reserved_atint unsignedY
    available_atint unsignedN
    created_atint unsignedN
  • 等级折扣 levels

    字段名数据类型NULL备注
    idintN
    goodsintN所属商品
    gradeintN价格等级
    dredecimal(5,2)N折扣率
    datavarchar(256)Y备注信息
  • 物流管理 logistics

    字段名数据类型NULL备注
    idintN
    namevarchar(32)N物流名称
    keyvarchar(32)N物流标识
    statetinyint(1)N启停状态[0:停用|1:启用]
    datavarchar(256)Y备注信息
  • 操作日志 logs

    字段名数据类型NULL备注
    idintN
    timeintN操作时间
    infovarchar(256)N操作内容
    userintN操作人员
    ipvarchar(64)NIP地址
  • 组装单详情 make_infos

    字段名数据类型NULL备注
    idintN
    makeintN所属单据
    goodsintN商品信息
    typetinyint(1)N组件类型[0:子件|1:主件]
    specintY规格型号
    cellintY计量单位
    warehouseintN仓库
    pricedecimal(16,4)N单价
    numsdecimal(12,4)N数量
    serialjsonN序列号
    batchvarchar(64)N批次号
    mfgintN生产日期
    totaldecimal(16,4)N金额
    costdecimal(16,4)N费用
    datavarchar(256)Y备注信息
  • 组装单 makes

    字段名数据类型NULL备注
    idintN
    timeintN单据时间
    numbervarchar(32)N单据编号
    bomintY关联BOM
    costdecimal(16,4)N单据费用
    frameintY组织架构
    userintY制单人
    personintY关联人员
    logisticjsonN物流信息
    filejsonN文件附件
    fieldjsonN扩展字段
    datavarchar(256)Y备注信息
    examinetinyint(1)Y审核状态[0:未审核|1:已审核]
    csetinyint(1)Y费用状态[0:未结算|1:部分结算|2:已结算|3:无需结算]
  • 菜单管理 menus

    字段名数据类型NULL备注
    idintN
    pidintN所属菜单
    namevarchar(32)N菜单名称
    keyvarchar(32)N菜单标识
    icovarchar(32)Y菜单图标
    pathvarchar(128)Y菜单路径
    componentvarchar(128)Y组件路径
    queryvarchar(256)Y组件参数
    typetinyint(1)N菜单类型[0:常规菜单|1:常规分类|2:扩展菜单|3:外部链接]
    moldtinyint(1)N菜单模式[0:标签模式|1:页面模式]
    sortintN菜单排序
    authvarchar(32)Y权限标识
    datavarchar(256)Y备注信息
  • 数据迁移 migrations

    字段名数据类型NULL备注
    idint unsignedN
    migrationvarchar(191)N
    batchintN
  • 通知消息 notifications

    字段名数据类型NULL备注
    idchar(36)N
    typevarchar(191)N
    notifiable_typevarchar(191)N
    notifiable_idintN
    datatextN
    read_attimestampY
    created_attimestampY
    updated_attimestampY
  • 编号规则 numbers

    字段名数据类型NULL备注
    idintN
    modulevarchar(32)N模块名称
    configjsonN规则配置
    datavarchar(256)N备注信息
  • 其他支出单结算表 oce_bills

    字段名数据类型NULL备注
    idintN
    oceintN所属单据
    typevarchar(32)N单据类型
    modelvarchar(64)N单据模型
    formintN单据主键
    timeintN单据时间
    moneydecimal(16,4)N结算金额
  • 其他支出单详情 oce_infos

    字段名数据类型NULL备注
    idintN
    oceintN所属单据
    expintN支出类别
    moneydecimal(16,4)N金额
    datavarchar(256)Y备注信息
  • 其他支出单 oces

    字段名数据类型NULL备注
    idintN
    supplierintY供应商
    timeintN单据时间
    numbervarchar(32)N单据编号
    totaldecimal(16,4)N单据金额
    actualdecimal(16,4)N实际金额
    moneydecimal(16,4)N收款金额
    accountintN资金账户
    frameintY组织架构
    userintY制单用户
    personintY关联人员
    filejsonN文件附件
    fieldjsonN扩展字段
    datavarchar(256)Y备注信息
    amountdecimal(16,4)Y结算金额
    examinetinyint(1)Y审核状态[0:未审核|1:已审核]
    nucleustinyint(1)Y结算状态[0:未结算|1:部分结算|2:已结算]
  • 付款单 omies

    字段名数据类型NULL备注
    idintN
    supplierintN供应商
    timeintN单据时间
    numbervarchar(32)N单据编号
    totaldecimal(16,4)N单据金额
    frameintY组织架构
    userintY制单用户
    personintY关联人员
    filejsonN文件附件
    fieldjsonN扩展字段
    datavarchar(256)Y备注信息
    amountdecimal(16,4)Y结算金额
    examinetinyint(1)Y审核状态[0:未审核|1:已审核]
    nucleustinyint(1)Y结算状态[0:未结算|1:部分结算|2:已结算]
  • 付款单结算表 omy_bills

    字段名数据类型NULL备注
    idintN
    omyintN所属单据
    typevarchar(32)N单据类型
    modelvarchar(64)N单据模型
    formintN单据主键
    timeintN单据时间
    moneydecimal(16,4)N结算金额
  • 付款单详情 omy_infos

    字段名数据类型NULL备注
    idintN
    omyintN所属单据
    accountintN资金账户
    moneydecimal(16,4)N金额
    settlevarchar(128)N结算号
    datavarchar(256)Y备注信息
  • 人员管理 people

    字段名数据类型NULL备注
    idintN
    namevarchar(32)N人员名称
    pyvarchar(32)N拼音信息
    numbervarchar(32)N人员编号
    frameintY组织架构
    sextinyint(1)N人员性别[0:女|1:男]
    telvarchar(32)N联系电话
    fieldjsonN扩展字段
    statetinyint(1)N启停状态[0:停用|1:启用]
    datavarchar(256)Y备注信息
  • 结账管理 periods

    字段名数据类型NULL备注
    idintN
    dateintN结账日期
    timeintN操作日期
    userintN操作人
  • 用户秘钥 personal_access_tokens

    字段名数据类型NULL备注
    idbigint unsignedN
    tokenable_typevarchar(255)N
    tokenable_idbigint unsignedN
    namevarchar(255)N
    tokenvarchar(64)N
    abilitiestextY
    last_used_attimestampY
    expires_attimestampY
    created_attimestampY
    updated_attimestampY
  • 价格策略 prices

    字段名数据类型NULL备注
    idintN
    goodsintN所属商品
    specintY规格型号
    cellintY计量单位
    buydecimal(16,4)N购货价格
    selldecimal(16,4)N销货价格
    codevarchar(64)N商品条码
  • 单据操作 records

    字段名数据类型NULL备注
    idintN
    typevarchar(64)N单据类型
    formintN单据主键
    timeintN操作时间
    userintN操作用户
    infovarchar(256)N操作内容
  • 单据关系表 relations

    字段名数据类型NULL备注
    idintN
    atvarchar(32)NA单据类型
    amvarchar(64)NA单据模型
    afintNA单据主键
    aiintYA单据详情
    btvarchar(32)NB单据类型
    bmvarchar(64)NB单据模型
    bfintNB单据主键
    biintYB单据详情
  • 报表模板 reports

    字段名数据类型NULL备注
    idintN
    namevarchar(32)N报表名称
    keyvarchar(32)N报表标识
    sourcetextN数据配置
    templatelongtextN报表代码
    sizevarchar(64)Y报表尺寸
    authvarchar(64)Y权限标识
    sortintY报表排序
    statetinyint(1)N启停状态[0:停用|1:启用]
    datavarchar(256)Y备注信息
  • 用户角色 roles

    字段名数据类型NULL备注
    idintN
    namevarchar(32)N角色名称
    statetinyint(1)N启停状态[0:停用|1:启用]
    datavarchar(256)Y备注信息
    funjsonN功能权限
    authjsonN数据权限
  • 库存详情表 room_infos

    字段名数据类型NULL备注
    idintN
    roomintN所属库存
    typevarchar(32)N单据类型
    modelvarchar(64)N单据模型
    formintN单据主键
    infointN单据详情
    timeintN单据时间
    directiontinyint(1)N出入方向[0:出|1:入]
    pricedecimal(16,4)N基础单价
    numsdecimal(12,4)N基础数量
    totaldecimal(16,4)N基础总价
  • 库存表 rooms

    字段名数据类型NULL备注
    idintN
    warehouseintN所属仓库
    goodsintN所属商品
    specintY规格型号
    numsdecimal(12,4)N库存数据
  • 销货出库单结算表 sell_bills

    字段名数据类型NULL备注
    idintN
    sellintN所属单据
    typevarchar(32)N单据类型
    modelvarchar(64)N单据模型
    formintN单据主键
    timeintN单据时间
    moneydecimal(16,4)N结算金额
  • 销货出库单详情 sell_infos

    字段名数据类型NULL备注
    idintN
    sellintN所属单据
    goodsintN商品信息
    specintY规格型号
    cellintY计量单位
    warehouseintN仓库
    pricedecimal(16,4)N单价
    tpedecimal(16,4)N含税单价
    numsdecimal(12,4)N数量
    serialjsonN序列号
    batchvarchar(64)N批次号
    mfgintN生产日期
    discountdecimal(5,2)N折扣率
    dscdecimal(16,4)N折扣额
    totaldecimal(16,4)N金额
    taxdecimal(5,2)N税率
    tatdecimal(16,4)N税额
    tptdecimal(16,4)N价税合计
    datavarchar(256)Y备注信息
    quantitydecimal(12,4)Y退货数量
  • 销货出库单 sells

    字段名数据类型NULL备注
    idintN
    customerintN客户
    timeintN单据时间
    numbervarchar(32)N单据编号
    totaldecimal(16,4)N单据金额
    discountdecimal(16,4)N优惠金额
    cbcdecimal(16,4)N客承费用
    actualdecimal(16,4)N实际金额
    moneydecimal(16,4)N收款金额
    accountintY结算账户
    costdecimal(16,4)N单据费用
    frameintY组织架构
    userintY制单用户
    personintY关联人员
    logisticjsonN物流信息
    filejsonN文件附件
    fieldjsonN扩展字段
    datavarchar(256)Y备注信息
    amountdecimal(16,4)Y结算金额
    examinetinyint(1)Y审核状态[0:未审核|1:已审核]
    checktinyint(1)Y核对状态[0:未核对|1:已核对]
    nucleustinyint(1)Y结算状态[0:未结算|1:部分结算|2:已结算]
    csetinyint(1)Y费用状态[0:未结算|1:部分结算|2:已结算|3:无需结算]
    invoicetinyint(1)Y发票状态[0:未开票|1:部分开票|2:已开票|3:无需开具]
  • 序列详情表 serial_infos

    字段名数据类型NULL备注
    idintN
    serialintN所属序列
    typevarchar(32)N单据类型
    modelvarchar(64)N单据模型
    formintN单据主键
    infointN单据详情
    directiontinyint(1)N出入方向[0:出|1:入]
  • 序列表 serials

    字段名数据类型NULL备注
    idintN
    roomintN所属库存
    warehouseintN所属仓库
    goodsintN所属商品
    numbervarchar(64)N序列号
    stateintN序列状态[0:出库|1:在库]
  • 供应商期初结算表 sit_bills

    字段名数据类型NULL备注
    idintN
    sitintN所属单据
    typevarchar(32)N单据类型
    modelvarchar(64)N单据模型
    formintN单据主键
    timeintN单据时间
    moneydecimal(16,4)N结算金额
  • 供应商期初 sits

    字段名数据类型NULL备注
    idintN
    supplierintN供应商
    timeintN期初日期
    numbervarchar(32)N期初编号
    apdecimal(16,4)N应付金额
    dpdecimal(16,4)N预付金额
    datavarchar(256)Y备注信息
    balancedecimal(16,4)Y应付款余额
    amountdecimal(16,4)Y结算金额
    nucleustinyint(1)Y结算状态[0:未结算|1:部分结算|2:已结算]
  • 销货订单详情 sor_infos

    字段名数据类型NULL备注
    idintN
    sorintN所属单据
    goodsintN商品信息
    specintY规格型号
    cellintY计量单位
    warehouseintN仓库
    pricedecimal(16,4)N单价
    tpedecimal(16,4)N含税单价
    numsdecimal(12,4)N数量
    discountdecimal(5,2)N折扣率
    dscdecimal(16,4)N折扣额
    totaldecimal(16,4)N金额
    taxdecimal(5,2)N税率
    tatdecimal(16,4)N税额
    tptdecimal(16,4)N价税合计
    datavarchar(256)Y备注信息
    quantitydecimal(12,4)Y出库数量
  • 销货订单 sors

    字段名数据类型NULL备注
    idintN
    customerintN客户
    timeintN单据时间
    numbervarchar(32)N单据编号
    totaldecimal(16,4)N单据金额
    discountdecimal(16,4)N优惠金额
    actualdecimal(16,4)N实际金额
    deliveryintY交货日期
    frameintY组织架构
    userintY制单用户
    personintY关联人员
    logisticjsonN物流信息
    filejsonN文件附件
    fieldjsonN扩展字段
    datavarchar(256)Y备注信息
    examinetinyint(1)Y审核状态[0:未审核|1:已审核]
    menttinyint(1)Y入库状态[0:未出库|1:部分出库|2:已出库|3:关闭]
  • 规格型号详情 spec_infos

    字段名数据类型NULL备注
    idintN
    specintN所属数据
    namevarchar(32)N规格名称
  • 规格型号 specs

    字段名数据类型NULL备注
    idintN
    namevarchar(32)N规格名称
    statetinyint(1)N启停状态[0:停用|1:启用]
    datavarchar(256)Y备注信息
  • 销货退货单结算表 sre_bills

    字段名数据类型NULL备注
    idintN
    sreintN所属单据
    typevarchar(32)N单据类型
    modelvarchar(64)N单据模型
    formintN单据主键
    timeintN单据时间
    moneydecimal(16,4)N结算金额
  • 销货退货单详情 sre_infos

    字段名数据类型NULL备注
    idintN
    sreintN所属单据
    goodsintN商品信息
    specintY规格型号
    cellintY计量单位
    warehouseintN仓库
    pricedecimal(16,4)N单价
    tpedecimal(16,4)N含税单价
    numsdecimal(12,4)N数量
    serialjsonN序列号
    batchvarchar(64)N批次号
    mfgintN生产日期
    discountdecimal(5,2)N折扣率
    dscdecimal(16,4)N折扣额
    totaldecimal(16,4)N金额
    taxdecimal(5,2)N税率
    tatdecimal(16,4)N税额
    tptdecimal(16,4)N价税合计
    costdecimal(16,4)N费用
    datavarchar(256)Y备注信息
  • 销货退货单 sres

    字段名数据类型NULL备注
    idintN
    customerintN客户
    timeintN单据时间
    numbervarchar(32)N单据编号
    totaldecimal(16,4)N单据金额
    discountdecimal(16,4)N优惠金额
    actualdecimal(16,4)N实际金额
    moneydecimal(16,4)N付款金额
    accountintY结算账户
    costdecimal(16,4)N单据费用
    frameintY组织架构
    userintY制单用户
    personintY关联人员
    logisticjsonN物流信息
    filejsonN文件附件
    fieldjsonN扩展字段
    datavarchar(256)Y备注信息
    amountdecimal(16,4)Y结算金额
    examinetinyint(1)Y审核状态[0:未审核|1:已审核]
    checktinyint(1)Y核对状态[0:未核对|1:已核对]
    nucleustinyint(1)Y结算状态[0:未结算|1:部分结算|2:已结算]
    csetinyint(1)Y费用状态[0:未结算|1:部分结算|2:已结算|3:无需结算]
    invoicetinyint(1)Y发票状态[0:未开票|1:部分开票|2:已开票|3:无需开具]
  • 收发记录表 summaries

    字段名数据类型NULL备注
    idintN
    pidintN库存详情
    typevarchar(32)N单据类型
    formintN单据主键
    infointN单据详情
    timeintN单据时间
    goodsintN商品主键
    specintY规格型号
    warehouseintN仓库主键
    directiontinyint(1)N出入方向[0:出|1:入]
    pricedecimal(16,4)N基础单价
    numsdecimal(12,4)N基础数量
    totaldecimal(16,4)N基础总价
    racdecimal(16,4)N平均成本
    rtcdecimal(16,4)N合计成本
    rtpdecimal(16,4)N合计利润
    costdecimal(16,4)N库存成本
    stockdecimal(12,4)N库存数量
    balancedecimal(16,4)N库存余额
    fifodecimal(12,4)Y先进先出
  • 供应商应付记录 supplier_infos

    字段名数据类型NULL备注
    idintN
    supplierintN供应商
    typevarchar(32)N单据类型
    modelvarchar(64)N单据模型
    formintN单据主键
    timeintN单据时间
    directiontinyint(1)N加减方向[0:减少|1:增加]
    moneydecimal(16,4)N金额
  • 供应商 suppliers

    字段名数据类型NULL备注
    idintN
    namevarchar(64)N供应商名称
    pyvarchar(64)N拼音信息
    numbervarchar(32)N供应商编号
    classifyintY供应商类别
    frameintY组织架构
    userintY所属用户
    customerintY关联客户
    filejsonN文件附件
    titlevarchar(64)N开票名称
    taxvarchar(64)N开票税号
    bankvarchar(128)N开户银行
    accountvarchar(64)N银行账号
    ratedecimal(5,2)N税率
    typeintN开票类型[0:收据|1:普票|2:专票]
    fieldjsonN扩展字段
    statetinyint(1)N启停状态[0:停用|1:启用]
    datavarchar(256)Y备注信息
    contactjsonN联系资料
    balancedecimal(16,4)Y应付款余额
  • 系统配置 sys

    字段名数据类型NULL备注
    idintN
    namevarchar(32)N名称
    keyvarchar(32)N标识
    infojsonN配置
  • 调拨单详情 transfer_infos

    字段名数据类型NULL备注
    idintN
    transferintN所属单据
    goodsintN商品信息
    specintY规格型号
    cellintY计量单位
    warehouseintN调出仓库
    storeintN调入仓库
    numsdecimal(12,4)N数量
    serialjsonN序列号
    batchvarchar(64)N批次号
    mfgintN生产日期
    costdecimal(16,4)N费用
    datavarchar(256)Y备注信息
  • 调拨单 transfers

    字段名数据类型NULL备注
    idintN
    timeintN单据时间
    numbervarchar(32)N单据编号
    costdecimal(16,4)N单据费用
    frameintY组织架构
    userintY制单用户
    personintY关联人员
    logisticjsonN物流信息
    filejsonN文件附件
    fieldjsonN扩展字段
    datavarchar(256)Y备注信息
    examinetinyint(1)Y审核状态[0:未审核|1:已审核]
    csetinyint(1)Y费用状态[0:未结算|1:部分结算|2:已结算|3:无需结算]
  • 计量单位 units

    字段名数据类型NULL备注
    idintN
    namevarchar(32)N单位名称
    statetinyint(1)N启停状态[0:停用|1:启用]
    datavarchar(256)Y备注信息
  • 用户 users

    字段名数据类型NULL备注
    idintN
    namevarchar(32)N用户名称
    pyvarchar(32)N名称拼音
    frameintN所属组织
    roleintN用户角色
    uservarchar(32)N用户名
    pwdvarchar(32)N密码
    avatarvarchar(256)N头像
    personintY关联人员
    fieldjsonN扩展字段
    statetinyint(1)N启停状态[0:停用|1:启用]
    datavarchar(256)Y备注信息
  • 仓库 warehouses

    字段名数据类型NULL备注
    idintN
    namevarchar(32)N仓库名称
    numbervarchar(32)N仓库编号
    frameintY组织架构
    peoplevarchar(32)N联系人员
    telvarchar(32)N联系电话
    addvarchar(64)N仓库地址
    burdentinyint(1)N允许负库存[0:否|1:是]
    alloctinyint(1)N启用货位[0:否|1:是]
    statetinyint(1)N启停状态[0:停用|1:启用]
    datavarchar(256)Y备注信息