StoreApp商品管理系统设计方案

web项目构建

项目由dva作为data主框架,配合antd作为UI框架。
版本相关为dva-cli@0.7 antd3.0

脚手架构建

  1. dva new storeApp
  2. npm i antd --save
  3. npm i babel-plugin-import --save-dev

["import", { "libraryName": "antd", "libraryDirectory": "es", "style": "css" }]

  1. npm i dva-loading

import createLoading from 'dva-loading';
app.use(createLoading());

  1. npm i history

import { browserHistory } from 'dva/router';
const init = {
history:browserHistory,
}
const app = dva(init);

功能说明

管理员管理

作为页面登录的主体。仓库的管理员。一个管理员可以管理多个仓库。

ADMIN

ID NAME PHONE ADDR STATE
1 name1 123 abc A
2 name2 456 def X

字段说明

ID:主键
NAME:管理员名字
PHONE:管理员号码
ADDR:管理员地址
STATE:状态 A:激活 X:失效

仓库管理

用于储存货品。一个仓库可以存储多种货品。
仓库可以作为同一种类型货物的载体,或者可以作为同一种品牌的载体。
比如某个人经营笔记本电脑生意,那么仓库可以是笔记本电脑。
某个人经营耐克品牌,那么仓库可以是耐克。

STORE

ID NAME ADDR STATE PARENT_ID ADMIN_ID
1 store1 abc A 1 1
2 store2 def X 1 2
3 store3 ghi A 1 1

字段说明

ID:主键
NAME:仓库名称
ADDR:仓库地址
STATE:仓库状态 A:激活 X:失效
PARENT_ID: 父仓库ID,关联该表ID。顶层为空
ADMIN_ID:管理员ID,关联ADMIN表ID

货品管理

货品是被销售的主体。也可以其他货品的总类型。

GOODS

ID NAME CODE DEFINE FEATURE STATE PARENT_ID STORE_ID
1 仿羊绒粗条 BX10001 围巾 null A null 1
2 仿羊绒粗条 BX10002 围巾 A 1 1

字段说明

ID:主键
NAME:货品名称
CODE:货品编码
DEFINE:货品归属(可以被整体查询)
FEATURE:货品特征
STATE:状态 A:激活 X:失效
PARENT_ID:父货品ID,关联该表ID。顶层为空
STORE_ID:仓库ID,关联STORE表

入库单

一个货品在一个自然月内理论上可以有多张入库单。

STOCK_IN

ID NO CODE GOOD_ID STOCK_DATE COUNT PRICE OTHER_PRICE STOCK_ADDR STOCK_STORE STATE

ID:主键
NO:序列号,同一个货品同一个自然月下多次入库
CODE:入库号
GOOD_ID:商品ID,关联GOODS表
STOCK_DATE:入库时间
COUNT:入库数量
PRICE:入库单价(同一货物同一时间不同单价应按两次入库计算)
OTHER_PRICE:其他款项
STOCK_ADDR:货源地址
STOCK_STORE:货源仓库,关联STORE表
STATE:入库单状态 A:未出账 I:出账中 O:已出账 X:失效

出库单