-
多种订单状态不同颜色文字
2020-07-21 14:29:20通过订单状态来展示不同的样式文字 // tob首页(订单列表) export const orderList = [ { state: '2', text: '申办中', color: '#58BA9E', backgroundColor: '#E8F8F3', }, { state: '3', text: '待审查', ...通过订单状态来展示不同的样式文字
// tob首页(订单列表) export const orderList = [ { state: '2', text: '申办中', color: '#58BA9E', backgroundColor: '#E8F8F3', }, { state: '3', text: '待审查', color: '#333', backgroundColor: '#E8F8F3', }, { state: '4', text: '待审批', color: '#333', backgroundColor: '#E8F8F3', }, { state: '5', text: '制证中', color: '#58BA9E', backgroundColor: '#E8F8F3', }, { state: '6', text: '发证中', color: '#58BA9E', backgroundColor: '#E8F8F3', }, { state: '7', text: '已完成', color: '#3B65E2', backgroundColor: '#E8EEFF', }, { state: '8', text: '已取消', color: '#EC461E', backgroundColor: '#FFEFEB', }, ]; export const orderMap = orderList.reduce((accumulator, currentObj) => { accumulator[currentObj.state.toString()] = currentObj; return accumulator; }, {}); export const getOrderItemDescription = (state) => { return { text: orderMap[state].text, color: orderMap[state].color, backgroundColor: orderMap[state].backgroundColor, }; };
调用
const { color, backgroundColor, text } = getOrderItemDescription( gzOrderDetail.state );
-
订单状态机
2021-01-08 20:09:310 前言 电商平台所有模块中,订单系统作为比较核心的模块,它决定了整个流程...3 订单状态机 状态机表示了一笔订单的生命周期,按照一定的方向通过触发不同的事件产生数据流转的过程。 状态机v2.0 随着业务快速.0 前言
电商平台所有模块中,订单系统作为比较核心的模块,它决定了整个流程能不能顺畅的执行,起着承上启下的作用(下单、支付、履约、售后、清结算、营销活动)。
订单系统的设计主要需要考虑订单字段、业务流程、状态机三大个方面,这些内容决定了订单系统稳定性与扩展性。
2 订单流程
订单流程指整个订单从产生到完成的整个流转过程,它包括正向流程和逆向的流程。
3 订单状态机
状态机表示了一笔订单的生命周期,按照一定的方向通过触发不同的事件产生数据流转的过程。
状态机v2.0
随着业务快速发展,我们的状态机也在逐步完善,在完善的过程中我们遇到两个问题
- 如何提供更多的订单状态来描述现实世界?
- 在提供更多的订单状态后,同时节省状态机维护成本?
为了解决这两个问题,我们采用大状态+小状态的设计。主、子订单上只维护大状态流转,抽象出物流、售后两个领域分别去维护各自的小状态。这样保证了主子订单上的状态不会特别多,同时又可以通过不同的领域中的小状态去满足业务需求。
主、子订单变更规则
- 正向状态是当全部子订单向前流转时,主订单才会向前走;
- 逆向状态是当子订单全部变成15(售后中) 主订单才变售后中. 子订单全部变成16(售后完成)主订单才变售后完成 子订单全部变成11(取消)主订单才变取消;
状态机在APP端的体现
团长C端提货界面
用户C端提货界面
思考与改进
1 目前物流领域的状态机只针对团长端开放,并没有针对C端用户开放。WMS和TMS作业都是按照团长+SKU纬度,团长收到货后承担这二次分拣的职责,由团长决定用户的货是否真的送达,所以WMS和TMS回传给订单的消息对用户是不准确的。
问题举例
小明在A团长下单5个苹果
小红在A团长下单5个苹果
23点仓库开始作业,发现一共只有5个苹果。
- WMS TMS 下发出库、配送指令 A团长+5个苹果
- OMS收到指令按照团长纬度更新订单状态,此时小明、小红的订单状态都被更新为司机送达
- 团长收到5个苹果后,选择把苹果全部给和他关系较好的小明。
此时小红没收到货、同时看到自己订单状态为司机送达就会很懵逼,这也是目前为什么履约状态只针对团长开放的原因。谁到货谁没到货团长线下决定的。
-
根据订单状态显示不同颜色表情
2016-12-02 10:08:59一:在help中根据状态定义对应css [code="ruby"] module Admin::Order::DetailsHelper # 显示彩色问题状态 PS_BG_COLOR = {"finish"=>"green","un_catch"=>&...一:在help中根据状态定义对应css
module Admin::Order::DetailsHelper
# 显示彩色问题状态
PS_BG_COLOR = {"finish"=>"green","un_catch"=>"yellow","under_take"=>"red"}
def color_problem_status(detail)
%Q{<span class="ui circular label #{PS_BG_COLOR[detail.problem_status]} basic"> #{detail.i18n_attr_problem_status} </span>}
end
end
二:通过block来定义更灵活的显示。
<%= show_created_by_name(@company.created_by) do |name|%>
<div class="column column_new">创建人: <%= name%> </div>
<% end %>
def show_created_by_name(created_by, &block)
name = CreatedBy.display_name(created_by)
if block_given?
capture(name,&block) if name.present?
else
name
end
end
三:通过和i8n来定义状态css
module Website
module Ext
module ActiveRecord
module I18n
extend ActiveSupport::Concern
I18N_ATTR_PREFIX = /^i18n_attr_/
NAME_OF_PREFIX = /^name_of_/
def method_missing(method,opt={}, *args, &block)
c = method.to_s
col = c.sub(I18N_ATTR_PREFIX,'')
if c =~ I18N_ATTR_PREFIX
col = c.sub(I18N_ATTR_PREFIX,'')
display_model_status(self.class, col, self.send(col.to_sym),opt) if self.class.column_names.include?(col)
elsif c =~ NAME_OF_PREFIX
col = c.sub(NAME_OF_PREFIX,'')
eval("#{self.class.name}::#{col.upcase}.invert[self.#{col}]") if eval("#{self.class.name}.constants.include?(:#{col.upcase})")
else
super
end
end
def display_model_status(model,attribute,value,opt={})
return if value.nil?
if ['active'].include?(attribute.to_s.strip)
s = ::I18n.t("activerecord.status.#{attribute}.#{value}", default: value)
else
s = ::I18n.t("activerecord.status.#{model.name.underscore}.#{attribute}.#{value}", default: value)
end
if opt[:css]
s = %Q{<span class="ui circular label #{model.name.underscore} #{attribute} #{value} basic"> #{s} </span>}
end
s
end
end
end
end
end
调用:
<%=raw detail.i18n_attr_problem_status(css:true) %>
<%=raw detail.i18n_attr_problem_status %>
enum problem_status: {
"normal" => 0 ,
"finish" =>1,
"un_catch" => 10,
"under_take" =>11
}
i8n:
problem_status:
'normal': ''
'finish': '问题订单已处理'
'un_catch': '问题订单未处理'
'under_take': '问题订单处理中'
css:
/*问题订单状态颜色*/
.order_detail.problem_status.finish{
color:#21BA45 !important;
background-color: #fff !important;
border: 1px solid #21BA45 !important;
}
.order_detail.problem_status.un_catch{
color:#FBBD08 !important;
background-color: #fff !important;
border: 1px solid #FBBD08 !important;
}
.order_detail.problem_status.under_take{
color:#DB2828 !important;
background-color: #fff !important;
border: 1px solid #DB2828 !important;
} -
SAP生产订单的不同状态
2009-07-06 19:44:26SAP生产订单的不同状态[@more@]REL ReleasedCRTD CreatedPRC Pre-costedMANC Mat.availability not checkedNTUP Dates are not upda...SAP生产订单的不同状态[@more@]REL Released
CRTD Created
PRC Pre-costed
MANC Mat.availability not checked
NTUP Dates are not updated
生产订单创建后,订单的状态为CRTD(Created),此时订单不能进行发料、工单确认和收货等操作。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9826/viewspace-1023846/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9826/viewspace-1023846/
-
sap 订单状态修改时间_订单状态管理 (SAP 库 - 内部订单 (CO-OM-OPA))
2021-02-11 09:06:57订单状态管理用途由于这种状态管理形式已经过时,并且不再涵盖在一般SAP状态管理中,所以不应使用它。针对各个订单类型定义旧订单状态管理。每个订单类型均有其自身的状态管理,可或多或少地根据订单功能进行构建。... -
java 订单状态_JAVA设计模式-状态模式-State-订单状态
2021-02-27 16:51:58行为取决于它的状态,即是说由状态决定行为,方法放在状态类中,而状态控制亦在状态类中进行,譬如一个按钮,按一次是开,按一次是关,同一个行为,但是由于其状态的改变,而导致不同的结果。一个操作中含有庞大的多... -
状态模式-State-订单状态
2017-12-15 10:53:00JAVA设计模式-状态模式-State-订单状态 21. State(状态) 意图: 允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。 解释: 比如说对订单的提交,第一次提交是成功的,... -
PO订单状态
2012-07-06 23:42:00适用与未完成状态的采购订单;2.冻结,解冻,冻结能够防止对已经审批的订单做修改,并且不能通过采购订单录入界面打开;对题头和采购订单行都有效的活动:3.取消。终止合同或合同行。动作不可逆。比较麻烦的是怎样... -
查询和更新的时候带上订单状态,可以解决同一人和不同人并发产生的问题。
2017-01-07 11:53:08假设此时订单的状态是1,表示订单创建成功了,等待支付,(同时假设支付成功订单的状态是2,支付失败订单的状态是3,订单状态字段是orderStatus) 2:同一人并发的问题。 如果我们处理订单的时候,查询不带订单的... -
Mysql 定时器 根据订单的不同的状态进行超时判断并且修改
2017-09-29 14:30:45每分钟遍历一下订单表内的所有数据,当状态为'未支付'下,已经20分钟后就超时,并且改为‘已超时’, 待发货下,已经3小时后就超时,并且改为‘已超时’ 先创建存储过程 create procedure order_checked() begin ... -
剖析采购订单状态
2012-07-06 23:42:00适用与未完成状态的采购订单;2.冻结,解冻,冻结能够防止对已经审批的订单做修改,并且不能通过采购订单录入界面打开;对题头和采购订单行都有效的活动:3.取消。终止合同或合同行。动作不可逆。比较麻烦的是怎样... -
定义生产订单类型+不同订单类型关联不同的特性
2019-11-13 13:40:36订单类型定义了订单的相关控制数据或信息,如成本控制、状态管理、滞留时间等,每个生产订单都必须输入订单类型。 双击任一订单类型,进入如下界面: 订单类别:订单类别代码,例如:生产订单、流程订单等,不可... -
ecshop订单状态数据表说明
2016-03-16 21:27:59ecshop订单信息表为:order_info ,不同的订单状态,则如下3个字段所存储的内容不同,详细解释如下: <!--more--> 刚下完订单 order_status 0 shipping_status 0 pay_status 0 取消 order_status 2... -
自定义注解配合反射处理订单状态留档
2020-10-12 17:42:25采购相关的订单状态记录,订单状态从创建到完成中间的状态很多,为了更好的追溯数据和别的某些领导的需要记录下订单每次状态变更,因为要记录变更前状态和变更后状态,所以放弃了AOP,用自定义注解+反射少些一点侵入... -
一个订单拥有十几个状态,想问一下,如何进行状态转换并跳转不同页面,求大侠指点迷津
2016-03-03 13:13:30一个订单拥有十几个状态,想问一下,如何进行状态转换并跳转不同页面,求大侠指点迷津 -
tp5商品订单分类的高亮状态
2020-11-09 11:49:17首先为了标记各类订单状态,在链接地址后面用不同的数值表示不同的状态 然后当你点击其中一个的时候就会访问到orderlist操作方法,那么在当前方法里面: 我们只需要接受一下订单的状态值,然后再分配到这个模板中就... -
当需要查询一个字段中不同状态数据分别出现次数的解决方法
2020-09-24 20:58:25如图:我需要查询某个客户不同订单状态的数量。可以发现最终统计的数据只是一个字段里的内容。如果分4条接口查询分别查询不同状态出现的次数是最容易想到的。但可能就过于臃肿了太感觉太憨笨,查询时间大大加长,... -
订单表根据商品ID分类,同时根据商品状态获取不同的值
2019-08-08 11:12:25mysql语句: ...1 or null) as goods_count_ed,count(o.status=1 or null) as goods_count_ing,sum(o.price) as ...订单表根据商品ID分类,同时根据商品状态获取不同的值 个人博客: www.liusongs.com -
OM订单流程状态的分析
2010-09-30 10:20:01在做SO的订单过程中,可以根据订单的类型来生成不同的SO, SO订单中有两个状态,一个order information的status和order line的status,流程: entered--> boo... -
ASP编程实现各家快递公司订单状态查询
2013-07-08 16:10:39原理大概是提交数据到申通的查询入口,获取返回的HTM代码,现在返回的完全是申通的网页代码,你可以使用...其它快递公司的查询以此类推,需要注意的就是不同快递公司的网站采取的编码不同,一般是utf-8,和gb2312.... -
Android实现外卖语音播放,处理不同状态语音播放逻辑
2018-01-19 17:30:22需求 1、订单提示自动播放,在任何界面均自动... 4、提示规则:同状态语音插队提示,不同状态语音排队提示。不同状态提示,按书顺序播放。例如:正在播放新订单提示,若有新的「新订单」则直接播放最新的新订单语音。 -
mysql 根据不同状态进行排序、多字段排序
2020-09-03 15:47:45商城后台管理订单列表,需要先根据订单状态排序,在进行创建时间排序 排序规则: 代发货(asc)—>待付款(desc)—>待收货(desc)—>交易成功(desc)—>交易关闭(desc) 订单状态: 0->待付款;1->待... -
谈谈下订单的几种实现方式(用不同的模式实现:装饰器模式、代理模式、命令模式、状态模式、模版模式)...
2013-04-12 17:19:00本文讲PlaceOrder函数的实现(重点在业务逻辑层),让我们来分别用不同的设计模式来实现吧:装饰器模式、代理模式、命令模式、状态模式、模版模式。 假设我们实现需求如下: 在PlaceOrder函数中需要做如下工作 1. ... -
mysql根据某个字段的不同状态的值进行统计
2019-06-05 12:00:45根据不同状态统计某个用户的订单数。统计所有状态都有为抢票数,统计status=3为开票数,统计status=4为驳回数。查询某个用户对应的开票数,抢单数,驳回数。 SQL: SELECT COUNT(order_no) as qiangdan, SUM(CASE ... -
订单管理系统销售订单管理生产订单管理物流运输管理
2018-01-07 21:36:38物流运输管理等等,用户可自定义订单状态,可自定义订单类型,可自定义订单管理项目名称及订单明细名称内容,可重塑性极强,方便用户从容管理订单及相关操作,系统提供综合查询、可按指定期间查询,可按不同条件进行... -
分布式锁-订单流程在查询之前加锁-避免不同节点重复相同的工作
2020-06-10 17:50:01正确性:加分布式锁同样可以避免破坏正确性的发生,如果两个节点在同一条数据上面操作,比如多个节点机器对同一个订单操作不同的流程有可能会导致该笔订单最后状态出现错误,造成损失。 详细参考链接 ... -
uniApp实现点击tab选项卡展现该状态的订单数据(全部、待付款、待发货、已发货、已完成)
2019-04-02 10:14:522、通过接口获取到订单数据后赋值给两个变量,order_lists存储订单数据,show_lists用来展示不同状态的订单数据。 3、change方法里循环判断每条订单的数据,然后将符合该状态下的订单赋值到show_lists里面。 //前端...