Commit 2435571d by 罗翻

android v1.9.8

parent 88f401b0
Showing with 1247 additions and 767 deletions
......@@ -13,6 +13,7 @@ import android.support.v4.app.NotificationCompat;
import com.alibaba.android.arouter.launcher.ARouter;
import com.dayu.bigfish.R;
import com.dayu.bigfish.SplashActivity;
import com.dayu.bigfish.api.protocol.InformBean;
import com.dayu.bigfish.ui.MainActivity;
import com.dayu.bigfish.ui.ManagerActivity;
......@@ -105,7 +106,14 @@ public class HxManager {
InformBean info = gson.fromJson(jsonStr, InformBean.class);
info.setCustomJson(customJsonBean);
if (info.getFunctionType() == 3) {
Observable.timer(100, TimeUnit.MILLISECONDS).observeOn(AndroidSchedulers.mainThread())
long time;
Context currentActivity = AppManager.getInstance().currentActivity();
if (currentActivity.getClass().equals(SplashActivity.class) || currentActivity.getClass().equals(SplashActivity.class)) {
time = 3000;
} else {
time = 100;
}
Observable.timer(time, TimeUnit.MILLISECONDS).observeOn(AndroidSchedulers.mainThread())
.subscribeOn(AndroidSchedulers.mainThread()).subscribe(aLong -> {
Context activity = AppManager.getInstance().currentActivity();
mDialog = new LicenceDialog(activity, R.style.custom_dialog2, content);
......@@ -162,13 +170,13 @@ public class HxManager {
int res = -1;
if (info.getCategory() == 1 && (info.getFunctionType() == 2)) {
res = R.raw.new_order;
} else if (info.getCategory() == 1 && (info.getFunctionType() == 4)) {
} else if (info.getCategory() == 1 && (info.getFunctionType() == 4)) { //预约工单
res = R.raw.manager_order;
} else if (info.getCategory() == 1 && (info.getFunctionType() == 5)) {
} else if (info.getCategory() == 1 && (info.getFunctionType() == 5)) { //预约审核
res = R.raw.eu_order;
} else if (info.getCategory() == 1 && (info.getFunctionType() == 6)) {
} else if (info.getCategory() == 1 && (info.getFunctionType() == 6)) {//待指派
res = R.raw.new_order_manager;
} else if (info.getCategory() == 1 && (info.getFunctionType() == 7)) {
} else if (info.getCategory() == 1 && (info.getFunctionType() == 7)) {//市场抢单
res = R.raw.eu_manager;
}
if (System.currentTimeMillis() - mpreTime >= 3000 && res != -1) {
......
......@@ -13,11 +13,11 @@
<ImageView
android:id="@+id/msg"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="80dp"
android:layout_marginBottom="150dp"
android:layout_marginRight="15dp"
android:src="@mipmap/icon_news"
android:visibility="visible" />
......

9.02 KB | W: | H:

7.08 KB | W: | H:

app/src/main/res/mipmap-hdpi/icon_news.png
app/src/main/res/mipmap-hdpi/icon_news.png
app/src/main/res/mipmap-hdpi/icon_news.png
app/src/main/res/mipmap-hdpi/icon_news.png
  • 2-up
  • Swipe
  • Onion skin

9.22 KB | W: | H:

7.26 KB | W: | H:

app/src/main/res/mipmap-hdpi/icon_red_news.png
app/src/main/res/mipmap-hdpi/icon_red_news.png
app/src/main/res/mipmap-hdpi/icon_red_news.png
app/src/main/res/mipmap-hdpi/icon_red_news.png
  • 2-up
  • Swipe
  • Onion skin

13.4 KB | W: | H:

9.7 KB | W: | H:

app/src/main/res/mipmap-xhdpi/icon_news.png
app/src/main/res/mipmap-xhdpi/icon_news.png
app/src/main/res/mipmap-xhdpi/icon_news.png
app/src/main/res/mipmap-xhdpi/icon_news.png
  • 2-up
  • Swipe
  • Onion skin

13.5 KB | W: | H:

9.88 KB | W: | H:

app/src/main/res/mipmap-xhdpi/icon_red_news.png
app/src/main/res/mipmap-xhdpi/icon_red_news.png
app/src/main/res/mipmap-xhdpi/icon_red_news.png
app/src/main/res/mipmap-xhdpi/icon_red_news.png
  • 2-up
  • Swipe
  • Onion skin

24.8 KB | W: | H:

15.4 KB | W: | H:

app/src/main/res/mipmap-xxhdpi/icon_news.png
app/src/main/res/mipmap-xxhdpi/icon_news.png
app/src/main/res/mipmap-xxhdpi/icon_news.png
app/src/main/res/mipmap-xxhdpi/icon_news.png
  • 2-up
  • Swipe
  • Onion skin

24.9 KB | W: | H:

15.7 KB | W: | H:

app/src/main/res/mipmap-xxhdpi/icon_red_news.png
app/src/main/res/mipmap-xxhdpi/icon_red_news.png
app/src/main/res/mipmap-xxhdpi/icon_red_news.png
app/src/main/res/mipmap-xxhdpi/icon_red_news.png
  • 2-up
  • Swipe
  • Onion skin

38.2 KB | W: | H:

22.2 KB | W: | H:

app/src/main/res/mipmap-xxxhdpi/icon_news.png
app/src/main/res/mipmap-xxxhdpi/icon_news.png
app/src/main/res/mipmap-xxxhdpi/icon_news.png
app/src/main/res/mipmap-xxxhdpi/icon_news.png
  • 2-up
  • Swipe
  • Onion skin

38.3 KB | W: | H:

22.6 KB | W: | H:

app/src/main/res/mipmap-xxxhdpi/icon_red_news.png
app/src/main/res/mipmap-xxxhdpi/icon_red_news.png
app/src/main/res/mipmap-xxxhdpi/icon_red_news.png
app/src/main/res/mipmap-xxxhdpi/icon_red_news.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -14,5 +14,6 @@
<action android:name="android.net.wifi.STATE_CHANGE" />
</intent-filter>
</receiver>
<activity android:name="com.dayu.base.ui.activity.PreviewActivty" />
</application>
</manifest>
......@@ -112,6 +112,10 @@ public abstract class BasePresenter<V> {
};
}
public CompositeDisposable getDisposable() {
return mComDisposable;
}
private APIException.ResponeThrowable processException(Throwable e) {
APIException.ResponeThrowable exception = APIException.APIException(e);
int code = exception.code;
......
......@@ -12,16 +12,16 @@ public class Constants {
/**
* 测试环境配置.
*/
public static final int LOG_LEVEL = LogUtils.LEVEL_ALL;
public static final String ENVIROMENT = "debug";
public static final String BASE_URL = "http://47.94.101.239:3112";
public final static String UP_PHOTO = "/file/uploadMore?targetPath=test/sp/mobile/android/business/checkApply";
public final static String WEB_SOP = "http://47.94.101.239:9004/#/sop";
public final static String CHECK_MULTI_WEB_SOP = "http://47.94.101.239:9004/#/manyServiceResult";
public final static String MULTI_WEB_SOP = "http://47.94.101.239:9004/#/manySop";
public final static String WEB_SOP_DETAIL = "http://47.94.101.239:9004/#/sopdetail";
public final static String WEB_ZHI_SHI = "http://47.94.101.239:9004/#/detail";
public static final boolean IS_DEBUG = true;
// public static final int LOG_LEVEL = LogUtils.LEVEL_ALL;
// public static final String ENVIROMENT = "debug";
// public static final String BASE_URL = "http://47.94.101.239:3112";
// public final static String UP_PHOTO = "/file/uploadMore?targetPath=test/sp/mobile/android/business/checkApply";
// public final static String WEB_SOP = "http://47.94.101.239:9004/#/sop";
// public final static String CHECK_MULTI_WEB_SOP = "http://47.94.101.239:9004/#/manyServiceResult";
// public final static String MULTI_WEB_SOP = "http://47.94.101.239:9004/#/manySop";
// public final static String WEB_SOP_DETAIL = "http://47.94.101.239:9004/#/sopdetail";
// public final static String WEB_ZHI_SHI = "http://47.94.101.239:9004/#/detail";
// public static final boolean IS_DEBUG = true;
/**
* uat环境配置.
......@@ -40,16 +40,16 @@ public class Constants {
/**
* 正式环境.
*/
// public static final String ENVIROMENT = "release";
// public static final int LOG_LEVEL = LogUtils.LEVEL_ALL;
// public static final String BASE_URL = "https://mobile.kf.ai";
// public final static String UP_PHOTO = "/file/uploadMore?targetPath=online/sp/mobile/android/business/checkApply";
// public final static String WEB_SOP = "https://sop.kf.ai/#/sop";
// public final static String WEB_SOP_DETAIL = "https://sop.kf.ai/#/sopdetail";
// public final static String WEB_ZHI_SHI = "https://sop.kf.ai/#/detail";
// public final static String CHECK_MULTI_WEB_SOP = "https://sop.kf.ai/#/manyServiceResult";
// public final static String MULTI_WEB_SOP = "https://sop.kf.ai/#/manySop";
// public static final boolean IS_DEBUG = false;
public static final String ENVIROMENT = "release";
public static final int LOG_LEVEL = LogUtils.LEVEL_ALL;
public static final String BASE_URL = "https://mobile.kf.ai";
public final static String UP_PHOTO = "/file/uploadMore?targetPath=online/sp/mobile/android/business/checkApply";
public final static String WEB_SOP = "https://sop.kf.ai/#/sop";
public final static String WEB_SOP_DETAIL = "https://sop.kf.ai/#/sopdetail";
public final static String WEB_ZHI_SHI = "https://sop.kf.ai/#/detail";
public final static String CHECK_MULTI_WEB_SOP = "https://sop.kf.ai/#/manyServiceResult";
public final static String MULTI_WEB_SOP = "https://sop.kf.ai/#/manySop";
public static final boolean IS_DEBUG = false;
/**
* 演示环境
......
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<size android:width="2dp" />
<solid android:color="@color/white" />
<stroke android:width="1dp" android:color="@color/bg_button" />
<corners android:radius="3dp" />
<stroke
android:width="1dp"
android:color="@color/bg_button" />
</shape>
\ No newline at end of file
......@@ -10,4 +10,8 @@
<attr name="footType" format="reference" />
</declare-styleable>
<declare-styleable name="photoView">
<attr name="photoNum" format="reference" />
</declare-styleable>
</resources>
\ No newline at end of file
......@@ -39,5 +39,4 @@
<color name="view_color">#E6E6E6 </color>
</resources>
......@@ -43,6 +43,7 @@
<string name="tv_time_text_subscribe_serve">服务记录</string>
<string name="tv_time_text_confirm_subscribe">确定预约</string>
<string name="tv_time_text_edit_text">最多录入200字</string>
<string name="max_text_500">最多输入500字</string>
<string name="tv_home_loading_text">暂无工单</string>
<string name="tv_home_tab_one_phone">拨打电话</string>
<string name="tv_home_tab_one_subscribe_time">预约时间</string>
......@@ -70,13 +71,13 @@
<string name="order_xuliehaoma">序列号码</string>
<string name="order_goumai_date">购买日期</string>
<string name="order_serve_type">服务类型</string>
<string name="order_photo_text">服务照片(故障及解决照片,限5张)</string>
<string name="order_photo_text">服务照片(故障及解决照片,限10张)</string>
<string name="order_hint">故障现象或服务需求描述,及解决方案描述,若没有解决请说明原因(最多200字)。</string>
<string name="tv_about">关于我们</string>
<string name="tv_about_us">扫码关注我们的微信服务号</string>
<string name="tv_about_us_text">&#160;&#160;&#160;&#160;传统低效的客服体系,正在成为厂商、服务商、消费者的包袱。大鱼准备以科技之力进行客服产业革命。运用Ai、云和大数据等技术,连接厂商、销售商、服务商和消费者,打造去中心化的智能共享客户服务解决方案。</string>
<string name="tv_about_dayu">大鱼创想&#160;&#160;版权所有</string>
<string name="tv_about_user_feiyong">收取客户费用(元)</string>
<string name="tv_about_user_feiyong">收取费用</string>
<string name="tv_order_updoor_feiyong">上门费</string>
<string name="tv_order_serve_feiyong">服务费</string>
<string name="tv_order_yuan">(元)</string>
......@@ -309,7 +310,7 @@
<string name="send_already">已发货</string>
<string name="modify_part_info">修改信息</string>
<string name="customer_acceptance">客户验收</string>
<string name="scan_code_for_appointment">请扫描二维码关注大鱼服务公众号</string>
<string name="scan_code_for_appointment">扫一扫验收/付款/评价</string>
<string name="scan_code_for_appointment_two">点击-上门服务-预约记录-进行绑定登录后,选择工单验收</string>
<string name="order_record">工单记录</string>
<string name="order_num">工单编号</string>
......@@ -320,9 +321,13 @@
<string name="prodcut_type">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</string>
<string name="door_time">上门时间</string>
<string name="order_remark">工单备注</string>
<string name="server_desc">任务描述</string>
<string name="server_content">服务内容</string>
<string name="order_attachment">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</string>
<string name="order_attachment">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</string>
<string name="customer_info">客户信息</string>
<string name="order_from">工单来源</string>
<string name="other_customer">散客</string>
<string name="sign_customer">自签约合作商</string>
<string name="customer_type">客户类型</string>
<string name="customer_name">客户姓名</string>
<string name="check_signature">查看签名</string>
......@@ -342,6 +347,7 @@
<string name="material_money">材料费用</string>
<string name="other_money">其他费用</string>
<string name="remark">&#160;&#160;&#160;&#160;&#160;&#160;&#160;</string>
<string name="server_instruction">任务描述</string>
<string name="no_charge_record">暂无收费记录</string>
<string name="order_brand_name">品牌名称</string>
<string name="order_product_model">型号</string>
......@@ -369,6 +375,7 @@
<string name="part_record">备件记录</string>
<string name="no_remark">备注:暂无</string>
<string name="remark_order">备注:</string>
<string name="remar">备注</string>
<string name="no_reassignment">改派原因:暂无</string>
<string name="no_cancle">取消原因:暂无</string>
<string name="check_content">验收内容</string>
......@@ -387,6 +394,16 @@
<string name="can_not_repet_get_money">您上次已经收取过客户费用,请勿重新收取!</string>
<string name="process_order_success">提交验收成功</string>
<string name="signature_name">请先签名!</string>
<string name="input_money">请输入费用!</string>
<string name="no_money">不收费</string>
<string name="wechat_pay">微信支付</string>
<string name="cash_pay">现金支付</string>
<string name="pay_type">支付方式</string>
<string name="pay_state">支付状态</string>
<string name="not_pay">未支付</string>
<string name="is_pay">已支付</string>
<string name="pay_sccucess">支付成功</string>
<string name="pay_fail">支付失败</string>
<string name="click_and_signature">点击此处让客户去签名</string>
<string name="download_gaode_notice">您还未安装高德地图~</string>
<string name="sop_title">标准操作规范SOP~</string>
......@@ -407,6 +424,44 @@
<string name="bao_price">报价</string>
<string name="bargain_dialog_error">您的报价不能低于发单方的价格</string>
<string name="login_out">退出登录</string>
<string name="please_input_name">请输入客户姓名</string>
<string name="please_input_mobile_first">请输入客户电话</string>
<string name="please_input_moblie">建议输入手机号,座机无查询记录</string>
<string name="please_input_address">请输入地址</string>
<string name="please_input_detail_address_first">请输入详细地址</string>
<string name="please_select_product_type">请选择产品分类</string>
<string name="please_input_detail_address">街道、楼牌号等</string>
<string name="please_input_time">请输入时间</string>
<string name="please_input_server">请选择服务</string>
<string name="please_input_company_name">请输入企业名称</string>
<string name="please_input_server_type">请选择服务类型</string>
<string name="please_input_product">请输入型号</string>
<string name="please_input_sn">请输入sn码</string>
<string name="customer_mobile">联系电话</string>
<string name="customer_address">联系地址</string>
<string name="customer_detail_address">详细地址</string>
<string name="select_server">选择服务</string>
<string name="company_name">企业名称</string>
<string name="product_type">产品分类</string>
<string name="product_line">产品线</string>
<string name="product_big">产品大类</string>
<string name="product_small">产品小类</string>
<string name="day">日期</string>
<string name="hour">时间</string>
<string name="brand">品牌</string>
<string name="order_info">工单信息</string>
<string name="engi">&#160;&#160;&#160;&#160;</string>
<string name="no_designate">不指派</string>
<string name="custom_acceptance">用户验收</string>
<string name="comform_and_next">提交并添加下一个</string>
<string name="comform_order">提交工单</string>
<string name="create_order">创建上门工单</string>
<string name="select_product_line_first">请选择产品线</string>
<string name="select_big_product_first">请选择产品大类</string>
<string name="edite">编辑</string>
<string name="modify_order">修改工单</string>
<string name="modify_order_success">工单修改成功!</string>
<!--消息-->
<string name="message_system">系统通知</string>
......
......@@ -160,4 +160,9 @@
<item name="colorControlNormal">@color/default_editext_color</item>
<item name="colorControlActivated">@color/default_editext_color</item>
</style>
<style name="MyRadioButton" parent="AppTheme">
<item name="colorControlNormal">@color/tv_cl</item>
<item name="colorControlActivated">@color/bg_button</item>
</style>
</resources>
......@@ -5,8 +5,8 @@ buildscript {
ext.build_tools_version = "27.0.3"
ext.min_sdk_version = 16
ext.target_sdk_version = 23
ext.version_code = 18
ext.verson_name = "1.9.5"
ext.version_code = 20
ext.verson_name = "1.9.8"
ext.gradle_version = '3.1.4'
ext.isReleaseMinify = true
ext.isDebugMinify = false
......
......@@ -34,6 +34,7 @@ public class LocationUtils {
* @Description: 初始化地图导航,在Application onCreate中调用,只需调用一次
*/
public static void init(Context context) {
AMapLocationClient.setApiKey("05936ed54259770e56ffd1e67ac77958");
mlocationClient = new AMapLocationClient(context);
AMapLocationClientOption mOption = new AMapLocationClientOption();
mOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);//可选,设置定位模式,可选的模式有高精度、仅设备、仅网络。默认为高精度模式
......
......@@ -8,7 +8,10 @@ import com.dayu.managercenter.data.Engineer;
import com.dayu.managercenter.data.GrabOrder;
import com.dayu.managercenter.data.Order;
import com.dayu.managercenter.data.OrderDetail;
import com.dayu.managercenter.data.Product;
import com.dayu.managercenter.data.ServerType;
import com.dayu.managercenter.data.SpInfo;
import com.dayu.managercenter.data.SpuServer;
import java.util.List;
......@@ -27,8 +30,8 @@ public class ManagerApiFactory {
return Api.getService(ManagerService.class).getOrders(page, pageSize, status, siteId).compose(Api.applySchedulers());
}
public static Observable<BasePageBean<GrabOrder>> getGrapOrder(int page, int pageSize, int siteId,int provinceId,int cityId) {
return Api.getService(ManagerService.class).getGrapOrder(page, pageSize, siteId,provinceId,cityId).compose(Api.applySchedulers());
public static Observable<BasePageBean<GrabOrder>> getGrapOrder(int page, int pageSize, int siteId, int provinceId, int cityId) {
return Api.getService(ManagerService.class).getGrapOrder(page, pageSize, siteId, provinceId, cityId).compose(Api.applySchedulers());
}
public static Observable<BasePageBean<GrabOrder>> getBarginOrder(int page, int pageSize, int siteId) {
......@@ -51,6 +54,10 @@ public class ManagerApiFactory {
return Api.getService(ManagerService.class).getEngineers(siteId).compose(Api.applySchedulers());
}
public static Observable<List<Engineer>> getEngineers(int categoryId, int isCustom, int serviceType, int siteId) {
return Api.getService(ManagerService.class).getEngineerByServer(categoryId, isCustom, serviceType, siteId).compose(Api.applySchedulers());
}
public static Observable<Boolean> designate(int id, int engineerId, String updated) {
return Api.getService(ManagerService.class).designate(id, engineerId, updated).compose(Api.applySchedulers());
}
......@@ -63,8 +70,8 @@ public class ManagerApiFactory {
return Api.getService(ManagerService.class).getBargainPrice(spSiteId, kaOrderId).compose(Api.applySchedulers());
}
public static Observable<Boolean> receiveOrder(int kaOrderId, int providerSiteId, String providerSiteName,int engineerId,String engineerName) {
return Api.getService(ManagerService.class).receiveOrder(kaOrderId, providerSiteId, providerSiteName,engineerId,engineerName).compose(Api.applySchedulers());
public static Observable<Boolean> receiveOrder(int kaOrderId, int providerSiteId, String providerSiteName, int engineerId, String engineerName) {
return Api.getService(ManagerService.class).receiveOrder(kaOrderId, providerSiteId, providerSiteName, engineerId, engineerName).compose(Api.applySchedulers());
}
public static Observable<SpInfo> querySpInfo(int accountId) {
......@@ -82,4 +89,24 @@ public class ManagerApiFactory {
public static Observable<Boolean> changeEngineer(int id, String reason, int engineerId) {
return Api.getService(ManagerService.class).changeEngineer(id, reason, engineerId).compose(Api.applySchedulers());
}
public static Observable<List<Product>> querySonProduct(int siteId, String parentCategoryId) {
return Api.getService(ManagerService.class).querySonProduct(siteId, parentCategoryId).compose(Api.applySchedulers());
}
public static Observable<List<ServerType>> querySerVerType(int siteId) {
return Api.getService(ManagerService.class).querySerVerType(siteId).compose(Api.applySchedulers());
}
public static Observable<List<SpuServer>> getSpuServer(int providerId, int siteId) {
return Api.getService(ManagerService.class).getSpuServer(providerId, siteId).compose(Api.applySchedulers());
}
public static Observable<Boolean> createOrder(RequestBody body) {
return Api.getService(ManagerService.class).createOrder(body).compose(Api.applySchedulers());
}
public static Observable<Boolean> createPartnerOrder(RequestBody body) {
return Api.getService(ManagerService.class).createPartnerOrder(body).compose(Api.applySchedulers());
}
}
......@@ -10,7 +10,10 @@ import com.dayu.managercenter.data.Engineer;
import com.dayu.managercenter.data.GrabOrder;
import com.dayu.managercenter.data.Order;
import com.dayu.managercenter.data.OrderDetail;
import com.dayu.managercenter.data.Product;
import com.dayu.managercenter.data.ServerType;
import com.dayu.managercenter.data.SpInfo;
import com.dayu.managercenter.data.SpuServer;
import java.util.List;
......@@ -58,7 +61,7 @@ public interface ManagerService {
* @return
*/
@GET(ManagerConstant.GRAP_ORDER_LIST)
Observable<BaseResponse<BasePageBean<GrabOrder>>> getGrapOrder(@Query("page") int page, @Query("pageSize") int pageSize, @Query("siteId") int siteId,@Query("provinceId") int provinceId,@Query("cityId") int cityId);
Observable<BaseResponse<BasePageBean<GrabOrder>>> getGrapOrder(@Query("page") int page, @Query("pageSize") int pageSize, @Query("siteId") int siteId, @Query("provinceId") int provinceId, @Query("cityId") int cityId);
/**
* 获取议价列表.
......@@ -114,6 +117,18 @@ public interface ManagerService {
Observable<BaseResponse<List<Engineer>>> getEngineers(@Query("siteId") int siteId);
/**
* 获取工程师列表.
*
* @param siteId
* @return
*/
@GET(ManagerConstant.ENGINEER_LIST)
Observable<BaseResponse<List<Engineer>>> getEngineerByServer(@Query("categoryId") int categoryId
, @Query("isCustom") int isCustom
, @Query("serviceType") int serviceType
, @Query("siteId") int siteId);
/**
* 指派工程师.
*
* @param id
......@@ -196,4 +211,50 @@ public interface ManagerService {
*/
@POST(ManagerConstant.CHANGE_ENGINEER)
Observable<BaseResponse<Boolean>> changeEngineer(@Query("id") int id, @Query("reason") String reason, @Query("engineerId") int engineerId);
/**
* 查询产品的子节点.
*
* @param siteId
* @param parentCategoryId
* @return
*/
@GET(ManagerConstant.QUERY_SON_PRODUCT)
Observable<BaseResponse<List<Product>>> querySonProduct(@Path("siteId") int siteId, @Path("parentCategoryId") String parentCategoryId);
/**
* 查询服务类型.
*
* @param siteId
* @return
*/
@GET(ManagerConstant.QUERY_SERVER_TYPE)
Observable<BaseResponse<List<ServerType>>> querySerVerType(@Path("siteId") int siteId);
/**
* 获取spu服务.
*
* @param providerId
* @param siteId
* @return
*/
@GET(ManagerConstant.GET_SPU_SERVER)
Observable<BaseResponse<List<SpuServer>>> getSpuServer(@Path("providerId") int providerId, @Path("siteId") int siteId);
/**
* 创建工单.
* @param body
* @return
*/
@POST(ManagerConstant.CREATE_NEW_ORDER)
Observable<BaseResponse<Boolean>> createOrder(@Body RequestBody body);
/**
* 创建合作商工单
* @param body
* @return
*/
@POST(ManagerConstant.CREATE_PARTNER_ORDER)
Observable<BaseResponse<Boolean>> createPartnerOrder(@Body RequestBody body);
}
......@@ -96,4 +96,28 @@ public class ManagerConstant {
*/
public static final String CHANGE_ENGINEER = "/api-order/" + "orders/reassignment";
/**
* 查询产品分类当前节点的直接子节点.
*/
public static final String QUERY_SON_PRODUCT = "/api-user/" + "siteCustomoCategory/parent/{siteId}/{parentCategoryId}";
/**
* 查询服务类型.
*/
public static final String QUERY_SERVER_TYPE = "/api-user/" + "serviceProviderSite/getServiceProviderTypeBySiteId/{siteId}";
/**
* 获取spu服务.
*/
public static final String GET_SPU_SERVER = "/api-order/" + "spu/getSpuList/{providerId}/{siteId}";
/**
* 散客自建工单.
*/
public static final String CREATE_NEW_ORDER = "/api-order/" + "orders";
/**
* 合作商自建工单
*/
public static final String CREATE_PARTNER_ORDER = "/api-order/" + "orders/partner";
}
......@@ -41,6 +41,7 @@ public class OrderDetail implements Serializable {
private String createTime;
private String appointmentTime;
private String comment;
private String taskDesc;
private String confirmDoorTime;
private String confirmDoorComment;
private Object serviceRecordComment;
......@@ -79,6 +80,14 @@ public class OrderDetail implements Serializable {
private Double paymentPrice;//发单价
private String companyName;
public String getTaskDesc() {
return taskDesc;
}
public void setTaskDesc(String taskDesc) {
this.taskDesc = taskDesc;
}
public String getCompanyName() {
return companyName;
}
......@@ -810,12 +819,20 @@ public class OrderDetail implements Serializable {
}
}
public class accessories implements Serializable {
public static class accessories implements Serializable {
private int id;
private String name;
private int orderId;
private String url;
private long uid;
public long getUid() {
return uid;
}
public void setUid(long uid) {
this.uid = uid;
}
public int getId() {
return id;
......
......@@ -224,38 +224,6 @@ public class Spu implements Serializable, Parcelable {
this.providerTypeName = providerTypeName;
}
public class Pic {
private int id;
private int ordersRelationSpuItemId;
private String pictureUrl;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getOrdersRelationSpuItemId() {
return ordersRelationSpuItemId;
}
public void setOrdersRelationSpuItemId(int ordersRelationSpuItemId) {
this.ordersRelationSpuItemId = ordersRelationSpuItemId;
}
public String getPictureUrl() {
return pictureUrl;
}
public void setPictureUrl(String pictureUrl) {
this.pictureUrl = pictureUrl;
}
}
@Override
public int describeContents() {
return 0;
......
......@@ -7,6 +7,7 @@ import android.support.v7.widget.LinearLayoutManager;
import android.view.View;
import android.widget.TextView;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
import com.bigkoo.pickerview.listener.OnOptionsSelectListener;
import com.bigkoo.pickerview.view.OptionsPickerView;
......@@ -22,6 +23,7 @@ import com.dayu.managercenter.databinding.ItemSendOrderDetailBinding;
import com.dayu.managercenter.presenter.senddetail.SendDetailContract;
import com.dayu.managercenter.presenter.senddetail.SendDetailPresenter;
import com.dayu.managercenter.ui.view.BargainDialog;
import com.dayu.provider.router.RouterPath;
import com.dayu.utils.TimeUtils;
import com.dayu.utils.UIUtils;
import com.dayu.utils.UtilsDate;
......@@ -33,6 +35,7 @@ import java.util.List;
* Created by luofan
* on 2018/8/27.
*/
@Route(path = RouterPath.PATH_SENDDETAIL)
public class SendOrderDetailActivity extends BaseActivity<SendDetailPresenter, ActivitySendDetailBinding> implements SendDetailContract.View {
private boolean mFlag;
private int mState;
......@@ -132,6 +135,9 @@ public class SendOrderDetailActivity extends BaseActivity<SendDetailPresenter, A
if (mBind.leftTime.getVisibility() == View.VISIBLE) {
setTime(detail.getAppointmentTime(), mBind.leftTime);
}
// if (mState == ManagerConstant.SEND_ORDER) {
// mBind.customerAcceptance.setVisibility(View.GONE);
// }
}
@Override
......
......@@ -6,6 +6,7 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
import com.bigkoo.pickerview.listener.OnOptionsSelectListener;
import com.bigkoo.pickerview.view.OptionsPickerView;
......@@ -16,6 +17,7 @@ import com.dayu.managercenter.data.OrderDetail;
import com.dayu.managercenter.databinding.ActivitySubOrderDetailBinding;
import com.dayu.managercenter.presenter.subdetail.SubDetailContract;
import com.dayu.managercenter.presenter.subdetail.SubDetailPresenter;
import com.dayu.provider.router.RouterPath;
import com.dayu.utils.GlideImageLoader;
import com.dayu.utils.UIUtils;
import com.dayu.utils.UtilsScreen;
......@@ -27,6 +29,7 @@ import java.util.List;
* Created by luofan
* on 2018/9/3.
*/
@Route(path = RouterPath.PATH_SUBDETAIL)
public class SubOrderDetailActivity extends BaseActivity<SubDetailPresenter, ActivitySubOrderDetailBinding> implements SubDetailContract.View {
private boolean mFlag;
private int mIvWeight;
......@@ -61,6 +64,9 @@ public class SubOrderDetailActivity extends BaseActivity<SubDetailPresenter, Act
});
mBind.refuse.setOnClickListener(v -> mPresenter.refuse(detail.getId()));
mBind.designate.setOnClickListener(v -> mPresenter.getEngineers(detail.getId()));
if (detail.getStatus() != 8) {
mBind.llManager.setVisibility(View.GONE);
}
initPhoto(detail.getAccessories(), mBind.llPhoto);
}
......
......@@ -38,6 +38,8 @@ public class ManagerOrderAdapter extends CoreAdapter<Order, ItemManagerOrderBind
holder.tvOrderDetail.setText(item.getSpuName());
holder.itemTextDizhi.setText(address);
holder.tvOrderTime.setText(mContext.getString(R.string.have_appointment));
holder.itemTextUserName.setText(item.getCustomerName());
holder.itemTextUserPhone.setText(item.getCustomerMobile());
if (TextUtils.isEmpty(item.getSpuName())) {
holder.tvOrderDetail.setText(mContext.getString(R.string.no_server));
} else {
......
......@@ -14,6 +14,7 @@ import com.dayu.common.Constants;
import com.dayu.managercenter.R;
import com.dayu.managercenter.common.ManagerConstant;
import com.dayu.managercenter.databinding.FragmentManagerBinding;
import com.dayu.managercenter.ui.activity.CreateOrderActivity;
import com.dayu.managercenter.ui.activity.ServiceStationActivity;
import com.dayu.provider.event.ManagerReceiveEvent;
import com.dayu.utils.AppManager;
......@@ -74,6 +75,10 @@ public class ManagerFragment extends DataBindingFragment<FragmentManagerBinding>
intent.putExtra(Constants.BUNDLE, bundle);
startActivity(intent);
});
mBind.createOrder.setOnClickListener(v -> {
Intent intent = new Intent(mActivity, CreateOrderActivity.class);
startActivity(intent);
});
List<Fragment> mFragments = new ArrayList<>();
mFragments.add(GrabOrderFragment.newInstance());
mFragments.add(SendOrderFragment.newInstance());
......
......@@ -20,6 +20,9 @@
<activity
android:name="com.dayu.managercenter.ui.activity.ChangeReasonActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.dayu.managercenter.ui.activity.CreateOrderActivity"
android:screenOrientation="portrait" />
</application>
</manifest>
......@@ -420,6 +420,7 @@
</android.support.v4.widget.NestedScrollView>
<LinearLayout
android:id="@+id/ll_manager"
android:layout_width="match_parent"
android:layout_height="49dp"
android:orientation="horizontal">
......
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<LinearLayout xmlns:app="http://schemas.android.com/apk/res-auto"
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/cl_home_listview_bg"
......@@ -50,5 +55,17 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/dp_10" />
</LinearLayout>
<ImageView
android:id="@+id/create_order"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="50dp"
android:layout_marginRight="10dp"
android:src="@drawable/icon_create_order" />
</RelativeLayout>
</layout>
\ No newline at end of file
......@@ -59,6 +59,8 @@
android:layout_marginTop="10dp"
android:drawableLeft="@drawable/icon_map"
android:drawablePadding="3dp"
android:ellipsize="end"
android:maxLines="2"
android:text="北京市海淀区中关村软件园汉王大厦"
android:textColor="@color/default_editext_color"
android:textSize="13sp" />
......
......@@ -163,8 +163,8 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:visibility="gone"
android:orientation="horizontal">
android:orientation="horizontal"
android:visibility="visible">
<TextView
android:id="@+id/item_text_user_name"
......@@ -204,7 +204,7 @@
android:layout_marginTop="5dp"
android:layout_weight="1"
android:ellipsize="end"
android:maxLines="1"
android:maxLines="2"
android:text="@string/tv_order_item_gps_text"
android:textColor="@color/cl_home_title_text_color"
android:textSize="@dimen/size_login_hint_text" />
......
......@@ -41,7 +41,7 @@ public class MessageDetailActivity extends DataBindingActivity<ActivityMessageDe
public void initView() {
mBind.tvTitle.setText(getString(R.string.message_dayu_detail));
Bundle bundle = mActivity.getIntent().getBundleExtra(Constants.BUNDLE);
if(bundle==null){
if (bundle == null) {
ToastUtils.showShortToast(UIUtils.getString(R.string.get_info_failed));
return;
}
......@@ -62,7 +62,7 @@ public class MessageDetailActivity extends DataBindingActivity<ActivityMessageDe
mBind.tvMessageTitle.setText(message.getTitle());
mBind.tvMessageTime.setText(time);
mBind.tvMessageContent.setText("\u3000" + "\u3000" + message.getContent());
if (mCategory == 2) {
if (mCategory == 2|| message.getFunctionType()==3) {
mBind.tvMessageCheck.setVisibility(View.GONE);
} else {
mBind.tvMessageCheck.setVisibility(View.VISIBLE);
......@@ -78,12 +78,27 @@ public class MessageDetailActivity extends DataBindingActivity<ActivityMessageDe
private void dumpDetail() {
Map<String, String> map = GsonUtils.parseData(message.getCustomJson());
int id = 0;
String path;
if (!TextUtils.isEmpty(map.get("orderId"))) {
id = Integer.parseInt(map.get("orderId"));
}
Bundle bundle = new Bundle();
if (message.getFunctionType() == 5) {
bundle.putInt(Constants.ID, id);
path = RouterPath.PATH_SUBDETAIL;
} else if (message.getFunctionType() == 6) {
bundle.putInt(Constants.ID, id);
bundle.putInt(Constants.STATE,0);
path = RouterPath.PATH_SENDDETAIL;
} else if (message.getFunctionType() == 7) {
bundle.putInt(Constants.ID, id);
bundle.putInt(Constants.STATE,1);
path = RouterPath.PATH_SENDDETAIL;
} else {
path = RouterPath.PATH_ORDER_DETAIL;
bundle.putInt(Constants.ORDER_ID, id);
ARouter.getInstance().build(RouterPath.PATH_ORDER_DETAIL)
}
ARouter.getInstance().build(path)
.withBundle(ProviderConstant.BUNDLE, bundle)
.navigation();
MobclickAgent.onEvent(mActivity, "message_check_order");
......
......@@ -57,7 +57,7 @@ android {
}
greendao {
schemaVersion 3
schemaVersion 4
daoPackage 'com.dayu.order.greendao'
targetGenDir 'src/main/java'
}
......
......@@ -30,6 +30,7 @@
android:screenOrientation="portrait" />
<activity
android:name=".ui.activity.ProcessOrderActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:screenOrientation="portrait" />
<activity
android:name=".ui.activity.PreviewActivty"
......
......@@ -75,7 +75,7 @@ public class OrderApiFactory {
}
public static Observable<KaAddress> getKaSelectAddress(int addressId) {
return Api.getService(OrderService.class).getKaSelectAddress( addressId).compose(Api.applySchedulers());
return Api.getService(OrderService.class).getKaSelectAddress(addressId).compose(Api.applySchedulers());
}
public static Observable<Boolean> applyPart(long spOrderId, String spComment, String createBy, long accountId) {
......@@ -135,7 +135,7 @@ public class OrderApiFactory {
}
public static Observable<companyManager> getManagerMobile(int companyId, int managerType) {
return Api.getService(OrderService.class).getManagerMobile(companyId,managerType).compose(Api.applySchedulers());
return Api.getService(OrderService.class).getManagerMobile(companyId, managerType).compose(Api.applySchedulers());
}
public static Observable<Boolean> certificationLive(RequestBody body) {
......@@ -145,4 +145,8 @@ public class OrderApiFactory {
public static Observable<String> createUrl(int orderId) {
return Api.getService(OrderService.class).createUrl(orderId).compose(Api.applySchedulers());
}
public static Observable<Boolean> modifyOrder(RequestBody body) {
return Api.getService(OrderService.class).modifyOrder(body).compose(Api.applySchedulers());
}
}
......@@ -318,9 +318,19 @@ interface OrderService {
/**
* 获取客户验收url.
*
* @param orderId
* @return
*/
@GET(OrderConstant.CREATE_URL)
Observable<BaseResponse<String>> createUrl(@Path("orderId") int orderId);
/**
* 修改自建单.
*
* @param body
* @return
*/
@PUT(OrderConstant.MODIFY_NEW_ORDER)
Observable<BaseResponse<Boolean>> modifyOrder(@Body RequestBody body);
}
......@@ -41,12 +41,13 @@ public class OrderDetail implements Serializable {
private String createTime;
private String appointmentTime;
private String comment;
private String taskDesc;
private String confirmDoorTime;
private String confirmDoorComment;
private Object serviceRecordComment;
private Object customerCheckComment;
private Integer isPay;
private Object payType;
private Integer payType;
private Double doorPrice;
private String doorPriceComment;
private Double servicePrice;
......@@ -76,6 +77,14 @@ public class OrderDetail implements Serializable {
private String esignatureImg;
private Integer payStatus;//或null:未支付 2.已支付3.支付成功4.支付失败
public String getTaskDesc() {
return taskDesc;
}
public void setTaskDesc(String taskDesc) {
this.taskDesc = taskDesc;
}
public Integer getPayStatus() {
return payStatus;
}
......@@ -420,11 +429,11 @@ public class OrderDetail implements Serializable {
this.isPay = isPay;
}
public Object getPayType() {
public Integer getPayType() {
return payType;
}
public void setPayType(Object payType) {
public void setPayType(Integer payType) {
this.payType = payType;
}
......
......@@ -215,37 +215,6 @@ public class Spu implements Serializable, Parcelable {
this.providerTypeName = providerTypeName;
}
public class Pic {
private int id;
private int ordersRelationSpuItemId;
private String pictureUrl;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getOrdersRelationSpuItemId() {
return ordersRelationSpuItemId;
}
public void setOrdersRelationSpuItemId(int ordersRelationSpuItemId) {
this.ordersRelationSpuItemId = ordersRelationSpuItemId;
}
public String getPictureUrl() {
return pictureUrl;
}
public void setPictureUrl(String pictureUrl) {
this.pictureUrl = pictureUrl;
}
}
@Override
public int describeContents() {
return 0;
......
......@@ -20,6 +20,7 @@ public class OrderConstant {
public final static String KAADDRESSID = "ka_address_id";
public final static String ORDER_TYPE = "order_type";//0:单任务单数量
public static final String TIME = "time";
public static final String PATH = "path";
/**
* 异常单获取.
......@@ -163,4 +164,9 @@ public class OrderConstant {
*/
public final static String CREATE_URL = "/api-user" + "/account/createUrlByOrderId/{orderId}";
/**
* 修改自建单.
*/
public static final String MODIFY_NEW_ORDER = "/api-order/" + "orders";
}
......@@ -14,10 +14,10 @@ import org.greenrobot.greendao.identityscope.IdentityScopeType;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
/**
* Master of DAO (schema version 3): knows all DAOs.
* Master of DAO (schema version 4): knows all DAOs.
*/
public class DaoMaster extends AbstractDaoMaster {
public static final int SCHEMA_VERSION = 3;
public static final int SCHEMA_VERSION = 4;
/** Creates underlying database table using DAOs. */
public static void createAllTables(Database db, boolean ifNotExists) {
......
......@@ -39,8 +39,10 @@ public class OrderInfoDao extends AbstractDao<OrderInfo, Long> {
public final static Property ProductModel = new Property(9, String.class, "productModel", false, "productModel");
public final static Property Sn = new Property(10, String.class, "sn", false, "sn");
public final static Property Payer = new Property(11, String.class, "payer", false, "payer");
public final static Property ImgPath = new Property(12, String.class, "imgPath", false, "IMG_PATH");
public final static Property ImgPayerPath = new Property(13, String.class, "imgPayerPath", false, "IMG_PAYER_PATH");
public final static Property PayType = new Property(12, Integer.class, "payType", false, "payType");
public final static Property Signature = new Property(13, String.class, "signature", false, "signature");
public final static Property ImgPath = new Property(14, String.class, "imgPath", false, "IMG_PATH");
public final static Property ImgPayerPath = new Property(15, String.class, "imgPayerPath", false, "IMG_PAYER_PATH");
}
private final StringConverter imgPathConverter = new StringConverter();
......@@ -70,8 +72,10 @@ public class OrderInfoDao extends AbstractDao<OrderInfo, Long> {
"\"productModel\" TEXT," + // 9: productModel
"\"sn\" TEXT," + // 10: sn
"\"payer\" TEXT," + // 11: payer
"\"IMG_PATH\" TEXT," + // 12: imgPath
"\"IMG_PAYER_PATH\" TEXT);"); // 13: imgPayerPath
"\"payType\" INTEGER," + // 12: payType
"\"signature\" TEXT," + // 13: signature
"\"IMG_PATH\" TEXT," + // 14: imgPath
"\"IMG_PAYER_PATH\" TEXT);"); // 15: imgPayerPath
}
/** Drops the underlying database table. */
......@@ -136,14 +140,24 @@ public class OrderInfoDao extends AbstractDao<OrderInfo, Long> {
stmt.bindString(12, payer);
}
Integer payType = entity.getPayType();
if (payType != null) {
stmt.bindLong(13, payType);
}
String signature = entity.getSignature();
if (signature != null) {
stmt.bindString(14, signature);
}
List imgPath = entity.getImgPath();
if (imgPath != null) {
stmt.bindString(13, imgPathConverter.convertToDatabaseValue(imgPath));
stmt.bindString(15, imgPathConverter.convertToDatabaseValue(imgPath));
}
List imgPayerPath = entity.getImgPayerPath();
if (imgPayerPath != null) {
stmt.bindString(14, imgPayerPathConverter.convertToDatabaseValue(imgPayerPath));
stmt.bindString(16, imgPayerPathConverter.convertToDatabaseValue(imgPayerPath));
}
}
......@@ -203,14 +217,24 @@ public class OrderInfoDao extends AbstractDao<OrderInfo, Long> {
stmt.bindString(12, payer);
}
Integer payType = entity.getPayType();
if (payType != null) {
stmt.bindLong(13, payType);
}
String signature = entity.getSignature();
if (signature != null) {
stmt.bindString(14, signature);
}
List imgPath = entity.getImgPath();
if (imgPath != null) {
stmt.bindString(13, imgPathConverter.convertToDatabaseValue(imgPath));
stmt.bindString(15, imgPathConverter.convertToDatabaseValue(imgPath));
}
List imgPayerPath = entity.getImgPayerPath();
if (imgPayerPath != null) {
stmt.bindString(14, imgPayerPathConverter.convertToDatabaseValue(imgPayerPath));
stmt.bindString(16, imgPayerPathConverter.convertToDatabaseValue(imgPayerPath));
}
}
......@@ -234,8 +258,10 @@ public class OrderInfoDao extends AbstractDao<OrderInfo, Long> {
cursor.isNull(offset + 9) ? null : cursor.getString(offset + 9), // productModel
cursor.isNull(offset + 10) ? null : cursor.getString(offset + 10), // sn
cursor.isNull(offset + 11) ? null : cursor.getString(offset + 11), // payer
cursor.isNull(offset + 12) ? null : imgPathConverter.convertToEntityProperty(cursor.getString(offset + 12)), // imgPath
cursor.isNull(offset + 13) ? null : imgPayerPathConverter.convertToEntityProperty(cursor.getString(offset + 13)) // imgPayerPath
cursor.isNull(offset + 12) ? null : cursor.getInt(offset + 12), // payType
cursor.isNull(offset + 13) ? null : cursor.getString(offset + 13), // signature
cursor.isNull(offset + 14) ? null : imgPathConverter.convertToEntityProperty(cursor.getString(offset + 14)), // imgPath
cursor.isNull(offset + 15) ? null : imgPayerPathConverter.convertToEntityProperty(cursor.getString(offset + 15)) // imgPayerPath
);
return entity;
}
......@@ -254,8 +280,10 @@ public class OrderInfoDao extends AbstractDao<OrderInfo, Long> {
entity.setProductModel(cursor.isNull(offset + 9) ? null : cursor.getString(offset + 9));
entity.setSn(cursor.isNull(offset + 10) ? null : cursor.getString(offset + 10));
entity.setPayer(cursor.isNull(offset + 11) ? null : cursor.getString(offset + 11));
entity.setImgPath(cursor.isNull(offset + 12) ? null : imgPathConverter.convertToEntityProperty(cursor.getString(offset + 12)));
entity.setImgPayerPath(cursor.isNull(offset + 13) ? null : imgPayerPathConverter.convertToEntityProperty(cursor.getString(offset + 13)));
entity.setPayType(cursor.isNull(offset + 12) ? null : cursor.getInt(offset + 12));
entity.setSignature(cursor.isNull(offset + 13) ? null : cursor.getString(offset + 13));
entity.setImgPath(cursor.isNull(offset + 14) ? null : imgPathConverter.convertToEntityProperty(cursor.getString(offset + 14)));
entity.setImgPayerPath(cursor.isNull(offset + 15) ? null : imgPayerPathConverter.convertToEntityProperty(cursor.getString(offset + 15)));
}
@Override
......
......@@ -34,6 +34,10 @@ public interface MultipleProcessContract {
void showNoPayerDialog();
boolean getSelectPayer();
String getTotalMoney();
int getPayType();
}
abstract class Presenter extends BaseListPresenter<View> {
......
......@@ -2,6 +2,7 @@ package com.dayu.order.presenter.multipleprocess;
import android.databinding.ObservableField;
import android.os.Bundle;
import android.text.TextUtils;
import com.alibaba.android.arouter.launcher.ARouter;
import com.dayu.base.api.BaseApiFactory;
......@@ -73,6 +74,11 @@ public class MultipleProcessPresenter extends MultipleProcessContract.Presenter
ToastUtils.showShortToast(R.string.signature_name);
return;
}
String totalMoney = mView.getTotalMoney();
if ((mView.getPayType() == 1 || mView.getPayType() == 2) && (TextUtils.isEmpty(totalMoney) || Double.parseDouble(totalMoney) == 0.00)) {
ToastUtils.showShortToast(R.string.input_money);
return;
}
if (mView.getSelectPayer()) {
mView.showNoPayerDialog();
} else {
......@@ -189,16 +195,16 @@ public class MultipleProcessPresenter extends MultipleProcessContract.Presenter
} else if (2 == (detail.getRepairType())) {
mRepairType = UIUtils.getString(R.string.payer_baowai);
}
if (mOrderType!=1){
if (mOrderType != 1) {
mView.setRepairType();
}
mNeedEsignature = detail.getNeedEsignature();
if (mNeedEsignature != null && mNeedEsignature == 1) {
mView.showSignature();
}
Integer isPay = detail.getIsPay();
Integer payType = detail.getPayType();
Integer payState = detail.getPayStatus();
if ((isPay != null && isPay == 2) && (payState == 3 || payState == 2)) {
if ((payType != null && (payType == 1 || payType == 2)) && (payState == 3 || payState == 2)) {
mView.setPayStatus();
}
}));
......
......@@ -12,6 +12,7 @@ import com.dayu.common.BaseApplication;
import com.dayu.common.Constants;
import com.dayu.order.R;
import com.dayu.order.api.OrderApiFactory;
import com.dayu.order.api.protocol.Pic;
import com.dayu.order.api.protocol.Spu;
import com.dayu.order.common.OrderConstant;
import com.dayu.order.ui.activity.MultiProcessOrderActivity;
......@@ -148,6 +149,7 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
}
JSONObject jsonObject = new JSONObject(params);
RequestBody body = RequestBody.create(MediaType.parse("application/json"), jsonObject.toString());
mView.showDialog();
OrderApiFactory.processMultiOrder(body).subscribe(baseObserver(integer -> doNext()));
}
......@@ -276,9 +278,9 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
mBrandName.set(spu.getBrandName());
mSn.set(spu.getSn());
mInfo.set(spu.getCustomerCheckComment());
List<Spu.Pic> pics = spu.getListPic();
List<Pic> pics = spu.getListPic();
ArrayList<String> imges = new ArrayList<>();
for (Spu.Pic pic : pics) {
for (Pic pic : pics) {
imges.add(pic.getPictureUrl());
}
mView.initPhotoView(imges);
......
......@@ -21,6 +21,8 @@ public interface OrderDetailContract {
void initBtn();
void addFragment();
void setDatas(OrderDetail detail);
}
abstract class Presenter extends BasePresenter<View> {
......@@ -30,6 +32,8 @@ public interface OrderDetailContract {
*/
public abstract void getOrderDetailInfo(int orderId);
public abstract void getInfo();
public abstract int getOrderId();
}
......
......@@ -28,6 +28,13 @@ public class OrderDetailPresenter extends OrderDetailContract.Presenter {
}
@Override
public void getInfo() {
mView.showDialog();
OrderApiFactory.getOrderInfo(mOrderId).subscribe(baseObserver(
detail -> mView.setDatas(detail)));
}
@Override
public int getOrderId() {
return mOrderId;
}
......
package com.dayu.order.presenter.processorder;
import com.bigkoo.pickerview.listener.OnOptionsSelectListener;
import com.dayu.base.ui.presenter.BasePresenter;
import com.dayu.common.BaseView;
import com.dayu.widgets.listener.OnCloseListener;
import java.util.ArrayList;
import java.util.List;
......@@ -16,10 +14,8 @@ import java.util.List;
public interface ProcessOrderContract {
interface View extends BaseView {
/**
* 初始化+图片
*/
void initAddIv();
void showSignature();
/**
* 初始化图片.
......@@ -28,13 +24,6 @@ public interface ProcessOrderContract {
*/
void initPhotoView(ArrayList<String> list);
/**
* 初始化费用承担证明图片.
*
* @param list
*/
void initPayerPhotoView(ArrayList<String> list);
void clearData();
/**
......@@ -42,20 +31,15 @@ public interface ProcessOrderContract {
*/
void getData();
void showPayerDialog(List<String> cardItem, OnOptionsSelectListener listener);
/**
* 当订单不是ka派单时,不可修改.
*/
void setFoucesable();
ArrayList<String> getSnImages();
void showNoPayerDialog();
String getTotalMoney();
void showSelectPayerDialog(OnCloseListener listener);
Integer getPayType();
ArrayList<String> getSnImages();
void setPayBackGround(Integer payType);
String getTotalMoney();
void setSignature(String signature);
}
abstract class Presenter extends BasePresenter<View> {
......@@ -77,14 +61,13 @@ public interface ProcessOrderContract {
* @param productModel
* @param sn
* @param repairType
* @param picsCost
*/
public abstract void commitOrder(List<String> imageUrl, int orderId, String editText, int engineerId,
int isPay, String doorPrice, String doorPriceComment,
String servicePrice, String materialCost, String otherPrice,
String brandName, String productModel, String sn, int repairType, List<String> picsCost);
String brandName, String productModel, String sn, int repairType);
public abstract void commitPhoto(List<String> imageUrl, List<String> payerUrl);
public abstract void commitPhoto(List<String> imageUrl);
/**
* 保存订单.
......@@ -106,9 +89,5 @@ public interface ProcessOrderContract {
*/
public abstract void dumpToServerInstruction();
/**
* 显示费用承担方.
*/
public abstract void showPayerDialog();
}
}
package com.dayu.order.presenter.processorder;
import android.databinding.ObservableBoolean;
import android.databinding.ObservableField;
import android.os.Bundle;
import android.os.Environment;
import android.text.TextUtils;
import com.dayu.base.api.BaseApiFactory;
......@@ -16,11 +16,13 @@ import com.dayu.order.api.protocol.OrderDetail;
import com.dayu.order.greendao.GreenDaoManager;
import com.dayu.order.greendao.OrderInfoDao;
import com.dayu.order.sqlbean.OrderInfo;
import com.dayu.order.ui.activity.QrCodeActivity;
import com.dayu.order.ui.activity.ServerInstructionActivity;
import com.dayu.order.ui.activity.SopWebViewActivity;
import com.dayu.provider.event.OrderState;
import com.dayu.provider.event.RefreshTab;
import com.dayu.utils.ProgressUtil;
import com.dayu.utils.ToastUtils;
import com.dayu.utils.UIUtils;
import com.dayu.utils.UserManager;
import com.luck.picture.lib.tools.PictureFileUtils;
......@@ -53,8 +55,6 @@ public class ProcessOrderPresenter extends ProcessOrderContract.Presenter {
private int mAccountId;
private OrderInfoDao mOrderInfoDao;
private ArrayList<String> mImages = new ArrayList<>();
private ArrayList<String> mPayerImages = new ArrayList<>();
public ObservableBoolean buttonState = new ObservableBoolean(false);
public ObservableField<OrderInfo> mOrderField = new ObservableField<>();
public ObservableField<OrderDetail> mDetail = new ObservableField<>();
public ObservableField<String> mPayer = new ObservableField<>();
......@@ -66,6 +66,10 @@ public class ProcessOrderPresenter extends ProcessOrderContract.Presenter {
private int mAnyContacts;
private boolean isNative;//true 数据去本地.
private OrderDetail mOrderDetail;
private Integer mNeedEsignature;
private String mSignatureUrl;
public String mPath;
private String mSignaturePath;
@Override
public void onAttached() {
......@@ -95,9 +99,13 @@ public class ProcessOrderPresenter extends ProcessOrderContract.Presenter {
&& !TextUtils.isEmpty(mOrderInfo.getImgPath().get(0))) {
mImages.addAll(mOrderInfo.getImgPath());
}
if (mOrderInfo.getImgPayerPath() != null && mOrderInfo.getImgPayerPath().size() > 0
&& !TextUtils.isEmpty(mOrderInfo.getImgPayerPath().get(0))) {
mPayerImages.addAll(mOrderInfo.getImgPayerPath());
if (mOrderInfo.getSignature() != null) {
mSignaturePath = mOrderInfo.getSignature();
mView.setSignature(mOrderInfo.getSignature());
mView.setSignature(mSignaturePath);
}
if (mOrderInfo.getPayType() != null) {
mView.setPayBackGround(mOrderInfo.getPayType());
}
isNative = true;
} else {
......@@ -107,31 +115,18 @@ public class ProcessOrderPresenter extends ProcessOrderContract.Presenter {
isNative = false;
}
mOrderField.set(mOrderInfo);
if (mOrderInfo != null && TextUtils.isEmpty(mOrderInfo.getDoorPrice()) && TextUtils.isEmpty(mOrderInfo.getServerPrice())
&& TextUtils.isEmpty(mOrderInfo.getMaterialCost()) && TextUtils.isEmpty(mOrderInfo.getOtherPrice())) {
buttonState.set(false);
} else {
buttonState.set(true);
}
mView.initAddIv();
mView.initPhotoView(mImages);
mView.initPayerPhotoView(mPayerImages);
}
public void swtichButton() {
buttonState.set(!buttonState.get());
if (!buttonState.get()) {
mView.clearData();
}
MobclickAgent.onEvent(BaseApplication.getContext(), "get_customer_money");
mPath = Environment.getExternalStorageDirectory() + "/dayu/image/" + mOrderId + "signature.png";
}
@Override
public void getOrderInfo(int orderId) {
OrderApiFactory.queryOrderInfo(orderId).subscribe(baseObserver(detail -> {
mOrderDetail = detail;
if (!TextUtils.isEmpty(mOrderInfo.getSn())) {
mOrderDetail.setSn(mOrderInfo.getSn());
}
if (detail.getCreatedSource() != 3) {
mView.setFoucesable();
mOrderInfo.setPayer(detail.getRepairType() + "");
mOrderField.set(mOrderInfo);
}
......@@ -149,12 +144,17 @@ public class ProcessOrderPresenter extends ProcessOrderContract.Presenter {
mProductModel.set(detail.getProductModel());
mSN.set(detail.getSn());
}
mNeedEsignature = detail.getNeedEsignature();
if (mNeedEsignature != null && mNeedEsignature == 1) {
mView.showSignature();
}
}));
}
@Override
public void commitOrder(List<String> imageUrl, int orderId, String editText, int engineerId, int isPay, String doorPrice, String doorPriceComment, String servicePrice, String materialCost, String otherPrice,
String brandName, String productModel, String sn, int repairType, List<String> picsCost) {
String brandName, String productModel, String sn, int repairType) {
HashMap<String, Object> params = new HashMap<>();
params.put("customerCheckComment", editText);
params.put("doorPrice", doorPrice);
......@@ -171,8 +171,10 @@ public class ProcessOrderPresenter extends ProcessOrderContract.Presenter {
// params.put("categoryName")
// params.put("brandName", brandName);
// params.put("productModel", productModel);
// params.put("sn", sn);
params.put("sn", sn);
params.put("repairType", repairType);
params.put("esignatureImg", mSignatureUrl);
params.put("payType", mView.getPayType());
//照片上传
if (imageUrl != null) {
StringBuilder str = new StringBuilder();
......@@ -188,27 +190,6 @@ public class ProcessOrderPresenter extends ProcessOrderContract.Presenter {
} else {
params.put("pics", null);
}
if (picsCost != null) {
StringBuilder str = new StringBuilder();
for (int a = 0; a < picsCost.size(); a++) {
if (a == picsCost.size() - 1) {
str.append(picsCost.get(a));
} else {
str.append(picsCost.get(a));
str.append(",");
}
params.put("picsCost", str);
}
} else {
params.put("picsCost", null);
}
String totalMoney = mView.getTotalMoney();
if (!TextUtils.isEmpty(totalMoney) && Double.parseDouble(totalMoney) == 0.00 || TextUtils.isEmpty(totalMoney)) {
isPay = 1;
}
params.put("isPay", isPay);
JSONObject jsonObject = new JSONObject(params);
RequestBody body = RequestBody.create(MediaType.parse("application/json"), jsonObject.toString());
OrderApiFactory.commitOrder(body).subscribe(baseObserver(integer -> {
......@@ -223,39 +204,36 @@ public class ProcessOrderPresenter extends ProcessOrderContract.Presenter {
EventBus.getDefault().post(new OrderState(status, mPosition));
mOrderInfoDao.deleteByKey((long) orderId);
PictureFileUtils.deleteCacheDirFile(BaseApplication.getContext());
mView.dumpBack();
File file = new File(mPath);
if (file.exists()) {
file.delete();
}
mSignaturePath = null;
Bundle bundle = new Bundle();
bundle.putInt(Constants.TYPE, 1);
bundle.putInt(Constants.ORDER_ID, mDetail.get().getId());
mView.startActivity(QrCodeActivity.class, bundle);
}));
}
@Override
public void commitPhoto(List<String> imageUrl, List<String> payerUrl) {
public void commitPhoto(List<String> imageUrl) {
MultipartBody.Part[] parts;
if (imageUrl != null && imageUrl.size() > 0) {
parts = packPhoto(imageUrl);
BaseApiFactory.uploadPhoto(parts).subscribe(baseObserver(list -> {
if (payerUrl.size() > 0) {
MultipartBody.Part[] payerParts = packPhoto(payerUrl);
BaseApiFactory.uploadPhoto(payerParts).subscribe(baseObserver(
payerlist -> commitOrder(list, payerlist)));
} else {
commitOrder(list, null);
}
}));
BaseApiFactory.uploadPhoto(parts).subscribe(baseObserver(this::commitOrder));
} else {
parts = packPhoto(payerUrl);
BaseApiFactory.uploadPhoto(parts).subscribe(baseObserver(list ->
commitOrder(null, list)));
commitOrder(null);
}
}
private void commitOrder(List<String> list, List<String> payerList) {
private void commitOrder(List<String> list) {
mView.getData();
OrderInfo info = mOrderField.get();
commitOrder(list, mOrderId, info.getServerRecord(),
mAccountId, isPay, info.getDoorPrice(), info.getOtherInfo(),
info.getServerPrice(), info.getMaterialCost(), info.getOtherPrice(), info.getBrandName(), info.getProductModel(), info.getSn(), Integer.parseInt(info.getPayer()), payerList);
info.getServerPrice(), info.getMaterialCost(), info.getOtherPrice(), info.getBrandName(), info.getProductModel(), info.getSn(), Integer.parseInt(info.getPayer()));
mImages.clear();
mPayerImages.clear();
PictureFileUtils.deleteCacheDirFile(BaseApplication.getContext());
}
......@@ -283,9 +261,6 @@ public class ProcessOrderPresenter extends ProcessOrderContract.Presenter {
if (mImages != null && mImages.size() > 0) {
mOrderField.get().setImgPath(mImages);
}
if (mPayerImages != null && mPayerImages.size() > 0) {
mOrderField.get().setImgPayerPath(mPayerImages);
}
mOrderInfoDao.insertOrReplace(mOrderField.get());
mView.showToast(R.string.order_save_success);
mView.dumpBack();
......@@ -294,38 +269,47 @@ public class ProcessOrderPresenter extends ProcessOrderContract.Presenter {
@Override
public void submitOrder() {
ProgressUtil.setCanDismiss(false);
if (buttonState.get()) {
isPay = 2;
} else {
isPay = 1;
if (mNeedEsignature != null && mNeedEsignature == 1 && TextUtils.isEmpty(mSignaturePath)) {
ToastUtils.showShortToast(R.string.signature_name);
return;
}
String totalMoney = mView.getTotalMoney();
if ((mView.getPayType() == 1 || mView.getPayType() == 2) && (TextUtils.isEmpty(totalMoney) || Double.parseDouble(totalMoney) == 0.00)) {
ToastUtils.showShortToast(R.string.input_money);
return;
}
ProgressUtil.setCanDismiss(false);
mView.getData();
OrderInfo info = mOrderField.get();
if (mOrderDetail != null && mOrderDetail.getCreatedSource() == 3) {
if (TextUtils.isEmpty(info.getPayer())) {
mView.showNoPayerDialog();
return;
commiteSignature(info);
}
mView.showSelectPayerDialog((dialog, confirm) -> {
if (confirm) {
private void commiteSignature(OrderInfo info) {
if (mNeedEsignature != null && mNeedEsignature == 1) {
mView.showDialog();
File file = new File(mPath);
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
MultipartBody.Part part = MultipartBody.Part.createFormData("fileUpload", file.getName(), requestFile);
BaseApiFactory.uploadPhoto(part).subscribe(baseObserver(
urls -> {
mSignatureUrl = urls.get(0);
commite(info);
}
});
}));
} else {
commite(info);
}
}
private void commite(OrderInfo info) {
mImages.remove("add");
if (mImages.size() != 0) {
mView.showDialog();
if (mImages.size() != 0 || mPayerImages.size() != 0) {
mView.showDialog();
commitPhoto(mImages, mPayerImages);
commitPhoto(mImages);
} else {
mView.showDialog();
commitOrder(null, mOrderId, info.getServerRecord(),
mAccountId, isPay, info.getDoorPrice(), info.getOtherInfo(),
info.getServerPrice(), info.getMaterialCost(), info.getOtherPrice(), info.getBrandName(), info.getProductModel(), info.getSn(), Integer.parseInt(info.getPayer()), null);
info.getServerPrice(), info.getMaterialCost(), info.getOtherPrice(), info.getBrandName(), info.getProductModel(), info.getSn(), Integer.parseInt(info.getPayer()));
}
MobclickAgent.onEvent(BaseApplication.getContext(), "commite_order");
}
......@@ -347,18 +331,7 @@ public class ProcessOrderPresenter extends ProcessOrderContract.Presenter {
MobclickAgent.onEvent(BaseApplication.getContext(), "check_serverInstruction");
}
@Override
public void showPayerDialog() {
List<String> list = new ArrayList<>();
list.add(UIUtils.getString(R.string.payer_baonei));
list.add(UIUtils.getString(R.string.payer_baowai));
mView.showPayerDialog(list, (options1, options2, options3, v) -> {
mPayer.set(list.get(options1));
if (list.get(options1).equals(UIUtils.getString(R.string.payer_baonei))) {
mOrderInfo.setPayer("1");
} else {
mOrderInfo.setPayer("2");
}
});
public void setSignaturePath(String path) {
mSignaturePath = path;
}
}
......@@ -41,17 +41,20 @@ public class OrderInfo extends BaseObservable {
private String sn;
@Property(nameInDb = "payer")
private String payer;
@Property(nameInDb = "payType")
private Integer payType;
@Property(nameInDb = "signature")
private String signature;
@Convert(columnType = String.class, converter = StringConverter.class)
private List<String> imgPath;
@Convert(columnType = String.class, converter = StringConverter.class)
private List<String> imgPayerPath;
@Generated(hash = 1265702630)
@Generated(hash = 695442498)
public OrderInfo(long id, int engineerId, String serverRecord, String doorPrice,
String serverPrice, String materialCost, String otherPrice,
String otherInfo, String brandName, String productModel, String sn,
String payer, List<String> imgPath, List<String> imgPayerPath) {
String payer, Integer payType, String signature, List<String> imgPath,
List<String> imgPayerPath) {
this.id = id;
this.engineerId = engineerId;
this.serverRecord = serverRecord;
......@@ -64,125 +67,108 @@ public class OrderInfo extends BaseObservable {
this.productModel = productModel;
this.sn = sn;
this.payer = payer;
this.payType = payType;
this.signature = signature;
this.imgPath = imgPath;
this.imgPayerPath = imgPayerPath;
}
@Generated(hash = 1695813404)
public OrderInfo() {
}
public long getId() {
return this.id;
}
public void setId(long id) {
this.id = id;
}
public int getEngineerId() {
return this.engineerId;
}
public void setEngineerId(int engineerId) {
this.engineerId = engineerId;
}
public String getServerRecord() {
return this.serverRecord;
}
public void setServerRecord(String serverRecord) {
this.serverRecord = serverRecord;
}
public String getDoorPrice() {
return this.doorPrice;
}
public void setDoorPrice(String doorPrice) {
this.doorPrice = doorPrice;
}
public String getServerPrice() {
return this.serverPrice;
}
public void setServerPrice(String serverPrice) {
this.serverPrice = serverPrice;
}
public String getMaterialCost() {
return this.materialCost;
}
public void setMaterialCost(String materialCost) {
this.materialCost = materialCost;
}
public String getOtherPrice() {
return this.otherPrice;
}
public void setOtherPrice(String otherPrice) {
this.otherPrice = otherPrice;
}
public String getOtherInfo() {
return this.otherInfo;
}
public void setOtherInfo(String otherInfo) {
this.otherInfo = otherInfo;
}
public List<String> getImgPath() {
return this.imgPath;
}
public void setImgPath(List<String> imgPath) {
this.imgPath = imgPath;
}
public String getBrandName() {
return brandName;
return this.brandName;
}
public void setBrandName(String brandName) {
this.brandName = brandName;
}
public String getProductModel() {
return productModel;
return this.productModel;
}
public void setProductModel(String productModel) {
this.productModel = productModel;
}
public String getSn() {
return sn;
return this.sn;
}
public void setSn(String sn) {
this.sn = sn;
}
public String getPayer() {
return payer;
return this.payer;
}
public void setPayer(String payer) {
this.payer = payer;
}
public Integer getPayType() {
return this.payType;
}
public void setPayType(Integer payType) {
this.payType = payType;
}
public List<String> getImgPath() {
return this.imgPath;
}
public void setImgPath(List<String> imgPath) {
this.imgPath = imgPath;
}
public List<String> getImgPayerPath() {
return imgPayerPath;
return this.imgPayerPath;
}
public void setImgPayerPath(List<String> imgPayerPath) {
this.imgPayerPath = imgPayerPath;
}
public String getSignature() {
return this.signature;
}
public void setSignature(String signature) {
this.signature = signature;
}
}
......@@ -2,21 +2,18 @@ package com.dayu.order.ui.activity;
import android.content.Intent;
import android.os.Environment;
import android.view.LayoutInflater;
import android.support.v7.widget.GridLayoutManager;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.base.ui.adapter.PhotoViewAdapter;
import com.dayu.base.ui.adapter.SpacesItemDecoration;
import com.dayu.common.Constants;
import com.dayu.order.R;
import com.dayu.order.databinding.ActivityMultiProcessOrderBinding;
import com.dayu.order.presenter.multiprocessorder.MultiProcessOrderContract;
import com.dayu.order.presenter.multiprocessorder.MultiProcessOrderPresenter;
import com.dayu.utils.GlideImageLoader;
import com.dayu.utils.UtilsScreen;
import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;
import com.luck.picture.lib.PictureSelectionModel;
......@@ -37,12 +34,10 @@ import java.util.List;
public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPresenter, ActivityMultiProcessOrderBinding>
implements MultiProcessOrderContract.View {
private int mIvWeight;
private ImageView mAddIV;
private List<LocalMedia> mSelectList;
private ArrayList<String> mImages = new ArrayList<>();
private ArrayList<String> mSnImages = new ArrayList<>();
private int mPhotoState;//1.服务照片2.sn照片
private PhotoViewAdapter mAdapter;
@Override
public int getLayoutId() {
......@@ -52,12 +47,6 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre
@Override
public void initView() {
mSelectList = new ArrayList<>();
mAddIV.setOnClickListener(v -> {
mPhotoState = 1;
showPicDialog();
});
mBind.ivSn.setOnClickListener(v -> {
if (mSnImages.size() > 0) {
dumpPic(mSnImages);
......@@ -82,19 +71,19 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre
@Override
public void initAddIv() {
mIvWeight = (UtilsScreen.getScreenWidth(mActivity) - UtilsScreen.dip2px(mActivity, 20)) / 5;
mAddIV = new ImageView(mActivity);
mAddIV.setLayoutParams(new ViewGroup.LayoutParams(mIvWeight, mIvWeight));
mAddIV.setImageResource(R.drawable.icon_submit_photo);
}
public void showPicDialog() {
int size;
if (mPhotoState == 1) {
size = 5 - mImages.size();
} else {
size = 1 - mSnImages.size();
private void initPhotoView() {
mBind.photo.addItemDecoration(new SpacesItemDecoration(10));
mBind.photo.setLayoutManager(new GridLayoutManager(mActivity, 5));
mAdapter = new PhotoViewAdapter(mImages, mActivity);
mBind.photo.setAdapter(mAdapter);
mAdapter.setData(mImages);
}
public void showPicDialog() {
int size = 1 - mSnImages.size();
PictureSelectionModel selector = PictureSelector.create(mActivity)
.openGallery(PictureMimeType.ofImage())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
.maxSelectNum(size)// 最大图片选择数量 int
......@@ -134,8 +123,14 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre
*/
@Override
public void initPhotoView(ArrayList<String> list) {
if (mAdapter == null) {
initPhotoView();
}
mImages = list;
initPhoto(list, mBind.llImage, mAddIV);
if (mImages.size() < 10) {
mImages.add("add");
}
mAdapter.setData(mImages);
}
@Override
......@@ -145,31 +140,6 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre
mSnImages.add(url);
}
public void initPhoto(ArrayList<String> list, LinearLayout layout, ImageView mAdd) {
layout.removeAllViews();
for (int i = 0; i < list.size(); i++) {
View view = LayoutInflater.from(mActivity).inflate(R.layout.item_picture_select, null);
view.setLayoutParams(new RelativeLayout.LayoutParams(mIvWeight, mIvWeight));
view.setPadding(0, 0, 10, 0);
ImageView ivDelete = view.findViewById(R.id.iv_picture_delete);
ImageView imageView = view.findViewById(R.id.iv_picture);
String path = list.get(i);
GlideImageLoader.load(mActivity, path, imageView);
imageView.setOnClickListener(v -> dumpPic(list));
ivDelete.setOnClickListener(v -> {
if (list.size() == 5) {
layout.addView(mAdd);
}
layout.removeView(view);
list.remove(path);
});
layout.addView(view);
}
if (list.size() < 5) {
layout.addView(mAdd);
}
}
private void dumpPic(ArrayList<String> list) {
Intent intent = new Intent(this, PreviewActivty.class);
intent.putStringArrayListExtra(Constants.BUNDLE_KEY_ID, list);
......@@ -192,18 +162,21 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre
if (resultCode == RESULT_OK) {
switch (requestCode) {
case PictureConfig.CHOOSE_REQUEST:
mSelectList = PictureSelector.obtainMultipleResult(data);
if (mSelectList != null) {
for (int a = 0; a < mSelectList.size(); a++) {
if (mPhotoState == 1) {
mImages.add(mSelectList.get(a).getCompressPath());
} else {
mSnImages.add(mSelectList.get(a).getCompressPath());
List<LocalMedia> selectList = PictureSelector.obtainMultipleResult(data);
if (selectList != null && selectList.size() > 0) {
if (mPhotoState == 0) {
mImages.remove("add");
for (int a = 0; a < selectList.size(); a++) {
mImages.add(selectList.get(a).getCompressPath());
}
if (mImages.size() < 10) {
mImages.add("add");
}
if (mPhotoState == 1) {
initPhotoView(mImages);
mAdapter.setData(mImages);
} else {
for (int a = 0; a < selectList.size(); a++) {
mSnImages.add(selectList.get(a).getCompressPath());
}
GlideImageLoader.load(mActivity, mSnImages.get(0), mBind.ivSn);
mBind.ivDelete.setVisibility(View.VISIBLE);
}
......@@ -211,10 +184,12 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre
break;
}
}
mPhotoState = 0;
}
@Override
public List<String> getImages() {
mImages.remove("add");
return mImages;
}
......
......@@ -4,12 +4,12 @@ import android.content.Intent;
import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Environment;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.text.Editable;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
......@@ -19,23 +19,19 @@ import android.widget.TextView;
import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
import com.bigkoo.pickerview.view.OptionsPickerView;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.common.Constants;
import com.dayu.base.ui.adapter.PhotoViewAdapter;
import com.dayu.base.ui.adapter.SpacesItemDecoration;
import com.dayu.common.MyTextWatcher;
import com.dayu.order.R;
import com.dayu.order.databinding.ActivityMultipleProcessBinding;
import com.dayu.order.presenter.multipleprocess.MultipleProcessContract;
import com.dayu.order.presenter.multipleprocess.MultipleProcessPresenter;
import com.dayu.utils.GlideImageLoader;
import com.dayu.utils.ToastUtils;
import com.dayu.utils.UIUtils;
import com.dayu.utils.UtilsScreen;
import com.dayu.widgets.CustomDialog;
import com.dayu.widgets.SwitchImage;
import com.dayu.widgets.listener.OnCloseListener;
import com.luck.picture.lib.PictureSelectionModel;
import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.config.PictureMimeType;
import com.luck.picture.lib.entity.LocalMedia;
import java.io.File;
......@@ -55,11 +51,7 @@ public class MultipleProcessActivity extends BaseActivity<MultipleProcessPresent
private EditText mMaterialsPrice;
private EditText mOtherPrice;
private EditText mDoorInfo;
private int isPay = 1;
private TextView mRepairType;
private int mIvWeight;
private ImageView mPayerAddIV;
private LinearLayout mLPayer;
private ArrayList<String> mPayerImages = new ArrayList<>();
private List<LocalMedia> mSelectList;
private ImageView mArrow;
......@@ -69,9 +61,14 @@ public class MultipleProcessActivity extends BaseActivity<MultipleProcessPresent
private TextView mIcon;
private LinearLayout mSignature;
private boolean isShowSignature;
private SwitchImage swtich;
private boolean canPay;
private TextView mTotalMoney;
private TextView mCashPay;
private TextView mWechatPay;
private TextView mNoPay;
private int mPayType =3;
private PhotoViewAdapter mAdapter;
private RecyclerView mPhoto;
@Override
public void setPresenter() {
......@@ -86,7 +83,6 @@ public class MultipleProcessActivity extends BaseActivity<MultipleProcessPresent
@Override
public void initView() {
mBind.tvTitle.setText(getString(R.string.submit_order));
mIvWeight = (UtilsScreen.getScreenWidth(mActivity) - UtilsScreen.dip2px(mActivity, 20)) / 5;
mBind.recyclerView.mCoreAdapter.addFooterViewType(R.layout.item_multi_process_foot, null);
View view = LayoutInflater.from(mActivity).inflate(R.layout.item_multi_process_foot, null);
mBind.recyclerView.mCoreAdapter.addFootViwe(view, R.layout.item_multi_process_foot);
......@@ -94,7 +90,6 @@ public class MultipleProcessActivity extends BaseActivity<MultipleProcessPresent
}
public void initFootView(View view) {
swtich = view.findViewById(R.id.iv_switch);
RelativeLayout rlPay = view.findViewById(R.id.rl_pay);
mSignature = view.findViewById(R.id.rl_signature);
mDoorPrice = view.findViewById(R.id.et_door_price);
......@@ -109,34 +104,38 @@ public class MultipleProcessActivity extends BaseActivity<MultipleProcessPresent
mAllSignature = view.findViewById(R.id.rl_signature_all);
mIvSignature = view.findViewById(R.id.iv_signature);
mIcon = view.findViewById(R.id.tv_icon);
mNoPay = view.findViewById(R.id.no_pay);
mWechatPay = view.findViewById(R.id.wechat_pay);
mCashPay = view.findViewById(R.id.cash_pay);
mPhoto = view.findViewById(R.id.photo);
swtich.setOnClickListener(v -> {
mNoPay.setOnClickListener(v -> {
mPayType = 3;
clearData();
rlPay.setVisibility(View.GONE);
setBackGround(mNoPay);
});
mWechatPay.setOnClickListener(v -> {
if (canPay) {
ToastUtils.showShortToast(getString(R.string.can_not_repet_get_money));
} else {
if (swtich.getSwitchButton()) {
swtich.setSwitchButton(false);
rlPay.setVisibility(View.GONE);
clearData();
isPay = 1;
} else {
swtich.setSwitchButton(true);
mPayType = 1;
rlPay.setVisibility(View.VISIBLE);
mBind.recyclerView.scrollBottom();
isPay = 2;
setBackGround(mWechatPay);
}
});
mCashPay.setOnClickListener(v -> {
if (canPay) {
ToastUtils.showShortToast(getString(R.string.can_not_repet_get_money));
} else {
mPayType = 2;
rlPay.setVisibility(View.VISIBLE);
setBackGround(mCashPay);
}
});
if (mPresenter.getOrderType() == 1) {
mLPayer = view.findViewById(R.id.ll_player_image);
mPayerAddIV = new ImageView(mActivity);
mPayerAddIV.setLayoutParams(new ViewGroup.LayoutParams(mIvWeight, mIvWeight));
mPayerAddIV.setImageResource(R.drawable.icon_submit_photo);
mLPayer.removeAllViews();
mLPayer.addView(mPayerAddIV);
mPayerAddIV.setOnClickListener(v -> showPicDialog());
initPhotoView();
mRepairType.setOnClickListener(v -> showPayerDialog());
} else {
setRepairType();
......@@ -150,6 +149,17 @@ public class MultipleProcessActivity extends BaseActivity<MultipleProcessPresent
initTotal();
}
private void setBackGround(TextView tv) {
mNoPay.setBackgroundResource(R.drawable.grey_commom);
mCashPay.setBackgroundResource(R.drawable.grey_commom);
mWechatPay.setBackgroundResource(R.drawable.grey_commom);
mNoPay.setTextColor(getResources().getColor(R.color.cl_tab_init));
mCashPay.setTextColor(getResources().getColor(R.color.cl_tab_init));
mWechatPay.setTextColor(getResources().getColor(R.color.cl_tab_init));
tv.setBackgroundResource(R.drawable.blue_commom);
tv.setTextColor(getResources().getColor(R.color.white));
}
private void initTotal() {
mDoorPrice.addTextChangedListener(new MyTextWatcher() {
@Override
......@@ -221,84 +231,28 @@ public class MultipleProcessActivity extends BaseActivity<MultipleProcessPresent
} else {
repairType = 2;
}
String totalMoney = mTotalMoney.getText().toString().trim();
if (!TextUtils.isEmpty(totalMoney) && Double.parseDouble(totalMoney) == 0.00 || TextUtils.isEmpty(totalMoney)) {
isPay = 1;
}
params.put("repairType", repairType);
params.put("isPay", isPay);
params.put("payType", mPayType);
return params;
}
private String getPath() {
String path = Environment.getExternalStorageDirectory() + "/dayu/image/";
File file = new File(path);
if (file.mkdirs()) {
return path;
}
return path;
}
public void showPicDialog() {
int size = 5 - mPayerImages.size();
PictureSelectionModel selector = PictureSelector.create(mActivity)
.openGallery(PictureMimeType.ofImage())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
.maxSelectNum(size)// 最大图片选择数量 int
.imageSpanCount(4)// 每行显示个数 int
.selectionMode(PictureConfig.MULTIPLE)// 多选 or 单选 PictureConfig.MULTIPLE or PictureConfig.SINGLE
.previewImage(true)// 是否可预览图片 true or false
.isCamera(true)// 是否显示拍照按钮 true or false
.isZoomAnim(true)// 图片列表点击 缩放效果 默认true
.sizeMultiplier(0.1f)// glide 加载图片大小 0~1之间 如设置 .glideOverride()无效
.setOutputCameraPath("/CustomPath")// 自定义拍、照保存路径,可不填
.compress(true)// 是否压缩 true or false
.glideOverride(300, 500)// int glide 加载宽高,越小图片列表越流畅,但会影响列表图片浏览的清晰度
.hideBottomControls(true)// 是否显示uCrop工具栏,默认不显示 true or false
.compressSavePath(getPath())//压缩图片保存地址
.previewEggs(true)// 预览图片时 是否增强左右滑动图片体验(图片滑动一半即可看到上一张是否选中) true or false
// .minimumCompressSize(100)// 小于100kb的图片不压缩
.synOrAsy(true);//同步true或异步false 压缩 默认同步、
// .enableCrop(true)//是否裁剪
// .freeStyleCropEnabled(true)
selector.forResult(PictureConfig.CHOOSE_REQUEST);
}
@Override
public void initPayerPhotoView(ArrayList<String> list) {
list.remove("add");
mPayerImages = list;
initPhoto(list, mLPayer, mPayerAddIV);
}
public void initPhoto(ArrayList<String> list, LinearLayout layout, ImageView mAdd) {
layout.removeAllViews();
for (int i = 0; i < list.size(); i++) {
View view = LayoutInflater.from(mActivity).inflate(R.layout.item_picture_select, null);
view.setLayoutParams(new RelativeLayout.LayoutParams(mIvWeight, mIvWeight));
view.setPadding(0, 0, 10, 0);
ImageView ivDelete = view.findViewById(R.id.iv_picture_delete);
ImageView imageView = view.findViewById(R.id.iv_picture);
String path = list.get(i);
GlideImageLoader.load(mActivity, path, imageView);
imageView.setOnClickListener(v -> dumpPic(list));
ivDelete.setOnClickListener(v -> {
if (list.size() == 5) {
layout.addView(mAdd);
}
layout.removeView(view);
list.remove(path);
});
layout.addView(view);
}
if (list.size() < 5) {
layout.addView(mAdd);
if (mPayerImages.size() < 10) {
mPayerImages.add("add");
}
mAdapter.setData(mPayerImages);
}
private void dumpPic(ArrayList<String> list) {
Intent intent = new Intent(this, PreviewActivty.class);
intent.putStringArrayListExtra(Constants.BUNDLE_KEY_ID, list);
int DELETECODE = 0;
startActivityForResult(intent, DELETECODE);
public void initPhotoView() {
mPhoto.addItemDecoration(new SpacesItemDecoration(10));
mPhoto.setLayoutManager(new GridLayoutManager(mActivity, 5));
mAdapter = new PhotoViewAdapter(mPayerImages, mActivity);
mPhoto.setAdapter(mAdapter);
mAdapter.setData(mPayerImages);
initPayerPhotoView(mPayerImages);
}
@Override
......@@ -317,6 +271,7 @@ public class MultipleProcessActivity extends BaseActivity<MultipleProcessPresent
@Override
public ArrayList<String> getImages() {
mPayerImages.remove("add");
return mPayerImages;
}
......@@ -331,9 +286,6 @@ public class MultipleProcessActivity extends BaseActivity<MultipleProcessPresent
@Override
public void setPayStatus() {
canPay = true;
swtich.setOnClickListener(v -> {
ToastUtils.showShortToast(getString(R.string.can_not_repet_get_money));
});
}
@Override
......@@ -352,6 +304,16 @@ public class MultipleProcessActivity extends BaseActivity<MultipleProcessPresent
}
@Override
public String getTotalMoney() {
return mTotalMoney.getText().toString().trim();
}
@Override
public int getPayType() {
return mPayType;
}
@Override
public void showSelectPayerDialog(OnCloseListener listener) {
CustomDialog customDialog = new CustomDialog(mActivity, R.style.CustomDialog, getString(R.string.payer_select_content)
, listener);
......@@ -369,12 +331,14 @@ public class MultipleProcessActivity extends BaseActivity<MultipleProcessPresent
switch (requestCode) {
case PictureConfig.CHOOSE_REQUEST:
mSelectList = PictureSelector.obtainMultipleResult(data);
if (mSelectList != null) {
mPayerImages.remove("add");
for (int a = 0; a < mSelectList.size(); a++) {
mPayerImages.add(mSelectList.get(a).getCompressPath());
}
initPayerPhotoView(mPayerImages);
if (mPayerImages.size() < 10) {
mPayerImages.add("add");
}
mAdapter.setData(mPayerImages);
break;
}
} else if (resultCode == 100) {
......
......@@ -16,9 +16,14 @@ import com.dayu.order.ui.fragment.MultiOrderDetailFragment;
import com.dayu.order.ui.fragment.OrderDetaillsFragment;
import com.dayu.order.ui.fragment.OrderDetailsServeFragment;
import com.dayu.order.ui.fragment.OrderPartFragment;
import com.dayu.provider.event.RefreshDetailEvent;
import com.dayu.provider.router.RouterPath;
import com.umeng.analytics.MobclickAgent;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.util.ArrayList;
/**
......@@ -44,6 +49,7 @@ public class OrderDetailsActivity extends BaseActivity<OrderDetailPresenter, Act
@Override
public void initView() {
EventBus.getDefault().register(this);
}
@Override
......@@ -68,9 +74,9 @@ public class OrderDetailsActivity extends BaseActivity<OrderDetailPresenter, Act
mBind.titleBack.setOnClickListener(v -> dumpBack());
mBind.btnDetail.setVisibility(View.VISIBLE);
mBind.btnServer.setVisibility(View.VISIBLE);
if (detail.getCreatedSource() ==1) {
if (detail.getCreatedSource() == 1) {
mBind.btnServer.setBackgroundResource(R.drawable.detail_end_selector);
}else {
} else {
mBind.btnPart.setVisibility(View.VISIBLE);
}
initBtn();
......@@ -145,4 +151,14 @@ public class OrderDetailsActivity extends BaseActivity<OrderDetailPresenter, Act
super.onPause();
MobclickAgent.onPause(this);
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void swtichfragment(RefreshDetailEvent event) {
mPresenter.getInfo();
}
@Override
public void setDatas(OrderDetail detail) {
orderDatailsFragment.setDatas(detail);
}
}
\ No newline at end of file
package com.dayu.order.ui.activity;
import android.content.Intent;
import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Environment;
import android.support.v7.widget.GridLayoutManager;
import android.text.Editable;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
import com.bigkoo.pickerview.listener.OnOptionsSelectListener;
import com.bigkoo.pickerview.view.OptionsPickerView;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.base.ui.adapter.PhotoViewAdapter;
import com.dayu.base.ui.adapter.SpacesItemDecoration;
import com.dayu.common.Constants;
import com.dayu.common.MyTextWatcher;
import com.dayu.order.R;
import com.dayu.order.common.OrderConstant;
import com.dayu.order.databinding.ActivityProcessOrderBinding;
import com.dayu.order.presenter.processorder.ProcessOrderContract;
import com.dayu.order.presenter.processorder.ProcessOrderPresenter;
import com.dayu.order.sqlbean.OrderInfo;
import com.dayu.utils.GlideImageLoader;
import com.dayu.utils.UIUtils;
import com.dayu.utils.UtilsScreen;
import com.dayu.widgets.CustomDialog;
import com.dayu.widgets.listener.OnCloseListener;
import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;
import com.luck.picture.lib.PictureSelectionModel;
import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.config.PictureConfig;
......@@ -45,32 +43,23 @@ import java.util.List;
*/
public class ProcessOrderActivity extends BaseActivity<ProcessOrderPresenter, ActivityProcessOrderBinding>
implements ProcessOrderContract.View {
private int mIvWeight;
private ImageView mAddIV;
private ImageView mPayerAddIV;
private List<LocalMedia> mSelectList;
private ArrayList<String> mImages = new ArrayList<>();
private ArrayList<String> mPayerImages = new ArrayList<>();
private ArrayList<String> mSnImages = new ArrayList<>();
private int mPhotoState = 0; //0:payer
private int mPhotoState = 0;
private boolean isShowSignature;
private Integer mPayType = 3;
private String mSignaturePath;
private PhotoViewAdapter mAdapter;
@Override
public int getLayoutId() {
return R.layout.activity_process_order;
}
@Override
public void initView() {
mSelectList = new ArrayList<>();
mAddIV.setOnClickListener(v -> {
mPhotoState = 1;
showPicDialog();
});
mPayerAddIV.setOnClickListener(v -> {
mPhotoState = 0;
showPicDialog();
});
mBind.ivSn.setOnClickListener(v -> {
if (mSnImages.size() > 0) {
dumpPic(mSnImages);
......@@ -84,7 +73,44 @@ public class ProcessOrderActivity extends BaseActivity<ProcessOrderPresenter, Ac
mBind.ivDelete.setVisibility(View.GONE);
mSnImages.clear();
});
mBind.rlSignature.setOnClickListener(v -> {
Intent intent = new Intent(mActivity, SignatureActivity.class);
intent.putExtra(OrderConstant.PATH, mPresenter.mPath);
mActivity.startActivityForResult(intent, 100);
});
if (isShowSignature) {
mBind.rlSignatureAll.setVisibility(View.VISIBLE);
}
mBind.noPay.setOnClickListener(v -> {
mPayType = 3;
clearData();
mBind.rlPay.setVisibility(View.GONE);
setBackGround(mBind.noPay);
});
mBind.wechatPay.setOnClickListener(v -> {
mPayType = 1;
mBind.rlPay.setVisibility(View.VISIBLE);
setBackGround(mBind.wechatPay);
});
mBind.cashPay.setOnClickListener(v -> {
mPayType = 2;
mBind.rlPay.setVisibility(View.VISIBLE);
setBackGround(mBind.cashPay);
});
initTotal();
mBind.scan.setOnClickListener(v ->
new IntentIntegrator(this).setOrientationLocked(false).setCaptureActivity(CustomScannerActivity.class).initiateScan());
}
private void setBackGround(TextView tv) {
mBind.noPay.setBackgroundResource(R.drawable.grey_commom);
mBind.cashPay.setBackgroundResource(R.drawable.grey_commom);
mBind.wechatPay.setBackgroundResource(R.drawable.grey_commom);
mBind.noPay.setTextColor(getResources().getColor(R.color.cl_tab_init));
mBind.cashPay.setTextColor(getResources().getColor(R.color.cl_tab_init));
mBind.wechatPay.setTextColor(getResources().getColor(R.color.cl_tab_init));
tv.setBackgroundResource(R.drawable.blue_commom);
tv.setTextColor(getResources().getColor(R.color.white));
}
private void initTotal() {
......@@ -135,28 +161,15 @@ public class ProcessOrderActivity extends BaseActivity<ProcessOrderPresenter, Ac
}
@Override
public void initAddIv() {
mIvWeight = (UtilsScreen.getScreenWidth(mActivity) - UtilsScreen.dip2px(mActivity, 20)) / 5;
mAddIV = new ImageView(mActivity);
mAddIV.setLayoutParams(new ViewGroup.LayoutParams(mIvWeight, mIvWeight));
mAddIV.setImageResource(R.drawable.icon_submit_photo);
mPayerAddIV = new ImageView(mActivity);
mPayerAddIV.setLayoutParams(new ViewGroup.LayoutParams(mIvWeight, mIvWeight));
mPayerAddIV.setImageResource(R.drawable.icon_submit_photo);
mBind.llPlayerImage.removeAllViews();
mBind.llPlayerImage.addView(mPayerAddIV);
public void showSignature() {
if (mBind.rlSignatureAll != null) {
mBind.rlSignatureAll.setVisibility(View.VISIBLE);
}
isShowSignature = true;
}
public void showPicDialog() {
int size;
if (mPhotoState == 0) {
size = 5 - mPayerImages.size();
} else if (mPhotoState == 1) {
size = 5 - mImages.size();
} else {
size = 1 - mSnImages.size();
}
int size = 1 - mSnImages.size();
PictureSelectionModel selector = PictureSelector.create(mActivity)
.openGallery(PictureMimeType.ofImage())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
.maxSelectNum(size)// 最大图片选择数量 int
......@@ -190,45 +203,29 @@ public class ProcessOrderActivity extends BaseActivity<ProcessOrderPresenter, Ac
return path;
}
/**
* 图片列表显示.
*/
@Override
public void initPhotoView(ArrayList<String> list) {
if (mAdapter == null) {
initPhotoView();
}
list.remove("add");
mImages = list;
initPhoto(list, mBind.llImage, mAddIV);
if (mImages.size() < 10) {
mImages.add("add");
}
@Override
public void initPayerPhotoView(ArrayList<String> list) {
mPayerImages = list;
initPhoto(list, mBind.llPlayerImage, mPayerAddIV);
mAdapter.setData(mImages);
}
public void initPhoto(ArrayList<String> list, LinearLayout layout, ImageView mAdd) {
layout.removeAllViews();
for (int i = 0; i < list.size(); i++) {
View view = LayoutInflater.from(mActivity).inflate(R.layout.item_picture_select, null);
view.setLayoutParams(new RelativeLayout.LayoutParams(mIvWeight, mIvWeight));
view.setPadding(0, 0, 10, 0);
ImageView ivDelete = view.findViewById(R.id.iv_picture_delete);
ImageView imageView = view.findViewById(R.id.iv_picture);
String path = list.get(i);
GlideImageLoader.load(mActivity, path, imageView);
imageView.setOnClickListener(v -> dumpPic(list));
ivDelete.setOnClickListener(v -> {
if (list.size() == 5) {
layout.addView(mAdd);
}
layout.removeView(view);
list.remove(path);
});
layout.addView(view);
}
if (list.size() < 5) {
layout.addView(mAdd);
}
public void initPhotoView() {
mBind.photo.addItemDecoration(new SpacesItemDecoration(10));
mBind.photo.setLayoutManager(new GridLayoutManager(mActivity, 5));
mAdapter = new PhotoViewAdapter(mImages, mActivity);
mBind.photo.setAdapter(mAdapter);
mAdapter.setData(mImages);
}
@Override
......@@ -252,6 +249,9 @@ public class ProcessOrderActivity extends BaseActivity<ProcessOrderPresenter, Ac
info.setBrandName(mBind.tvBrand.getText().toString());
info.setProductModel(mBind.etVersion.getText().toString());
info.setSn(mBind.etSerialNum.getText().toString());
info.setPayType(mPayType);
info.setSignature(mSignaturePath);
info.setSn(mBind.etSerialNum.getText().toString().trim());
mPresenter.mOrderField.set(info);
}
......@@ -263,52 +263,57 @@ public class ProcessOrderActivity extends BaseActivity<ProcessOrderPresenter, Ac
}
@Override
public void showPayerDialog(List<String> cardItem, OnOptionsSelectListener listener) {
//条件选择器
OptionsPickerView pvOptions = new OptionsPickerBuilder(this, listener)
.setContentTextSize(20)
.setLineSpacingMultiplier(2.0f)
.build();
pvOptions.setPicker(cardItem);
pvOptions.show();
public ArrayList<String> getSnImages() {
return mSnImages;
}
@Override
public void setFoucesable() {
mBind.ivPayer.setVisibility(View.GONE);
mBind.tvPayer.setClickable(false);
mBind.rlPalyerProve.setVisibility(View.GONE);
public String getTotalMoney() {
return mBind.tvTotalMoney.getText().toString().trim();
}
@Override
public void showNoPayerDialog() {
CustomDialog customDialog = new CustomDialog(mActivity, R.style.CustomDialog, getString(R.string.payer_dialog_content)
, (dialog, confirm) -> dialog.dismiss());
customDialog.setTitle(getString(R.string.payer_dialog_title))
.setPositiveButton(getString(R.string.comfirm))
.setOneButton(true);
customDialog.show();
public Integer getPayType() {
return mPayType;
}
@Override
public void showSelectPayerDialog(OnCloseListener listener) {
CustomDialog customDialog = new CustomDialog(mActivity, R.style.CustomDialog, getString(R.string.payer_select_content)
, listener);
customDialog.setTitle(getString(R.string.payer_select_title))
.setNegativeButton(getString(R.string.cancle))
.setPositiveButton(getString(R.string.submit))
.setPositiveButtonColor(UIUtils.getColor(R.color.common_red));
customDialog.show();
public void setPayBackGround(Integer payType) {
mPayType = payType;
mBind.noPay.setBackgroundResource(R.drawable.grey_commom);
mBind.cashPay.setBackgroundResource(R.drawable.grey_commom);
mBind.wechatPay.setBackgroundResource(R.drawable.grey_commom);
mBind.noPay.setTextColor(getResources().getColor(R.color.cl_tab_init));
mBind.cashPay.setTextColor(getResources().getColor(R.color.cl_tab_init));
mBind.wechatPay.setTextColor(getResources().getColor(R.color.cl_tab_init));
if (payType == 1) {
mBind.wechatPay.setBackgroundResource(R.drawable.blue_commom);
mBind.wechatPay.setTextColor(getResources().getColor(R.color.white));
mBind.rlPay.setVisibility(View.VISIBLE);
} else if (payType == 2) {
mBind.cashPay.setBackgroundResource(R.drawable.blue_commom);
mBind.cashPay.setTextColor(getResources().getColor(R.color.white));
mBind.rlPay.setVisibility(View.VISIBLE);
} else {
mBind.noPay.setBackgroundResource(R.drawable.blue_commom);
mBind.noPay.setTextColor(getResources().getColor(R.color.white));
mBind.rlPay.setVisibility(View.GONE);
}
@Override
public ArrayList<String> getSnImages() {
return mSnImages;
}
@Override
public String getTotalMoney() {
return mBind.tvTotalMoney.getText().toString().trim();
public void setSignature(String signature) {
if (TextUtils.isEmpty(signature)) {
return;
}
mSignaturePath = signature;
mBind.tvIcon.setVisibility(View.GONE);
mBind.ivSignature.setVisibility(View.VISIBLE);
mBind.rlSignature.setClickable(false);
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 2;
Bitmap bm = BitmapFactory.decodeFile(signature, options);
mBind.ivSignature.setImageBitmap(bm);
}
@Override
......@@ -318,29 +323,47 @@ public class ProcessOrderActivity extends BaseActivity<ProcessOrderPresenter, Ac
switch (requestCode) {
case PictureConfig.CHOOSE_REQUEST:
mSelectList = PictureSelector.obtainMultipleResult(data);
if (mSelectList != null) {
for (int a = 0; a < mSelectList.size(); a++) {
if (mSelectList != null && mSelectList.size() > 0) {
if (mPhotoState == 0) {
mPayerImages.add(mSelectList.get(a).getCompressPath());
} else if (mPhotoState == 1) {
mImages.remove("add");
for (int a = 0; a < mSelectList.size(); a++) {
mImages.add(mSelectList.get(a).getCompressPath());
} else {
mSnImages.add(mSelectList.get(a).getCompressPath());
}
if (mImages.size() < 10) {
mImages.add("add");
}
if (mPhotoState == 0) {
initPayerPhotoView(mPayerImages);
} else if (mPhotoState == 1) {
initPhotoView(mImages);
mAdapter.setData(mImages);
} else {
if (mSnImages.size() > 0) {
for (int a = 0; a < mSelectList.size(); a++) {
mSnImages.add(mSelectList.get(a).getCompressPath());
}
GlideImageLoader.load(mActivity, mSnImages.get(0), mBind.ivSn);
mBind.ivDelete.setVisibility(View.VISIBLE);
}
}
break;
case 0x0000c0de:
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if (result.getContents() != null) {
mBind.etSerialNum.setText(result.getContents());
}
break;
default:
break;
}
} else if (resultCode == 100) {
mPresenter.setSignaturePath(mPresenter.mPath);
setSignature(mPresenter.mPath);
}
mPhotoState = 0;
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
} else {
}
}
}
......
......@@ -2,9 +2,6 @@ package com.dayu.order.ui.activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.style.ForegroundColorSpan;
import com.alibaba.android.arouter.launcher.ARouter;
import com.dayu.base.ui.activity.BaseActivity;
......@@ -15,7 +12,6 @@ import com.dayu.order.presenter.qrcode.QRCodeContract;
import com.dayu.order.presenter.qrcode.QRCodePresenter;
import com.dayu.provider.event.RefreshServe;
import com.dayu.provider.router.RouterPath;
import com.dayu.utils.QRCodeUtils;
import org.greenrobot.eventbus.EventBus;
......@@ -39,9 +35,6 @@ public class QrCodeActivity extends BaseActivity<QRCodePresenter, QrCodeLayoutBi
mType = bundle.getInt(Constants.TYPE, 0);
}
mBind.titleBack.setOnClickListener(v -> goBack());
SpannableString spannableString = new SpannableString(getString(R.string.scan_code_for_appointment_two));
spannableString.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.bg_button)), 3, 12, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
mBind.notice.setText(spannableString);
}
@Override
......
package com.dayu.order.ui.activity;
import android.os.Environment;
import android.text.TextUtils;
import com.dayu.base.ui.activity.DataBindingActivity;
import com.dayu.order.R;
import com.dayu.order.common.OrderConstant;
import com.dayu.order.databinding.ActivitySignatureLayoutBinding;
import com.dayu.utils.ToastUtils;
......@@ -25,6 +27,7 @@ public class SignatureActivity extends DataBindingActivity<ActivitySignatureLayo
@Override
public void initView() {
String mpath = getIntent().getStringExtra(OrderConstant.PATH);
mBind.titleRight.setOnClickListener(v -> mBind.view.clear());
mBind.titleBack.setOnClickListener(v -> finish());
mBind.tvSave.setOnClickListener(v -> {
......@@ -34,7 +37,11 @@ public class SignatureActivity extends DataBindingActivity<ActivitySignatureLayo
if (!file.exists()) {
file.mkdirs();
}
if (TextUtils.isEmpty(mpath)){
mBind.view.save(path);
}else {
mBind.view.save(mpath);
}
setResult(100);
finish();
} catch (IOException e) {
......
......@@ -80,13 +80,17 @@ public class MultiOrderDetailFragment extends DataBindingFragment<FragmentMultiD
mFujianAdapter.setOnItemClickListener(new OnItemClickListener<OrderDetail.accessories, ItemAccessoriesLayoutBinding>() {
@Override
public void OnItemClick(OrderDetail.accessories item, ItemAccessoriesLayoutBinding bind) {
if (item.getUrl().contains("png") || item.getUrl().contains("PNG")
|| item.getUrl().contains("jpg") || item.getUrl().contains("JPG")
|| item.getUrl().contains("jpeg") || item.getUrl().contains("JPEG")) {
imgMax(item.getUrl());
} else if (item.getUrl().contains(".pdf")) {
Intent intent = new Intent(mActivity, PdfWebViewActivity.class);
intent.putExtra(Constants.PICURL, item.getUrl());
intent.putExtra(OrderConstant.TITLE, item.getName());
if (!item.getUrl().contains(".pdf")) {
ToastUtils.showShortToast(R.string.error_pdf);
} else {
startActivity(intent);
} else {
ToastUtils.showShortToast(R.string.error_pdf);
}
}
});
......
......@@ -2,8 +2,11 @@ package com.dayu.order.ui.fragment;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.LinearLayoutManager;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import com.dayu.base.ui.adapter.CoreAdapter;
import com.dayu.base.ui.fragment.DataBindingFragment;
......@@ -14,9 +17,11 @@ import com.dayu.order.api.protocol.OrderDetail;
import com.dayu.order.common.OrderConstant;
import com.dayu.order.databinding.FragmentOrderDatailsBinding;
import com.dayu.order.databinding.ItemAccessoriesLayoutBinding;
import com.dayu.order.ui.activity.EditeDetailActivity;
import com.dayu.order.ui.activity.PdfWebViewActivity;
import com.dayu.order.ui.activity.QrCodeActivity;
import com.dayu.order.ui.activity.ServerInstructionActivity;
import com.dayu.utils.GlideImageLoader;
import com.dayu.utils.ToastUtils;
import com.dayu.utils.UIUtils;
import com.dayu.widgets.CustomDialog;
......@@ -32,6 +37,7 @@ import com.umeng.analytics.MobclickAgent;
public class OrderDetaillsFragment extends DataBindingFragment<FragmentOrderDatailsBinding> {
private static final String TAG = "OrderDetaillsFragment";
private boolean mFlag = true;
private boolean mRFlag = true;
private CoreAdapter mAdapter;
private OrderDetail mDetail;
......@@ -49,7 +55,6 @@ public class OrderDetaillsFragment extends DataBindingFragment<FragmentOrderData
mDetail = (OrderDetail) getArguments().getSerializable(Constants.ORDER_DETAIL);
}
if (mDetail != null) {
mBind.setItem(mDetail);
initDataView(mDetail);
}
}
......@@ -60,8 +65,10 @@ public class OrderDetaillsFragment extends DataBindingFragment<FragmentOrderData
}
public void initDataView(OrderDetail dataBean) {
mBind.setItem(dataBean);
mBind.tvOrderState.setText(getStaus(dataBean.getStatus()));
mBind.tvLookMore.setOnClickListener(o -> lookMore());
mBind.tvServerLookMore.setOnClickListener(o -> lookRMore());
mBind.tvCustomerAddress.setOnClickListener(o -> openMap());
mBind.llServerInstruction.setOnClickListener(v -> dumpToServerInstruction());
if (dataBean.getStatus() == 4 && dataBean.getSubStatus() == 6) {
......@@ -84,9 +91,16 @@ public class OrderDetaillsFragment extends DataBindingFragment<FragmentOrderData
mBind.tvLookMore.setVisibility(View.GONE);
}
});
mBind.tvOrderServer.post(() -> {
if (UIUtils.isOverFlowed(mBind.tvOrderServer)) {
mBind.tvServerLookMore.setVisibility(View.VISIBLE);
} else {
mBind.tvServerLookMore.setVisibility(View.GONE);
}
});
mBind.navigation.setOnClickListener(v -> LocationUtils.openMap(mActivity, dataBean.getProvinceName()
+ dataBean.getCityName() + dataBean.getDistrictName() + dataBean.getAddress(), this::showOpenMarketDialog));
if (dataBean.getIsPay() == null || dataBean.getIsPay() == 1) {
if (dataBean.getPayType() == null || dataBean.getPayType() == 3) {
mBind.rlNoCharge.setVisibility(View.VISIBLE);
mBind.rlHaveCharge.setVisibility(View.GONE);
} else {
......@@ -102,17 +116,57 @@ public class OrderDetaillsFragment extends DataBindingFragment<FragmentOrderData
mAdapter.setOnItemClickListener(new OnItemClickListener<OrderDetail.accessories, ItemAccessoriesLayoutBinding>() {
@Override
public void OnItemClick(OrderDetail.accessories item, ItemAccessoriesLayoutBinding bind) {
if (item.getUrl().contains("png") || item.getUrl().contains("PNG")
|| item.getUrl().contains("jpg") || item.getUrl().contains("JPG")
|| item.getUrl().contains("jpeg") || item.getUrl().contains("JPEG")) {
imgMax(item.getUrl());
} else if (item.getUrl().contains(".pdf")) {
Intent intent = new Intent(mActivity, PdfWebViewActivity.class);
intent.putExtra(Constants.PICURL, item.getUrl());
intent.putExtra(OrderConstant.TITLE, item.getName());
if (!item.getUrl().contains(".pdf")) {
ToastUtils.showShortToast(R.string.error_pdf);
} else {
startActivity(intent);
} else {
ToastUtils.showShortToast(R.string.error_pdf);
}
}
});
}
if (mDetail.getEsignatureImg() == null) {
mBind.customerSignature.setVisibility(View.GONE);
}
mBind.customerSignature.setOnClickListener(v -> imgMax(mDetail.getEsignatureImg()));
if (mDetail.getPayStatus() == null || mDetail.getPayStatus() == 1) {
mBind.payState.setText(UIUtils.getString(R.string.not_pay));
} else if (mDetail.getPayStatus() == 2) {
mBind.payState.setText(UIUtils.getString(R.string.not_pay));
} else if (mDetail.getPayStatus() == 3) {
mBind.payState.setText(UIUtils.getString(R.string.pay_sccucess));
} else if (mDetail.getPayStatus() == 4) {
mBind.payState.setText(UIUtils.getString(R.string.pay_fail));
}
if (mDetail.getPayType() != null && mDetail.getPayType() == 1) {
mBind.payType.setText(UIUtils.getString(R.string.wechat_pay));
} else if (mDetail.getPayType() != null && mDetail.getPayType() == 2) {
mBind.payType.setText(UIUtils.getString(R.string.cash_pay));
}
mBind.remarkEdite.setOnClickListener(v -> {
Bundle bundle = new Bundle();
bundle.putInt(Constants.STATE, 0);
bundle.putInt(Constants.ID, mDetail.getId());
bundle.putString(Constants.MESSAGE_INFO, mBind.tvOrderServer.getText().toString());
Intent intent = new Intent(mActivity, EditeDetailActivity.class);
intent.putExtra(Constants.BUNDLE, bundle);
startActivity(intent);
});
mBind.descEdite.setOnClickListener(v -> {
Bundle bundle = new Bundle();
bundle.putInt(Constants.STATE, 1);
bundle.putInt(Constants.ID, mDetail.getId());
bundle.putString(Constants.MESSAGE_INFO, mBind.tvOrderRmark.getText().toString());
Intent intent = new Intent(mActivity, EditeDetailActivity.class);
intent.putExtra(Constants.BUNDLE, bundle);
startActivity(intent);
});
}
private void openMap() {
......@@ -131,6 +185,18 @@ public class OrderDetaillsFragment extends DataBindingFragment<FragmentOrderData
}
}
public void lookRMore() {
if (mRFlag) {
mRFlag = false;
mBind.tvServerLookMore.setText(mActivity.getString(R.string.stop));
mBind.tvOrderServer.setMaxLines(30);
} else {
mRFlag = true;
mBind.tvServerLookMore.setText(mActivity.getString(R.string.look_more));
mBind.tvOrderServer.setMaxLines(2);
}
}
public String getStaus(int staus) {
if (staus == 1) {
return mActivity.getString(R.string.not_receive_order);
......@@ -182,4 +248,19 @@ public class OrderDetaillsFragment extends DataBindingFragment<FragmentOrderData
startActivity(intent);
MobclickAgent.onEvent(mActivity, "check_serverInstruction");
}
public void imgMax(String url) {
LayoutInflater inflater = LayoutInflater.from(mActivity);
View imgEntryView = inflater.inflate(R.layout.dialog_image, null);
final AlertDialog dialog = new AlertDialog.Builder(mActivity).create();
ImageView img = imgEntryView.findViewById(R.id.large_image);
GlideImageLoader.loadDrawable(mActivity, url, img);
dialog.setView(imgEntryView);
dialog.show();
imgEntryView.setOnClickListener(paramView -> dialog.cancel());
}
public void setDatas(OrderDetail detail) {
initDataView(detail);
}
}
......@@ -27,6 +27,7 @@
android:theme="@style/Transparent" />
<activity
android:name=".ui.activity.ProcessOrderActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:screenOrientation="portrait" />
<activity
android:name=".ui.activity.PreviewActivty"
......@@ -70,8 +71,8 @@
android:screenOrientation="portrait" />
<activity
android:name=".ui.activity.MultiProcessOrderActivity"
android:windowSoftInputMode="stateHidden|adjustResize"
android:screenOrientation="portrait" />
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name=".ui.activity.SignatureActivity"
android:screenOrientation="landscape" />
......@@ -81,5 +82,9 @@
<activity
android:name=".ui.activity.CustomScannerActivity"
android:screenOrientation="portrait" />
<activity
android:name=".ui.activity.EditeDetailActivity"
android:screenOrientation="portrait" />
</application>
</manifest>
......@@ -338,7 +338,7 @@
<RelativeLayout
android:id="@+id/photo_view"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_125"
android:layout_height="wrap_content"
android:layout_below="@id/time_Three"
android:layout_marginTop="@dimen/dp_20">
......@@ -352,14 +352,16 @@
android:textColor="@color/cl_home_title_text_color"
android:textSize="@dimen/sp_15" />
<LinearLayout
android:id="@+id/ll_image"
<android.support.v7.widget.RecyclerView
android:id="@+id/photo"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/photo_text_title"
android:layout_marginLeft="@dimen/dp_13"
android:layout_marginTop="@dimen/dp_10"
android:orientation="horizontal" />
android:layout_marginBottom="15dp"
android:layout_marginLeft="13dp"
android:layout_marginRight="15dp"
android:layout_marginTop="@dimen/dp_10" />
</RelativeLayout>
<TextView
......@@ -401,7 +403,9 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="4dp"
android:gravity="center"
android:text="@string/order_instruction"
android:textColor="@color/white"
android:textSize="12sp" />
......
......@@ -17,7 +17,6 @@
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/cl_home_listview_bg"
android:orientation="vertical">
<RelativeLayout
......@@ -60,8 +59,7 @@
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/cl_white">
android:layout_height="wrap_content">
<TextView
android:id="@+id/tv_product_title"
......@@ -191,10 +189,11 @@
style="@style/line"
android:layout_below="@id/rl_verion" />
<RelativeLayout
<LinearLayout
android:id="@+id/rl_serial_num"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_54"
android:gravity="center_vertical"
android:layout_below="@id/line_version"
android:background="@color/cl_white">
......@@ -202,35 +201,31 @@
android:id="@+id/tv_serial_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/dp_13"
android:text="@string/order_serail"
android:textColor="@color/cl_home_title_text_color"
android:textSize="@dimen/sp_15" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/tv_serial_num"
android:text="*"
android:textColor="#F74848"
android:textSize="@dimen/sp_15"
android:visibility="gone" />
<TextView
<EditText
android:id="@+id/et_serial_num"
android:layout_width="match_parent"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="75dp"
android:layout_toRightOf="@id/tv_serial_num"
android:layout_weight="1"
android:background="@null"
android:maxLength="50"
android:text="@{!TextUtils.isEmpty(presenter.mDetail.sn)?presenter.mDetail.sn:@string/no_data}"
android:text="@={presenter.mDetail.sn}"
android:textColor="@color/default_text_color"
android:textSize="@dimen/sp_15" />
</RelativeLayout>
<ImageView
android:id="@+id/scan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="15dp"
android:src="@drawable/icon_scan" />
</LinearLayout>
<ImageView
android:id="@+id/line_serial"
......@@ -301,9 +296,9 @@
android:layout_centerVertical="true"
android:layout_toRightOf="@id/tv_player"
android:text="*"
android:visibility="gone"
android:textColor="#F74848"
android:textSize="@dimen/sp_15" />
android:textSize="@dimen/sp_15"
android:visibility="gone" />
<TextView
android:id="@+id/tv_payer"
......@@ -314,7 +309,6 @@
android:layout_toRightOf="@id/tv_player"
android:background="@null"
android:hint="@string/order_select_payer"
android:onClick="@{()->presenter.showPayerDialog()}"
android:text="@{presenter.mPayer}"
android:textColor="@color/default_text_color"
android:textSize="@dimen/sp_15" />
......@@ -326,6 +320,7 @@
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:paddingRight="@dimen/dp_15"
android:visibility="gone"
android:src="@drawable/icon_arrow_right" />
</RelativeLayout>
......@@ -335,64 +330,10 @@
android:layout_below="@id/rl_player" />
<TextView
android:id="@+id/tv_notice"
android:layout_width="match_parent"
android:layout_height="36dp"
android:layout_below="@id/line_player"
android:layout_marginBottom="@dimen/dp_8"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginRight="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_8"
android:visibility="gone"
android:text="@string/order_select_payer_notice"
android:textColor="#F74848" />
<ImageView
android:id="@+id/line_notice"
style="@style/line"
android:layout_below="@id/tv_notice" />
<LinearLayout
android:id="@+id/rl_palyer_prove"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/line_notice"
android:layout_marginBottom="@dimen/dp_18"
android:layout_marginTop="@dimen/dp_27"
android:background="@color/cl_white"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_15"
android:text="@string/order_payer_prove"
android:textColor="@color/default_text_color"
android:textSize="15sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginTop="8dp"
android:text="@string/order_payer_prove_notice"
android:textColor="@color/default_text_color"
android:textSize="12sp" />
<LinearLayout
android:id="@+id/ll_player_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_13"
android:layout_marginTop="@dimen/dp_10"
android:orientation="horizontal" />
</LinearLayout>
<TextView
android:id="@+id/tv_server_info"
android:layout_width="match_parent"
android:layout_height="43dp"
android:layout_below="@+id/rl_palyer_prove"
android:layout_below="@+id/line_player"
android:background="@color/tv_bg"
android:paddingLeft="@dimen/dp_15"
android:paddingTop="18dp"
......@@ -424,13 +365,13 @@
android:layout_width="@dimen/dp_267"
android:layout_height="@dimen/dp_147"
android:layout_marginLeft="@dimen/dp_8"
android:layout_marginTop="@dimen/dp_17"
android:layout_marginRight="15dp"
android:layout_marginTop="@dimen/dp_17"
android:layout_toRightOf="@id/time_subscribe_remark"
android:background="@drawable/subscribe_time_shape"
android:gravity="top"
android:maxLength="200"
android:hint="@string/order_hint"
android:maxLength="200"
android:paddingLeft="@dimen/dp_13"
android:paddingTop="@dimen/dp_11"
android:text="@{presenter.mOrderField.serverRecord}"
......@@ -447,7 +388,7 @@
<RelativeLayout
android:id="@+id/photo_view"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_125"
android:layout_height="wrap_content"
android:layout_below="@id/time_Three"
android:layout_marginTop="@dimen/dp_20">
......@@ -461,14 +402,15 @@
android:textColor="@color/cl_home_title_text_color"
android:textSize="@dimen/sp_15" />
<LinearLayout
android:id="@+id/ll_image"
<android.support.v7.widget.RecyclerView
android:id="@+id/photo"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/photo_text_title"
android:layout_marginLeft="@dimen/dp_13"
android:layout_marginTop="@dimen/dp_10"
android:orientation="horizontal" />
android:layout_marginBottom="15dp"
android:layout_marginLeft="13dp"
android:layout_marginRight="15dp"
android:layout_marginTop="@dimen/dp_10" />
</RelativeLayout>
<ImageView
......@@ -476,33 +418,57 @@
style="@style/line"
android:layout_below="@id/photo_view" />
<RelativeLayout
<LinearLayout
android:id="@+id/switch_view"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_54"
android:layout_below="@id/photo_view">
android:layout_below="@id/photo_view"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/switch_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/dp_13"
android:text="@string/tv_about_user_feiyong"
android:textColor="@color/cl_home_title_text_color"
android:textSize="@dimen/sp_13.3" />
android:textSize="15sp" />
<com.dayu.widgets.SwitchImage
android:id="@+id/iv_switch"
chageButton="@{presenter.buttonState}"
<TextView
android:id="@+id/no_pay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="@dimen/dp_14.3"
android:onClick="@{()->presenter.swtichButton()}"
android:src="@drawable/set_switch_off" />
</RelativeLayout>
android:layout_marginLeft="20dp"
android:background="@drawable/blue_commom"
android:padding="8dp"
android:text="@string/no_money"
android:textColor="@color/white"
android:textSize="14sp" />
<TextView
android:id="@+id/wechat_pay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:background="@drawable/grey_commom"
android:padding="8dp"
android:text="@string/wechat_pay"
android:textColor="@color/cl_tab_init"
android:textSize="14sp" />
<TextView
android:id="@+id/cash_pay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:background="@drawable/grey_commom"
android:padding="8dp"
android:text="@string/cash_pay"
android:textColor="@color/cl_tab_init"
android:textSize="14sp" />
</LinearLayout>
<ImageView
......@@ -515,7 +481,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/switch_view"
android:visibility="@{presenter.buttonState?View.VISIBLE:View.GONE}">
android:visibility="gone">
<RelativeLayout
android:id="@+id/up_door"
......@@ -565,7 +531,8 @@
android:id="@+id/up_serve"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_54"
android:layout_below="@id/up_door">
android:layout_below="@id/up_door"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
......@@ -750,8 +717,8 @@
android:layout_marginTop="@dimen/dp_17"
android:background="@drawable/subscribe_time_shape"
android:gravity="top"
android:maxLength="100"
android:hint="@string/tv_order_other"
android:maxLength="100"
android:paddingTop="@dimen/dp_11"
android:text="@{presenter.mOrderField.otherInfo}"
android:textColor="@color/cl_home_title_text_color"
......@@ -759,14 +726,75 @@
android:textSize="@dimen/sp_13.3" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/rl_signature_all"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/rl_pay"
android:visibility="gone">
<RelativeLayout
android:id="@+id/rl_signature_title"
android:layout_width="match_parent"
android:layout_height="43dp"
android:background="@color/tv_bg">
<TextView
android:id="@+id/tv_signature"
android:layout_width="wrap_content"
android:layout_height="43dp"
android:paddingLeft="@dimen/dp_15"
android:paddingTop="18dp"
android:text="@string/electronic_signature"
android:textColor="@color/tv_cl"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_signature_xin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:layout_toRightOf="@+id/tv_signature"
android:text="*"
android:textColor="#F74848"
android:textSize="@dimen/sp_15" />
</RelativeLayout>
<LinearLayout
android:id="@+id/rl_signature"
android:layout_width="match_parent"
android:layout_height="167dp"
android:layout_below="@+id/rl_signature_title"
android:background="@color/white"
android:gravity="center">
<TextView
android:id="@+id/tv_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/icon_edit"
android:text="@string/click_and_signature"
android:textColor="@color/tv_cl"
android:textSize="14sp" />
<ImageView
android:id="@+id/iv_signature"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
android:scaleType="centerInside"
android:visibility="gone" />
</LinearLayout>
</RelativeLayout>
<Button
android:id="@+id/save"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@id/rl_pay"
android:layout_below="@id/rl_signature_all"
android:layout_marginLeft="@dimen/dp_14"
android:layout_marginTop="@dimen/dp_33"
android:layout_marginTop="25dp"
android:background="@drawable/save_back"
android:gravity="center"
android:onClick="@{()->presenter.saveOrder()}"
......@@ -778,15 +806,14 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@id/rl_pay"
android:layout_below="@id/rl_signature_all"
android:layout_marginRight="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_33"
android:layout_marginTop="25dp"
android:background="@drawable/save_submit"
android:onClick="@{()->presenter.submitOrder()}"
android:text="@string/submit_order"
android:textColor="@color/cl_white"
android:textSize="@dimen/sp_13.3" />
</RelativeLayout>
</RelativeLayout>
</ScrollView>
......
......@@ -192,7 +192,7 @@
android:layout_below="@id/tv_door_time"
android:layout_marginLeft="@dimen/dp_13"
android:layout_marginTop="@dimen/dp_13"
android:text="@string/order_remark"
android:text="@string/server_desc"
android:textColor="@color/cl_order_text_one"
android:textSize="@dimen/sp_13.3" />
......@@ -203,25 +203,97 @@
android:layout_below="@id/tv_door_time"
android:layout_marginLeft="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_13"
android:gravity="center_vertical"
android:layout_toRightOf="@id/text_foure">
<TextView
android:id="@+id/tv_order_rmark"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="50dp"
android:gravity="center_vertical"
android:maxEms="500"
android:maxLines="2"
android:text='@{TextUtils.isEmpty(item.comment)?@string/no_data:item.comment}'
android:text='@{TextUtils.isEmpty(item.taskDesc)?@string/no_data:item.taskDesc}'
android:textColor="@color/cl_home_title_text_color"
android:textSize="13sp" />
<TextView
android:id="@+id/desc_edite"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:text="@string/edite"
android:textColor="@color/bg_button"
android:textSize="13.3dp" />
<TextView
android:id="@+id/tv_look_more"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_order_rmark"
android:gravity="center_horizontal"
android:layout_marginRight="50dp"
android:text="@string/look_more"
android:textColor="@color/cl_receiving_order_item_data"
android:textSize="13.3sp"
android:visibility="gone" />
</RelativeLayout>
<TextView
android:id="@+id/tv_server_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/rl_info_detail"
android:layout_marginLeft="13dp"
android:layout_marginTop="@dimen/dp_13"
android:text="@string/remark"
android:textColor="@color/cl_order_text_one"
android:textSize="@dimen/sp_13.3" />
<RelativeLayout
android:id="@+id/rl_info_server"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/rl_info_detail"
android:layout_marginLeft="15dp"
android:layout_marginTop="@dimen/dp_13"
android:gravity="center_vertical"
android:layout_toRightOf="@id/tv_server_info">
<TextView
android:id="@+id/tv_order_server"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="50dp"
android:gravity="center_vertical"
android:maxEms="500"
android:maxLines="2"
android:text='@{TextUtils.isEmpty(item.comment)?@string/no_data:item.comment}'
android:textColor="@color/cl_home_title_text_color"
android:textSize="13sp" />
<TextView
android:id="@+id/remark_edite"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="10dp"
android:text="@string/edite"
android:textColor="@color/bg_button"
android:textSize="13.3dp" />
<TextView
android:id="@+id/tv_server_look_more"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_order_server"
android:layout_centerVertical="true"
android:gravity="center_horizontal"
android:layout_marginRight="50dp"
android:text="@string/look_more"
android:textColor="@color/cl_receiving_order_item_data"
android:textSize="13.3sp"
......@@ -233,7 +305,7 @@
android:id="@+id/ll_fujian"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/rl_info_detail"
android:layout_below="@id/rl_info_server"
android:layout_marginBottom="5dp"
android:layout_marginLeft="@dimen/dp_13"
android:layout_marginTop="@dimen/dp_13"
......@@ -326,6 +398,21 @@
android:textSize="@dimen/sp_13.3" />
<TextView
android:id="@+id/customer_signature"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@+id/tv_customer_type"
android:layout_marginLeft="19dp"
android:layout_marginRight="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_15"
android:layout_toRightOf="@+id/tv_customer_name"
android:gravity="right"
android:text="@string/check_signature"
android:textColor="@color/bg_button"
android:textSize="14sp" />
<TextView
android:id="@+id/two_text_four"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
......@@ -681,6 +768,54 @@
android:text='@{!TextUtils.isEmpty(item.doorPriceComment)?item.doorPriceComment:@string/no_data}'
android:textColor="@color/cl_home_title_text_color"
android:textSize="@dimen/sp_13.3" />
<TextView
android:id="@+id/tv_pay_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/four_text_ten"
android:layout_marginLeft="@dimen/dp_13"
android:layout_marginTop="@dimen/dp_13"
android:text="@string/pay_type"
android:textColor="@color/cl_order_text_one"
android:textSize="@dimen/sp_13.3" />
<TextView
android:id="@+id/pay_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/four_text_ten"
android:layout_marginLeft="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_13"
android:layout_toRightOf="@id/tv_pay_type"
android:ellipsize="end"
android:maxLines="2"
android:textColor="@color/cl_home_title_text_color"
android:textSize="@dimen/sp_13.3" />
<TextView
android:id="@+id/tv_pay_state"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/tv_pay_type"
android:layout_marginLeft="@dimen/dp_13"
android:layout_marginTop="@dimen/dp_13"
android:text="@string/pay_state"
android:textColor="@color/cl_order_text_one"
android:textSize="@dimen/sp_13.3" />
<TextView
android:id="@+id/pay_state"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/tv_pay_type"
android:layout_marginLeft="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_13"
android:layout_toRightOf="@id/tv_pay_state"
android:ellipsize="end"
android:maxLines="2"
android:textColor="@color/cl_home_title_text_color"
android:textSize="@dimen/sp_13.3" />
</RelativeLayout>
<RelativeLayout
......
......@@ -202,7 +202,7 @@
android:layout_marginTop="5dp"
android:layout_weight="1"
android:ellipsize="end"
android:maxLines="1"
android:maxLines="2"
android:text="@string/tv_order_item_gps_text"
android:textColor="@color/cl_home_title_text_color"
android:textSize="@dimen/size_login_hint_text" />
......
......@@ -116,39 +116,64 @@
android:textColor="@color/default_text_color"
android:textSize="12sp" />
<LinearLayout
android:id="@+id/ll_player_image"
<android.support.v7.widget.RecyclerView
android:id="@+id/photo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:layout_marginLeft="@dimen/dp_13"
android:layout_marginTop="@dimen/dp_10"
android:orientation="horizontal" />
android:layout_marginLeft="13dp"
android:layout_marginRight="15dp"
android:layout_marginTop="@dimen/dp_10" />
</LinearLayout>
<LinearLayout
android:id="@+id/switch_view"
android:layout_width="match_parent"
android:layout_height="51dp"
android:background="@color/white"
android:layout_height="@dimen/dp_54"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:id="@+id/switch_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:paddingLeft="@dimen/dp_15"
android:text="收取客户费用"
android:textColor="@color/default_text_color"
android:textSize="@dimen/sp_15" />
android:layout_marginLeft="@dimen/dp_13"
android:text="@string/tv_about_user_feiyong"
android:textColor="@color/cl_home_title_text_color"
android:textSize="15sp" />
<TextView
android:id="@+id/no_pay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:background="@drawable/blue_commom"
android:padding="8dp"
android:text="@string/no_money"
android:textColor="@color/white"
android:textSize="14sp" />
<com.dayu.widgets.SwitchImage
android:id="@+id/iv_switch"
<TextView
android:id="@+id/wechat_pay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:paddingRight="@dimen/dp_15"
android:src="@drawable/set_switch_off" />
android:layout_marginLeft="15dp"
android:background="@drawable/grey_commom"
android:padding="8dp"
android:text="@string/wechat_pay"
android:textColor="@color/cl_tab_init"
android:textSize="14sp" />
<TextView
android:id="@+id/cash_pay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:background="@drawable/grey_commom"
android:padding="8dp"
android:text="@string/cash_pay"
android:textColor="@color/cl_tab_init"
android:textSize="14sp" />
</LinearLayout>
<ImageView
......
......@@ -40,18 +40,7 @@
android:layout_gravity="center"
android:layout_marginTop="@dimen/dp_15"
android:text="@string/scan_code_for_appointment"
android:textSize="15sp" />
<TextView
android:id="@+id/notice"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="@dimen/dp_15"
android:text="@string/scan_code_for_appointment_two"
android:textSize="15sp" />
android:textSize="18sp" />
</LinearLayout>
</LinearLayout>
......
......@@ -30,4 +30,8 @@ public class RouterPath {
* 店长模块
*/
public final static String PATH_SERVICESTATION = "/manager/servicestation";
public final static String PATH_SUBDETAIL = "/manager/subdetail";
public final static String PATH_SENDDETAIL = "/manager/send_detail";
}
......@@ -116,6 +116,10 @@ public class SmsLoginPresenter extends SmsLoginContract.Presenter {
@Override
public void dumpAndSave(UserInfo info) {
// List<Integer> role = info.getRoles();
// role.clear();
// role.add(3);
// info.setRoles(role);
switch (UserManager.getInstance().getRole(info)) {
case Constants.MANAGER:
UserManager.getInstance().saveUser(info);
......
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 sign in to comment