Commit f27e9650 by 罗翻

单任务单数量直接跳转到处理工单页面,增加指派语音提醒

parent a91aa694
Showing with 599 additions and 189 deletions
......@@ -138,6 +138,9 @@
android:name=".ui.MainActivity"
android:launchMode="singleTask"
android:screenOrientation="portrait" />
<activity
android:name="com.dayu.bigfish.ui.ManagerActivity"
android:screenOrientation="portrait" />
</application>
</manifest>
\ No newline at end of file
......@@ -16,7 +16,7 @@ import com.dayu.bigfish.databinding.ActivityInitializeMainBinding;
import com.dayu.bigfish.ui.MainActivity;
import com.dayu.common.Constants;
import com.dayu.event.UserInfo;
import com.dayu.managercenter.ui.activity.ManagerActivity;
import com.dayu.bigfish.ui.ManagerActivity;
import com.dayu.managercenter.ui.activity.ServiceStationActivity;
import com.dayu.provider.router.RouterPath;
import com.dayu.usercenter.ui.activity.SmsLoginActivity;
......@@ -97,7 +97,6 @@ public class InitializeActivity extends DataBindingActivity<ActivityInitializeMa
startActivity(intent2);
} else {
intent2 = new Intent(InitializeActivity.this, ServiceStationActivity.class);
}
startActivity(intent2);
break;
......
package com.dayu.bigfish.presenter.manager;
import com.dayu.base.ui.presenter.BasePresenter;
import com.dayu.common.BaseView;
/**
* Created by luo on 2016/8/4.
*/
public interface ManagerContract {
interface View extends BaseView {
/**
* 是否显示小红点.
*
* @param flag
*/
void isShowRedIcon(boolean flag);
}
abstract class Presenter extends BasePresenter<View> {
/**
* 获取环信消息数量.
*
* @param hxAccout 环信账号.
*/
public abstract void getHxNum(String hxAccout);
}
}
package com.dayu.bigfish.presenter.manager;
import com.dayu.bigfish.api.ApiFactory;
import com.dayu.event.UserInfo;
import com.dayu.utils.UserManager;
/**
* Created by luofan
* on 2017/11/8.
*/
public class ManagerPresenter extends ManagerContract.Presenter {
private UserInfo mUser;
@Override
public void onAttached() {
mUser = UserManager.getInstance().getUser();
getHxNum(mUser.getHxAccount());
}
@Override
public void getHxNum(String accountId) {
mView.showDialog();
ApiFactory.getHxNum(accountId).subscribe(baseObserver(integer -> {
if (integer > 0) {
mView.isShowRedIcon(true);
}
}));
}
}
package com.dayu.bigfish.ui;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.KeyEvent;
import android.view.View;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.bigfish.R;
import com.dayu.bigfish.databinding.ActivityManagerBinding;
import com.dayu.bigfish.presenter.manager.ManagerContract;
import com.dayu.bigfish.presenter.manager.ManagerPresenter;
import com.dayu.common.Constants;
import com.dayu.managercenter.ui.fragment.ManagerFragment;
import com.dayu.message.ui.fragment.HomeMessageFragment;
import com.dayu.provider.router.RouterPath;
import com.dayu.utils.UserManager;
/**
* Created by luofan
* on 2018/2/7.
*/
@Route(path = RouterPath.PATH_MANAGER)
public class ManagerActivity extends BaseActivity<ManagerPresenter, ActivityManagerBinding> implements ManagerContract.View {
private FragmentManager mFragmentManger;
private Fragment[] mFragments;
private ManagerFragment mManagerFragment;
private HomeMessageFragment mMessageFragment;
private int mShowPosition;
@Override
public int getLayoutId() {
return R.layout.activity_manager;
}
@Override
public void initView() {
mManagerFragment = ManagerFragment.newInstance();
mMessageFragment = HomeMessageFragment.newInstance();
mFragments = new Fragment[]{mManagerFragment, mMessageFragment};
addFragment();
if (UserManager.getInstance().getRole() == Constants.MANAGER
|| UserManager.getInstance().getRole() == Constants.MANAGER_NOSITE_ENGINEER) {
mBind.msg.setVisibility(View.VISIBLE);
}
mBind.msg.setOnClickListener(v -> {
showHideFragment(1, 0);
mBind.msg.setImageResource(R.mipmap.icon_news);
});
}
private void addFragment() {
mFragmentManger = getSupportFragmentManager();
FragmentTransaction transaction = mFragmentManger.beginTransaction()
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
for (int i = 0; i < mFragments.length; i++) {
Fragment fragment = mFragments[i];
transaction.add(com.dayu.bigfish.R.id.fl_content, fragment);
if (i == 0) {
transaction.show(fragment);
} else {
transaction.hide(fragment);
}
}
transaction.commit();
}
private void showHideFragment(int showPosition, int hidePosition) {
if (showPosition == hidePosition) return;
mFragmentManger.beginTransaction()
.hide(mFragments[hidePosition])
.show(mFragments[showPosition])
.commit();
mShowPosition = showPosition;
if (showPosition == 1) {
mBind.msg.setVisibility(View.GONE);
} else {
mBind.msg.setVisibility(View.VISIBLE);
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (mShowPosition == 1) {
showHideFragment(0, 1);
} else {
moveTaskToBack(true);
}
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public void setPresenter() {
}
@Override
public void isShowRedIcon(boolean flag) {
mBind.msg.setImageResource(R.mipmap.icon_red_news);
}
}
......@@ -15,6 +15,7 @@ import com.alibaba.android.arouter.launcher.ARouter;
import com.dayu.bigfish.R;
import com.dayu.bigfish.api.protocol.InformBean;
import com.dayu.bigfish.ui.MainActivity;
import com.dayu.bigfish.ui.ManagerActivity;
import com.dayu.common.BaseConstant;
import com.dayu.common.Constants;
import com.dayu.usercenter.ui.activity.LicenceDetailActivity;
......@@ -128,8 +129,20 @@ public class HxManager {
if (info.getCategory() == 1 && (info.getFunctionType() == 2)) {
MediaPlayer player = MediaPlayer.create(mContext, R.raw.new_order);
player.start();
} else if (info.getCategory() == 1 && (info.getFunctionType() == 4)) {
MediaPlayer player = MediaPlayer.create(mContext, R.raw.manager_order);
player.start();
} else if (info.getCategory() == 1 && (info.getFunctionType() == 5)) {
MediaPlayer player = MediaPlayer.create(mContext, R.raw.eu_order);
player.start();
}
Intent intent;
if (UserManager.getInstance().getRole() == Constants.MANAGER_NOSITE_ENGINEER ||
UserManager.getInstance().getRole() == Constants.MANAGER) {
intent = new Intent(mContext, ManagerActivity.class);
} else {
intent = new Intent(mContext, MainActivity.class);
}
Intent intent = new Intent(mContext, MainActivity.class);
intent.putExtra(Constants.MESSAGE_INFO, info);
PendingIntent pi = PendingIntent.getActivity(mContext,
1, intent, FLAG_CANCEL_CURRENT);
......@@ -192,7 +205,7 @@ public class HxManager {
//注册环信消息监听
EMClient.getInstance().chatManager().addMessageListener(msgListener);
//注册一个监听连接状态的listener
EMClient.getInstance().addConnectionListener(new MyConnectionListener());
// EMClient.getInstance().addConnectionListener(new MyConnectionListener());
}
//实现ConnectionListener接口
......
<?xml version="1.0" encoding="utf-8"?>
<layout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/fl_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" />
<ImageView
android:id="@+id/msg"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="80dp"
android:layout_marginRight="15dp"
android:src="@mipmap/icon_news"
android:visibility="visible" />
</RelativeLayout>
</layout>
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<stroke
android:width="0.7dp"
android:color="@color/cl_white" />
<solid android:color="@color/cl_white"
/>
</layer-list>
......@@ -7,13 +7,6 @@
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name="com.dayu.managercenter.ui.activity.ManagerActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ui.activity.ServiceStationActivity" />
<activity android:name=".ui.activity.SendOrderDetailActivity" />
<activity android:name=".ui.activity.SubOrderDetailActivity" />
......
......@@ -6,7 +6,6 @@ import com.alibaba.android.arouter.launcher.ARouter;
import com.dayu.common.Constants;
import com.dayu.event.ServiceStation;
import com.dayu.managercenter.api.ManagerApiFactory;
import com.dayu.managercenter.ui.activity.ManagerActivity;
import com.dayu.provider.router.RouterPath;
import com.dayu.utils.AppManager;
import com.dayu.utils.StationManager;
......@@ -54,7 +53,7 @@ public class ServiceStationPresenter extends ServiceStationContract.Presenter {
ARouter.getInstance().build(RouterPath.PATH_MAIN).navigation();
} else if (UserManager.getInstance().getRole() == Constants.MANAGER_NOSITE_ENGINEER
|| UserManager.getInstance().getRole() == Constants.MANAGER) {
mView.startActivity(ManagerActivity.class);
ARouter.getInstance().build(RouterPath.PATH_MANAGER).navigation();
}
}
}
......
package com.dayu.managercenter.ui.activity;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.KeyEvent;
import android.view.Window;
import android.view.WindowManager;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.dayu.managercenter.R;
import com.dayu.managercenter.ui.fragment.ManagerFragment;
import com.dayu.provider.router.RouterPath;
/**
* Created by luofan
* on 2018/2/7.
*/
@Route(path = RouterPath.PATH_MANAGER)
public class ManagerActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_manager);
initView();
}
public void initView() {
getSupportFragmentManager().beginTransaction()
.add(R.id.fl_content, ManagerFragment.newInstance())
.commit();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
// 不退出程序,进入后台
moveTaskToBack(true);
return true;
}
return super.onKeyDown(keyCode, event);
}
}
......@@ -6,9 +6,6 @@
android:label="@string/app_name"
android:supportsRtl="true">
<activity
android:name="com.dayu.managercenter.ui.activity.ManagerActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.dayu.managercenter.ui.activity.ServiceStationActivity"
android:screenOrientation="portrait" />
<activity
......
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fl_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</FrameLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/cl_home_listview_bg"
android:orientation="vertical">
<RelativeLayout style="@style/title">
<TextView
android:id="@+id/title_left"
style="@style/title_left"
android:text="@string/login_out"
android:visibility="gone"
/>
<TextView
android:id="@+id/title"
style="@style/text_title"
android:text="@string/send_order"
android:singleLine="true"
android:maxEms="9"
android:ellipsize="middle"
/>
<TextView
android:id="@+id/tv_right_title"
style="@style/title_right_text"
android:text="@string/swtich_service_station"
android:textColor="#3faafc"
android:textSize="@dimen/dp_13.3" />
</RelativeLayout>
<android.support.design.widget.TabLayout
android:id="@+id/tab"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_40"
android:background="@color/cl_white"
app:tabIndicatorColor="@color/cl_receiving_order_item_data"
app:tabMaxWidth="0dp"
android:textSize="15sp"
app:tabSelectedTextColor="@color/cl_receiving_order_item_data"
app:tabTextAppearance="@style/TabLayoutTextStyle"
app:tabTextColor="@color/cl_tab_line" />
<ImageView style="@style/line" />
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
<LinearLayout xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/dp_10" />
</LinearLayout>
android:background="@color/cl_home_listview_bg"
android:orientation="vertical">
<RelativeLayout style="@style/title">
<TextView
android:id="@+id/title_left"
style="@style/title_left"
android:text="@string/login_out"
android:visibility="gone" />
<TextView
android:id="@+id/title"
style="@style/text_title"
android:ellipsize="middle"
android:maxEms="9"
android:singleLine="true"
android:text="@string/send_order" />
<TextView
android:id="@+id/tv_right_title"
style="@style/title_right_text"
android:text="@string/swtich_service_station"
android:textColor="#3faafc"
android:textSize="@dimen/dp_13.3" />
</RelativeLayout>
<android.support.design.widget.TabLayout
android:id="@+id/tab"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_40"
android:background="@color/cl_white"
android:textSize="15sp"
app:tabIndicatorColor="@color/cl_receiving_order_item_data"
app:tabMaxWidth="0dp"
app:tabSelectedTextColor="@color/cl_receiving_order_item_data"
app:tabTextAppearance="@style/TabLayoutTextStyle"
app:tabTextColor="@color/cl_tab_line" />
<ImageView style="@style/line" />
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/dp_10" />
</LinearLayout>
</layout>
\ No newline at end of file
......@@ -21,7 +21,6 @@ import io.reactivex.functions.Function;
* Created by luofan
* on 2017/11/20.
*/
public class HomeMessageFragment extends DataBindingFragment<FragmentMessageBinding> {
private int mIndex = 0;
private String mUmTag = "serverMessage";
......
......@@ -52,5 +52,8 @@ public interface MultiProcessOrderContract {
public abstract void getInfo();
public abstract void getPhone();
public abstract void callPhone();
}
}
package com.dayu.order.presenter.multiprocessorder;
import android.content.Intent;
import android.databinding.ObservableField;
import android.net.Uri;
import android.os.Bundle;
import android.text.TextUtils;
......@@ -47,9 +49,12 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
public ObservableField<String> mSn = new ObservableField<>();
public ObservableField<Boolean> mSpuState = new ObservableField<>();
public ObservableField<Boolean> mIsShowSn = new ObservableField<>(false);
public ObservableField<Boolean> mIsShowPhone = new ObservableField<>(false);
private ArrayList<Spu> mSpus;
private int mId;
private int mState;
private String mPhone;
private int mKaId;
@Override
public void onAttached() {
......@@ -57,6 +62,10 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
mSpu = (Spu) bundle.getSerializable(OrderConstant.SPU);
mSpus = bundle.getParcelableArrayList(OrderConstant.SPUS);
mState = bundle.getInt(Constants.STATE);
mKaId = mView.getBundle().getInt(OrderConstant.KAADDRESSID, -1);
if (mKaId != -1) {
getPhone();
}
mId = mSpu.getId();
mDetail.set(mSpu);
mBrandName.set(mSpu.getBrandName());
......@@ -280,4 +289,26 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
}
}));
}
@Override
public void getPhone() {
mView.showDialog();
OrderApiFactory.getManagerMobile(mKaId, 3).subscribe(baseObserver(companyManager -> {
mPhone = companyManager.getMobile();
if (mPhone != null) {
mIsShowPhone.set(true);
}
}, responeThrowable -> {
if (Constants.ERROR_NULL.equals(responeThrowable.subCode)) {
mIsShowPhone.set(false);
}
}));
}
@Override
public void callPhone() {
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:" + mPhone));
mView.startActivityForIntent(intent);
}
}
......@@ -11,9 +11,12 @@ import com.dayu.event.UserInfo;
import com.dayu.order.R;
import com.dayu.order.api.OrderApiFactory;
import com.dayu.order.api.protocol.Order;
import com.dayu.order.api.protocol.Spu;
import com.dayu.order.common.OrderConstant;
import com.dayu.order.ui.activity.MultiProcessOrderActivity;
import com.dayu.order.ui.activity.OrderDetailsActivity;
import com.dayu.order.ui.activity.OrderLivenessActivity;
import com.dayu.order.ui.activity.SopWebViewActivity;
import com.dayu.order.ui.fragment.OrderThreeTabFragment;
import com.dayu.provider.event.RefreshTab;
import com.dayu.utils.AppManager;
......@@ -28,6 +31,7 @@ import com.umeng.analytics.MobclickAgent;
import org.greenrobot.eventbus.EventBus;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import io.reactivex.Observable;
......@@ -134,6 +138,30 @@ public class OrderDoingPresenter extends orderDoingContract.Presenter {
}
@Override
public void getServerList(int id, int kaId) {
mView.showDialog();
OrderApiFactory.getServerList(id).subscribe(baseObserver(spus -> {
Spu spu = spus.get(0);
ArrayList<Spu> mUnFinishSpus = new ArrayList<>();
if (spu.getStatus() == 1) {
mUnFinishSpus.add(spu);
}
Bundle bundle = new Bundle();
bundle.putInt(Constants.ORDER_ID, spu.getId());
bundle.putInt(Constants.STATE, 0);
bundle.putSerializable(OrderConstant.SPU, spu);
bundle.putParcelableArrayList(OrderConstant.SPUS, mUnFinishSpus);
bundle.putInt(Constants.ORDER_POSTION, 0);
bundle.putInt(OrderConstant.KAADDRESSID, kaId);
if (spu.getSopStatus() == 1 && spu.getStatus() == 1) {
mView.startActivity(SopWebViewActivity.class, bundle);
} else {
mView.startActivity(MultiProcessOrderActivity.class, bundle);
}
}));
}
@Override
public void dumpDetail(int orderId) {
Bundle bundle = new Bundle();
bundle.putInt(Constants.ORDER_ID, orderId);
......
......@@ -48,5 +48,10 @@ public interface orderDoingContract {
public abstract void dumpToFaceCert(Order order);
/**
* 获取单任务列表.
* @param id
*/
public abstract void getServerList(int id, int kaId);
}
}
package com.dayu.order.presenter.sop;
import com.dayu.base.ui.presenter.BasePresenter;
import com.dayu.common.BaseView;
/**
* Created by luo
* on 2016/8/4.
*/
public interface SopContract {
interface View extends BaseView {
}
abstract class Presenter extends BasePresenter<View> {
public abstract void callPhone();
public abstract void getPhone();
}
}
package com.dayu.order.presenter.sop;
import android.content.Intent;
import android.databinding.ObservableField;
import android.net.Uri;
import com.dayu.common.Constants;
import com.dayu.order.api.OrderApiFactory;
import com.dayu.order.common.OrderConstant;
/**
* Created by luofan
* on 2017/11/8.
*/
public class SopPresenter extends SopContract.Presenter {
public ObservableField<Boolean> showPhone = new ObservableField<>(false);
private Integer mKaId;
private String mPhone;
@Override
public void onAttached() {
mKaId = mView.getBundle().getInt(OrderConstant.KAADDRESSID, -1);
if (mKaId != -1) {
getPhone();
}
}
@Override
public void callPhone() {
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:" + mPhone));
mView.startActivityForIntent(intent);
}
@Override
public void getPhone() {
mView.showDialog();
OrderApiFactory.getManagerMobile(mKaId, 3).subscribe(baseObserver(companyManager -> {
mPhone = companyManager.getMobile();
if (mPhone != null) {
showPhone.set(true);
}
}, responeThrowable -> {
if (Constants.ERROR_NULL.equals(responeThrowable.subCode)) {
showPhone.set(false);
}
}));
}
}
......@@ -37,37 +37,34 @@ public class ServerListActivity extends BaseActivity<ServerListPresenter, Activi
@Override
public void initView() {
mBind.tvTitle.setText(getString(R.string.task_list));
mBind.recyclerView.setOnItemClickListener(new OnItemClickListener<Spu, ActivityServerListBinding>() {
@Override
public void OnItemClick(Spu item, ActivityServerListBinding bind) {
ArrayList<Spu> spus = (ArrayList<Spu>) mBind.recyclerView.getDatas();
ArrayList<Spu> mUnFinishSpus = new ArrayList<>();
for (Spu spu : spus) {
if (spu.getStatus() == 1) {
mUnFinishSpus.add(spu);
}
mBind.recyclerView.setOnItemClickListener((OnItemClickListener<Spu, ActivityServerListBinding>) (item, bind) -> {
ArrayList<Spu> spus = (ArrayList<Spu>) mBind.recyclerView.getDatas();
ArrayList<Spu> mUnFinishSpus = new ArrayList<>();
for (Spu spu : spus) {
if (spu.getStatus() == 1) {
mUnFinishSpus.add(spu);
}
Intent intent;
if (item.getSopStatus() == 1 && item.getStatus() == 1) {
intent = new Intent(mActivity, SopWebViewActivity.class);
} else {
intent = new Intent(mActivity, MultiProcessOrderActivity.class);
}
int state;
if (mPresenter.mIsShowProcess.get()) {
state = 0;//单任务单
} else {
state = 1;
}
Bundle bundle = new Bundle();
bundle.putInt(Constants.ORDER_ID, item.getId());
bundle.putInt(Constants.STATE, state);
bundle.putSerializable(OrderConstant.SPU, item);
bundle.putParcelableArrayList(OrderConstant.SPUS, mUnFinishSpus);
bundle.putInt(Constants.ORDER_POSTION, 0);
intent.putExtra(Constants.BUNDLE, bundle);
startActivity(intent);
}
Intent intent;
if (item.getSopStatus() == 1 && item.getStatus() == 1) {
intent = new Intent(mActivity, SopWebViewActivity.class);
} else {
intent = new Intent(mActivity, MultiProcessOrderActivity.class);
}
int state;
if (mPresenter.mIsShowProcess.get()) {
state = 0;//单任务单
} else {
state = 1;
}
Bundle bundle = new Bundle();
bundle.putInt(Constants.ORDER_ID, item.getId());
bundle.putInt(Constants.STATE, state);
bundle.putSerializable(OrderConstant.SPU, item);
bundle.putParcelableArrayList(OrderConstant.SPUS, mUnFinishSpus);
bundle.putInt(Constants.ORDER_POSTION, 0);
intent.putExtra(Constants.BUNDLE, bundle);
startActivity(intent);
});
}
......
......@@ -12,13 +12,15 @@ import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.LinearLayout;
import com.dayu.base.ui.activity.DataBindingActivity;
import com.dayu.baselibrary.databinding.ActivityWebviewBinding;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.common.Constants;
import com.dayu.event.UserInfo;
import com.dayu.order.R;
import com.dayu.order.api.protocol.Spu;
import com.dayu.order.common.OrderConstant;
import com.dayu.order.databinding.ActivitySopWebviewBinding;
import com.dayu.order.presenter.sop.SopContract;
import com.dayu.order.presenter.sop.SopPresenter;
import com.dayu.provider.event.OrderState;
import com.dayu.utils.ProgressUtil;
import com.dayu.utils.SelectPicUtils;
......@@ -47,7 +49,7 @@ import static com.dayu.order.common.OrderConstant.ORDER_SOP_FINISH;
* on 2017/11/27.
*/
public class SopWebViewActivity extends DataBindingActivity<ActivityWebviewBinding> {
public class SopWebViewActivity extends BaseActivity<SopPresenter,ActivitySopWebviewBinding> implements SopContract.View{
private String mToken;
private int mOrderId;
private int mPositon;
......@@ -64,7 +66,7 @@ public class SopWebViewActivity extends DataBindingActivity<ActivityWebviewBindi
@Override
public int getLayoutId() {
return R.layout.activity_webview;
return R.layout.activity_sop_webview;
}
@Override
......@@ -334,6 +336,11 @@ public class SopWebViewActivity extends DataBindingActivity<ActivityWebviewBindi
}
@Override
public void setPresenter() {
mBind.setPresenter(mPresenter);
}
@Override
protected void onDestroy() {
super.onDestroy();
clearCach();
......
......@@ -20,6 +20,7 @@ import com.dayu.order.common.OrderConstant;
import com.dayu.order.databinding.FragmentOrderdoingItemBinding;
import com.dayu.order.presenter.orderdoing.OrderDoingPresenter;
import com.dayu.order.ui.activity.ProcessOrderActivity;
import com.dayu.order.ui.activity.QrCodeActivity;
import com.dayu.order.ui.activity.ServerInfoActivity;
import com.dayu.order.ui.activity.ServerListActivity;
import com.dayu.order.ui.activity.SopWebViewActivity;
......@@ -165,10 +166,11 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
holder.tvErrorState.setText(mContext.getString(R.string.check_upon_delivery));
holder.tvErrorState.setTextColor(mContext.getResources().getColor(R.color.cl_tab_line));
holder.tvErrorState.setVisibility(View.VISIBLE);
holder.itemUpdataTime.setVisibility(View.GONE);
holder.itemUpdataTime.setVisibility(View.VISIBLE);
holder.tvItemProcess.setVisibility(View.GONE);
holder.orderLineOne.setVisibility(View.GONE);
holder.orderLineOne.setVisibility(View.VISIBLE);
holder.orderLineTwo.setVisibility(View.GONE);
holder.itemUpdataTime.setText(mContext.getString(R.string.customer_acceptance));
if (!haveCustomer) {
holder.llBottom.setVisibility(View.GONE);
......@@ -232,17 +234,22 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
holder.tvItemProcess.setOnClickListener(
v -> processClick(item, holder, position));
String temp = time;
String temp = time;
holder.itemUpdataTime.setOnClickListener(v -> {
dumpSubcribeTimeActivity(id, position, item.getStatus(),temp);
//工单状态:1未接单2未预约3已预约4进行中5已完成6已取消7订单关闭
//工单子状态:3已预约1未出发|3已预约2已出发|4进行中3无SOP处理|4进行中4SOP未完成|4进行中5SOP已完成
if (item.getStatus() == 2) {
MobclickAgent.onEvent(mContext, "subcribe_time");
} else if (item.getStatus() == 3) {
MobclickAgent.onEvent(mContext, "modify_time");
} else if (item.getStatus() == 4) {
MobclickAgent.onEvent(mContext, "modify_time_again");
if (item.getStatus() == 4 && item.getSubStatus() == 6) {
Intent intent = new Intent(mContext, QrCodeActivity.class);
mContext.startActivity(intent);
} else {
dumpSubcribeTimeActivity(id, position, item.getStatus(), temp);
//工单状态:1未接单2未预约3已预约4进行中5已完成6已取消7订单关闭
//工单子状态:3已预约1未出发|3已预约2已出发|4进行中3无SOP处理|4进行中4SOP未完成|4进行中5SOP已完成
if (item.getStatus() == 2) {
MobclickAgent.onEvent(mContext, "subcribe_time");
} else if (item.getStatus() == 3) {
MobclickAgent.onEvent(mContext, "modify_time");
} else if (item.getStatus() == 4) {
MobclickAgent.onEvent(mContext, "modify_time_again");
}
}
});
if (item.getStatus() != 1) {
......@@ -359,7 +366,7 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
}
}
private void dumpSubcribeTimeActivity(int id, int adapterPosition, int state,String time) {
private void dumpSubcribeTimeActivity(int id, int adapterPosition, int state, String time) {
int status = UserManager.getInstance().getUser().getDetectStatus();
if (state == 2 && (status == 2 || status == 3)) { //没有活体检测的先去进行活体检测
showCertificationDialog();
......@@ -369,7 +376,7 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
bundle.putInt(Constants.ORDER_ID, id);
bundle.putInt(Constants.ORDER_POSTION, adapterPosition);
bundle.putInt(Constants.ORDER_STATE, state);
bundle.putString(OrderConstant.TIME,time);
bundle.putString(OrderConstant.TIME, time);
intent.putExtra(Constants.BUNDLE, bundle);
mContext.startActivity(intent);
}
......@@ -388,6 +395,9 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
private void dumpServerActivity(Order order) {
Intent intent;
Bundle bundle = new Bundle();
if (order.getKaCompanyId() != null) {
bundle.putInt(OrderConstant.KAADDRESSID, order.getKaCompanyId());
}
boolean flag = (boolean) SPUtils.get(Constants.ORDER_ID + order.getId(), false);
if (!flag && (order.getFaceSwitch() != null && order.getFaceSwitch() == 1)) {
mPresenter.dumpToFaceCert(order);
......@@ -395,17 +405,19 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
if (order.getSpus().size() > 1) {
intent = new Intent(mContext, ServerInfoActivity.class);
bundle.putInt(Constants.ID, order.getId());
intent.putExtra(Constants.BUNDLE, bundle);
mContext.startActivity(intent);
} else if (order.getSpus().size() == 1) {
intent = new Intent(mContext, ServerListActivity.class);
bundle.putInt(Constants.ID, order.getSpus().get(0).getId());
} else {
return;
}
if (order.getKaCompanyId() != null) {
bundle.putInt(OrderConstant.KAADDRESSID, order.getKaCompanyId());
Spu spu = order.getSpus().get(0);
if (spu.getGoodNum() == 1) {
mPresenter.getServerList(spu.getId(), order.getKaCompanyId());
} else {
intent = new Intent(mContext, ServerListActivity.class);
bundle.putInt(Constants.ID, order.getSpus().get(0).getId());
intent.putExtra(Constants.BUNDLE, bundle);
mContext.startActivity(intent);
}
}
intent.putExtra(Constants.BUNDLE, bundle);
mContext.startActivity(intent);
}
}
......
......@@ -33,6 +33,15 @@
style="@style/title_image_back"
android:onClick="@{()->presenter.dumpBack()}" />
<TextView
android:id="@+id/tv_right_title"
style="@style/title_right_text"
android:onClick="@{()->presenter.callPhone()}"
android:text="@string/company_mobile"
android:textColor="#3faafc"
android:textSize="@dimen/dp_13.3"
android:visibility="@{presenter.mIsShowPhone?View.VISIBLE:View.GONE}" />
<ImageView
android:layout_width="match_parent"
android:layout_height="@dimen/dp_6"
......
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="presenter"
type="com.dayu.order.presenter.sop.SopPresenter" />
<import type="android.view.View" />
</data>
<LinearLayout
android:id="@+id/ll_web"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/rl_title"
style="@style/title">
<TextView
android:id="@+id/tv_title"
style="@style/text_title" />
<ImageView
android:id="@+id/title_back"
style="@style/title_image_back"
/>
<TextView
android:id="@+id/tv_right_title"
style="@style/title_right_text"
android:onClick="@{()->presenter.callPhone()}"
android:text="@string/company_mobile"
android:textColor="#3faafc"
android:textSize="@dimen/dp_13.3"
android:visibility="@{presenter.showPhone?View.VISIBLE:View.GONE}" />
</RelativeLayout>
<ImageView style="@style/card_line" />
</LinearLayout>
</layout>
\ No newline at end of file
......@@ -9,8 +9,9 @@ public class RouterPath {
/**
* APP.
*/
public final static String PATH_MAIN ="/app/main";
public final static String PATH_SETTING ="/app/setting";
public final static String PATH_MAIN = "/app/main";
public final static String PATH_MANAGER = "/app/manager_home";
public final static String PATH_SETTING = "/app/setting";
/**
......@@ -23,12 +24,10 @@ public class RouterPath {
/**
* 我的模块.
*/
public final static String PATH_CERTIFICAITON="/user/certificaiton";
public final static String PATH_CERTIFICAITON = "/user/certificaiton";
/**
* 店长模块
*/
public final static String PATH_SERVICESTATION="/manager/servicestation";
public final static String PATH_MANAGER="/manager/manager_home";
public final static String PATH_SERVICESTATION = "/manager/servicestation";
}
......@@ -116,6 +116,8 @@ public class SmsLoginPresenter extends SmsLoginContract.Presenter {
@Override
public void dumpAndSave(UserInfo info) {
info.getRoles().clear();
info.getRoles().add(3);
switch (UserManager.getInstance().getRole(info)) {
case Constants.MANAGER:
UserManager.getInstance().saveUser(info);
......
package com.dayu.usercenter.ui.activity;
import android.text.Editable;
import android.text.TextUtils;
import android.widget.TextView;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.common.MyTextWatcher;
import com.dayu.usercenter.R;
import com.dayu.usercenter.databinding.ActivitySmsCodeBinding;
import com.dayu.usercenter.presenter.smslogin.SmsLoginContract;
......@@ -13,6 +16,8 @@ import com.dayu.widgets.CustomDialog;
import com.dayu.widgets.listener.OnCloseListener;
import com.umeng.analytics.MobclickAgent;
import java.lang.reflect.Field;
/**
* Created by luofan
* on 2018/7/2.
......@@ -33,7 +38,21 @@ public class SmsCodeActivity extends BaseActivity<SmsLoginPresenter, ActivitySms
public void initView() {
mPresenter.sendCode(1);
mBind.sendCode.setOnClickListener(v -> changeCodeBtn());
mBind.smsCode.setOnCodeFinishListener(content -> mPresenter.login(content));
try {
Field f = TextView.class.getDeclaredField("mCursorDrawableRes");
f.setAccessible(true);
f.set(mBind.code, mActivity.getResources().getDrawable(R.drawable.et_cursor));
} catch (Exception ignored) {
}
mBind.code.addTextChangedListener(new MyTextWatcher() {
@Override
public void afterTextChanged(Editable s) {
String str = mBind.code.getText().toString().trim();
if (!TextUtils.isEmpty(str) && str.toCharArray().length == 6) {
mPresenter.login(str);
}
}
});
UIUtils.showSoftInputFromWindow(mActivity);
}
......@@ -65,11 +84,11 @@ public class SmsCodeActivity extends BaseActivity<SmsLoginPresenter, ActivitySms
@Override
public void setError(String str) {
if (TextUtils.isEmpty(str)){
mBind.smsCode.clear();
}else {
if (TextUtils.isEmpty(str)) {
mBind.code.setText("");
} else {
mBind.error.setText(str);
mBind.smsCode.clear();
mBind.code.setText("");
UIUtils.setShakeAnimation(mBind.error);
}
}
......
......@@ -43,8 +43,8 @@
android:id="@+id/error_"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/common_red"
android:layout_marginTop="@dimen/dp_12"
android:textColor="@color/common_red"
android:textSize="12sp" />
<com.dayu.widgets.SmsCodeView
......@@ -54,6 +54,7 @@
android:layout_marginTop="15dp"
android:gravity="center"
android:orientation="horizontal"
android:visibility="gone"
app:vcv_et_bg="@drawable/et_login_code"
app:vcv_et_cursor="@drawable/et_cursor"
app:vcv_et_inputType="number"
......@@ -62,6 +63,29 @@
app:vcv_et_text_size="5sp"
app:vcv_et_width="40dp" />
<EditText
android:id="@+id/code"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="50dp"
android:layout_marginRight="50dp"
android:layout_marginTop="15dp"
android:background="@null"
android:gravity="center"
android:inputType="number"
android:maxEms="6"
android:textColor="@color/default_text_color"
android:textCursorDrawable="@null"
android:textSize="20sp" />
<View
android:id="@+id/line"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginLeft="50dp"
android:layout_marginRight="50dp"
android:background="@color/cl_line" />
<TextView
android:id="@+id/send_code"
android:layout_width="wrap_content"
......
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