|
|
@@ -6,12 +6,14 @@ import android.content.DialogInterface;
|
|
|
import android.content.Intent;
|
|
|
import android.content.IntentFilter;
|
|
|
import android.os.Bundle;
|
|
|
+import android.os.Parcelable;
|
|
|
import android.support.v4.content.LocalBroadcastManager;
|
|
|
import android.support.v7.app.AlertDialog;
|
|
|
import android.support.v7.widget.RecyclerView;
|
|
|
import android.view.Menu;
|
|
|
import android.view.MenuItem;
|
|
|
import android.view.View;
|
|
|
+import android.widget.PopupWindow;
|
|
|
|
|
|
import com.afollestad.materialdialogs.MaterialDialog;
|
|
|
import com.baidu.mapapi.model.LatLng;
|
|
|
@@ -29,13 +31,15 @@ import com.core.app.Constants;
|
|
|
import com.core.app.MyApplication;
|
|
|
import com.core.base.OABaseActivity;
|
|
|
import com.core.model.MissionModel;
|
|
|
+import com.core.model.SelectBean;
|
|
|
import com.core.utils.BaiduMapUtil;
|
|
|
import com.core.utils.OnGetDrivingRouteResult;
|
|
|
import com.core.utils.TimeUtils;
|
|
|
-import com.core.utils.helper.PopupWindowHelper;
|
|
|
import com.core.utils.time.wheel.DateTimePicker;
|
|
|
+import com.core.widget.view.Activity.SelectActivity;
|
|
|
import com.core.widget.view.model.SelectAimModel;
|
|
|
import com.lidroid.xutils.ViewUtils;
|
|
|
+import com.modular.apputils.utils.PopupWindowHelper;
|
|
|
import com.uas.appworks.OA.erp.adapter.MissionAdapter;
|
|
|
import com.uas.appworks.OA.erp.model.IMission;
|
|
|
import com.uas.appworks.OA.erp.presenter.IMissionPresenter;
|
|
|
@@ -43,6 +47,7 @@ import com.uas.appworks.OA.erp.presenter.MissionPresenter;
|
|
|
import com.uas.appworks.OA.erp.utils.MostLinearLayoutManager;
|
|
|
import com.uas.appworks.R;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
@@ -50,6 +55,7 @@ import java.util.List;
|
|
|
* 外勤打卡
|
|
|
*/
|
|
|
public class MissionActivity extends OABaseActivity implements View.OnClickListener, IMission, MissionAdapter.OnitemClickListener {
|
|
|
+ private final int NUMBER_SELECT = 112;
|
|
|
private RecyclerView recycler;
|
|
|
public int position;//调转指针
|
|
|
private IMissionPresenter presenter;
|
|
|
@@ -116,7 +122,7 @@ public class MissionActivity extends OABaseActivity implements View.OnClickListe
|
|
|
intent.putExtra(AppConfig.IS_ADMIN, adminStatus);
|
|
|
startActivityForResult(intent, 0x22);
|
|
|
} else if (item.getItemId() == R.id.sign) {
|
|
|
- if (adapter!=null){
|
|
|
+ if (adapter != null) {
|
|
|
presenter.sign(adapter.getModels());
|
|
|
}
|
|
|
}
|
|
|
@@ -188,6 +194,15 @@ public class MissionActivity extends OABaseActivity implements View.OnClickListe
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void showFinds(List<SelectBean> models) {
|
|
|
+ Intent intent = new Intent(this, SelectActivity.class)
|
|
|
+ .putExtra("type", 2)
|
|
|
+ .putExtra("title", getString(R.string.select_location))
|
|
|
+ .putParcelableArrayListExtra("data", (ArrayList<? extends Parcelable>) models);
|
|
|
+ startActivityForResult(intent, NUMBER_SELECT);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void changModelStatus(int status, int postion) {
|
|
|
if (ListUtils.isEmpty(adapter.getModels()) || adapter.getModels().size() <= postion) return;
|
|
|
@@ -287,7 +302,7 @@ public class MissionActivity extends OABaseActivity implements View.OnClickListe
|
|
|
|
|
|
@Override
|
|
|
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
|
|
- if (resultCode != 0x20 || data == null) return;
|
|
|
+ if (data == null) return;
|
|
|
try {
|
|
|
onResult(requestCode, resultCode, data);
|
|
|
} catch (Exception e) {
|
|
|
@@ -295,45 +310,28 @@ public class MissionActivity extends OABaseActivity implements View.OnClickListe
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private SelectAimModel chcheAimModel = null;
|
|
|
+ private PopupWindow popupWindow = null;
|
|
|
+
|
|
|
private void onResult(int requestCode, int resultCode, Intent data) throws Exception {
|
|
|
if (requestCode == 0x20) {//选择公司
|
|
|
- SelectAimModel entity = data.getParcelableExtra("data");
|
|
|
- PopupWindowHelper.create(this, getString(R.string.perfect_company_name), entity, new PopupWindowHelper.OnClickListener() {
|
|
|
+ chcheAimModel = data.getParcelableExtra("data");
|
|
|
+ if (popupWindow != null) {
|
|
|
+ popupWindow.dismiss();
|
|
|
+ popupWindow = null;
|
|
|
+ }
|
|
|
+ popupWindow = PopupWindowHelper.create(this, getString(R.string.perfect_company_name), chcheAimModel, new PopupWindowHelper.OnClickListener() {
|
|
|
@Override
|
|
|
public void result(SelectAimModel model) {
|
|
|
sureSelectAim(model);
|
|
|
}
|
|
|
+ }, new PopupWindowHelper.OnFindLikerListener() {
|
|
|
+ @Override
|
|
|
+ public void click(String licker) {
|
|
|
+ presenter.finder(licker);
|
|
|
+ }
|
|
|
});
|
|
|
- }
|
|
|
-// else if (requestCode == 0x21) {//选择地址
|
|
|
-// PoiInfo info = data.getParcelableExtra("resultName");
|
|
|
-// if (info == null) {
|
|
|
-// return;
|
|
|
-// } else {
|
|
|
-// String distance = getInstence().getDistance(info.location);
|
|
|
-// if (StringUtil.isEmpty(distance)) return;
|
|
|
-// if (ListUtils.isEmpty(adapter.getModels()) || adapter.getModels().size() <= position)
|
|
|
-// return;
|
|
|
-// if (StringUtil.isEmpty(adapter.getModels().get(position).getCompanyName())) {
|
|
|
-// adapter.getModels().get(position).setCompanyName(info.name);
|
|
|
-// }
|
|
|
-// adapter.getModels().get(position).setCompanyName(info.name);
|
|
|
-// adapter.getModels().get(position).setCompanyAddr(info.address);
|
|
|
-// adapter.getModels().get(position).setLatLng(info.location);
|
|
|
-// adapter.getModels().get(position).setDistance(getInstence().distance(adapter.getModels().get(position).getLatLng()
|
|
|
-// , new LatLng(MyApplication.getInstance().getBdLocationHelper().getLatitude(),
|
|
|
-// MyApplication.getInstance().getBdLocationHelper().getLongitude())));
|
|
|
-// adapter.notifyItemChanged(position);
|
|
|
-// if (!StringUtil.isEmpty(adapter.getModels().get(position).getCompanyName()))
|
|
|
-// try {
|
|
|
-// setEndTime(info.location, Double.valueOf(getInstence().getDistance(info.location)));
|
|
|
-// } catch (ClassCastException e) {
|
|
|
-//
|
|
|
-// } catch (Exception e) {
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
- else if (0x22 == requestCode) {//外勤设置
|
|
|
+ } else if (0x22 == requestCode) {//外勤设置
|
|
|
boolean isAuto = data.getBooleanExtra("isAuto", true);
|
|
|
if (!isAuto && !(ApiUtils.getApiModel() instanceof ApiPlatform)) {
|
|
|
if (flag == 1) {
|
|
|
@@ -352,6 +350,27 @@ public class MissionActivity extends OABaseActivity implements View.OnClickListe
|
|
|
String remark = StringUtil.isEmpty(message) ? getResources().getString(R.string.maintain_customers) : message;
|
|
|
adapter.getModels().get(position).setRemark(remark);
|
|
|
adapter.notifyItemChanged(position);
|
|
|
+ } else if (NUMBER_SELECT == requestCode) {
|
|
|
+ SelectBean bean = data.getParcelableExtra("data");
|
|
|
+ if (chcheAimModel != null && bean != null) {
|
|
|
+ chcheAimModel.setName(bean.getName());
|
|
|
+ if (popupWindow != null) {
|
|
|
+ popupWindow.dismiss();
|
|
|
+ popupWindow = null;
|
|
|
+ }
|
|
|
+ popupWindow = PopupWindowHelper.create(this, getString(R.string.perfect_company_name), chcheAimModel, new PopupWindowHelper.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void result(SelectAimModel model) {
|
|
|
+ sureSelectAim(model);
|
|
|
+ }
|
|
|
+ }, new PopupWindowHelper.OnFindLikerListener() {
|
|
|
+ @Override
|
|
|
+ public void click(String licker) {
|
|
|
+ presenter.finder(licker);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -374,6 +393,7 @@ public class MissionActivity extends OABaseActivity implements View.OnClickListe
|
|
|
try {
|
|
|
float dis = Float.valueOf(BaiduMapUtil.getInstence().getDistance(entity.getLatLng()));
|
|
|
setEndTime(entity.getLatLng(), dis);
|
|
|
+ chcheAimModel = null;
|
|
|
} catch (ClassCastException e) {
|
|
|
if (e != null)
|
|
|
LogUtil.i("ClassCastException " + e.getMessage());
|