|
|
@@ -8,9 +8,10 @@ import android.view.ViewGroup;
|
|
|
import android.widget.RelativeLayout;
|
|
|
import android.widget.TextView;
|
|
|
|
|
|
-import com.baidu.cyberplayer.utils.G;
|
|
|
+
|
|
|
import com.common.data.DateFormatUtil;
|
|
|
import com.common.data.ListUtils;
|
|
|
+import com.modular.apputils.widget.TravelDirectionView;
|
|
|
import com.uas.appworks.OA.platform.model.BusinessTravel;
|
|
|
import com.uas.appworks.R;
|
|
|
|
|
|
@@ -72,10 +73,13 @@ public class BusinessTravelAdapter extends RecyclerView.Adapter<RecyclerView.Vie
|
|
|
BusinessTravel model = models.get(position);
|
|
|
if (holder instanceof TitleViewHolder) {
|
|
|
bindTitleView((TitleViewHolder) holder, model);
|
|
|
- } else if (holder instanceof AirViewHolder) {
|
|
|
- bindAirView((AirViewHolder) holder, model, position);
|
|
|
- } else if (holder instanceof HotelViewHolder) {
|
|
|
- bindHotelView((HotelViewHolder) holder, model,position);
|
|
|
+ } else if (holder instanceof BaseViewHlder) {
|
|
|
+ bindBaseView((BaseViewHlder) holder, model, position);
|
|
|
+ if (holder instanceof AirViewHolder) {
|
|
|
+ bindAirView((AirViewHolder) holder, model, position);
|
|
|
+ } else if (holder instanceof HotelViewHolder) {
|
|
|
+ bindHotelView((HotelViewHolder) holder, model);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
}
|
|
|
@@ -85,58 +89,60 @@ public class BusinessTravelAdapter extends RecyclerView.Adapter<RecyclerView.Vie
|
|
|
holder.codeTv.setText(model.getCode());
|
|
|
}
|
|
|
|
|
|
- private void bindAirView(AirViewHolder holder, BusinessTravel model, int position) {
|
|
|
- holder.codeTv.setText("住宿:"+model.getCode());
|
|
|
+
|
|
|
+ private void bindBaseView(BaseViewHlder holder, BusinessTravel model, int position) {
|
|
|
+ holder.codeTv.setText(model.getTitle());
|
|
|
holder.statusTv.setText(model.getStatus());
|
|
|
- holder.levelTv.setText(model.getLevel());
|
|
|
- holder.businessNameTv.setText(model.getBusinessName());
|
|
|
- String whenLongTv="入住"+DateFormatUtil.long2Str(model.getStartTime(),"MM:dd")+" 离店"+DateFormatUtil.long2Str(model.getStartTime(),"MM:dd")+" 共2晚";
|
|
|
- holder.whenLongTv.setText(whenLongTv);
|
|
|
- holder.numberTv.setText(model.getNumber()+"人");
|
|
|
holder.nameTv.setText("龚鹏明");
|
|
|
- holder.idTypeTv.setText("二代身份证");
|
|
|
- holder.idCardTv.setText("450122xxxxxxxxxx");
|
|
|
- holder.roomsTv.setText("1间");
|
|
|
+ holder.idCardTv.setText("450122xxxxxxx");
|
|
|
holder.seatTv.setText(model.getSeat());
|
|
|
holder.realFeeTv.setText(model.getRealFee());
|
|
|
holder.payTypeTv.setText(model.getPayType());
|
|
|
- holder.addressTv.setText(model.getAddress());
|
|
|
- holder.dateTv.setText(DateFormatUtil.long2Str(DateFormatUtil.YMD));
|
|
|
- holder.numberSubTv.setText(model.getNumber() + "人");
|
|
|
+ holder.levelTv.setText(model.getLevel());
|
|
|
holder.expecteFeeTv.setText(model.getExpecteFee());
|
|
|
- holder.subRl.setVisibility(model.isExpand() ? View.VISIBLE : View.GONE);
|
|
|
+ holder.idTypeTv.setText("二代身份证");
|
|
|
+ holder.dateTv.setText(model.getDate());
|
|
|
holder.doneTv.setTag(R.id.tag_key, model);
|
|
|
+ holder.doneTv.setTag(R.id.tag_key2, position);
|
|
|
holder.doneTv.setOnClickListener(this);
|
|
|
holder.expandTv.setTag(R.id.tag_key, model);
|
|
|
holder.expandTv.setTag(R.id.tag_key2, position);
|
|
|
holder.expandTv.setOnClickListener(this);
|
|
|
+ holder.subRl.setVisibility(model.isExpand() ? View.VISIBLE : View.GONE);
|
|
|
}
|
|
|
|
|
|
- private void bindHotelView(HotelViewHolder holder, BusinessTravel model, int position) {
|
|
|
- holder.codeTv.setText(model.getCode());
|
|
|
- holder.statusTv.setText(model.getStatus());
|
|
|
- holder.levelTv.setText(model.getLevel());
|
|
|
- holder.businessNameTv.setText(model.getBusinessName());
|
|
|
- String whenLongTv="入住"+DateFormatUtil.long2Str(model.getStartTime(),"MM:dd")+" 离店"+DateFormatUtil.long2Str(model.getStartTime(),"MM:dd")+" 共2晚";
|
|
|
+ private void bindAirView(AirViewHolder holder, BusinessTravel model, int position) {
|
|
|
+ String fromCity = model.getStarting();
|
|
|
+ String toCity = model.getDestination();
|
|
|
+ //出发点
|
|
|
+ holder.fromCityTv.setText(fromCity);
|
|
|
+ holder.startDateTv.setText(DateFormatUtil.long2Str(model.getStartTime(), "yyyy-MM-dd"));
|
|
|
+ holder.startTimeTv.setText(DateFormatUtil.long2Str(model.getStartTime(), "HH:mm"));
|
|
|
+ holder.orderTypeTv.setText(model.getOrderType());
|
|
|
+ //目的地
|
|
|
+ holder.toCityTv.setText(toCity);
|
|
|
+ holder.toDateTv.setText(DateFormatUtil.long2Str(model.getEndTime(), "yyyy-MM-dd"));
|
|
|
+ holder.toTimeTv.setText(DateFormatUtil.long2Str(model.getEndTime(), "HH:mm"));
|
|
|
+ //行程
|
|
|
+ holder.tripTv.setText(fromCity + "-" + toCity);
|
|
|
+ holder.mTravelDirectionView.setData(model.getSeat(), longTime2Time(model.getAllTime()));
|
|
|
+ //改签
|
|
|
+ if (model.canChange()) {
|
|
|
+ holder.changeTv.setTag(R.id.tag_key, model);
|
|
|
+ holder.changeTv.setTag(R.id.tag_key2,position );
|
|
|
+ holder.changeTv.setOnClickListener(this);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void bindHotelView(HotelViewHolder holder, BusinessTravel model) {
|
|
|
+ String whenLongTv = "入住: " + DateFormatUtil.long2Str(model.getStartTime(), "MM-dd") + " 离店: " + DateFormatUtil.long2Str(model.getStartTime(), "MM-dd") + " 共" + longTime2Time(model.getAllTime());
|
|
|
holder.whenLongTv.setText(whenLongTv);
|
|
|
- holder.numberTv.setText("1人");
|
|
|
- holder.nameTv.setText("龚鹏明");
|
|
|
- holder.idTypeTv.setText("二代身份证");
|
|
|
- holder.idCardTv.setText("450122xxxxxxxxxx");
|
|
|
+ holder.businessNameTv.setText(model.getBusinessName());
|
|
|
+ holder.numberTv.setText(model.getNumber() + "人");
|
|
|
holder.roomsTv.setText("1间");
|
|
|
- holder.seatTv.setText(model.getSeat());
|
|
|
- holder.realFeeTv.setText(model.getRealFee());
|
|
|
- holder.payTypeTv.setText(model.getPayType());
|
|
|
holder.addressTv.setText(model.getAddress());
|
|
|
holder.dateTv.setText(DateFormatUtil.long2Str(DateFormatUtil.YMD));
|
|
|
holder.numberSubTv.setText(model.getNumber() + "人");
|
|
|
- holder.expecteFeeTv.setText(model.getExpecteFee());
|
|
|
- holder.subRl.setVisibility(model.isExpand() ? View.VISIBLE : View.GONE);
|
|
|
- holder.doneTv.setTag(R.id.tag_key, model);
|
|
|
- holder.doneTv.setOnClickListener(this);
|
|
|
- holder.expandTv.setTag(R.id.tag_key, model);
|
|
|
- holder.expandTv.setTag(R.id.tag_key2, position);
|
|
|
- holder.expandTv.setOnClickListener(this);
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -155,75 +161,101 @@ public class BusinessTravelAdapter extends RecyclerView.Adapter<RecyclerView.Vie
|
|
|
|
|
|
public TitleViewHolder(View itemView) {
|
|
|
super(itemView);
|
|
|
- codeTv = (TextView) itemView.findViewById(R.id.codeTv);
|
|
|
+ codeTv = itemView.findViewById(R.id.codeTv);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private class AirViewHolder extends RecyclerView.ViewHolder {
|
|
|
- TextView codeTv, statusTv, levelTv, businessNameTv, whenLongTv, numberTv,
|
|
|
- nameTv, idTypeTv, idCardTv, roomsTv, seatTv, realFeeTv, payTypeTv, doneTv, expandTv, addressTv, dateTv, numberSubTv, expecteFeeTv;
|
|
|
- RelativeLayout subRl;
|
|
|
+ private class HotelViewHolder extends BaseViewHlder {
|
|
|
+ TextView
|
|
|
+ businessNameTv,
|
|
|
+ whenLongTv,
|
|
|
+ numberSubTv,//人数
|
|
|
+ numberTv,
|
|
|
+ dateTv,
|
|
|
+ addressTv, //地址
|
|
|
+ roomsTv;//房间人数
|
|
|
|
|
|
- public AirViewHolder(ViewGroup viewGroup) {
|
|
|
+ public HotelViewHolder(ViewGroup viewGroup) {
|
|
|
this(getInflater().inflate(R.layout.item_bus_travel_hotel, viewGroup, false));
|
|
|
}
|
|
|
|
|
|
- public AirViewHolder(View itemView) {
|
|
|
+ public HotelViewHolder(View itemView) {
|
|
|
super(itemView);
|
|
|
- subRl = itemView.findViewById(R.id.subRl);
|
|
|
- codeTv = itemView.findViewById(R.id.codeTv);
|
|
|
- statusTv = itemView.findViewById(R.id.statusTv);
|
|
|
- levelTv = itemView.findViewById(R.id.levelTv);
|
|
|
- businessNameTv = itemView.findViewById(R.id.businessNameTv);
|
|
|
- whenLongTv = itemView.findViewById(R.id.whenLongTv);
|
|
|
- numberTv = itemView.findViewById(R.id.numberTv);
|
|
|
- nameTv = itemView.findViewById(R.id.nameTv);
|
|
|
- idTypeTv = itemView.findViewById(R.id.idTypeTv);
|
|
|
- idCardTv = itemView.findViewById(R.id.idCardTv);
|
|
|
- roomsTv = itemView.findViewById(R.id.roomsTv);
|
|
|
- seatTv = itemView.findViewById(R.id.seatTv);
|
|
|
- realFeeTv = itemView.findViewById(R.id.realFeeTv);
|
|
|
- payTypeTv = itemView.findViewById(R.id.payTypeTv);
|
|
|
- doneTv = itemView.findViewById(R.id.doneTv);
|
|
|
- expandTv = itemView.findViewById(R.id.expandTv);
|
|
|
- addressTv = itemView.findViewById(R.id.addressTv);
|
|
|
- dateTv = itemView.findViewById(R.id.dateTv);
|
|
|
- numberSubTv = itemView.findViewById(R.id.numberSubTv);
|
|
|
- expecteFeeTv = itemView.findViewById(R.id.expecteFeeTv);
|
|
|
+ businessNameTv = (TextView) itemView.findViewById(R.id.businessNameTv);
|
|
|
+ whenLongTv = (TextView) itemView.findViewById(R.id.whenLongTv);
|
|
|
+ numberTv = (TextView) itemView.findViewById(R.id.numberTv);
|
|
|
+ dateTv = (TextView) itemView.findViewById(R.id.dateTv);
|
|
|
+ roomsTv = (TextView) itemView.findViewById(R.id.roomsTv);
|
|
|
+ addressTv = (TextView) itemView.findViewById(R.id.addressTv);
|
|
|
+ numberSubTv = (TextView) itemView.findViewById(R.id.numberSubTv);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private class HotelViewHolder extends RecyclerView.ViewHolder {
|
|
|
- TextView codeTv, statusTv, levelTv, businessNameTv, whenLongTv, numberTv,
|
|
|
- nameTv, idTypeTv, idCardTv, roomsTv, seatTv, realFeeTv, payTypeTv, doneTv, expandTv, addressTv, dateTv, numberSubTv, expecteFeeTv;
|
|
|
+ public class BaseViewHlder extends RecyclerView.ViewHolder {
|
|
|
+ TextView codeTv,//订单编号
|
|
|
+ statusTv,//订单状态
|
|
|
+ nameTv,//当前人名字
|
|
|
+ idCardTv,//身份证号
|
|
|
+ seatTv,//座位号|房间号
|
|
|
+ realFeeTv,//实际付款
|
|
|
+ payTypeTv,//付款类型(前台自付)
|
|
|
+ doneTv, //操作
|
|
|
+ expandTv, //拓展
|
|
|
+ levelTv, //级别
|
|
|
+ expecteFeeTv,//预计费用
|
|
|
+ idTypeTv, //身份类型
|
|
|
+ dateTv;//入住时间|返程时间
|
|
|
RelativeLayout subRl;
|
|
|
|
|
|
- public HotelViewHolder(ViewGroup viewGroup) {
|
|
|
- this(getInflater().inflate(R.layout.item_bus_travel_hotel, viewGroup, false));
|
|
|
+ public BaseViewHlder(View itemView) {
|
|
|
+ super(itemView);
|
|
|
+ subRl = (RelativeLayout) itemView.findViewById(R.id.subRl);
|
|
|
+ codeTv = (TextView) itemView.findViewById(R.id.codeTv);
|
|
|
+ statusTv = (TextView) itemView.findViewById(R.id.statusTv);
|
|
|
+ nameTv = (TextView) itemView.findViewById(R.id.nameTv);
|
|
|
+ idCardTv = (TextView) itemView.findViewById(R.id.idCardTv);
|
|
|
+ seatTv = (TextView) itemView.findViewById(R.id.seatTv);
|
|
|
+ realFeeTv = (TextView) itemView.findViewById(R.id.realFeeTv);
|
|
|
+ payTypeTv = (TextView) itemView.findViewById(R.id.payTypeTv);
|
|
|
+ doneTv = (TextView) itemView.findViewById(R.id.doneTv);
|
|
|
+ expandTv = (TextView) itemView.findViewById(R.id.expandTv);
|
|
|
+ levelTv = (TextView) itemView.findViewById(R.id.levelTv);
|
|
|
+ expecteFeeTv = (TextView) itemView.findViewById(R.id.expecteFeeTv);
|
|
|
+ idTypeTv = (TextView) itemView.findViewById(R.id.idTypeTv);
|
|
|
+ dateTv = (TextView) itemView.findViewById(R.id.dateTv);
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
- public HotelViewHolder(View itemView) {
|
|
|
+
|
|
|
+ private class AirViewHolder extends BaseViewHlder {
|
|
|
+ TextView fromCityTv,
|
|
|
+ startDateTv,
|
|
|
+ startTimeTv,
|
|
|
+ orderTypeTv,//票据类型
|
|
|
+ toCityTv,
|
|
|
+ toDateTv,
|
|
|
+ toTimeTv,
|
|
|
+ tripTv,
|
|
|
+ changeTv;
|
|
|
+ TravelDirectionView mTravelDirectionView;
|
|
|
+
|
|
|
+ public AirViewHolder(ViewGroup viewGroup) {
|
|
|
+ this(getInflater().inflate(R.layout.item_bus_travel_air, viewGroup, false));
|
|
|
+ }
|
|
|
+
|
|
|
+ public AirViewHolder(View itemView) {
|
|
|
super(itemView);
|
|
|
- subRl = itemView.findViewById(R.id.subRl);
|
|
|
- codeTv = itemView.findViewById(R.id.codeTv);
|
|
|
- statusTv = itemView.findViewById(R.id.statusTv);
|
|
|
- levelTv = itemView.findViewById(R.id.levelTv);
|
|
|
- businessNameTv = itemView.findViewById(R.id.businessNameTv);
|
|
|
- whenLongTv = itemView.findViewById(R.id.whenLongTv);
|
|
|
- numberTv = itemView.findViewById(R.id.numberTv);
|
|
|
- nameTv = itemView.findViewById(R.id.nameTv);
|
|
|
- idTypeTv = itemView.findViewById(R.id.idTypeTv);
|
|
|
- idCardTv = itemView.findViewById(R.id.idCardTv);
|
|
|
- roomsTv = itemView.findViewById(R.id.roomsTv);
|
|
|
- seatTv = itemView.findViewById(R.id.seatTv);
|
|
|
- realFeeTv = itemView.findViewById(R.id.realFeeTv);
|
|
|
- payTypeTv = itemView.findViewById(R.id.payTypeTv);
|
|
|
- doneTv = itemView.findViewById(R.id.doneTv);
|
|
|
- expandTv = itemView.findViewById(R.id.expandTv);
|
|
|
- addressTv = itemView.findViewById(R.id.addressTv);
|
|
|
- dateTv = itemView.findViewById(R.id.dateTv);
|
|
|
- numberSubTv = itemView.findViewById(R.id.numberSubTv);
|
|
|
- expecteFeeTv = itemView.findViewById(R.id.expecteFeeTv);
|
|
|
+ changeTv = itemView.findViewById(R.id.changeTv);
|
|
|
+ mTravelDirectionView = itemView.findViewById(R.id.mTravelDirectionView);
|
|
|
+ fromCityTv = (TextView) itemView.findViewById(R.id.fromCityTv);
|
|
|
+ startDateTv = (TextView) itemView.findViewById(R.id.startDateTv);
|
|
|
+ startTimeTv = (TextView) itemView.findViewById(R.id.startTimeTv);
|
|
|
+ toCityTv = (TextView) itemView.findViewById(R.id.toCityTv);
|
|
|
+ toDateTv = (TextView) itemView.findViewById(R.id.toDateTv);
|
|
|
+ toTimeTv = (TextView) itemView.findViewById(R.id.toTimeTv);
|
|
|
+ orderTypeTv = (TextView) itemView.findViewById(R.id.orderTypeTv);
|
|
|
+ tripTv = (TextView) itemView.findViewById(R.id.tripTv);
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -242,4 +274,12 @@ public class BusinessTravelAdapter extends RecyclerView.Adapter<RecyclerView.Vie
|
|
|
void click(int position, BusinessTravel model);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ private String longTime2Time(long time) {
|
|
|
+ long second = time / 1000;
|
|
|
+ long hh = second / 3600;
|
|
|
+ long mm = (second % 3600) / 60;
|
|
|
+ return hh + "小时" + mm + "分钟";
|
|
|
+ }
|
|
|
+
|
|
|
}
|