erp系统可以做仓管吗

  • 时间:
  • 浏览:286
  • 来源:成都艾邦软件开发

仓库管理中简单的仓库管理软件和erp系统还是存在很大的差距、特别是中小企业很少近距离地接触到erp系统。因为这样的系统需要专业的软件公司为企业量身定制、既便是通用类型的也需要专业人员上门指导和安装。

如果能够满足中小企业自主搭建这样的系统、就可以实现同步普通的仓库管理软件来操作。不仅在成本上可以降低、而且还可以给企业增加工作效率、从而保证仓库管理的正常运营。

erp系统通俗点讲就是多部门协同操作、提高了仓库的精准度和其它部门之间的配合度,特别是在企业决策方面能够实时地展现报表和数据分析。中小企业只要根据自已的经营特点和工作流程来自已组建这样的系统才能满足当下的企业发展需要。

特别是在目前中小企业在erp管理的定性阶段,能够跳开固定模式和条件限制才能从根本上进入到应用阶段。所以学会自已搭建可以满足当下的企业需求,比如微信小程序云库存表、只需要分发账号给员工分配权限就可以搭建平台。

相比以前的仓库管理软件、erp系统的增值空间就是以企业的办公效率为准绳、不断的融入到企业办公的流程节点之处、才能不断的填补传统管理的通病。从而根据自已部门的销售、财务、商城、仓库进行提升。

登录功能

要点

登录界面已优化

输入账号密码后

this.$http.post(login, this.loginForm)

发送表单给后台后台根据这个方法去数据库查询

getUserByMassage(user.getUsername(), user.getPassword());

数据库查询时还要加上state1即状态为激活才可以登录成功

登录成功后直接跳转home页面将用户信息储存sessionStorage后期路由导航要用到

如此朴素的home页面后期可以稍作修改。

退出功能

一个简单朴素的按钮

把sessionStorage清除然后跳转login页面

路由

目前采用先import后使用后期可以切换路由懒加载~

home作为主要路由嵌套各个页面的路径及页面。

路由导航

不能没登录就访问改系统其他功能模块所以前期登录加个sessionStorage来存储用户信息全局的导航守卫保证用户已登录不过这种方法可以升级为jwt。

home页面

主要分为3个部分

头部信息区。左侧导航区右侧主体内容区有待优化

左侧的导航内容从数据库读取采用一对多映射。嵌套数据分一级菜单和二级菜单

后台xml文件

SELECT mm.*,sm.id as sid ,sm.title as stitle,sm.path as spath FROM mainmenu mm ,submenu sm WHERE mm.id  sm.mid;

查询语句有个缺点就是二级菜单没有的时候不会显示一级菜单而我后面有个分类嵌套商品也是模仿这个做的导致了很多问题后面细说。

图标存储在前端动态获取

关于F5或刷新页面后重定向的问题将当前页面存入sessionStorage在加载页面时候在取出完美解决这个问题

用户管理功能

这个模块到时候要做权限控制只允许超级管理员控制看要不要做角色列表新增页面做角色分配根据角色分配权限考虑做吧。

包括

  • 新增用户功能用户名不可修改
  • 搜索用户功能采用分页xml见上图2
  • 修改用户功能做得比较简单还有要不要涉及权限的问题
  • 删除用户功能
  • 编辑用户功能
  • 分配角色功能
  • 修改用户状态功能state为0不可登录

其他的没有遇到什么特别的困难

商品功能

简述大体分为两部分功能1商品列表2商品分类

1商品列表

用来展示商品信息包括新增修改删除搜索

其中修改和新增中的分类从数据库分类里获取保证每个商品都对应一个分类

新增的商品中商品的名称从供应商能供应的货物做数据剔除已经存在的商品要剔除中选择新增商品其实就是一个进货的过程由管理员输入数据。

新增商品中优化用户体验可直接在此页面新增分类

删除之前先判断订单中是否包含该商品订单含有该商品不予删除

2分类

用来展示分类列表包括新增编辑查询和属于他的商品

新增注意新增id不可重复作为分类id

编辑时编辑一个分类时如果这个分类下面有商品那么这些商品的所属分类也要跟着改变。根据要修改的分类id获取原先的名称作为查询条件先去更改product表中商品的分类信息再去修改分类表中的信息。

删除时若一个分类下有商品那么不予删除先要求删除子分类

前面提到那个语句不能搜索出不包含商品的分类那么要提供多一个接口获取所有分类名字给前端做对比把没有的分类加进去展示后端没有处理好应该可以更简单一点

供应商页面

和product页面几乎完全一样。地址选择换了级联选择器。

并且稍加处理提升用户体验。

供应商页面供应商id名称地址电话可供应的商品一种。每一个销售单应该由一个供应商提供

供应商的商品可以随便填吧相当于找供应商那是可以随便的但是商品管理中你要添加商品那必须先有供应商不然哪里来的商品呢商品页面的添加商品相当于就是在进货的过程从供应商获取的商品列表应该先做剔除只允许添加还未添加的商品存在两个一模一样的商品不合适。

首先要进货才能销售待销售单的数量如果大于商品数量那不可以销售成功销售单由待销售单转化而成。

删除供应商时如果商品库还存在该供应商提供的商品那么会导致商品点击查找供应商失败还会导致完成订单时无法插入供应商信息。

客户管理页面

customer_id

customer_name

customer_phone

customer_gender(下拉列表男或女)

customer_email

customer_vip(客户vip等级)会员白银vip黄金vip钻石vip黑金vip。根据会员积分决定刚注册时默认为普通vip。

积分制度消费一元可以获得1积分每一笔订单额外100

会员等级所需积分会员特权
普通vip09.8折
白银vip8889.5折
黄金vip28889折
钻石vip58888.8折
黑金vip88888折

customer_order 该客户的订单列表直接吧销售订单归在他的子集scope row按钮显示详情。暂时还没做。。到时候看怎么关联

和product页面几乎完全一样。

销售单管理待销售订单管理

本系统由用户驱动~用户先下单产生待销售单这时候如果商品库中的商品满足客户需求商品存在库存数量大于用户需求数量这时候可以直接发货等待订单完成即可。不满足去进货添加商品,商品不存在就去找供应商

销售单管理:

应该和商品列表差不多可以查询各个销售单的记录字段包括销售订单id操办人在销售订单点击销售完成后记录session里取销售时间管理员填入和待销售订单应该有关联待销售订单点击销售完成后待销售订单变为销售订单点击完成时要记录销售人是谁。

待销售订单管理

注意销售单里的商品数量不能超过product表里的number订单中的商品应该只有一种因为是仓库又不是购物所以一个

字段

字段类型说明
order_idstring订单编号自动生成主键由时间订单编号组成唯一订单编号
order_providerstring销售单供应商名称选择商品后自动带出外键不可编辑根据商品自动去数据库搜索供应商并插入
order_admin1string经办人管理员名字新增订单时从sessionStorage里取user名字外键定死
order_admin2string经办人管理员名字完成订单时从sessionStorage里取user名字外键销售单定死
order_productstring订单商品随便输入
order_numberint这里的产品不一定存在数据库中所以可能导致无法自动计算出价格那就由管理员手动输入订单金额预估后面销售单里的产品肯定存在数据库可以计算下成本价格对比这里输入的金额来评估这份订单的盈利情况
order_pricedouble下单时由管理员输入可供计算盈亏
order_time1date取下单时系统时间定死
order_time2date取完成订单系统时间定死销售单
order_remarkstring订单备注。管理员输入
order_is_pay1/0标签形式展示操作栏提供按钮给管理员操作
order_is_sale1/0不展示给用户用来区分是销售单还是待销售单
order_customerstring下单的客户要多做一个客户表单从customer表获取

表格操作栏

1.已付款显示完成订单按钮未付款显示确认付款按钮按了之后对应字段的值更新为1order_is_pay,order_is_sale

2.确认收货。改变order_is_sale为1然后就变成销售单了

总结

上面两个功能共用一张表order根据order_is_sale字段判断他是销售单还是待销售单。两个表格要的数据好像差不多相同只是各自展示不同字段

销售报表统计

销售报表统计这个放到最后做。准备用echarts做。到时候看看数据怎么导合适

新增锁屏功能

新加一个vuex的使用。存储锁屏状态和锁屏密码锁屏后不可以访问其他页面登录除外要么输入密码返回锁屏前的界面要么退出返回登录界面全局路由拦截只有密码正确再去更改vuex的lock字段为false。
点击锁屏触发
用户有输入密码则更新vuex里锁屏状态然后进行锁屏。


vuex文件

锁屏页
用户退出要更新vuex和session的内容解锁代码如下

最后加上路由导航

关联图

之前做的关联图到时候可以根据具体情况修改

流程图