追加功能 #441
Updated by Xihua Fan about 1 year ago
*Background*
# New requirement for v4.0 OTS
See: OneDrive\赤蓝商贸(上海)有限公司\Shanghai Group - IT\开发相关\OTS V4\开发需求
*Task Details*
# *Order list* : mobile/desktop
# *Permission Policy* :
## order list - row:
- Admin: 没有限制
- Retailer: 只看到自己的order (创建订单时可以选择Retailer,或者默认自己如果是Retailer)
- Agent: 允许看到被分配的retailer的order + 允许看到被分配的product的order
- Operator: 同Agent
## order list - column:
- Admin: 允许看到Index, SE date, SE Service
- Retailer: 允许看到 SE date, SE Service (if has_se_info == 1)
- Agent: 同Retailer
- Operator: 同Retailer
## Retailer filter:
- Admin: 没有限制
- Retailer: 不显示该filter
- Agent: 该filter中仅显示被分配给自己的retailers
- Operator: 同Agent
## has_not_cn:
- has_not_cn = 0 -> 筛选非中国订单(order detail "Not CN")
- has_not_cn = 1 -> 中国/非中国都看
## Sub-account:
- Order detail默认选择的ratailer。
- 非retailer可设置sub-account
## SE Status:
- 允许查看/修改 SE order status
- 没有权限的人查看SE order status,默认显示"Send to customer"
# *Information Pattern (Error, Warning, or notification)*
- Form validate
- Loading indicator
- Modal
- Background(red) if [today >= delivery date && Not Completed]
*Questions:*
# 新的8种订单状态:(Page 20) delivered, arrived in Se-Warehouse, Arrived in SE-Office 这几种订单状态不在这八种之内,在order list如何表示这几种状态(颜色 or 文字)。
*Van*:可以暂时跳过。
# 这8种是否应作用于desktop和mobile版,不只是mobile版本。
*Van*:应该是7种, *labelled* (建议 status = false),因为v3没有这个状态。是的,理论上所有平台都适用。
# Mobile Main界面:建议暂时先不开发main界面,登录之后直接跳到order界面,因为暂时就一个模块,main界面完全可以不使用,等开发第二个模块时,在回过头设计main界面。
*Van*:可以考虑desktop + mobile都开发main页面,暂时可以跳过。
# Mobile 子订单折叠时的状态提示:
- 当子订单折叠时,默认显示第一条子订单,并显示对应的背景颜色(但是Desktop默认所有订单产品都会显示)
则此时,对于浏览的人员,可能会错过某些子订单的状态,建议当折叠时,做些适当的提示信息(子订单含不同的状态)
*Van*:暂时可以跳过, 或者比如提示多条订单产品的时候(多个 “.” 就OK了),用户会主动点击展开。
# Mobile 超时未发货的提示:
- delivery date 小于 今天 --> 当前订单行红色背景提示:mobile是否需要此功能?
*Van*:需要,警告提示我们可能需要【共通化】,回头我们可以一起考虑。
# “特别关注”的订单:
- 当在V4对订单设定了‘特别关注’,是否需要体现到v3上,或者这个功能是mobile独有的功能,无需体现到desktop(v3+v4)版。
- 建议:无需体现到v3, 仅v4(mobile+desktop)支持‘特别关注’功能。 (Extra: 个人感觉,“特别关注” 和 ”UGC“ 都使用”星型“图标有些重复)
*Van*:是的,v4独有(建议所有的功能desktop + mobile都共有,除非开发花费很多时间,具体问题可以再讨论),“特别关注”可以考虑使用 【♥】 icon。
# Mobile order list上传产品图片的功能(双击):上传之后的图片是否需要查看,也许我们需要某个位置来管理这些图片。
*Van*:是的,你的理解正确。但是怎么呈现我们再讨论。
# Mobile order list涉及常规/非常规订单相关的问题等开发产品模块时在做考虑
*Van*:v3中含有【special】的产品,你的意思是使用flag(DB中新的字段?),我们可以暂时跳过,使用【文字】判断。
另外,区分标识没有文档说明的意思?如果是,我建议使用【※】icon,连接在产品名后面,比如 【Special - Display ※】,样式我们后面可以修改。
# (word p14)Input date往前推3天?是默认显示[3天前]-[今天](即默认显示这几天的数据),还是筛选的时候默认在筛选的日期加3天的意思(即在筛选的基础上额外筛选三天的数据)。是否desktop和mobile同步此filter。
*Van*: 将trello提问
# 创建User时"Not CN"的意义,静态解析来看,我们将订单分为中国/非中国的订单(创建order时的"Not CN"),使用"Not CN"判断用户是否可以看这两类订单。但从v3的数据来看,我们并没有利用这个字段。v4中我们是否需要重新利用这个字段。
*Van*: 将trello提问
# 关于权限问题:V3在创建user时,可以设置用户可看的product和ratailer,但是如果没有设置,则该用户可看到所有的订单(无论用户的权限是什么),个人认为是bug,已在V4版本中修复(product和retailer是"和"的关系),如果理解有误,请指正。
*Van*: 【不选】 和 【全选】 代表相同含义,个人支持【BUG修改】,但能否调查现在prod数据库有【不选】用户的嘛?
另外,v4的user模块(不选/全选)我们应该遵循【所见即所得】的规律。
# mobile子订单折叠: compact版本大于6(P14),full版本大于9(P17)折叠的意图是什么,是否可以子订单无条件折叠(大于3,显示第一条和最后一条,其他子订单折叠并使用'省略号')
*Van*: 折叠的意图是减少order products(子订单)的行数,尽量多显示order,我们可以不使用【...】,可以用【+ -】代表collapsible。
[是否可以子订单无条件折叠] 可以暂时按照需求处理,后期可能需要修改的时候再说。
# mobile delivery info(Page15): delivery info的文字描述,手机版和桌面版的不一致(如下),当前是全部统一为word中的文字(to STO, to Retailer, to customer),个人认为不是很重要。
但是还有其他的描述(to EASY O, to EASY W), 这两个描述是否为V4新版本所需要的新的delivery info。
- desktop: to STO Office, to Same Retailer, to Customer
- mobile compact: to STO, to Retailer, to customer
- mobile full: STO, Retailer, Customer
*Van*: 将trello提问
# mobile column width: 当前手机版的列宽为标准显示(word Page 14 No.7),是否需要加宽以展示更详细的信息,因为有部分订单的信息的展示部分是重复的(比如order name),不同的部分由于大于列宽被省略号替代了。
*Van*: 将trello提问
About: "7.屏幕默认宽度3,第1和2列锁定,第3可以左滑来显示后面的参数,所有参数宽度要么是1 要么是 0.5,方便标准显示"
1. HDP: 均分显示,比如: 33.3% 33.3% 33.3 16.7% ... 计算方便,划入区域统一,但是文字显示(可能需要动态的宽度,尽量显示有用的文本)
2. Niko:动态调整:比如:30% 30% 40% 20% ...文字显示(动态调整宽度,比如40%适用于多的文本【order name】,20%适用于小的文本【input date】)
# mobile: 长按行出现的小窗口的下载文件功能,一个子订单是否可以有多个文件,如果可以有多个(v3是允许上传多个的),那么点击'下载文件功能'是应该下载全部文件还是弹出窗口(用户选择文件下载)。
*Van*: 可以的话可以提供【选择】 或者 【全部】
# mobile: 关于不使用双击功能(word Page16),将功能集成到长按功能弹出的窗口中的原因。
1)双击功能在手机上的实现会和放大/缩小功能(手机浏览器的默认行为)相冲突
2)从用户的体验来说,手机上并没有使用双击的习惯
3)
## 双击功能在手机上的实现会和放大/缩小功能(手机浏览器的默认行为)相冲突
## 从用户的体验来说,手机上并没有使用双击的习惯
## 触摸屏的技术限制,在触摸屏中没有像鼠标一样的双击信号,如果实现需要花费额外的时间
*Van*: 同意,保持相同事件【长按】是合理的选择,当然Trello会提问(表明观点)。
*v4 coding standard:*
# Git提交
#xxx(redmine number): xxx(redmine title) - xxx(任意:补充内容)
# 代码规范
2.1: 结构:Public -> Protected -> Private
2.2: 其他代码规范同SBX
# 数据层规范(Model)
3.1: 数据库操作只应出现在model或者system中。
3.2: v3/v4的model分为两个文件,比如: order.php, order_v3.php
# 前台代码
twig, js, css (js, css尽量写在单独的css文件中)
# 后台代码
MVCL (L:en,cn)
# 注释
## 类名:
<pre>
/**
* xxx
*
* @copyright RedBlue-OTS 2024
* @version v4
*
*/
</pre>
## 函数名:参数类型 + 返回值类型
<pre>
/**
* xxx
*
* @param xxx $xxx
* @param xxx $xxx
* @return xxx
*/
</pre>
*Output*
* Report and Solution
*Others*