Commit ea6e7e31 authored by linfeng's avatar linfeng

开发票功能

parent 9a5d3b83
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
<string name="copy_successful">复制成功!</string> <string name="copy_successful">复制成功!</string>
<string name="positioning_permission">需要定位权限</string> <string name="positioning_permission">需要定位权限</string>
<string name="positioning_permission_hint">如果没有此权限,此应用程序可能无法正常工作,是否打开设置修改该应用权限</string> <string name="positioning_permission_hint">如果没有此权限,此应用程序可能无法正常工作,是否打开设置修改该应用权限</string>
<string name="positioning_permission_hint2">位置权限已关闭,开启以便滴房车正常使用</string>
<string name="dongguan_city">东莞市</string> <string name="dongguan_city">东莞市</string>
<string name="popular_tour">热门游</string> <string name="popular_tour">热门游</string>
<string name="tour_around">周边游</string> <string name="tour_around">周边游</string>
...@@ -59,4 +60,107 @@ ...@@ -59,4 +60,107 @@
<string name="contract">《合同协议》</string> <string name="contract">《合同协议》</string>
<string name="payment_amount">支付金额:</string> <string name="payment_amount">支付金额:</string>
<string name="detail">明细</string> <string name="detail">明细</string>
<string name="choose_your_starting_point">选择出发地点</string>
<string name="select_event_date">选择活动日期</string>
<string name="number_of_tourists">出游人数</string>
<string name="number_of_tourists_hint">1个成人可以携带1个1.2米以下儿童</string>
<string name="number_of_tourists_hint2">1.2~1.4米儿童半价收费</string>
<string name="determine">确定</string>
<string name="please_select_a_tourist">请选择出游人</string>
<string name="identity_number">身份证号</string>
<string name="adult">成人</string>
<string name="child">儿童</string>
<string name="adult_and_child_hint">成人出游人数要大于或等于儿童出游人数</string>
<string name="adult_isnot">成人出游人数不能为空!</string>
<string name="adult_unit">成人:¥!</string>
<string name="child_unit">儿童:¥</string>
<string name="people">/人</string>
<string name="sunday">周日</string>
<string name="on_monday">周一</string>
<string name="on_tuesday">周二</string>
<string name="on_wednesday">周三</string>
<string name="thursday">周四</string>
<string name="friday">周五</string>
<string name="on_saturday">周六</string>
<string name="rent_a_car">租房车</string>
<string name="rv_tour">房车游</string>
<string name="pickup_company">取车公司</string>
<string name="pickup_company2">取车公司:</string>
<string name="get_select_a_car_hint">请选择取车分公司</string>
<string name="drop_off_company">还车公司</string>
<string name="drop_off_company2">还车公司:</string>
<string name="still_select_a_car_hint">请选择还车分公司</string>
<string name="take"></string>
<string name="also"></string>
<string name="choose_a_car_now">立即选车</string>
<string name="car_rental_guide">租车指南</string>
<string name="destination_city_hint">请选择目的地城市</string>
<string name="hot">热门</string>
<string name="popular_travel">热门旅行</string>
<string name="popular_travel_hint">精选房车游路线</string>
<string name="entertainment_camp">娱乐营地</string>
<string name="entertainment_camp_hint">娱乐休息两不误</string>
<string name="buying_a_car">购房车</string>
<string name="buying_a_car_hint">精心打造你的房车</string>
<string name="more_popular_travel_itineraries">更多热门旅行线路</string>
<string name="featured_events">精选活动</string>
<string name="featured_events_hint">小编精选,最好玩的活动都在这里</string>
<string name="touring_car_tour_list">房车游榜单</string>
<string name="touring_car_tour_list_hint">精选优质旅游路线,满足你的出行需求</string>
<string name="rv_enthusiasts">房车发烧友</string>
<string name="rv_enthusiasts_hint">分享精彩时刻</string>
<string name="back_to_top">回顶部</string>
<string name="week"></string>
<string name="day"></string>
<string name="day_toast_hint">租车天数必须大于等于1</string>
<string name="car_toast_hint">请选择取/还车地址</string>
<string name="more_entertainment_camps">更多娱乐营地</string>
<string name="more_premium_models">更多优质车型</string>
<string name="set_up">设置</string>
<string name="rv_day">/天</string>
<string name="rv_one_car">/辆</string>
<string name="rv_one_person">/人</string>
<string name="likes">点赞数</string>
<string name="vehicle_details">车辆详情</string>
<string name="order_now">立即下单</string>
<string name="rv_shop_map">门店地图</string>
<string name="not_car_hint">暂无房车,请更改取车公司或时间</string>
<string name="rv_select_car">选择车型</string>
<string name="vr_display">VR展示</string>
<string name="rv_city_list">选择城市</string>
<string name="city_hint">请输入城市名称</string>
<string name="beijing">北京市</string>
<string name="shanghai">上海市</string>
<string name="dongguan">东莞市</string>
<string name="shenzhen">深圳市</string>
<string name="guangzhou">广州市</string>
<string name="hangzhou">杭州市</string>
<string name="nanchang">南昌市</string>
<string name="xian">西安市</string>
<string name="daily_price">每日价格</string>
<string name="car_rental_date">租车日期:</string>
<string name="rv_deposit">欣新平台租车押金</string>
<string name="rv_enjoy_service">尊享服务</string>
<string name="car_rental_included">已含租车费</string>
<string name="service_charge_during_car_rental">租车期间服务费</string>
<string name="vehicle_cleaning_fee_included">已含车辆清洁费</string>
<string name="vehicle_cleaning_fee">车辆清洁费</string>
<string name="vehicle_cleaning_fee_hint">1. 已含100元车辆清洁费(含车辆外观、内饰等的清洁费用), 保证取车时车辆 干净整洁;</string>
<string name="vehicle_cleaning_fee_hint2">2. 还车时,因客户原因,出现以下情形的:\n a.黑水箱未清理或移动马桶有污渍;\n b.冰箱未清理或有污渍;\n c.床垫有明显新增污渍,每项加收100元清洁服务费。</string>
<string name="car_damage_deductible">车损免赔</string>
<string name="member_is_privilege">会员特权</string>
<string name="free_car">免费用车</string>
<string name="rv_driving_set">驾驶人设置</string>
<string name="rv_select_driving_num_hint">欣新专职司机</string>
<string name="rv_user_driving">自驾</string>
<string name="rv_user_driving_hint">(需提供驾驶人信息)</string>
<string name="add_a_driver">添加驾驶人</string>
<string name="rv_driving_info">驾驶人信息</string>
<string name="rv_delete">删除</string>
<string name="on_board_items">随车物品</string>
<string name="select">选择</string>
<string name="rv_reservation_know">预定须知</string>
<string name="detailed_description">详细说明</string>
<string name="read_and_agree">已阅读并同意</string>
<string name="car_rental_contract_agreement">《租车合同协议》</string>
</resources> </resources>
...@@ -122,7 +122,7 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -122,7 +122,7 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> {
begDate = getIntent().getStringExtra("startTime"); begDate = getIntent().getStringExtra("startTime");
endDate = getIntent().getStringExtra("endTime"); endDate = getIntent().getStringExtra("endTime");
showTitle(false); showTitle(false);
tvTitleCenter.setText("车辆详情"); tvTitleCenter.setText(mActivity.getString(R.string.vehicle_details));
webUrl = ApiConfig.HTTP_URL_CAR_TYPE_DETAIL + "?id=" + mCarBean.getVehicleModel().getId() + "&companyId=" + mCarBean.getCompany().getId(); webUrl = ApiConfig.HTTP_URL_CAR_TYPE_DETAIL + "?id=" + mCarBean.getVehicleModel().getId() + "&companyId=" + mCarBean.getCompany().getId();
initWeb(); initWeb();
initRxbus(); initRxbus();
...@@ -412,7 +412,7 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -412,7 +412,7 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> {
shareManager = new ShareManager(this, new ShareBoardlistener() { shareManager = new ShareManager(this, new ShareBoardlistener() {
@Override @Override
public void onclick(SnsPlatform snsPlatform, SHARE_MEDIA share_media) { public void onclick(SnsPlatform snsPlatform, SHARE_MEDIA share_media) {
if (snsPlatform.mShowWord.equals("生成海报")) { if (snsPlatform.mShowWord.equals(mActivity.getString(R.string.generate_poster))) {
String icon = ""; String icon = "";
if (TextUtils.isEmpty(mCarBean.getVehicleModel().getPosterBackground())) { if (TextUtils.isEmpty(mCarBean.getVehicleModel().getPosterBackground())) {
icon = mCarBean.getVehicleModel().getIcon(); icon = mCarBean.getVehicleModel().getIcon();
...@@ -429,16 +429,16 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -429,16 +429,16 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> {
.withString("price", String.valueOf(mCarBean.getVehicleModel().getPrice())) .withString("price", String.valueOf(mCarBean.getVehicleModel().getPrice()))
.navigation(); .navigation();
} else if (snsPlatform.mShowWord.equals("复制链接")) { } else if (snsPlatform.mShowWord.equals(mActivity.getString(R.string.copy_link))) {
copyText(); copyText();
} else if (snsPlatform.mShowWord.contains("微信")) { } else if (snsPlatform.mShowWord.contains(mActivity.getString(R.string.wechat))) {
if (!IsAppInstall.isWeixinAvilible(mActivity)) { if (!IsAppInstall.isWeixinAvilible(mActivity)) {
showToast("亲,您微信还没有安装呢"); showToast(mActivity.getString(R.string.not_wechat_hint));
return; return;
} }
} else if (snsPlatform.mShowWord.contains("QQ")) { } else if (snsPlatform.mShowWord.contains("QQ")) {
if (!IsAppInstall.isQQClientAvailable(mActivity)) { if (!IsAppInstall.isQQClientAvailable(mActivity)) {
showToast("亲,您QQ还没有安装呢"); showToast(mActivity.getString(R.string.not_qq_hint));
return; return;
} }
} }
...@@ -452,7 +452,7 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -452,7 +452,7 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> {
if (platform.name().equals("WEIXIN_FAVORITE")) { if (platform.name().equals("WEIXIN_FAVORITE")) {
showToast(" 收藏成功啦"); showToast(mActivity.getString(R.string.collection_success));
} else { } else {
if (platform != SHARE_MEDIA.MORE && platform != SHARE_MEDIA.SMS if (platform != SHARE_MEDIA.MORE && platform != SHARE_MEDIA.SMS
...@@ -467,7 +467,7 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -467,7 +467,7 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> {
&& platform != SHARE_MEDIA.GOOGLEPLUS && platform != SHARE_MEDIA.GOOGLEPLUS
&& platform != SHARE_MEDIA.YNOTE && platform != SHARE_MEDIA.YNOTE
&& platform != SHARE_MEDIA.EVERNOTE) { && platform != SHARE_MEDIA.EVERNOTE) {
showToast("分享成功啦"); showToast(mActivity.getString(R.string.sharing_success));
sharingSuccess(); sharingSuccess();
} }
...@@ -552,7 +552,7 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -552,7 +552,7 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> {
String code = Cookie.getStringValue(getApplicationContext(), SPConstance.USER_JSON_CODE, ""); String code = Cookie.getStringValue(getApplicationContext(), SPConstance.USER_JSON_CODE, "");
ClipData myClip = ClipData.newPlainText("text", webUrl + "&shareType=app&code=" + code); ClipData myClip = ClipData.newPlainText("text", webUrl + "&shareType=app&code=" + code);
myClipboard.setPrimaryClip(myClip); myClipboard.setPrimaryClip(myClip);
showToast("复制成功!"); showToast(mActivity.getString(R.string.copy_successful));
} }
......
...@@ -91,8 +91,8 @@ public class CarDetailMapActivity extends SwipeBackActivity<CommonPresenter> { ...@@ -91,8 +91,8 @@ public class CarDetailMapActivity extends SwipeBackActivity<CommonPresenter> {
titleView.setTitle(mActivity.getString(R.string.rv_shop_map)); titleView.setTitle(mActivity.getString(R.string.rv_shop_map));
showTitle(false); showTitle(false);
initMap(); initMap();
tvAddress.setText(String.format("%1$s%2$s", "地址:", addrDetail)); tvAddress.setText(String.format("%1$s%2$s", mActivity.getString(R.string.address), addrDetail));
tvPhone.setText(String.format("%1$s%2$s", "联系电话:", phone)); tvPhone.setText(String.format("%1$s%2$s", mActivity.getString(R.string.contact_number), phone));
tvName.setText(name); tvName.setText(name);
} }
...@@ -248,8 +248,8 @@ public class CarDetailMapActivity extends SwipeBackActivity<CommonPresenter> { ...@@ -248,8 +248,8 @@ public class CarDetailMapActivity extends SwipeBackActivity<CommonPresenter> {
@Override @Override
public void helper(ViewHolder helper) { public void helper(ViewHolder helper) {
super.helper(helper); super.helper(helper);
helper.setText(R.id.btn_camera, "百度地图"); helper.setText(R.id.btn_camera, mActivity.getString(R.string.baidu_map));
helper.setText(R.id.btn_album, "高德地图"); helper.setText(R.id.btn_album, mActivity.getString(R.string.gouda_map));
helper.setOnClickListener(new View.OnClickListener() { helper.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
......
...@@ -401,7 +401,7 @@ public class CarRentalListActivity extends BaseStatusActivity<CommonPresenter> i ...@@ -401,7 +401,7 @@ public class CarRentalListActivity extends BaseStatusActivity<CommonPresenter> i
countPage = bean.getData().getTotalPage(); countPage = bean.getData().getTotalPage();
mAdapter.setNewData(bean.getData().getData()); mAdapter.setNewData(bean.getData().getData());
if (bean.getData().getTotalCount() == 0) { if (bean.getData().getTotalCount() == 0) {
mAdapter.setEmptyView(getEmptyView(recyclerView, -1, "暂无房车,请更改取车公司或时间")); mAdapter.setEmptyView(getEmptyView(recyclerView, -1, mActivity.getString(R.string.not_car_hint)));
mAdapter.notifyDataSetChanged(); mAdapter.notifyDataSetChanged();
} }
......
...@@ -49,7 +49,7 @@ public class CarVRActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -49,7 +49,7 @@ public class CarVRActivity extends BaseStatusActivity<CommonPresenter> {
@Override @Override
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) { protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
titleView.setTitle("VR展示"); titleView.setTitle(mActivity.getString(R.string.vr_display));
url = intent.getStringExtra("url"); url = intent.getStringExtra("url");
webUrl = ApiConfig.HTTP_URL_VIEW_VRSHOW; webUrl = ApiConfig.HTTP_URL_VIEW_VRSHOW;
initWeb(); initWeb();
......
...@@ -123,14 +123,14 @@ public class CityListActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -123,14 +123,14 @@ public class CityListActivity extends BaseStatusActivity<CommonPresenter> {
private List<HotCityBean> getHotCitys() { private List<HotCityBean> getHotCitys() {
List<HotCityBean> lists = new ArrayList<>(); List<HotCityBean> lists = new ArrayList<>();
lists.add(new HotCityBean("北京市", 110100)); lists.add(new HotCityBean(mActivity.getString(R.string.beijing), 110100));
lists.add(new HotCityBean("上海市", 310100)); lists.add(new HotCityBean(mActivity.getString(R.string.shanghai), 310100));
lists.add(new HotCityBean("东莞市", 441900)); lists.add(new HotCityBean(mActivity.getString(R.string.dongguan), 441900));
lists.add(new HotCityBean("深圳市", 440300)); lists.add(new HotCityBean(mActivity.getString(R.string.shenzhen), 440300));
lists.add(new HotCityBean("广州市", 440100)); lists.add(new HotCityBean(mActivity.getString(R.string.guangzhou), 440100));
lists.add(new HotCityBean("杭州市", 330100)); lists.add(new HotCityBean(mActivity.getString(R.string.hangzhou), 330100));
lists.add(new HotCityBean("南昌市", 360100)); lists.add(new HotCityBean(mActivity.getString(R.string.nanchang), 360100));
lists.add(new HotCityBean("西安市", 610100)); lists.add(new HotCityBean(mActivity.getString(R.string.xian), 610100));
return lists; return lists;
} }
......
...@@ -218,7 +218,7 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -218,7 +218,7 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
@Override @Override
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) { protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
titleView.setTitle(mActivity.getString(R.string.rv_confirm_order)); titleView.setTitle(mActivity.getString(R.string.confirm_order));
api = WXAPIFactory.createWXAPI(this, RvFrameConfig.APP_ID); api = WXAPIFactory.createWXAPI(this, RvFrameConfig.APP_ID);
dataBean = (OrderDataBean) intent.getSerializableExtra("bean"); dataBean = (OrderDataBean) intent.getSerializableExtra("bean");
mCarBean = (CarTypeListBean.DataBeanX.DataBean) intent.getSerializableExtra("carBean"); mCarBean = (CarTypeListBean.DataBeanX.DataBean) intent.getSerializableExtra("carBean");
......
...@@ -491,13 +491,13 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa ...@@ -491,13 +491,13 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
} }
tvGetTime.setText(DateUtils.formatDate66(begDate)); tvGetTime.setText(DateUtils.formatDate66(begDate));
tvGetWeek.setText("周" + MyUtils.getWeek(DateUtils.formatDate16(begDate))); tvGetWeek.setText(_mActivity.getString(R.string.week) + MyUtils.getWeek(DateUtils.formatDate16(begDate)));
tvOutTime.setText(DateUtils.formatDate66(endDate)); tvOutTime.setText(DateUtils.formatDate66(endDate));
tvOutWeek.setText("周" + MyUtils.getWeek(DateUtils.formatDate16(endDate))); tvOutWeek.setText(_mActivity.getString(R.string.week) + MyUtils.getWeek(DateUtils.formatDate16(endDate)));
copyDay = getCountDay(begDate, endDate); copyDay = getCountDay(begDate, endDate);
tvDay.setText(String.format("%1$s%2$s", copyDay, getContext().getString(R.string.rv_days))); tvDay.setText(String.format("%1$s%2$s", copyDay, getContext().getString(R.string.day)));
} }
...@@ -799,12 +799,12 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa ...@@ -799,12 +799,12 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
} else if (id == R.id.tv_home_select_car) { } else if (id == R.id.tv_home_select_car) {
//租房车 立即选车 //租房车 立即选车
if (copyDay < 1) { if (copyDay < 1) {
showToast(getContext().getString(R.string.rv_day_toast)); showToast(getContext().getString(R.string.day_toast_hint));
return; return;
} }
if (TextUtil.isEmpty(headTvGetShop.getText().toString().trim()) || TextUtil.isEmpty(headTvOutShop.getText().toString().trim())) { if (TextUtil.isEmpty(headTvGetShop.getText().toString().trim()) || TextUtil.isEmpty(headTvOutShop.getText().toString().trim())) {
showToast("请选择取/还车地址"); showToast(getContext().getString(R.string.car_toast_hint));
return; return;
} }
...@@ -895,7 +895,7 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa ...@@ -895,7 +895,7 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
tvHotRvtour.getPaint().setFakeBoldText(true); tvHotRvtour.getPaint().setFakeBoldText(true);
tvHotEntertainmentCamp.getPaint().setFakeBoldText(false); tvHotEntertainmentCamp.getPaint().setFakeBoldText(false);
tvHotCarRental.getPaint().setFakeBoldText(false); tvHotCarRental.getPaint().setFakeBoldText(false);
tvSeeMorePopular.setText("更多热门旅行线路"); tvSeeMorePopular.setText(_mActivity.getString(R.string.more_popular_travel_itineraries));
mAdapter.getData().clear(); mAdapter.getData().clear();
mAdapter.notifyDataSetChanged(); mAdapter.notifyDataSetChanged();
recommendGood("2"); recommendGood("2");
...@@ -916,7 +916,7 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa ...@@ -916,7 +916,7 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
tvHotRvtour.getPaint().setFakeBoldText(false); tvHotRvtour.getPaint().setFakeBoldText(false);
tvHotEntertainmentCamp.getPaint().setFakeBoldText(true); tvHotEntertainmentCamp.getPaint().setFakeBoldText(true);
tvHotCarRental.getPaint().setFakeBoldText(false); tvHotCarRental.getPaint().setFakeBoldText(false);
tvSeeMorePopular.setText("更多娱乐营地"); tvSeeMorePopular.setText(_mActivity.getString(R.string.more_entertainment_camps));
mAdapter.getData().clear(); mAdapter.getData().clear();
mAdapter.notifyDataSetChanged(); mAdapter.notifyDataSetChanged();
recommendGood("3"); recommendGood("3");
...@@ -937,7 +937,7 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa ...@@ -937,7 +937,7 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
tvHotEntertainmentCamp.getPaint().setFakeBoldText(false); tvHotEntertainmentCamp.getPaint().setFakeBoldText(false);
tvHotCarRental.getPaint().setFakeBoldText(true); tvHotCarRental.getPaint().setFakeBoldText(true);
tvSeeMorePopular.setText("更多优质车型"); tvSeeMorePopular.setText(_mActivity.getString(R.string.more_premium_models));
mAdapter.getData().clear(); mAdapter.getData().clear();
mAdapter.notifyDataSetChanged(); mAdapter.notifyDataSetChanged();
recommendGood("4"); recommendGood("4");
...@@ -978,7 +978,7 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa ...@@ -978,7 +978,7 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
} else if (id == R.id.tv_home_car_rental_guide) { } else if (id == R.id.tv_home_car_rental_guide) {
//租车指南 //租车指南
ARouter.getInstance().build(Constance.ACTIVITY_URL_WEBVIEW) ARouter.getInstance().build(Constance.ACTIVITY_URL_WEBVIEW)
.withString("title", "租车指南") .withString("title", _mActivity.getString(R.string.car_rental_guide))
.withString("url", ApiConfig.HTTP_URL_CAR_TYPE_NOTICE) .withString("url", ApiConfig.HTTP_URL_CAR_TYPE_NOTICE)
.withInt("type", 1) .withInt("type", 1)
.navigation(); .navigation();
...@@ -1105,13 +1105,13 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa ...@@ -1105,13 +1105,13 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
tvOutTime.setText(DateUtils.formatDate66(endDate)); tvOutTime.setText(DateUtils.formatDate66(endDate));
} }
if (tvGetWeek != null) { if (tvGetWeek != null) {
tvGetWeek.setText("周" + MyUtils.getWeek(begDate)); tvGetWeek.setText(_mActivity.getString(R.string.week) + MyUtils.getWeek(begDate));
} }
if (tvOutWeek != null) { if (tvOutWeek != null) {
tvOutWeek.setText("周" + MyUtils.getWeek(endDate)); tvOutWeek.setText(_mActivity.getString(R.string.week) + MyUtils.getWeek(endDate));
} }
if (tvDay != null) { if (tvDay != null) {
tvDay.setText(String.format("%1$s%2$s", copyDay, getContext().getString(R.string.rv_days))); tvDay.setText(String.format("%1$s%2$s", copyDay, getContext().getString(R.string.day)));
} }
} }
} }
...@@ -1423,13 +1423,13 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa ...@@ -1423,13 +1423,13 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
initGps(); initGps();
initCity(); initCity();
} else { } else {
new AlertDialog.Builder(_mActivity).setTitle("需要定位权限") new AlertDialog.Builder(_mActivity).setTitle(_mActivity.getString(R.string.positioning_permission))
.setMessage("位置权限已关闭,开启以便滴房车正常使用") .setMessage(_mActivity.getString(R.string.positioning_permission_hint2))
.setNegativeButton("取消", (dialogInterface, i) -> { .setNegativeButton(_mActivity.getString(R.string.cancel), (dialogInterface, i) -> {
_mActivity.finish(); _mActivity.finish();
dialogInterface.dismiss(); dialogInterface.dismiss();
}) })
.setPositiveButton("设置", (dialogInterface, i) -> { .setPositiveButton(_mActivity.getString(R.string.set_up), (dialogInterface, i) -> {
Intent in = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS) Intent in = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
.setData(Uri.fromParts("package", _mActivity.getPackageName(), null)); .setData(Uri.fromParts("package", _mActivity.getPackageName(), null));
startActivityForResult(in, CODE_REQUEST_POISITION); startActivityForResult(in, CODE_REQUEST_POISITION);
......
...@@ -50,7 +50,7 @@ public class RVEnthusiastAdapter extends BaseQuickAdapter<DiscoveryDataBean, Bas ...@@ -50,7 +50,7 @@ public class RVEnthusiastAdapter extends BaseQuickAdapter<DiscoveryDataBean, Bas
helper.setText(R.id.tv_user_name, item.getNickname()); helper.setText(R.id.tv_user_name, item.getNickname());
GlideManager.getInstance(mContext).loadImage(item.getPicUrl(), (ImageView) helper.getView(R.id.iv_user_icon)); GlideManager.getInstance(mContext).loadImage(item.getPicUrl(), (ImageView) helper.getView(R.id.iv_user_icon));
if (item.getCount() != null) { if (item.getCount() != null) {
helper.setText(R.id.iv_like_number, "点赞数 " + item.getCount().getPraise()); helper.setText(R.id.iv_like_number, mContext.getString(R.string.likes) + item.getCount().getPraise());
} }
if (1 == item.getIsPraise()) { //0:未点赞 1:已点赞 if (1 == item.getIsPraise()) { //0:未点赞 1:已点赞
helper.setTextColor(R.id.iv_like_number, mContext.getResources().getColor(R.color.gray_FFB74B)); helper.setTextColor(R.id.iv_like_number, mContext.getResources().getColor(R.color.gray_FFB74B));
......
...@@ -97,7 +97,7 @@ ...@@ -97,7 +97,7 @@
android:id="@+id/tv_appointment" android:id="@+id/tv_appointment"
android:background="@color/gray_FFB74B" android:background="@color/gray_FFB74B"
android:textColor="@color/colorWrite" android:textColor="@color/colorWrite"
android:text="@string/rv_to_appointment" android:text="@string/order_now"
/> />
</LinearLayout> </LinearLayout>
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
android:background="@drawable/shape_rv_textview_home_search" android:background="@drawable/shape_rv_textview_home_search"
android:gravity="center" android:gravity="center"
android:orientation="horizontal" android:orientation="horizontal"
android:hint="请输入城市名称" android:hint="@string/city_hint"
android:textColor="@color/colorMain" android:textColor="@color/colorMain"
android:textColorHint="@color/tv_gr999999" android:textColorHint="@color/tv_gr999999"
android:textSize="@dimen/sp_14" /> android:textSize="@dimen/sp_14" />
......
...@@ -15,6 +15,6 @@ ...@@ -15,6 +15,6 @@
android:maxLength="3" android:maxLength="3"
android:textSize="@dimen/text_12" android:textSize="@dimen/text_12"
android:background="@drawable/shape_rv_dark_gray_circle" android:background="@drawable/shape_rv_dark_gray_circle"
android:text="浪漫游"/> android:text=""/>
</RelativeLayout> </RelativeLayout>
\ No newline at end of file
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/iv_flag" android:layout_below="@id/iv_flag"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:text="暂无分公司,请换个城市试试!" android:text="@string/not_car_hint"
android:textColor="#333333" android:textColor="#333333"
android:textSize="@dimen/sp_14" /> android:textSize="@dimen/sp_14" />
......
...@@ -37,12 +37,8 @@ ...@@ -37,12 +37,8 @@
<string name="rv_car_type_price">价格</string> <string name="rv_car_type_price">价格</string>
<string name="rv_car_type_seat">6剩6坐</string> <string name="rv_car_type_seat">6剩6坐</string>
<string name="rv_car_type_selected">筛选</string> <string name="rv_car_type_selected">筛选</string>
<string name="rv_day">/天</string>
<string name="rv_one_car">/辆</string>
<string name="rv_one_person">/人</string>
<string name="rv_km">km</string> <string name="rv_km">km</string>
<string name="rv_km_you">距您</string> <string name="rv_km_you">距您</string>
<string name="rv_select_car">选择车型</string>
<string name="rv_reset">重置</string> <string name="rv_reset">重置</string>
<string name="rv_ok">确定</string> <string name="rv_ok">确定</string>
<string name="rv_rental_car">租房车</string> <string name="rv_rental_car">租房车</string>
...@@ -63,7 +59,7 @@ ...@@ -63,7 +59,7 @@
<string name="rv_to_shop">到店</string> <string name="rv_to_shop">到店</string>
<string name="rv_to_door">上门</string> <string name="rv_to_door">上门</string>
<string name="rv_to_top">置顶</string> <string name="rv_to_top">置顶</string>
<string name="rv_city_list">选择城市</string>
<string name="rv_select_shop">选择门店</string> <string name="rv_select_shop">选择门店</string>
<string name="rv_select_address">选择地址</string> <string name="rv_select_address">选择地址</string>
<string name="rv_select_address_hint">请输入地址</string> <string name="rv_select_address_hint">请输入地址</string>
...@@ -77,24 +73,23 @@ ...@@ -77,24 +73,23 @@
<string name="rv_edit_pwd">设置密码</string> <string name="rv_edit_pwd">设置密码</string>
<string name="rv_user_info_error">用户名或密码错误</string> <string name="rv_user_info_error">用户名或密码错误</string>
<string name="rv_cancel">取消</string> <string name="rv_cancel">取消</string>
<string name="rv_shop_map">门店地图</string>
<string name="rv_select_car_num_hint">选择车辆数量</string> <string name="rv_select_car_num_hint">选择车辆数量</string>
<string name="rv_select_driving_num_hint">欣新专职司机</string>
<string name="rv_user_driving">自驾</string>
<string name="rv_user_driving_hint">(需提供驾驶人信息)</string>
<string name="rv_driving_set">驾驶人设置</string>
<string name="rv_deposit">欣新平台租车押金</string>
<string name="rv_give_driving">自配司机</string> <string name="rv_give_driving">自配司机</string>
<string name="rv_enjoy_service">尊享服务</string>
<string name="rv_include_rent_car">已含租车费</string> <string name="rv_include_rent_car">已含租车费</string>
<string name="rv_detailed_info">详细信息</string> <string name="rv_detailed_info">详细信息</string>
<string name="rv_include_car_clear">已含车辆清洁费</string> <string name="rv_include_car_clear">已含车辆清洁费</string>
<string name="rv_car_not_hurt">车损免赔</string> <string name="rv_car_not_hurt">车损免赔</string>
<string name="rv_passenger_security">乘客座位保障</string> <string name="rv_passenger_security">乘客座位保障</string>
<string name="rv_personal_safety">保人身安全</string> <string name="rv_personal_safety">保人身安全</string>
<string name="rv_reservation_know">预定须知</string>
<string name="rv_inviter_phone">内部邀请人</string>
<string name="rv_agreed_reservation_know">同意预定须知和</string> <string name="rv_agreed_reservation_know">同意预定须知和</string>
<string name="rv_contract_agreement">《合同协议》</string> <string name="rv_contract_agreement">《合同协议》</string>
<string name="rv_driving">驾驶人</string> <string name="rv_driving">驾驶人</string>
...@@ -117,11 +112,11 @@ ...@@ -117,11 +112,11 @@
<string name="rv_save">保存</string> <string name="rv_save">保存</string>
<string name="rv_upload_driving_toast">请上传驾驶证照片</string> <string name="rv_upload_driving_toast">请上传驾驶证照片</string>
<string name="rv_upload_driving_copy_toast">请上传驾驶证附件照片</string> <string name="rv_upload_driving_copy_toast">请上传驾驶证附件照片</string>
<string name="rv_delete">删除</string>
<string name="rv_driving_data_null">您还没有驾驶员哦</string> <string name="rv_driving_data_null">您还没有驾驶员哦</string>
<string name="rv_car_type_data_null">未找到筛选数据</string> <string name="rv_car_type_data_null">未找到筛选数据</string>
<string name="rv_day_toast">租车天数必须大于等于1</string> <string name="rv_day_toast">租车天数必须大于等于1</string>
<string name="rv_driving_info">驾驶人信息</string>
<string name="rv_rb"></string> <string name="rv_rb"></string>
<string name="rv_id_card">身份证号</string> <string name="rv_id_card">身份证号</string>
<string name="rv_add_driving_toast">请添加驾驶证</string> <string name="rv_add_driving_toast">请添加驾驶证</string>
......
...@@ -21,9 +21,9 @@ public class VisitorInformationAdapter extends BaseQuickAdapter<BeanVisitorInfor ...@@ -21,9 +21,9 @@ public class VisitorInformationAdapter extends BaseQuickAdapter<BeanVisitorInfor
@Override @Override
protected void convert(BaseViewHolder helper, BeanVisitorInformation item) { protected void convert(BaseViewHolder helper, BeanVisitorInformation item) {
if ("0".equals(item.getIsChild())) { if ("0".equals(item.getIsChild())) {
helper.setText(R.id.tv_people_type, "成人"); helper.setText(R.id.tv_people_type, mContext.getString(R.string.adult));
} else { } else {
helper.setText(R.id.tv_people_type, "儿童"); helper.setText(R.id.tv_people_type, mContext.getString(R.string.child));
} }
if (item == null || TextUtil.isEmpty(item.getName()) || ("0".equals(item.getIsChild()) && TextUtil.isEmpty(item.getPhone()))) { if (item == null || TextUtil.isEmpty(item.getName()) || ("0".equals(item.getIsChild()) && TextUtil.isEmpty(item.getPhone()))) {
......
...@@ -31,6 +31,7 @@ import java.util.List; ...@@ -31,6 +31,7 @@ import java.util.List;
public class TravelBookingDialog extends BaseDialog { public class TravelBookingDialog extends BaseDialog {
private final Context context;
private TravelBookingDepartureAdapter mAdapter; private TravelBookingDepartureAdapter mAdapter;
private TravelBookingDeparturetimeAdapter mTimeAdapter; private TravelBookingDeparturetimeAdapter mTimeAdapter;
private int adufe = 1; private int adufe = 1;
...@@ -44,6 +45,7 @@ public class TravelBookingDialog extends BaseDialog { ...@@ -44,6 +45,7 @@ public class TravelBookingDialog extends BaseDialog {
public TravelBookingDialog(@NonNull Context context) { public TravelBookingDialog(@NonNull Context context) {
super(context); super(context);
this.context = context;
setDialogParams(ViewGroup.LayoutParams.MATCH_PARENT, DisplayUtil.dip2px(context, 450), Gravity.BOTTOM); setDialogParams(ViewGroup.LayoutParams.MATCH_PARENT, DisplayUtil.dip2px(context, 450), Gravity.BOTTOM);
} }
...@@ -119,12 +121,12 @@ public class TravelBookingDialog extends BaseDialog { ...@@ -119,12 +121,12 @@ public class TravelBookingDialog extends BaseDialog {
} else if (id == R.id.tv_travel_booking_ok) { } else if (id == R.id.tv_travel_booking_ok) {
if (adufe < chile) { if (adufe < chile) {
Toast.makeText(getContext(), "成人出游人数要大于或等于儿童出游人数", Toast.LENGTH_SHORT).show(); Toast.makeText(getContext(), context.getString(R.string.adult_and_child_hint), Toast.LENGTH_SHORT).show();
return; return;
} }
if (adufe == 0) { if (adufe == 0) {
Toast.makeText(getContext(), "成人出游人数不能为空!", Toast.LENGTH_SHORT).show(); Toast.makeText(getContext(), context.getString(R.string.adult_isnot), Toast.LENGTH_SHORT).show();
return; return;
} }
...@@ -163,8 +165,8 @@ public class TravelBookingDialog extends BaseDialog { ...@@ -163,8 +165,8 @@ public class TravelBookingDialog extends BaseDialog {
} }
if (adultPrice != null && childPrice != null && bean != null) { if (adultPrice != null && childPrice != null && bean != null) {
adultPrice.setText("成人:¥" + bean.getPrice() + "/人"); adultPrice.setText(context.getString(R.string.adult_unit) + bean.getPrice() + context.getString(R.string.people));
childPrice.setText("儿童:¥" + bean.getChildPrice() + "/人"); childPrice.setText(context.getString(R.string.child_unit) + bean.getChildPrice() + context.getString(R.string.people));
} }
if (bean != null && bean.getDeparture() != null && bean.getDeparture().size() > 0) { if (bean != null && bean.getDeparture() != null && bean.getDeparture().size() > 0) {
...@@ -199,25 +201,25 @@ public class TravelBookingDialog extends BaseDialog { ...@@ -199,25 +201,25 @@ public class TravelBookingDialog extends BaseDialog {
String week = ""; String week = "";
switch (no) { switch (no) {
case 0: case 0:
week = "周日"; week = context.getString(R.string.sunday);
break; break;
case 1: case 1:
week = "周一"; week = context.getString(R.string.on_monday);
break; break;
case 2: case 2:
week = "周二"; week = context.getString(R.string.on_tuesday);
break; break;
case 3: case 3:
week = "周三"; week = context.getString(R.string.on_wednesday);
break; break;
case 4: case 4:
week = "周四"; week = context.getString(R.string.thursday);
break; break;
case 5: case 5:
week = "周五"; week = context.getString(R.string.friday);
break; break;
case 6: case 6:
week = "周六"; week = context.getString(R.string.on_saturday);
break; break;
} }
return week; return week;
......
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_5" android:layout_marginTop="@dimen/size_5"
android:text="选择出发地点" android:text="@string/choose_your_starting_point"
android:textColor="@color/colorMain" android:textColor="@color/colorMain"
android:textSize="@dimen/text_16" /> android:textSize="@dimen/text_16" />
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_10" android:layout_marginTop="@dimen/size_10"
android:text="选择活动日期" android:text="@string/select_event_date"
android:textColor="@color/colorMain" android:textColor="@color/colorMain"
android:textSize="@dimen/text_16" /> android:textSize="@dimen/text_16" />
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_10" android:layout_marginTop="@dimen/size_10"
android:layout_marginBottom="@dimen/size_10" android:layout_marginBottom="@dimen/size_10"
android:text="出游人数" android:text="@string/number_of_tourists"
android:textColor="@color/colorMain" android:textColor="@color/colorMain"
android:textSize="@dimen/text_16" /> android:textSize="@dimen/text_16" />
...@@ -95,7 +95,7 @@ ...@@ -95,7 +95,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_3" android:layout_marginTop="@dimen/size_3"
android:text="1个成人可以携带1个1.2米以下儿童" android:text="@string/number_of_tourists_hint"
android:textColor="@color/colorGray" android:textColor="@color/colorGray"
android:textSize="@dimen/text_10" /> android:textSize="@dimen/text_10" />
</LinearLayout> </LinearLayout>
...@@ -174,7 +174,7 @@ ...@@ -174,7 +174,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_3" android:layout_marginTop="@dimen/size_3"
android:text="1.2~1.4米儿童半价收费" android:text="@string/number_of_tourists_hint2"
android:textColor="@color/colorGray" android:textColor="@color/colorGray"
android:textSize="@dimen/text_10" /> android:textSize="@dimen/text_10" />
</LinearLayout> </LinearLayout>
...@@ -240,7 +240,7 @@ ...@@ -240,7 +240,7 @@
android:layout_marginTop="@dimen/size_5" android:layout_marginTop="@dimen/size_5"
android:background="@drawable/shape_rv_bg_shallow_dark_yellow_circle" android:background="@drawable/shape_rv_bg_shallow_dark_yellow_circle"
android:gravity="center" android:gravity="center"
android:text="确定" android:text="@string/determine"
android:textColor="@color/colorWrite" android:textColor="@color/colorWrite"
android:textSize="@dimen/text_16" /> android:textSize="@dimen/text_16" />
</LinearLayout> </LinearLayout>
\ No newline at end of file
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:lines="2" android:lines="2"
android:text="草原大漠6天5晚,穿越沙漠+宗教人文+房车露营" android:text=""
android:textColor="@color/colorMain" android:textColor="@color/colorMain"
android:textSize="@dimen/text_14" /> android:textSize="@dimen/text_14" />
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
android:layout_alignParentBottom="true" android:layout_alignParentBottom="true"
android:textColor="@color/colorAuxiliaryRed" android:textColor="@color/colorAuxiliaryRed"
android:textSize="@dimen/text_16" android:textSize="@dimen/text_16"
android:text="¥5000/人"/> android:text=""/>
</RelativeLayout> </RelativeLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
\ No newline at end of file
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
android:id="@+id/tv_company" android:id="@+id/tv_company"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="欣新房车(松山湖)有限公司" android:text=""
android:textColor="@color/colorMain" android:textColor="@color/colorMain"
android:textSize="@dimen/text_14" /> android:textSize="@dimen/text_14" />
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_3" android:layout_marginTop="@dimen/size_3"
android:text="东莞市和兴街与莞樟路交叉口西100米" android:text=""
android:textColor="@color/textGray" android:textColor="@color/textGray"
android:textSize="@dimen/text_12" /> android:textSize="@dimen/text_12" />
</LinearLayout> </LinearLayout>
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/size_10" android:layout_marginLeft="@dimen/size_10"
android:text="2019-06-12周三~2019-06-18周二" android:text=""
android:textColor="@color/colorMain" android:textColor="@color/colorMain"
android:textSize="@dimen/text_14" /> android:textSize="@dimen/text_14" />
</LinearLayout> </LinearLayout>
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
android:id="@+id/tv_hint" android:id="@+id/tv_hint"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="请选择出游人" android:text="@string/please_select_a_tourist"
android:layout_marginLeft="@dimen/size_20" android:layout_marginLeft="@dimen/size_20"
android:textColor="@color/text_Gray" android:textColor="@color/text_Gray"
android:textSize="@dimen/text_14" /> android:textSize="@dimen/text_14" />
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
android:id="@+id/tv_idcard_title" android:id="@+id/tv_idcard_title"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="身份证号" android:text="@string/identity_number"
android:textColor="@color/colorMain" android:textColor="@color/colorMain"
android:textSize="@dimen/text_12" /> android:textSize="@dimen/text_12" />
......
...@@ -3,7 +3,10 @@ ...@@ -3,7 +3,10 @@
package="com.xxrv.invoice"> package="com.xxrv.invoice">
<application> <application>
<activity android:name=".activity.OrderInvoicingCarDetailsActivity"></activity> <activity android:name=".activity.InvoicingSuccessActivity"></activity>
<activity android:name=".activity.CheckOrderInvoicingActivity" />
<activity android:name=".activity.InvoicingDetailsActivity" />
<activity android:name=".activity.OrderInvoicingCarDetailsActivity" />
<activity android:name=".activity.OrderInvoicingCarActivity" /> <activity android:name=".activity.OrderInvoicingCarActivity" />
<activity android:name=".activity.BillingHistoryActivity" /> <activity android:name=".activity.BillingHistoryActivity" />
<activity <activity
......
...@@ -66,6 +66,14 @@ public class BillingHistoryActivity extends BaseStatusActivity<InvoicePresenter> ...@@ -66,6 +66,14 @@ public class BillingHistoryActivity extends BaseStatusActivity<InvoicePresenter>
mSimpleRefreshLayout.setHeaderView(new SimpleRefreshView(this)); mSimpleRefreshLayout.setHeaderView(new SimpleRefreshView(this));
mSimpleRefreshLayout.setOnSimpleRefreshListener(this); mSimpleRefreshLayout.setOnSimpleRefreshListener(this);
rvContent.setAdapter(adapter); rvContent.setAdapter(adapter);
adapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
BillingHistoryBean.DataBeanX.DataBean item = (BillingHistoryBean.DataBeanX.DataBean) adapter.getItem(position);
startActivity(InvoicingDetailsActivity.getIntent(mActivity,item.getId(), item.getType(),item.getOrderIds()));
}
});
} }
@Override @Override
...@@ -77,7 +85,9 @@ public class BillingHistoryActivity extends BaseStatusActivity<InvoicePresenter> ...@@ -77,7 +85,9 @@ public class BillingHistoryActivity extends BaseStatusActivity<InvoicePresenter>
Map<String, Object> headMap = new LinkedHashMap<>(); Map<String, Object> headMap = new LinkedHashMap<>();
if (OkGoUtil.getToken() != null) if (OkGoUtil.getToken() != null)
headMap.put("Authorization", OkGoUtil.getToken()); headMap.put("Authorization", OkGoUtil.getToken());
mPresenter.getData(RvFrameConfig.VEHICLE_ORDER, 0, InvoiceApi.HTTP_URL_INVOICE_SELECTBYTYPE, BillingHistoryBean.class, headMap, true); Map<String, Object> mapData = new LinkedHashMap<>();
mapData.put("page", page);
mPresenter.getData(RvFrameConfig.HOST, 0, InvoiceApi.HTTP_URL_INVOICE_GETALL, BillingHistoryBean.class, mapData, headMap, true);
} }
@Override @Override
......
package com.xxrv.invoice.activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.frame.rv.config.RvFrameConfig;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout;
import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshView;
import com.xxrv.invoice.R;
import com.xxrv.invoice.R2;
import com.xxrv.invoice.adapter.CheckOrderInvoicingAdapter;
import com.xxrv.invoice.api.InvoiceApi;
import com.xxrv.invoice.bean.OrderInvoicingCarBean;
import com.xxrv.invoice.presenter.InvoicePresenter;
import com.yuyife.okgo.OkGoUtil;
import java.util.LinkedHashMap;
import java.util.Map;
import butterknife.BindView;
public class CheckOrderInvoicingActivity extends BaseStatusActivity<InvoicePresenter> implements BaseQuickAdapter.RequestLoadMoreListener, SimpleRefreshLayout.OnSimpleRefreshListener {
@BindView(R2.id.rv_content)
RecyclerView rvContent;
@BindView(R2.id.refresh)
SimpleRefreshLayout mSimpleRefreshLayout;
private CheckOrderInvoicingAdapter adapter;
private double totalPrice;
private int mPage;
private int countPage;
private String type;
private String orderIds;
public static Intent getIntent(Context context, String type, String orderIds) {
return new Intent(context, CheckOrderInvoicingActivity.class)
.putExtra("type", type)
.putExtra("orderIds", orderIds);
}
@Override
protected int setLayout() {
return R.layout.activity_check_order_invoicing;
}
@Override
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
titleView.setTitle("订单详情");
type = intent.getStringExtra("type");
orderIds = intent.getStringExtra("orderIds");
adapter = new CheckOrderInvoicingAdapter();
rvContent.setLayoutManager(new LinearLayoutManager(mActivity, LinearLayoutManager.VERTICAL, false));
adapter.setOnLoadMoreListener(this, rvContent);
mSimpleRefreshLayout.setHeaderView(new SimpleRefreshView(this));
mSimpleRefreshLayout.setOnSimpleRefreshListener(this);
rvContent.setAdapter(adapter);
}
@Override
public void onShowResult(int requestType, BaseBean result) {
mSimpleRefreshLayout.onRefreshComplete();
switch (requestType) {
case 0:
processData((OrderInvoicingCarBean) result);
break;
}
}
@Override
protected void loadData(Bundle savedInstanceState, Intent intent) {
onRefresh();
}
@Override
public void onRefresh() {
mPage = 1;
orderData(mPage);
}
private void orderData(int page) {
Map<String, Object> headMap = new LinkedHashMap<>();
if (OkGoUtil.getToken() != null)
headMap.put("Authorization", OkGoUtil.getToken());
Map<String, Object> mapData = new LinkedHashMap<>();
mapData.put("page", page);
mapData.put("limit", 10);
mapData.put("orderIds", orderIds);
mapData.put("multiStatus", "6");
mapData.put("type", type); //"订单类型 1--租车;2--旅游; 3--会员订单")
mapData.put("invoiceStatus", "1"); //"开票状态,0未开票,1已开票
mPresenter.getData(RvFrameConfig.VEHICLE_ORDER, 0, InvoiceApi.HTTP_URL_ORDER_LIST, OrderInvoicingCarBean.class, mapData, headMap, page == 1 ? true : false);
}
/**
* 处理请求数据
*
* @param bean
*/
private void processData(OrderInvoicingCarBean bean) {
if (mPage == 1) {
countPage = bean.getData().getTotalPage();
adapter.setNewData(bean.getData().getData());
mSimpleRefreshLayout.onRefreshComplete();
} else {
adapter.addData(bean.getData().getData());
adapter.loadMoreComplete();
}
}
@Override
public void onLoadMoreRequested() {
if (mPage >= countPage) {
adapter.loadMoreEnd();
} else {
mPage++;
orderData(mPage);
}
}
}
package com.xxrv.invoice.activity; package com.xxrv.invoice.activity;
import android.content.ComponentName;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.view.View; import android.view.View;
...@@ -7,10 +8,13 @@ import android.view.View; ...@@ -7,10 +8,13 @@ import android.view.View;
import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter; import com.alibaba.android.arouter.launcher.ARouter;
import com.frame.base.url.Constance; import com.frame.base.url.Constance;
import com.ruiwenliu.wrapper.SPConstance;
import com.ruiwenliu.wrapper.base.BaseBean; import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity; import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.inter.ImInitListenter;
import com.ruiwenliu.wrapper.util.ViewHolder; import com.ruiwenliu.wrapper.util.ViewHolder;
import com.ruiwenliu.wrapper.weight.TitleView; import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.component.utils.Cookie;
import com.xxrv.invoice.R; import com.xxrv.invoice.R;
import com.xxrv.invoice.R2; import com.xxrv.invoice.R2;
import com.xxrv.invoice.api.InvoiceApi; import com.xxrv.invoice.api.InvoiceApi;
...@@ -47,7 +51,7 @@ public class InvoicingActivity extends BaseStatusActivity<InvoicePresenter> { ...@@ -47,7 +51,7 @@ public class InvoicingActivity extends BaseStatusActivity<InvoicePresenter> {
ButterKnife.bind(this); ButterKnife.bind(this);
} }
@OnClick({R2.id.rl_item_announcement, R2.id.rl_item_car, R2.id.rl_item_tourism, R2.id.rl_item_member, R2.id.rl_item_billing_history, R2.id.rl_item_invoicing_help, R2.id.tv_item_customer_service}) @OnClick({R2.id.rl_item_announcement, R2.id.rl_item_car, R2.id.rl_item_tourism, R2.id.rl_item_member, R2.id.rl_item_billing_history, R2.id.rl_item_invoicing_help, R2.id.ll_item_customer_service})
public void onViewClicked(View view) { public void onViewClicked(View view) {
int id = view.getId(); int id = view.getId();
if (id == R.id.rl_item_announcement) { if (id == R.id.rl_item_announcement) {
...@@ -71,7 +75,17 @@ public class InvoicingActivity extends BaseStatusActivity<InvoicePresenter> { ...@@ -71,7 +75,17 @@ public class InvoicingActivity extends BaseStatusActivity<InvoicePresenter> {
.withString("url", InvoiceApi.HTTP_URL_CAR_TYPE_NOTICE) .withString("url", InvoiceApi.HTTP_URL_CAR_TYPE_NOTICE)
.withInt("type", 27) .withInt("type", 27)
.navigation(); .navigation();
} else if (id == R.id.tv_item_customer_service) { } else if (id == R.id.ll_item_customer_service) {
//客服
if (mActivity instanceof ImInitListenter && !((ImInitListenter) mActivity).isBindService()) {
showToast("Im初始化中...");
return;
}
ComponentName name = new ComponentName(mActivity, "com.rv.im.CustomerListActivity");
Intent intent = new Intent();
intent.putExtra("login_user_id", Cookie.getStringValue(getApplicationContext(), SPConstance.USER_JSON_IMUSERID));
intent.setComponent(name);
startActivity(intent);
} }
} }
...@@ -88,11 +102,11 @@ public class InvoicingActivity extends BaseStatusActivity<InvoicePresenter> { ...@@ -88,11 +102,11 @@ public class InvoicingActivity extends BaseStatusActivity<InvoicePresenter> {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
int id = v.getId(); int id = v.getId();
if (id == R.id.ll_item_ok) { if (id == R.id.tv_item_ok) {
dismiss(); dismiss();
} }
} }
}, R.id.ll_item_ok); }, R.id.tv_item_ok);
} }
}.show(); }.show();
} }
......
package com.xxrv.invoice.activity;
import android.annotation.TargetApi;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.webkit.JavascriptInterface;
import android.webkit.WebChromeClient;
import android.webkit.WebResourceRequest;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.xxrv.invoice.R;
import com.xxrv.invoice.R2;
import com.xxrv.invoice.api.InvoiceApi;
import com.xxrv.invoice.presenter.InvoicePresenter;
import com.yuyife.okgo.OkGoUtil;
import butterknife.BindView;
import static com.ruiwenliu.wrapper.weight.webview.SafeWebView.hasKitkat;
/**
* 电子发票详情
*/
public class InvoicingDetailsActivity extends BaseStatusActivity<InvoicePresenter> {
@BindView(R2.id.pb_progress)
ProgressBar pbProgress;
@BindView(R2.id.webView)
WebView mWebView;
private String webUrl;
private String id;
private String type;
private String orderIds;
public static Intent getIntent(Context context, String id, String type, String orderIds) {
return new Intent(context, InvoicingDetailsActivity.class)
.putExtra("id", id)
.putExtra("type", type)
.putExtra("orderIds", orderIds);
}
@Override
protected int setLayout() {
return R.layout.activity_invoicing_details;
}
@Override
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
titleView.setTitle("电子发票详情");
id = intent.getStringExtra("id");
type = intent.getStringExtra("type");
orderIds = intent.getStringExtra("orderIds");
webUrl = InvoiceApi.HTTP_URL_INVOICE_INVOICEINFO + "?id=" + id;
Log.i("CampDetailActivity", "initView: " + webUrl);
initWeb();
}
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
private void initWeb() {
WebSettings webSettings = mWebView.getSettings();
if (webSettings == null) return;
// 支持 Js 使用
webSettings.setJavaScriptEnabled(true);
// 开启DOM缓存,默认状态下是不支持LocalStorage的
webSettings.setDomStorageEnabled(true);
// 开启数据库缓存
webSettings.setDatabaseEnabled(true);
// 支持自动加载图片
webSettings.setLoadsImagesAutomatically(hasKitkat());
// 设置 WebView 的缓存模式
webSettings.setCacheMode(WebSettings.LOAD_DEFAULT);
// 支持启用缓存模式
webSettings.setAppCacheEnabled(true);
// 设置 AppCache 最大缓存值(现在官方已经不提倡使用,已废弃)
// webSettings.setAppCacheMaxSize(8 * 1024 * 1024);
// Android 私有缓存存储,如果你不调用setAppCachePath方法,WebView将不会产生这个目录
webSettings.setAppCachePath(getCacheDir().getAbsolutePath());
// 数据库路径
// if (!hasKitkat()) {
// webSettings.setDatabasePath(getDatabasePath("html").getPath());
// }
// 关闭密码保存提醒功能
// webSettings.setSavePassword(false);
// 支持缩放
webSettings.setSupportZoom(true);
// 设置 UserAgent 属性
webSettings.setUserAgentString("");
// 允许加载本地 html 文件/false
webSettings.setAllowFileAccess(true);
// 允许通过 file url 加载的 Javascript 读取其他的本地文件,Android 4.1 之前默认是true,在 Android 4.1 及以后默认是false,也就是禁止
webSettings.setAllowFileAccessFromFileURLs(true);
// 允许通过 file url 加载的 Javascript 可以访问其他的源,包括其他的文件和 http,https 等其他的源,
// Android 4.1 之前默认是true,在 Android 4.1 及以后默认是false,也就是禁止
// 如果此设置是允许,则 setAllowFileAccessFromFileURLs 不起做用
webSettings.setAllowUniversalAccessFromFileURLs(true);
mWebView.addJavascriptInterface(new AndroidJs(), "AndroidJs");
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
return super.shouldOverrideUrlLoading(view, request);
}
});
mWebView.loadUrl(webUrl);
mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
if (newProgress == 100) {
pbProgress.setVisibility(View.GONE);//加载完网页进度条消失
} else {
pbProgress.setVisibility(View.VISIBLE);//开始加载网页时显示进度条
pbProgress.setProgress(newProgress);//设置进度值
}
}
});
}
public class AndroidJs {
@JavascriptInterface
public String getToken() {
return OkGoUtil.getToken();
}
/**
* 查看订单
*/
@JavascriptInterface
public void goToInvoiceOrderList() {
startActivity(CheckOrderInvoicingActivity.getIntent(mActivity, type, orderIds));
}
}
@Override
protected void onStart() {
super.onStart();
}
@Override
public void onResume() {
super.onResume();
mWebView.onResume();// 生命周期onResume
}
@Override
protected void onPause() {
super.onPause();
mWebView.onPause();//生命周期onPause
}
@Override
public void onDestroy() {
super.onDestroy();
mWebView.stopLoading();// 停止当前加载
mWebView.clearMatches();// 清除网页查找的高亮匹配字符。
mWebView.clearHistory();// 清除当前 WebView 访问的历史记录
mWebView.clearSslPreferences();//清除ssl信息
mWebView.clearCache(true);//清空网页访问留下的缓存数据。需要注意的时,由于缓存是全局的,所以只要是WebView用到的缓存都会被清空,即便其他地方也会使用到。该方法接受一个参数,从命名即可看出作用。若设为false,则只清空内存里的资源缓存,而不清空磁盘里的。
mWebView.loadUrl("about:blank");// 清空当前加载
mWebView.removeAllViews();// 清空子 View
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR2) {
mWebView.removeJavascriptInterface("AndroidNative");// 向 Web端注入 java 对象
}
// mWebView.addJavascriptInterface(new AndroidJs(),"AndroidJs");
mWebView.destroy();// 生命周期销毁
}
@Override
public void onShowResult(int requestType, BaseBean result) {
}
}
package com.xxrv.invoice.activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
import com.frame.base.bus.RxBus;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.xxrv.invoice.R;
import com.xxrv.invoice.R2;
import com.xxrv.invoice.bus.InvoicingSuccessEvent;
import com.xxrv.invoice.presenter.InvoicePresenter;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
/**
* 开票功能页面
*/
public class InvoicingSuccessActivity extends BaseStatusActivity<InvoicePresenter> {
public static Intent getIntent(Context context) {
return new Intent(context, InvoicingSuccessActivity.class);
}
@Override
protected int setLayout() {
return R.layout.activity_invoicing_success;
}
@Override
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
titleView.setTitle("开具电子发票");
}
@Override
public void onShowResult(int requestType, BaseBean result) {
}
@OnClick(R2.id.tv_ok)
public void onViewClicked() {
RxBus.post(new InvoicingSuccessEvent());
finish();
}
}
...@@ -12,7 +12,11 @@ import android.widget.LinearLayout; ...@@ -12,7 +12,11 @@ import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import com.alibaba.android.arouter.launcher.ARouter; import com.alibaba.android.arouter.launcher.ARouter;
import com.alibaba.fastjson.JSON;
import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseQuickAdapter;
import com.frame.base.bus.Observer;
import com.frame.base.bus.PaymentSuccessfulEvent;
import com.frame.base.bus.RxBus;
import com.frame.base.url.Constance; import com.frame.base.url.Constance;
import com.frame.rv.config.RvFrameConfig; import com.frame.rv.config.RvFrameConfig;
import com.ruiwenliu.wrapper.base.BaseBean; import com.ruiwenliu.wrapper.base.BaseBean;
...@@ -24,11 +28,14 @@ import com.xxrv.invoice.R; ...@@ -24,11 +28,14 @@ import com.xxrv.invoice.R;
import com.xxrv.invoice.R2; import com.xxrv.invoice.R2;
import com.xxrv.invoice.adapter.OrderInvoicingCarAdapter; import com.xxrv.invoice.adapter.OrderInvoicingCarAdapter;
import com.xxrv.invoice.api.InvoiceApi; import com.xxrv.invoice.api.InvoiceApi;
import com.xxrv.invoice.bean.Invoiceing;
import com.xxrv.invoice.bean.OrderInvoicingCarBean; import com.xxrv.invoice.bean.OrderInvoicingCarBean;
import com.xxrv.invoice.bus.InvoicingSuccessEvent;
import com.xxrv.invoice.presenter.InvoicePresenter; import com.xxrv.invoice.presenter.InvoicePresenter;
import com.yuyife.okgo.OkGoUtil; import com.yuyife.okgo.OkGoUtil;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -36,6 +43,7 @@ import java.util.Map; ...@@ -36,6 +43,7 @@ import java.util.Map;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
import butterknife.OnClick; import butterknife.OnClick;
import io.reactivex.android.schedulers.AndroidSchedulers;
/** /**
* 租车开发票订单列表 * 租车开发票订单列表
...@@ -63,9 +71,9 @@ public class OrderInvoicingCarActivity extends BaseStatusActivity<InvoicePresent ...@@ -63,9 +71,9 @@ public class OrderInvoicingCarActivity extends BaseStatusActivity<InvoicePresent
private OrderInvoicingCarAdapter mAdapter; private OrderInvoicingCarAdapter mAdapter;
private List<String> orderIdList = new ArrayList<>(); //选择中的订单
private boolean isCheckAll = true; private boolean isCheckAll = true;
private double totalPrice;
private int mPage; private int mPage;
private int countPage; private int countPage;
...@@ -111,15 +119,30 @@ public class OrderInvoicingCarActivity extends BaseStatusActivity<InvoicePresent ...@@ -111,15 +119,30 @@ public class OrderInvoicingCarActivity extends BaseStatusActivity<InvoicePresent
} }
} }
}); });
initRxbus();
}
private void initRxbus() {
RxBus.tObservable(InvoicingSuccessEvent.class)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<InvoicingSuccessEvent>(disposable) {
@Override
public void onNext(InvoicingSuccessEvent event) {
onRefresh();
}
});
} }
private void getCountSelectData() { private void getCountSelectData() {
List<OrderInvoicingCarBean.DataBeanX.DataBean> selectItem = mAdapter.getSelectItem(); List<OrderInvoicingCarBean.DataBeanX.DataBean> selectItem = mAdapter.getSelectItem();
tvNumber.setText(String.valueOf(selectItem.size())); tvNumber.setText(String.valueOf(selectItem.size()));
double totalPrice = 0; totalPrice = 0;
orderIdList.clear();
if (selectItem != null && selectItem.size() > 0) { if (selectItem != null && selectItem.size() > 0) {
for (int i = 0; i < selectItem.size(); i++) { for (int i = 0; i < selectItem.size(); i++) {
totalPrice = totalPrice + selectItem.get(i).getRealAmount(); totalPrice = totalPrice + selectItem.get(i).getOrderRealAmount();
orderIdList.add(String.valueOf(selectItem.get(i).getId()));
} }
} }
tvPrice.setText(String.valueOf(new BigDecimal(totalPrice).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue())); tvPrice.setText(String.valueOf(new BigDecimal(totalPrice).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()));
...@@ -182,7 +205,14 @@ public class OrderInvoicingCarActivity extends BaseStatusActivity<InvoicePresent ...@@ -182,7 +205,14 @@ public class OrderInvoicingCarActivity extends BaseStatusActivity<InvoicePresent
getCountSelectData(); getCountSelectData();
} else if (id == R.id.tv_item_next) { } else if (id == R.id.tv_item_next) {
startActivity(OrderInvoicingCarDetailsActivity.getIntent(mActivity)); String ids = orderIdList.toString().replace("[", "").replace("]", "").replaceAll(" ", "");
Invoiceing invoiceing = new Invoiceing();
invoiceing.setIds(ids);
invoiceing.setAmount(new BigDecimal(totalPrice).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
invoiceing.setType(type);
String jsonString = JSON.toJSONString(invoiceing);
startActivity(OrderInvoicingCarDetailsActivity.getIntent(mActivity, jsonString));
} }
} }
...@@ -210,7 +240,7 @@ public class OrderInvoicingCarActivity extends BaseStatusActivity<InvoicePresent ...@@ -210,7 +240,7 @@ public class OrderInvoicingCarActivity extends BaseStatusActivity<InvoicePresent
Map<String, Object> mapData = new LinkedHashMap<>(); Map<String, Object> mapData = new LinkedHashMap<>();
mapData.put("page", page); mapData.put("page", page);
mapData.put("limit", 10); mapData.put("limit", 10);
mapData.put("multiStatus", "6,-1"); mapData.put("multiStatus", "6");
mapData.put("type", type); //"订单类型 1--租车;2--旅游; 3--会员订单") mapData.put("type", type); //"订单类型 1--租车;2--旅游; 3--会员订单")
mapData.put("invoiceStatus", "0"); //"开票状态,0未开票,1已开票 mapData.put("invoiceStatus", "0"); //"开票状态,0未开票,1已开票
mPresenter.getData(RvFrameConfig.VEHICLE_ORDER, 0, InvoiceApi.HTTP_URL_ORDER_LIST, OrderInvoicingCarBean.class, mapData, headMap, page == 1 ? true : false); mPresenter.getData(RvFrameConfig.VEHICLE_ORDER, 0, InvoiceApi.HTTP_URL_ORDER_LIST, OrderInvoicingCarBean.class, mapData, headMap, page == 1 ? true : false);
......
...@@ -16,16 +16,23 @@ import android.webkit.WebView; ...@@ -16,16 +16,23 @@ import android.webkit.WebView;
import android.webkit.WebViewClient; import android.webkit.WebViewClient;
import android.widget.ProgressBar; import android.widget.ProgressBar;
import com.frame.base.bus.Observer;
import com.frame.base.bus.PaymentSuccessfulEvent;
import com.frame.base.bus.RxBus;
import com.ruiwenliu.wrapper.base.BaseBean; import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity; import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.weight.TitleView; import com.ruiwenliu.wrapper.weight.TitleView;
import com.xxrv.invoice.R; import com.xxrv.invoice.R;
import com.xxrv.invoice.R2; import com.xxrv.invoice.R2;
import com.xxrv.invoice.api.InvoiceApi;
import com.xxrv.invoice.bus.InvoicingSuccessEvent;
import com.xxrv.invoice.presenter.InvoicePresenter; import com.xxrv.invoice.presenter.InvoicePresenter;
import com.yuyife.okgo.OkGoUtil; import com.yuyife.okgo.OkGoUtil;
import butterknife.BindView; import butterknife.BindView;
import butterknife.OnClick; import butterknife.OnClick;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
import static com.ruiwenliu.wrapper.weight.webview.SafeWebView.hasKitkat; import static com.ruiwenliu.wrapper.weight.webview.SafeWebView.hasKitkat;
...@@ -39,11 +46,11 @@ public class OrderInvoicingCarDetailsActivity extends BaseStatusActivity<Invoice ...@@ -39,11 +46,11 @@ public class OrderInvoicingCarDetailsActivity extends BaseStatusActivity<Invoice
WebView mWebView; WebView mWebView;
private String webUrl; private String webUrl;
private String name; private String json;
private String amount;
public static Intent getIntent(Context context) { public static Intent getIntent(Context context, String json) {
return new Intent(context, OrderInvoicingCarDetailsActivity.class); return new Intent(context, OrderInvoicingCarDetailsActivity.class)
.putExtra("json", json);
} }
@Override @Override
...@@ -54,10 +61,22 @@ public class OrderInvoicingCarDetailsActivity extends BaseStatusActivity<Invoice ...@@ -54,10 +61,22 @@ public class OrderInvoicingCarDetailsActivity extends BaseStatusActivity<Invoice
@Override @Override
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) { protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
titleView.setTitle("开具电子发票"); titleView.setTitle("开具电子发票");
json = intent.getStringExtra("json");
// webUrl = WalletApi.HTTP_URL_WALLET_WITHDRAWDETAIL + "?id=" + id; webUrl = InvoiceApi.HTTP_URL_INVOICE_INVOICE;
Log.i("CampDetailActivity", "initView: " + webUrl); Log.i("CampDetailActivity", "initView: " + webUrl);
initWeb(); initWeb();
initRxbus();
}
private void initRxbus() {
RxBus.tObservable(InvoicingSuccessEvent.class)
.observeOn(Schedulers.newThread())
.subscribe(new Observer<InvoicingSuccessEvent>(disposable) {
@Override
public void onNext(InvoicingSuccessEvent event) {
finish();
}
});
} }
@TargetApi(Build.VERSION_CODES.JELLY_BEAN) @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
...@@ -124,6 +143,25 @@ public class OrderInvoicingCarDetailsActivity extends BaseStatusActivity<Invoice ...@@ -124,6 +143,25 @@ public class OrderInvoicingCarDetailsActivity extends BaseStatusActivity<Invoice
public String getToken() { public String getToken() {
return OkGoUtil.getToken(); return OkGoUtil.getToken();
} }
/**
* H5获取组装数据
*
* @return
*/
@JavascriptInterface
public String getInvoicing() {
return json;
}
/**
* 发票提交成功SS
*/
@JavascriptInterface
public void goToInvoiceResult() {
startActivity(InvoicingSuccessActivity.getIntent(mActivity));
}
} }
@Override @Override
......
package com.xxrv.invoice.adapter;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.rv.component.utils.DateUtils;
import com.xxrv.invoice.R;
import com.xxrv.invoice.bean.OrderInvoicingCarBean;
import java.util.ArrayList;
import java.util.List;
/**
* 开票详情查看订单
*/
public class CheckOrderInvoicingAdapter extends BaseQuickAdapter<OrderInvoicingCarBean.DataBeanX.DataBean, BaseViewHolder> {
public CheckOrderInvoicingAdapter() {
super(R.layout.rv_item_check_order_invoicing);
}
@Override
protected void convert(BaseViewHolder helper, final OrderInvoicingCarBean.DataBeanX.DataBean item) {
helper.setText(R.id.tv_name, item.getName());
OrderInvoicingCarBean.DataBeanX.DataBean.OrderRentVehicleDetail orderRentVehicleDetail = item.getOrderRentVehicleDetail();
OrderInvoicingCarBean.DataBeanX.DataBean.OrderTourDetail orderTourDetail = item.getOrderTourDetail();
OrderInvoicingCarBean.DataBeanX.DataBean.OrderMemberDetail orderMemberDetail = item.getOrderMemberDetail();
if (orderRentVehicleDetail != null) {
helper.setText(R.id.tv_type, "租房车");
helper.setText(R.id.tv_get_date, "取:" + DateUtils.timestampToString1(orderRentVehicleDetail.getStart_time()) + orderRentVehicleDetail.getStart_addr());
helper.setText(R.id.tv_out_date, "还:" + DateUtils.timestampToString1(orderRentVehicleDetail.getEnd_time()) + orderRentVehicleDetail.getEnd_addr());
helper.setText(R.id.tv_price, String.format("¥%1$s", item.getOrderRealAmount()));
} else if (orderTourDetail != null) {
helper.setText(R.id.tv_type, "房车游");
helper.setText(R.id.tv_get_date, "出发时间:" + DateUtils.timestampToString1(orderTourDetail.getStartTime()));
helper.setText(R.id.tv_out_date, "人数:" + orderTourDetail.getTotalNumber() + "人");
helper.setText(R.id.tv_price, String.format("¥%1$s", item.getOrderRealAmount()));
} else if (orderMemberDetail != null) {
helper.setText(R.id.tv_type, "会员");
helper.setText(R.id.tv_get_date, orderMemberDetail.getContent());
helper.setText(R.id.tv_out_date, item.getCrtTime());
helper.setText(R.id.tv_price, String.format("¥%1$s", item.getOrderRealAmount()));
}
}
}
...@@ -23,6 +23,14 @@ public class InvoiceBillingHistoryAdapter extends BaseQuickAdapter<BillingHistor ...@@ -23,6 +23,14 @@ public class InvoiceBillingHistoryAdapter extends BaseQuickAdapter<BillingHistor
helper.setText(R.id.tv_type, item.getTitleName()); helper.setText(R.id.tv_type, item.getTitleName());
helper.setText(R.id.tv_price, String.valueOf(item.getAmount())); helper.setText(R.id.tv_price, String.valueOf(item.getAmount()));
if ("1".equals(item.getStatus())) { //1:开票中;2:为开票成功;3:开票失败
helper.setText(R.id.tv_status, "开票中");
} else if ("2".equals(item.getStatus())) {
helper.setText(R.id.tv_status, "已开票");
} else if ("3".equals(item.getStatus())) {
helper.setText(R.id.tv_status, "开票失败");
}
if ("1".equals(item.getType())) { //"订单类型 1--租车;2--旅游; 3--会员订单") if ("1".equals(item.getType())) { //"订单类型 1--租车;2--旅游; 3--会员订单")
helper.setText(R.id.tv_title, "租房车"); helper.setText(R.id.tv_title, "租房车");
} else if ("2".equals(item.getType())) { } else if ("2".equals(item.getType())) {
......
...@@ -36,17 +36,17 @@ public class OrderInvoicingCarAdapter extends BaseQuickAdapter<OrderInvoicingCar ...@@ -36,17 +36,17 @@ public class OrderInvoicingCarAdapter extends BaseQuickAdapter<OrderInvoicingCar
helper.setText(R.id.tv_type, "租房车"); helper.setText(R.id.tv_type, "租房车");
helper.setText(R.id.tv_get_date, "取:" + DateUtils.timestampToString1(orderRentVehicleDetail.getStart_time()) + orderRentVehicleDetail.getStart_addr()); helper.setText(R.id.tv_get_date, "取:" + DateUtils.timestampToString1(orderRentVehicleDetail.getStart_time()) + orderRentVehicleDetail.getStart_addr());
helper.setText(R.id.tv_out_date, "还:" + DateUtils.timestampToString1(orderRentVehicleDetail.getEnd_time()) + orderRentVehicleDetail.getEnd_addr()); helper.setText(R.id.tv_out_date, "还:" + DateUtils.timestampToString1(orderRentVehicleDetail.getEnd_time()) + orderRentVehicleDetail.getEnd_addr());
helper.setText(R.id.tv_price, String.format("¥%1$s", item.getRealAmount())); helper.setText(R.id.tv_price, String.format("¥%1$s", item.getOrderRealAmount()));
} else if (orderTourDetail != null) { } else if (orderTourDetail != null) {
helper.setText(R.id.tv_type, "房车游"); helper.setText(R.id.tv_type, "房车游");
helper.setText(R.id.tv_get_date, "出发时间:" + DateUtils.timestampToString1(orderTourDetail.getStartTime())); helper.setText(R.id.tv_get_date, "出发时间:" + DateUtils.timestampToString1(orderTourDetail.getStartTime()));
helper.setText(R.id.tv_out_date, "人数:" + orderTourDetail.getTotalNumber() + "人"); helper.setText(R.id.tv_out_date, "人数:" + orderTourDetail.getTotalNumber() + "人");
helper.setText(R.id.tv_price, String.format("¥%1$s", item.getRealAmount())); helper.setText(R.id.tv_price, String.format("¥%1$s", item.getOrderRealAmount()));
} else if (orderMemberDetail != null) { } else if (orderMemberDetail != null) {
helper.setText(R.id.tv_type, "会员"); helper.setText(R.id.tv_type, "会员");
helper.setText(R.id.tv_get_date, orderMemberDetail.getContent()); helper.setText(R.id.tv_get_date, orderMemberDetail.getContent());
helper.setText(R.id.tv_out_date, item.getCrtTime()); helper.setText(R.id.tv_out_date, item.getCrtTime());
helper.setText(R.id.tv_price, String.format("¥%1$s", item.getRealAmount())); helper.setText(R.id.tv_price, String.format("¥%1$s", item.getOrderRealAmount()));
} }
helper.addOnClickListener(R.id.ll_item_bg); helper.addOnClickListener(R.id.ll_item_bg);
......
...@@ -6,7 +6,11 @@ import com.frame.rv.config.RvFrameConfig; ...@@ -6,7 +6,11 @@ import com.frame.rv.config.RvFrameConfig;
public class InvoiceApi { public class InvoiceApi {
public static String HTTP_URL_CAR_TYPE_NOTICE = RvFrameConfig.HOST_H5_DETAIL + "/h5/appHtml/view/notice.html";//预定须知 public static String HTTP_URL_CAR_TYPE_NOTICE = RvFrameConfig.HOST_H5_DETAIL + "/h5/appHtml/view/notice.html";//预定须知
public static String HTTP_URL_ORDER_LIST = RvFrameConfig.VEHICLE_ORDER + "baseOrder/page";//订单列表 public static String HTTP_URL_ORDER_LIST = RvFrameConfig.VEHICLE_ORDER + "baseOrder/getInvoiceOrderList";//订单列表
public static String HTTP_URL_INVOICE_SELECTBYTYPE = RvFrameConfig.HOST + "/api/order/order/invoice/selectByType";//开票记录 public static String HTTP_URL_INVOICE_GETALL = RvFrameConfig.HOST + "/api/order/order/invoice/getAll";//获取所有用户开票记录
public static String HTTP_URL_INVOICE_INVOICE = RvFrameConfig.HOST + "/h5/appHtml/view/dzfp/invoice.html"; //开票
public static String HTTP_URL_INVOICE_INVOICEINFO = RvFrameConfig.HOST + "/h5/appHtml/view/dzfp/invoiceInfo.html"; //开票详情
} }
...@@ -87,6 +87,7 @@ public class BillingHistoryBean extends BaseBean { ...@@ -87,6 +87,7 @@ public class BillingHistoryBean extends BaseBean {
private long crtTime; private long crtTime;
private long updTime; private long updTime;
private String userId; private String userId;
private String status;
public String getId() { public String getId() {
return id; return id;
...@@ -215,6 +216,14 @@ public class BillingHistoryBean extends BaseBean { ...@@ -215,6 +216,14 @@ public class BillingHistoryBean extends BaseBean {
public void setUserId(String userId) { public void setUserId(String userId) {
this.userId = userId; this.userId = userId;
} }
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
} }
} }
} }
package com.xxrv.invoice.bean;
import com.base.utils.ui.datetime.selector.util.TextUtil;
import com.google.gson.annotations.SerializedName;
import com.ruiwenliu.wrapper.base.BaseBean;
import java.io.Serializable;
import java.util.List;
/**
* 开票数据
*/
public class Invoiceing implements Serializable {
private String ids;
private double amount;
private int type;
public String getIds() {
return ids;
}
public void setIds(String ids) {
this.ids = ids;
}
public double getAmount() {
return amount;
}
public void setAmount(double amount) {
this.amount = amount;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
}
...@@ -111,6 +111,7 @@ public class OrderInvoicingCarBean extends BaseBean { ...@@ -111,6 +111,7 @@ public class OrderInvoicingCarBean extends BaseBean {
private double goodsAmount; private double goodsAmount;
private double orderAmount; private double orderAmount;
private double realAmount; private double realAmount;
private double orderRealAmount;
private int userId; private int userId;
private String picture; private String picture;
private String crtTime; private String crtTime;
...@@ -129,6 +130,14 @@ public class OrderInvoicingCarBean extends BaseBean { ...@@ -129,6 +130,14 @@ public class OrderInvoicingCarBean extends BaseBean {
private String name; private String name;
private String coverPic; private String coverPic;
public double getOrderRealAmount() {
return orderRealAmount;
}
public void setOrderRealAmount(double orderRealAmount) {
this.orderRealAmount = orderRealAmount;
}
public String getCoverPic() { public String getCoverPic() {
return coverPic; return coverPic;
} }
......
package com.xxrv.invoice.bus;
public class InvoicingSuccessEvent {
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorGrayBg"
tools:context=".activity.CheckOrderInvoicingActivity">
<com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout
android:id="@+id/refresh"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/rv_content"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout>
</LinearLayout>
\ No newline at end of file
...@@ -177,9 +177,13 @@ ...@@ -177,9 +177,13 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/ll_item_customer_service"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal"> android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingTop="@dimen/size_15"
android:paddingBottom="@dimen/size_15">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
...@@ -189,15 +193,17 @@ ...@@ -189,15 +193,17 @@
android:textSize="@dimen/text_12" /> android:textSize="@dimen/text_12" />
<TextView <TextView
android:id="@+id/tv_item_customer_service"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingTop="@dimen/size_15"
android:paddingBottom="@dimen/size_15"
android:text="在线客服" android:text="在线客服"
android:textColor="@color/colorMain" android:textColor="@color/colorMain"
android:textSize="@dimen/text_12" /> android:textSize="@dimen/text_12" />
<ImageView
android:layout_width="@dimen/size_20"
android:layout_height="@dimen/size_20"
android:src="@drawable/common_journey_service_gray" />
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorLine"
android:orientation="vertical">
<ProgressBar
android:id="@+id/pb_progress"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="@dimen/size_3"
android:indeterminateOnly="false"
android:max="100"
android:progressDrawable="@drawable/shape_rv_bg_yellow_progress"
android:visibility="gone">
</ProgressBar>
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1" />
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:layout_width="@dimen/size_70"
android:layout_height="@dimen/size_70"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/size_80"
android:src="@drawable/rv_common_icon_accomplish" />
<TextView
android:id="@+id/tv_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/size_20"
android:gravity="center"
android:text="提交成功!"
android:textColor="#ff000000"
android:textSize="@dimen/text_16" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/size_20"
android:gravity="center"
android:text="您的发票预计将在24小时内开出,请注意查收!"
android:textColor="@color/textGray"
android:textSize="@dimen/text_12" />
<TextView
android:id="@+id/tv_ok"
android:layout_width="match_parent"
android:layout_height="@dimen/size_50"
android:layout_marginLeft="@dimen/size_50"
android:layout_marginTop="@dimen/size_50"
android:layout_marginRight="@dimen/size_50"
android:background="@drawable/shape_rv_bg_yellow"
android:gravity="center"
android:text="确认提交"
android:textColor="@color/colorWrite"
android:textSize="@dimen/text_16" />
</LinearLayout>
\ No newline at end of file
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/size_40" android:layout_marginLeft="@dimen/size_40"
android:layout_marginRight="@dimen/size_40" android:layout_marginRight="@dimen/size_40"
android:background="@color/colorWrite" android:background="@drawable/shape_rv_bg_while_circle"
android:orientation="vertical"> android:orientation="vertical">
...@@ -31,31 +31,25 @@ ...@@ -31,31 +31,25 @@
<TextView <TextView
android:id="@+id/tv_content" android:id="@+id/tv_content"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="@dimen/size_170"
android:gravity="center_vertical"
android:layout_marginLeft="@dimen/size_15" android:layout_marginLeft="@dimen/size_15"
android:layout_marginTop="@dimen/size_20"
android:layout_marginRight="@dimen/size_15" android:layout_marginRight="@dimen/size_15"
android:layout_marginBottom="@dimen/size_36"
android:text="尊敬的用户您好,为了响应国家推行发票的号召并确保发票开具时效,自2019年12月起,滴房车将在全国范围启用电子发票。电子发票支持报销入账,其法律效力、基本用途及使用规定与增值税普通纸质发票一致。" android:text="尊敬的用户您好,为了响应国家推行发票的号召并确保发票开具时效,自2019年12月起,滴房车将在全国范围启用电子发票。电子发票支持报销入账,其法律效力、基本用途及使用规定与增值税普通纸质发票一致。"
android:textColor="@color/textGray" android:textColor="@color/textGray"
android:textSize="@dimen/size_16" /> android:textSize="@dimen/size_16" />
<include layout="@layout/common_line" /> <include layout="@layout/common_line" />
<LinearLayout <TextView
android:id="@+id/ll_item_ok" android:id="@+id/tv_item_ok"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/size_60" android:layout_height="@dimen/size_60"
android:gravity="center" android:gravity="center"
android:orientation="horizontal"> android:text="我知道了"
android:textColor="@color/gray_FFB74B"
android:textSize="@dimen/text_16" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="我知道了"
android:textColor="@color/gray_FFB74B"
android:textSize="@dimen/text_16" />
</LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll_item_bg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_10"
android:background="@color/colorWrite"
android:orientation="horizontal"
android:paddingTop="@dimen/size_10"
android:paddingBottom="@dimen/size_10">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/size_15"
android:layout_marginRight="@dimen/size_15"
android:layout_weight="1"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tv_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="大通自行式C型房车"
android:textColor="@color/text_Main"
android:textSize="@dimen/text_14" />
<TextView
android:id="@+id/tv_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/size_10"
android:text="租房车"
android:textColor="@color/text_Gray"
android:textSize="@dimen/text_12" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_5"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/tv_get_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:text="取:2019-05-15 10:00 欣新房车控股集团(东莞市)"
android:textColor="@color/textGray"
android:textSize="@dimen/text_12" />
<TextView
android:id="@+id/tv_out_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_5"
android:ellipsize="end"
android:maxLines="1"
android:text="还:2019-05-17 10:00 欣新房车控股集团(东莞市)"
android:textColor="@color/textGray"
android:textSize="@dimen/text_12" />
</LinearLayout>
<TextView
android:id="@+id/tv_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="@dimen/size_10"
android:text="3200"
android:textColor="@color/colorMain"
android:textSize="@dimen/text_14" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="元"
android:textColor="@color/text_Gray"
android:textSize="@dimen/text_12" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment