x

爱优五金零售系统 — 核心界面设置项完整分析

项目路径:/www/wwwroot/lingshou/Application/Retail/
视图路径:/www/wwwroot/lingshou/Application/Retail/View/
控制器路径:/www/wwwroot/lingshou/Application/Retail/Controller/


1. Flow/index.html — 货流管理(进货单)

视图路径: Flow/index.html
控制器方法参考: Flow/index.html{:U('getgoodsarr')}, {:U('delgoodsitem')}, {:U('searchgoods')}, {:U('dostock')}, {:U('changenum')}, {:U('submitfloworder')}, {:U('myimport')}, {:U('downfile')}, {:U('downfaultfile')}

说明: 该界面为进货单确认页,主要操作流程:选择供货商 → 添加商品(扫码/搜索)→ 修改数量/赠送量 → 确认进货单

序号 界面标签 字段名 控件类型 可选值 默认值 作用
1 供货商 supplier_id select(下拉选择) 动态加载({$info} volist),还有 -1:自采/其他 0("--选择供货商--") 选择本次进货的供应商
2 按(条码/货号/名称)查询 keyword input(text) 任意字符串 输入商品条码/货号/名称搜索商品
3 进货量(商品行) item.num input(number) 正整数 每行商品的进货数量
4 赠送量(商品行) item.givenum input(number) 正整数 每行商品的赠送数量
5 优惠金额 dismoney input(number) 数字 0 整单优惠金额
6 进货量(搜索弹窗) searchgoodsinfo.num input(number) 正整数 弹窗中单次添加的进货数量
7 进货价(搜索弹窗) searchgoodsinfo.purch_price input(text) 数字 弹窗中修改该商品的进货价
8 赠送量(搜索弹窗) searchgoodsinfo.givenum input(text) 整数 弹窗中单次添加的赠送数量

Flow 子界面(搜索/列表页)

Flow/purchase.html — 订货单列表(商户端)

序号 界面标签 字段名 控件类型 可选值 默认值 作用
1 进货单号 order_id input(text) 任意单号 按进货单号搜索
2 全部订单 order_state select "":全部订单 / 1:未审核订单 / 2:审核通过订单 / 3:审核失败订单 "" 筛选订单审核状态
3 日期范围 date date(laydate range) 日期范围 筛选指定时间段的订单

Flow/order.html — 订货单列表(门店端)

序号 界面标签 字段名 控件类型 可选值 默认值 作用
1 单据号 ordernum input(text) 任意单号 按单据号搜索
2 选择供货商 supplier_id select 动态加载(volist) "" 按供应商筛选
3 日期范围 date date(laydate range) 日期范围 筛选制单时间

Flow/refund.html — 退货单列表

序号 界面标签 字段名 控件类型 可选值 默认值 作用
1 单据号 ordernum input(text) 任意单号 按退货单号搜索
2 选择供货商 supplier_id select 动态加载(volist) "" 按供应商筛选
3 日期范围 date date(laydate range) 日期范围 筛选制单时间

2. Discount/cuxiao.html — 促销管理(特价打折)

视图路径: Discount/cuxiao.html
控制器: Discount/savediscountmsgDiscount/goodsList

说明: 创建特价打折促销活动,支持选择商品设置零售特价和商城特价

序号 界面标签 字段名 控件类型 可选值 默认值 作用
1 开始日期 start_day date(laydate) 日期字符串 促销开始日期
2 开始时间 start_time time(laydate) 00:00 00:00 促销开始时间
3 结束日期 end_day date(laydate) 日期字符串 促销结束日期
4 结束时间 end_time time(laydate) 23:59 23:59 促销结束时间
5 促销名称 dis_name input(text) 任意字符串 促销活动名称
6 促销模式 type select 1:直接特价 / 0:直接折扣 1 选择按特价或折扣方式促销
7 会员类别 isvip select 1:会员 / 0:所有顾客 1 是否仅限会员参与
8 商品货号(表格行) goodsid[](隐藏)+ 货号(显示) input(text,readonly)+ modal选择器 动态弹窗选择商品 关联商品ID
9 零售特价(每行) te_price[] input(text) 数字(仅限数字和小数点) 零售渠道促销价格
10 商城特价(每行) online_te_price[] input(text) 数字(仅限数字和小数点) 小程序商城促销价格
11 过滤搜索 mykeyword input(text) 货号/品名 弹窗中选择商品时的过滤条件

3. PurchaseOrder/index.html — 采购订单

视图路径: PurchaseOrder/index.html
控制器方法: purchaseOrderList(列表), details(详情), addPurchaseOrder, edit/warehousing, warehousingOperation, export

说明: 采购订单管理,支持按时间、批次号、类型、供应商、仓库筛选

序号 界面标签 字段名 控件类型 可选值 默认值 作用
1 快速时间筛选 quicktime radio-button(el-radio-button) 1:本日明细 / 2:本周明细 / 3:本月明细 / 4:本年明细 1(本日) 快速筛选时间范围
2 开始时间 beginTime datetime-picker(el-date-picker) 日期时间 自定义筛选起始时间
3 结束时间 endTime datetime-picker(el-date-picker) 日期时间 自定义筛选结束时间
4 批次号 order_number input(text, el-input) 任意批次号 按采购批次号精确搜索
5 类型 type select(el-select) "":所有类型 / 1:常规采购单 / 2:补采购单 "" 筛选采购单类型
6 供货商 supplier_id select(el-select, filterable) 动态加载 {$supplier} 按供应商筛选
7 采购仓库 warehouse_id select(el-select) 动态加载 {$warehouse} 按采购仓库筛选

4. Warehouse/index.html + addWarehouse.html + editWarehouse.html — 仓库管理(仓位管理)

视图路径: Warehouse/lists.html(仓位列表主页面)
控制器方法: Retail/Warehouse/lists(列表),Retail/Warehouse/addWarehouse(新增),Retail/Warehouse/editWarehouse(编辑),Retail/Warehouse/getInfo(详情),Retail/Warehouse/delete(删除)

4a. Warehouse/lists.html — 仓位列表(主页面)

序号 界面标签 字段名 控件类型 可选值 默认值 作用
1 仓位编号/仓位别名/备注 searchBar.keywords input(text) 任意字符串 模糊搜索仓位信息

4b. Warehouse/addWarehouse.html — 新增仓位

序号 界面标签 字段名 控件类型 可选值 默认值 作用
1 仓位编号 warehouse_location_name input(text) 仅支持大写英文字母、0-9、- 仓位唯一标识符,格式如 W1/W01/W-01
2 仓位别名 warehouse_location_alias input(text) 仅支持汉字、英文字母、数字、中划线、下划线 仓位显示名称,如"门店1号"
3 仓位备注 remark input(text) 任意字符串 仓位备注信息(选填)
4 仓位地址 address input(text) 任意字符串 仓位所在地址(选填)
5 联系人 contact input(text) 姓名 默认填充当前账户 {$acountInfo["name"]} 仓位管理人姓名(选填)
6 联系电话 phone input(text) 手机/电话 默认填充当前账户 {$acountInfo["login_name"]} 仓位管理人联系电话(选填)

4c. Warehouse/editWarehouse.html — 编辑仓位

(字段与 addWarehouse.html 完全相同,新增 id 字段通过 URL 参数传递)

序号 界面标签 字段名 控件类型 可选值 默认值 作用
1-6 (同上) 同上 同上 同上 从数据库加载 编辑已有仓位信息
7 仓位ID id URL参数 ?id= 正整数 标识要编辑的仓位记录

5. Vip/index.html + set.html — 会员管理

视图路径: Vip/index.html(会员列表主页面),Vip/set.html(会员折扣设置)
控制器方法: vip/index(列表),vip/vipGrade(等级列表),vip/savediscount(保存折扣)

5a. Vip/index.html — 会员列表

序号 界面标签 字段名 控件类型 可选值 默认值 作用
1 昵称/手机号/实体卡 keyword input(text) 任意字符串 按会员昵称/手机/实体卡号搜索
2 门店会员筛选 goods_class_id select(el-select) 动态加载 vipList 按所属门店筛选会员
3 会员状态 status_id select(el-select) 动态加载 vipStatus 按会员状态(正常/冻结等)筛选
4 区间/类型 section.type select(el-select) 1:激活时间 / 2:生日时间 / 3:沉睡时间 / 4:复购次数 更多搜索中的筛选维度
5 时间范围(区间) section.time datetimerange-picker 日期时间范围 对应筛选维度的时间范围
6 复购次数(区间) section.purchase input(text) 整数 按复购次数筛选(如 1-100)
7 积分区间 section.integral input(text) 格式如 1-100 按会员积分范围筛选
8 余额区间 section.balance input(text) 格式如 1-100 按会员余额范围筛选

5b. Vip/set.html — 会员折扣设置

序号 界面标签 字段名 控件类型 可选值 默认值 作用
1 折扣 discount input(text) 0到10之间的数字(0-10) 原折扣值(placeholder) 设置不同会员等级的折扣率

5c. Vip/rechargeIndex.html — 余额退款

序号 界面标签 字段名 控件类型 可选值 默认值 作用
1 退款操作 id button(退款按钮) 充值记录ID 对单条充值记录发起退款

5d. Vip/initialSetup.html — 期初还款明细

序号 界面标签 字段名 控件类型 可选值 默认值 作用
1 调整期初欠款 total_beginning_balance(编辑值) prompt弹窗input 数字 原值 新增或调整期初欠款金额
2 还款金额 payMoney input(number) 正数 0 输入本次还款金额,必填
3 还款时间 repay_time datetime-picker 日期时间 new Date() 选择还款时间
4 还款方式 payType radio-group 2:现金支付 / 3:余额支付 / 4:其他支付 选择支付方式,必填
5 付款码(当payType=1时) code input(text) 字符串 扫码支付时的付款码
6 其他支付方式(当payType=4时) otherPayId radio-group 动态加载 otherPayList 选择具体其他支付渠道
7 支付凭证 dialogImageUrllist upload(图片上传) 最多4张 上传支付凭证截图

6. SimpleFinance/index.html — 财务管理

视图路径: SimpleFinance/index.html
控制器方法: SimpleFinance/getFeeList(收支列表),SimpleFinance/editFee(保存),SimpleFinance/delFee(删除),SimpleFinance/getType(类型),SimpleFinance/editType(类型管理),SimpleFinance/output(导出)

说明: 财务管理主界面,包含支出统计和收入统计两个Tab,涉及新增支出/收入表单中的所有字段

6a. 搜索筛选条件

序号 界面标签 字段名 控件类型 可选值 默认值 作用
1 快速时间 quicktimea/quicktimeb radio-button 1:本日 / 2:本周 / 3:本月 / 4:本年 1 快速时间筛选
2 开始时间 beginTimea/beginTimeb datetime-picker 日期时间 自定义起始时间
3 结束时间 endTimea/endTimeb datetime-picker 日期时间 自定义结束时间
4 支出类型 searchModel.fee_type select(el-select) 动态加载 tableData 按支出/收入类型筛选
5 支出金额排序 searchForm.price_type select 0:时间倒序 / 1:支出金额正序 / 2:支出金额倒序 0 列表排序方式
6 支付状态 searchForm.pay_status select 0:全部 / 动态加载 paytypeData 0 按支付状态筛选
7 客户名称 selectedCustomer select(filterable, remote) 远程搜索动态加载 筛选指定客户
8 供应商名称 selectedSupplier select(filterable, remote) 远程搜索动态加载 筛选指定供应商
9 支出内容关键词 keywords input(text) 任意字符串 按支出/收入内容搜索
10 支付方式 searchModel.pay_type select(el-select) 0:全部 / 动态加载 payList 0 按支付方式筛选

6b. 新增支出表单(drawer1)

序号 界面标签 字段名 控件类型 可选值 默认值 作用
1 支出内容 form1.name input(text) 任意字符串 支出/收入的具体描述,必填
2 经手人 form1.author select(el-select, filterable) 动态加载 cashierLists,格式 "(序号)姓名(工号)" 选择办理该笔支出的人员
3 支出金额 form1.fee input(text) 数字 金额,必填
4 支付时间 form1.opt_time date-picker 日期 支出发生日期
5 支出类型 form1.type radio(el-radio) 动态加载 tableData 必选 支出类别(房租/工资等)
6 支付状态 form1.pay_status radio 动态加载 paytypeData 默认 1(未付款?) 付款/未付款状态
7 支付方式 form1.pay_type select 动态加载 payList,格式 "(序号).名称" 通过哪种方式支付
8 国内入账 form1.transfer_to_domestic checkbox 1:是 / 0:否 0 外币支出是否转为人民币入账
9 备注 form1.remark textarea 任意字符串 补充说明
10 凭证图片 dialogImageUrllist upload(图片列表) 图片文件 上传支出凭证(最多N张)

6c. 新增收入表单(drawer2)

(字段结构与支出表单类似,字段前缀为 form2,包含:收入内容、经手人、收入金额、收入时间、收入类型、支付状态、支付方式、备注、凭证图片)


7. Wxconfig/index.html — 微信配置

视图路径: Wxconfig/index.html
控制器方法: wxupdate(保存配置),uploads(上传JS文件),Wxconfig/morejs(接入手册)

说明: 微信公众号配置页面,配置公众号基本信息用于与微信公众平台对接

序号 界面标签 字段名 控件类型 可选值 默认值 作用
1 公众号名称 name input(text) 微信公众号后台的名称 {$cache['name']}(已有值) 商家公众号名称
2 AppID appid input(text) 微信公众平台后台的AppId {$cache['appid']} 微信公众号应用唯一标识
3 AppSecret appsecret input(text) 微信公众平台后台的AppSecret {$cache['appsecret']} 微信公众号应用密钥
4 Token token input(text) 微信公众平台后台填写的token {$cache['token']} 微信公众号服务器验证token
5 服务器配置说明 LoginName(只读显示) input(text, readonly) 显示系统生成的服务器URL {$url} 告诉用户填入微信公众平台的服务器地址
6 IP白名单配置 LoginName(只读显示) input(text, readonly) 当前服务器IP {$_SERVER['REMOTE_ADDR']} 提示用户需在微信后台配置IP白名单
7 上传JS文件 insrc(隐藏字段) upload(layui upload) 仅限 .txt 文件 上传JS接口安全域名验证文件
8 微信公众号接入手册 无(点击链接) text link 跳转 Wxconfig/morejs 查看接入说明文档

8. Store/index.html — 门店管理(零售收银看板)

视图路径: Store/index.html
控制器方法: Statistics/getMerchantStatisticsList

说明: 门店零售数据概览页面,以卡片和环形进度图展示各项销售数据,无筛选表单,纯展示页面

序号 界面标签 字段名 控件类型 可选值 默认值 作用
(无表单输入控件) 数据展示为主,无用户输入 展示商户零售占比、金额、会员数据等

9. GoodsMeal/index.html — 套餐管理

视图路径: GoodsMeal/index.html
控制器方法: GoodsMeal/index(列表),GoodsMeal/mealDetail(详情),GoodsMeal/MealGoodsReset(删除),Retail/Goods/doGoodsSet_v1(新增/编辑),Retail/Ssale/saleGoodsList(商品搜索)

9a. 套餐列表搜索

序号 界面标签 字段名 控件类型 可选值 默认值 作用
1 套餐名称/描述 searchBar.keywords input(text) 任意字符串 搜索套餐名称或描述

9b. 套餐新增/编辑弹窗表单

序号 界面标签 字段名 控件类型 可选值 默认值 作用
1 套餐名称 goods_name input(text, required) 任意字符串 套餐商品名称,必填
2 条码 goods_code input(text) 唯一条码字符串 套餐商品条码,必填
3 货号 goods_number input(text) 字符串 套餐商品货号,必填
4 分类 goods_class_id select/tree(多级联动) 动态加载分类数据 套餐商品分类
5 成本价 purchase_price input(number) 正数 套餐成本价,必填
6 零售价 retail_price input(number) 正数 套餐售价,必填
7 套餐状态 status radio/select 0:上架 / 1:下架 0 创建时默认下架
8 套餐库存 goods_num input(number) 整数 0 套餐可售库存数量
9 库存上限 more_num input(number) 整数 200 超过此数量提示库存过多
10 库存下限 less_num input(number) 整数 1 低于此数量提示库存不足
11 商品标签 label_id select 动态加载 label 关联商品标签
12 品牌 goods_brand_id select 动态加载 brand 关联商品品牌
13 单位 company select 动态加载 classdataList(单位列表) 商品计量单位
14 供货商 supplier_id select(filterable, remote) 动态加载 supplierList 关联供货商
15 商品描述 details textarea 富文本/字符串 商品详情描述
16 商品图片 goods_img / goods_img_id upload/image 图片文件 套餐商品主图
17 组合商品列表 mealGoodList / mealsInfoGoods table(动态行) 动态添加商品 套餐包含的商品明细列表(至少2件,最多20件)
18 组合商品成本价 combination_purchase_price(每行) input(number) 数字 单个组合商品的分摊成本价
19 生成条码规则 openCoderadio radio 1:系统随机自动生成 / 2:按分类编号递增 1 新增商品时条码生成方式

10. Guide/index.html — 导购管理

视图路径: Guide/index.html
控制器方法: get_guide_list(列表),edit/create(编辑),delete(删除),storeon(开启状态),changeOnlineStatus(线上状态),bindUser/outBindUser(绑定线上用户),commission(佣金),details(销售),vip(会员)

10a. 导购管理首页设置项

序号 界面标签 字段名 控件类型 可选值 默认值 作用
1 是否开启导购员 openState switch(el-switch) 1:开启 / 2:关闭 {$openstate} 全局开关,控制是否启用导购功能
2 是否开启线上导购员 guide_online_state switch(el-switch) 1:开启 / 2:关闭 {$guide_online_state} 控制线上导购功能是否启用

10b. 导购列表搜索条件

序号 界面标签 字段名 控件类型 可选值 默认值 作用
1 导购员名称/手机号 searchText input(text) 任意字符串 按名称或手机号搜索导购员
2 开始时间 beginTime datetime-picker 日期时间 按入职/注册时间范围筛选
3 结束时间 endTime datetime-picker 日期时间 按入职/注册时间范围筛选

10c. 绑定线上用户弹窗

序号 界面标签 字段名 控件类型 可选值 默认值 作用
1 用户昵称 online_name input(text) 任意字符串 搜索线上平台用户昵称

10d. 联系方式二维码弹窗

序号 界面标签 字段名 控件类型 可选值 默认值 作用
1 联系方式二维码 dialogImageUrllist upload(picture-card) 图片文件 从数据库加载(有则显示) 上传导购员微信/电话联系二维码
2 导购员ID dialogid (内部传递) 正整数 通过弹窗打开时传递

汇总说明

技术栈

  • 前端框架:Vue 2.x + Element UI(el- 系列组件)+ Layui(lay- 系列组件)
  • 模板引擎:ThinkPHP 原生模板({:U()}<volist><if condition>
  • 分页/列表:el-table + layui table 混用
  • 表单验证:Layui form.verify / Element UI rules

共同规律

  1. 主列表页(Flow/index, PurchaseOrder/index, Vip/index, Guide/index):主要包含搜索筛选条件和表格展示,操作通过工具栏按钮触发
  2. 新增/编辑页(Warehouse/addWarehouse, GoodsMeal/index dialog):使用 Vue data + form 表单提交
  3. 配置页(Wxconfig/index, Guide/index 顶部设置项):少量核心开关/配置项
  4. 财务页(SimpleFinance):Drawer 侧边抽屉表单 + 主列表,结构最复杂

控制器方法命名规律

控制器 列表 新增 编辑 删除 详情
Flow getgoodsarr dostock changenum delgoodsitem showfloworder
Discount goodsList savediscountmsg
PurchaseOrder purchaseOrderList addPurchaseOrder warehousing details
Warehouse lists addWarehouse editWarehouse delete getInfo
Vip index(列表) savediscount
SimpleFinance getFeeList editFee(含新增逻辑) editFee delFee
Wxconfig wxupdate
GoodsMeal index doGoodsSet_v1 doGoodsSet_v1 MealGoodsReset mealDetail
Guide get_guide_list create edit delete details
Left-click: follow link, Right-click: select node, Scroll: zoom
x