Commit 2435571d by 罗翻

android v1.9.8

parent 88f401b0
Showing with 702 additions and 344 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>
......@@ -106,7 +106,7 @@ public class ServerException extends Exception {
case "KAORDER0014":
message = UIUtils.getString(R.string.bargain_order);
break;
case "KAORDER0010":
case "KAORDER0010":
message = UIUtils.getString(R.string.server_order_error);
break;
/**全局错误*/
......
......@@ -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();
bundle.putInt(Constants.ORDER_ID, id);
ARouter.getInstance().build(RouterPath.PATH_ORDER_DETAIL)
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(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();
}
}
......@@ -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);
}
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;
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
......@@ -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 (mPhotoState == 1) {
initPhotoView(mImages);
if (mImages.size() < 10) {
mImages.add("add");
}
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;
}
......
......@@ -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
......@@ -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();
}
mBind.view.save(path);
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) {
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 {
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());
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) {
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 {
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());
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" />
......
......@@ -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" />
<com.dayu.widgets.SwitchImage
android:id="@+id/iv_switch"
<TextView
android:id="@+id/no_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="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
......
......@@ -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