Browse Source

Merge branch 'developer' of https://gitlab.com/Arisono/SkWeiChat-Baidu into feature

# Conflicts:
#	WeiChat/version.properties
Arison 7 years ago
parent
commit
03799339a9
30 changed files with 454 additions and 135 deletions
  1. 40 3
      app_core/common/src/main/java/com/common/data/DateFormatUtil.java
  2. 1 0
      app_core/common/src/main/java/com/core/app/Constants.java
  3. 19 0
      app_core/common/src/main/java/com/core/utils/BaiduMapUtil.java
  4. 1 0
      app_core/common/src/main/res/layout/activity_approval.xml
  5. 15 2
      app_modular/appmessages/src/main/java/com/modular/appmessages/activity/ApprovalActivity.java
  6. 12 2
      app_modular/apputils/src/main/java/com/modular/apputils/activity/BillInputActivity.java
  7. 19 17
      app_modular/apputils/src/main/java/com/modular/apputils/adapter/BillAdapter.java
  8. 5 3
      app_modular/apputils/src/main/res/layout/activity_bill_input.xml
  9. 2 2
      app_modular/appworks/src/main/java/com/uas/appworks/activity/businessManage/businessDetailActivity/BusinessDetailPresenterImpl.java
  10. 18 2
      app_modular/appworks/src/main/java/com/uas/appworks/adapter/CustomerCareListAdapter.java
  11. 38 2
      app_modular/appworks/src/main/java/com/uas/appworks/adapter/CustomerVisitBillAdapter.java
  12. 2 2
      app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/BillSearchActivity.java
  13. 1 1
      app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/CustomerBillInputActivity.java
  14. 15 14
      app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/CustomerCareListActivity.java
  15. 1 8
      app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/CustomerContactDetailActivity.java
  16. 4 4
      app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/CustomerDetails3_0Activity.java
  17. 67 20
      app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/CustomerListActivity.java
  18. 2 0
      app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/CustomerVisitActivity.java
  19. 18 1
      app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/CustomerVisitBillInputActivity.java
  20. 54 0
      app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/CustomerVisitDetailsActivity.java
  21. 36 15
      app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/fragment/CustomerListDetailsFragment.java
  22. 25 4
      app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/fragment/CustomerListFragment.java
  23. 41 24
      app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/fragment/CustomerMapDetailsFragment.java
  24. 1 1
      app_modular/appworks/src/main/java/com/uas/appworks/presenter/CustomerManagePresenter.java
  25. 4 1
      app_modular/appworks/src/main/res/layout/activity_business_detail_new.xml
  26. 3 2
      app_modular/appworks/src/main/res/layout/activity_business_manage_home.xml
  27. 1 0
      app_modular/appworks/src/main/res/layout/activity_customer_details_3_0.xml
  28. 1 0
      app_modular/appworks/src/main/res/layout/activity_customer_list_3_0.xml
  29. 4 2
      app_modular/appworks/src/main/res/layout/fragment_customer_map_3_0.xml
  30. 4 3
      app_modular/appworks/src/main/res/layout/pop_business_follow_menu.xml

+ 40 - 3
app_core/common/src/main/java/com/common/data/DateFormatUtil.java

@@ -20,7 +20,6 @@ public class DateFormatUtil {
     public static final String MD = "MM-dd";
 
 
-
     public static SimpleDateFormat getFormat(String format) {
         return new SimpleDateFormat(format);
     }
@@ -46,7 +45,7 @@ public class DateFormatUtil {
     }
 
     public static long str2Long(String time, String format) {
-        if (TextUtils.isEmpty(time)){
+        if (TextUtils.isEmpty(time)) {
             return 0;
         }
         SimpleDateFormat s = new SimpleDateFormat(format);
@@ -271,10 +270,48 @@ public class DateFormatUtil {
     }
 
 
-    public static long hhmm2Long(String hhMM){
+    public static long hhmm2Long(String hhMM) {
         if (StringUtil.isEmpty(hhMM)) return 0;
         String che = long2Str(DateFormatUtil.YMD) + " " + hhMM + ":00";//当天下班时间
         return DateFormatUtil.str2Long(che, DateFormatUtil.YMD_HMS);
     }
 
+    /**
+     * date2比date1多的天数
+     *
+     * @param date1
+     * @param date2
+     * @return
+     */
+    public static int differentDays(long date1, long date2) {
+        Calendar cal1 = Calendar.getInstance();
+        cal1.setTimeInMillis(date1);
+
+        Calendar cal2 = Calendar.getInstance();
+        cal2.setTimeInMillis(date2);
+        int day1 = cal1.get(Calendar.DAY_OF_YEAR);
+        int day2 = cal2.get(Calendar.DAY_OF_YEAR);
+
+        int year1 = cal1.get(Calendar.YEAR);
+        int year2 = cal2.get(Calendar.YEAR);
+        if (year1 != year2)   //同一年
+        {
+            int timeDistance = 0;
+            for (int i = year1; i < year2; i++) {
+                if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0)    //闰年
+                {
+                    timeDistance += 366;
+                } else    //不是闰年
+                {
+                    timeDistance += 365;
+                }
+            }
+
+            return timeDistance + (day2 - day1);
+        } else    //不同年
+        {
+            System.out.println("判断day2 - day1 : " + (day2 - day1));
+            return day2 - day1;
+        }
+    }
 }

+ 1 - 0
app_core/common/src/main/java/com/core/app/Constants.java

@@ -570,6 +570,7 @@ public class Constants {
     public interface Intents {
         String MY_DOIT = "isMe";//是否我负责
         String CALLER = "mCaller";
+        String STATUS = "mStatus";
         String CONDITION = "mCondition";
         String ID = "mId";
         String TITLE = "mTitlte";

+ 19 - 0
app_core/common/src/main/java/com/core/utils/BaiduMapUtil.java

@@ -8,6 +8,7 @@ import com.baidu.mapapi.map.MapStatusUpdateFactory;
 import com.baidu.mapapi.map.MapView;
 import com.baidu.mapapi.map.MarkerOptions;
 import com.baidu.mapapi.map.OverlayOptions;
+import com.baidu.mapapi.map.TextureMapView;
 import com.baidu.mapapi.model.LatLng;
 import com.baidu.mapapi.search.poi.PoiNearbySearchOption;
 import com.baidu.mapapi.search.route.DrivingRoutePlanOption;
@@ -89,7 +90,25 @@ public class BaiduMapUtil {
 
         }
     }
+    public void setMapViewPoint(TextureMapView mapView, LatLng point, boolean isClear) {
+        try {
+            if (point == null) return;
+            // 构建Marker图标
+            BitmapDescriptor bitmap = BitmapDescriptorFactory.fromResource(R.drawable.icon_gcoding);
+            // 构建MarkerOption,用于在地图上添加Marker
+            OverlayOptions option = new MarkerOptions().position(point).icon(bitmap);
+            if (isClear) mapView.getMap().clear();
+            // 在地图上添加Marker,并显示
+            mapView.getMap().addOverlay(option);
+            mapView.showZoomControls(false);
+            MapStatus mapStatus = new MapStatus.Builder().zoom(mapView.getMap().getMaxZoomLevel() - 3).target(point).build();
+            MapStatusUpdate u = MapStatusUpdateFactory.newMapStatus(mapStatus);
+            mapView.getMap().animateMapStatus(u);//设置为中心显示
 
+        } catch (Exception e) {
+
+        }
+    }
     public void setMapViewPoint(MapView mapView, List<LatLng> points, boolean isClear) {
         if (ListUtils.isEmpty(points)) return;
         try {

+ 1 - 0
app_core/common/src/main/res/layout/activity_approval.xml

@@ -4,6 +4,7 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:focusableInTouchMode="true"
+    android:id="@+id/mRootLL"
     android:fitsSystemWindows="true"
     android:orientation="vertical">
 

+ 15 - 2
app_modular/appmessages/src/main/java/com/modular/appmessages/activity/ApprovalActivity.java

@@ -1,6 +1,7 @@
 package com.modular.appmessages.activity;
 
 import android.content.Intent;
+import android.os.Build;
 import android.os.Bundle;
 import android.support.annotation.NonNull;
 import android.support.v7.widget.DefaultItemAnimator;
@@ -43,6 +44,7 @@ import com.core.model.SelectBean;
 import com.core.model.SelectCollisionTurnBean;
 import com.core.model.SelectEmUser;
 import com.core.utils.RecognizerDialogUtil;
+import com.core.utils.StatusBarUtil;
 import com.core.widget.listener.EditChangeListener;
 import com.core.widget.view.Activity.SelectActivity;
 import com.core.xmpp.utils.audio.voicerecognition.JsonParser;
@@ -232,6 +234,17 @@ public class ApprovalActivity extends BaseActivity implements IApproval, Approva
             }
         }
         mPresenter = new ApprovaPresenter(this, getIntent());
+        final LinearLayout mRootLL = findViewById(R.id.mRootLL);
+        if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT) {
+            mRootLL.post(new Runnable() {
+                @Override
+                public void run() {
+                    int top = StatusBarUtil.getStatusBarHeight(ct);
+                    mRootLL.invalidate(0, 0, mRootLL.getMeasuredWidth(), mRootLL.getMeasuredHeight() +top);
+                    mRootLL.setTranslationY(-top);
+                }
+            });
+        }
     }
 
     public void toDbFind(Approval approval) {
@@ -349,7 +362,7 @@ public class ApprovalActivity extends BaseActivity implements IApproval, Approva
 
     @Override
     public void showModels(List<Approval> approvals, List<Approval> historyNodes) {
-        LogUtil.i("gong","showModels="+approvals.size());
+        LogUtil.i("gong", "showModels=" + approvals.size());
         mAdapter = new ApprovalAdapter(this, approvals, historyNodes, mPresenter.isApprovaling());
         contentRV.setHasFixedSize(false);
         contentRV.setItemAnimator(new DefaultItemAnimator());
@@ -558,7 +571,7 @@ public class ApprovalActivity extends BaseActivity implements IApproval, Approva
 
     @Override
     public void showToast(String message) {
-        LogUtil.i("gong","message="+message);
+        LogUtil.i("gong", "message=" + message);
         super.showToast(message);
     }
 

+ 12 - 2
app_modular/apputils/src/main/java/com/modular/apputils/activity/BillInputActivity.java

@@ -14,6 +14,7 @@ import android.text.TextUtils;
 import android.util.Log;
 import android.view.Menu;
 import android.view.MenuItem;
+import android.view.View;
 import android.widget.LinearLayout;
 import android.widget.Toast;
 
@@ -32,6 +33,7 @@ import com.core.base.BaseActivity;
 import com.core.base.OABaseActivity;
 import com.core.model.SelectBean;
 import com.core.utils.CommonUtil;
+import com.core.utils.StatusBarUtil;
 import com.core.utils.ToastUtil;
 import com.core.utils.time.wheel.DateTimePicker;
 import com.core.widget.view.Activity.ImgFileListActivity;
@@ -143,7 +145,6 @@ public class BillInputActivity extends OABaseActivity implements IBill, BillAdap
     }
 
 
-
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
         if (item.getItemId() == R.id.saveAndSubmit) {
@@ -174,11 +175,20 @@ public class BillInputActivity extends OABaseActivity implements IBill, BillAdap
     }
 
 
-
     private void initView() {
         mRecyclerView = findViewById(R.id.mRecyclerView);
         mRecyclerView.setLayoutManager(new LinearLayoutManager(ct));
         mRecyclerView.addItemDecoration(new DividerItemDecoration(ct, LinearLayout.VERTICAL));
+        if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT) {
+            final View mRootLL = findViewById(R.id.mRootLL);
+            mRootLL.post(new Runnable() {
+                @Override
+                public void run() {
+                    int top = StatusBarUtil.getStatusBarHeight(ct);
+                    mRootLL.setTranslationY(-top);
+                }
+            });
+        }
     }
 
     @Override

+ 19 - 17
app_modular/apputils/src/main/java/com/modular/apputils/adapter/BillAdapter.java

@@ -50,9 +50,9 @@ import java.util.Set;
 public class BillAdapter extends RecyclerView.Adapter<BillAdapter.BaseViewHolder> implements View.OnClickListener {
 
     public Context ct;
-    private List<BillGroupModel> mBillGroupModels;
-    private List<BillGroupModel.BillModel> mShowBillModels;
-    public OnAdapterListener mOnAdapterListener;
+    protected List<BillGroupModel> mBillGroupModels;
+    protected List<BillGroupModel.BillModel> mShowBillModels;
+    protected OnAdapterListener mOnAdapterListener;
 
     public BillAdapter(Context ct, List<BillGroupModel> mBillGroupModels, OnAdapterListener mOnAdapterListener) {
         this.ct = ct;
@@ -406,20 +406,7 @@ public class BillAdapter extends RecyclerView.Adapter<BillAdapter.BaseViewHolder
         } else if (view.getId() == R.id.addTv) {
             if (view.getTag() != null && view.getTag() instanceof Integer) {
                 int groupIndex = (int) view.getTag();
-                BillGroupModel mBillGroupModel = mBillGroupModels.get(groupIndex);
-                mBillGroupModel.setLastInType(false);
-                BillGroupModel newBillGroupModel = new BillGroupModel();
-                newBillGroupModel.setForm(mBillGroupModel.isForm());
-                newBillGroupModel.setGroup(mBillGroupModel.getGroup());
-                newBillGroupModel.setDeleteAble(true);
-                newBillGroupModel.setLastInType(true);
-                for (BillGroupModel.BillModel e : mBillGroupModel.getShowBillFields()) {
-                    newBillGroupModel.addShow(new BillGroupModel.BillModel(e));
-                }
-                mBillGroupModels.add(groupIndex + 1, newBillGroupModel);
-                setBillGroupModels(mBillGroupModels);
-                notifyDataSetChanged();
-
+                addGroups(groupIndex);
             }
         } else if (R.id.btn_del == view.getId()) {
             if (view.getTag(R.id.tag_key) != null && view.getTag(R.id.tag_key2) != null
@@ -442,6 +429,21 @@ public class BillAdapter extends RecyclerView.Adapter<BillAdapter.BaseViewHolder
         }
     }
 
+    protected void addGroups(int mGroupIndex) {
+        BillGroupModel mBillGroupModel = mBillGroupModels.get(mGroupIndex);
+        mBillGroupModel.setLastInType(false);
+        BillGroupModel newBillGroupModel = new BillGroupModel();
+        newBillGroupModel.setForm(mBillGroupModel.isForm());
+        newBillGroupModel.setGroup(mBillGroupModel.getGroup());
+        newBillGroupModel.setDeleteAble(true);
+        newBillGroupModel.setLastInType(true);
+        for (BillGroupModel.BillModel e : mBillGroupModel.getShowBillFields()) {
+            newBillGroupModel.addShow(new BillGroupModel.BillModel(e));
+        }
+        mBillGroupModels.add(mGroupIndex + 1, newBillGroupModel);
+        setBillGroupModels(mBillGroupModels);
+        notifyDataSetChanged();
+    }
 
     public class TextChangListener extends EditChangeListener {
         EditText ed;

+ 5 - 3
app_modular/apputils/src/main/res/layout/activity_bill_input.xml

@@ -1,12 +1,14 @@
 <?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:focusableInTouchMode="true"
     android:fitsSystemWindows="true"
+    android:id="@+id/mRootLL"
+    android:focusableInTouchMode="true"
     android:layout_height="match_parent">
 
     <android.support.v7.widget.RecyclerView
         android:id="@+id/mRecyclerView"
+        android:focusableInTouchMode="false"
         android:layout_width="match_parent"
         android:layout_height="match_parent"/>
-</RelativeLayout>
+</LinearLayout>

+ 2 - 2
app_modular/appworks/src/main/java/com/uas/appworks/activity/businessManage/businessDetailActivity/BusinessDetailPresenterImpl.java

@@ -125,7 +125,7 @@ public class BusinessDetailPresenterImpl extends BaseMvpPresenter<BusinessDetail
     public void requestBusinessType(Context context, int bc_id, String admincode) {
         mContext = context;
         getMvpView().showLoading("");
-        HttpRequest.getInstance().sendRequest("http://192.168.253.35:8080/ERP/",
+        HttpRequest.getInstance().sendRequest(CommonUtil.getAppBaseUrl(context),
                 new HttpParams.Builder()
                         .url("mobile/crm/businessChanceButtonShow.action")
                         .method(Method.POST)
@@ -213,7 +213,7 @@ public class BusinessDetailPresenterImpl extends BaseMvpPresenter<BusinessDetail
                     LogUtil.prinlnLongMsg("raoTypeSuc", result);
                     JSONObject resultObject = JSON.parseObject(result);
                     boolean isGra = JSONUtil.getBoolean(resultObject, "grabBc");
-                    boolean isDistribution = JSONUtil.getBoolean(resultObject, "distribution");
+                    boolean isDistribution = JSONUtil.getBoolean(resultObject, "distributionBc");
                     getMvpView().requestBusinessTypeSuccess(isGra, isDistribution);
                 } catch (Exception e) {
                     getMvpView().requestBusinessTypeSuccess(false, false);

+ 18 - 2
app_modular/appworks/src/main/java/com/uas/appworks/adapter/CustomerCareListAdapter.java

@@ -2,15 +2,19 @@ package com.uas.appworks.adapter;
 
 import android.content.Context;
 import android.content.Intent;
+import android.graphics.drawable.Drawable;
 import android.view.View;
 import android.widget.TextView;
 
+import com.common.data.DateFormatUtil;
 import com.core.app.Constants;
 import com.modular.apputils.adapter.EasyBaseAdapter;
 import com.modular.apputils.model.EasyBaseModel;
+import com.modular.apputils.widget.compactcalender.Lunar;
 import com.uas.appworks.R;
 import com.uas.appworks.crm3_0.activity.CustomerDetails3_0Activity;
 
+import java.util.Date;
 import java.util.List;
 
 public class CustomerCareListAdapter extends EasyBaseAdapter {
@@ -21,6 +25,12 @@ public class CustomerCareListAdapter extends EasyBaseAdapter {
         this.type = type;
     }
 
+    private void setCompoundDrawables(TextView tv){
+        Drawable drawable = ct.getResources().getDrawable(R.drawable.ic_customer_birthday);
+        drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());//必须设置图片大小,否则不显示
+        tv.setCompoundDrawables(drawable, null, null, null);
+    }
+
     @Override
     public View bindView(View view, int position, EasyBaseModel model) {
         ViewHolder mViewHolder = null;
@@ -31,16 +41,22 @@ public class CustomerCareListAdapter extends EasyBaseAdapter {
             mViewHolder.tagTv = (TextView) view.findViewById(R.id.tagTv);
             if (type == 1) {
                 mViewHolder.tagTv.setTextColor(0xffED0000);
+                mViewHolder.subTitleTv.setText(model.getSubTitle());
+                mViewHolder.tagTv.setText(model.getIconUrl());
             } else if (type == 2) {
                 mViewHolder.tagTv.setTextColor(0xffFD8B1E);
+                setCompoundDrawables(mViewHolder.subTitleTv);
+                long time= DateFormatUtil.str2Long(model.getSubTitle(),DateFormatUtil.YMD_HMS);
+                StringBuilder subTitleBuilder=new StringBuilder(DateFormatUtil.long2Str(time,DateFormatUtil.MD));
+                subTitleBuilder.append(" | 农历  "+new Lunar(new Date(time)).toString());
+                mViewHolder.subTitleTv.setText(subTitleBuilder.toString());
+                mViewHolder.tagTv.setText(String.valueOf(DateFormatUtil.differentDays(time,System.currentTimeMillis()))+"天");
             }
             view.setTag(mViewHolder);
         } else {
             mViewHolder = (ViewHolder) view.getTag();
         }
         mViewHolder.nameTv.setText(model.getTitle());
-        mViewHolder.subTitleTv.setText(model.getSubTitle());
-        mViewHolder.tagTv.setText(model.getIconUrl());
         view.setTag(R.id.tag_key,model);
         view.setOnClickListener(mOnClickListener);
         return view;

+ 38 - 2
app_modular/appworks/src/main/java/com/uas/appworks/adapter/CustomerVisitBillAdapter.java

@@ -3,13 +3,16 @@ package com.uas.appworks.adapter;
 import android.content.Context;
 import android.view.View;
 
+import com.common.data.ListUtils;
+import com.core.utils.CommonUtil;
 import com.modular.apputils.adapter.BillAdapter;
 import com.modular.apputils.model.BillGroupModel;
 import com.uas.appworks.R;
 
+import java.util.ArrayList;
 import java.util.List;
 
-public class CustomerVisitBillAdapter extends BillAdapter{
+public class CustomerVisitBillAdapter extends BillAdapter {
 
     public CustomerVisitBillAdapter(Context ct, List<BillGroupModel> mBillGroupModels, OnAdapterListener mOnAdapterListener) {
         super(ct, mBillGroupModels, mOnAdapterListener);
@@ -19,7 +22,7 @@ public class CustomerVisitBillAdapter extends BillAdapter{
     @Override
     public void bindInputView(InputViewHolder mInputViewHolder, BillGroupModel.BillModel model, int position) throws Exception {
         super.bindInputView(mInputViewHolder, model, position);
-        if (model.getCaption().equals("公司名称")||"mpd_company".equals(model.getField())){
+        if (model.getCaption().equals("公司名称") || "mpd_company".equals(model.getField())) {
             //选择类型
             mInputViewHolder.valuesEd.setHint("请选择");
             mInputViewHolder.valuesEd.setFocusable(false);
@@ -31,4 +34,37 @@ public class CustomerVisitBillAdapter extends BillAdapter{
         }
     }
 
+    protected void addGroups(int mGroupIndex) {
+        BillGroupModel mBillGroupModel = mBillGroupModels.get(mGroupIndex);
+        mBillGroupModel.setLastInType(false);
+        BillGroupModel newBillGroupModel = new BillGroupModel();
+        newBillGroupModel.setForm(mBillGroupModel.isForm());
+        newBillGroupModel.setGroup(mBillGroupModel.getGroup());
+        newBillGroupModel.setDeleteAble(true);
+        newBillGroupModel.setLastInType(true);
+        for (BillGroupModel.BillModel e : mBillGroupModel.getShowBillFields()) {
+            BillGroupModel.BillModel mBillModel = new BillGroupModel.BillModel(e);
+            switch (mBillModel.getField()) {
+                case "mpd_personnum"://人员编号
+                    mBillModel.setDefValue("");
+                    mBillModel.setValue("");
+                    mBillModel.setReadOnly("F");
+                    break;
+                case "mpd_personname":
+                    mBillModel.setDefValue("");
+                    mBillModel.setValue("");
+                    mBillModel.setReadOnly("F");
+                    break;
+                case "mpd_type":
+                    mBillModel.setDefValue("");
+                    mBillModel.setValue("");
+                    mBillModel.setReadOnly("F");
+                    break;
+            }
+            newBillGroupModel.addShow(mBillModel);
+        }
+        mBillGroupModels.add(mGroupIndex + 1, newBillGroupModel);
+        setBillGroupModels(mBillGroupModels);
+        notifyDataSetChanged();
+    }
 }

+ 2 - 2
app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/BillSearchActivity.java

@@ -229,7 +229,7 @@ public class BillSearchActivity extends OABaseActivity {
                     billListField.setValue(values);
                     billListField.setGroupIndex(index);
                     groupModel.setGroupIndex(index);
-                    if (JSONUtil.getInt(column, "width") > 0 && (billConfig.getShowItemNum() <= 0 || billConfig.getShowItemNum() >showNum)) {
+                    if (JSONUtil.getInt(column, "width") > 0 && (billConfig==null||billConfig.getShowItemNum() <= 0 || billConfig.getShowItemNum() >showNum)) {
                         billListFields.add(billListField);
                         showNum++;
                     } else {
@@ -268,7 +268,7 @@ public class BillSearchActivity extends OABaseActivity {
                                 .putExtra(Constants.Intents.ID, mBillListGroupModel.getId()));
                     } else if (mDetailsActivity != null) {
                         ArrayList<BillListGroupModel.BillListField> fields = new ArrayList<>();
-                        if (billConfig.isNeedForward()) {
+                        if (billConfig!=null&&billConfig.isNeedForward()) {
                             if (!ListUtils.isEmpty(mBillListGroupModel.getBillFields())) {
                                 fields.addAll(mBillListGroupModel.getBillFields());
                             }

+ 1 - 1
app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/CustomerBillInputActivity.java

@@ -117,7 +117,7 @@ public class CustomerBillInputActivity extends BillInputActivity {
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
 
-        if (0x201 == requestCode) {
+        if (0x201 == requestCode&&data!=null) {
             SelectAimModel chcheAimModel = data.getParcelableExtra("data");
             if (popupWindow != null) {
                 popupWindow.dismiss();

+ 15 - 14
app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/CustomerCareListActivity.java

@@ -8,6 +8,7 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.common.LogUtil;
+import com.common.data.DateFormatUtil;
 import com.common.data.JSONUtil;
 import com.common.data.ListUtils;
 import com.core.app.Constants;
@@ -124,7 +125,7 @@ public class CustomerCareListActivity extends OABaseActivity {
                     break;
 
             }
-            if (mListView!=null&&mListView.isRefreshing()){
+            if (mListView != null && mListView.isRefreshing()) {
                 mListView.onRefreshComplete();
             }
             dimssLoading();
@@ -138,7 +139,7 @@ public class CustomerCareListActivity extends OABaseActivity {
             } else {
                 showToast(message);
             }
-            if (mListView!=null&&mListView.isRefreshing()){
+            if (mListView != null && mListView.isRefreshing()) {
                 mListView.onRefreshComplete();
             }
             dimssLoading();
@@ -153,7 +154,7 @@ public class CustomerCareListActivity extends OABaseActivity {
                 JSONObject object = array.getJSONObject(i);
                 int id = JSONUtil.getInt(object, "id");
                 String name = JSONUtil.getText(object, "name");//客户名称
-                String fpTime = JSONUtil.getText(object, "fpTime");//跟进时间
+                String fpTime = DateFormatUtil.long2Str(JSONUtil.getTime(object, "fpTime"), DateFormatUtil.YMD_HMS);//跟进时间
                 String state = JSONUtil.getText(object, "state");//状态
                 models.add(new EasyBaseModel().setId(id).setTitle(name).setSubTitle("最后跟进时间:" + fpTime).setIconUrl(state));
             }
@@ -168,7 +169,7 @@ public class CustomerCareListActivity extends OABaseActivity {
                 JSONObject object = array.getJSONObject(i);
                 int id = JSONUtil.getInt(object, "id");
                 String name = JSONUtil.getText(object, "name");//客户名称
-                String birthday = JSONUtil.getText(object, "birthday");//跟进时间
+                String birthday = DateFormatUtil.long2Str(JSONUtil.getTime(object, "birthday"), DateFormatUtil.YMD_HMS);//跟进时间
                 String state = JSONUtil.getText(object, "state");//状态
                 models.add(new EasyBaseModel().setId(id).setTitle(name).setSubTitle(birthday).setIconUrl(state));
             }
@@ -184,11 +185,11 @@ public class CustomerCareListActivity extends OABaseActivity {
             mListAdapter = new CustomerCareListAdapter(ct, models, 2);
             mListView.setAdapter(mListAdapter);
         } else {
-            List<EasyBaseModel> showModels=null;
-            if (mPageIndex==1){
-                showModels=models;
-            }else if (!ListUtils.isEmpty(models)){
-                showModels=new ArrayList<>();
+            List<EasyBaseModel> showModels = null;
+            if (mPageIndex == 1) {
+                showModels = models;
+            } else if (!ListUtils.isEmpty(models)) {
+                showModels = new ArrayList<>();
                 showModels.addAll(models);
             }
             mListAdapter.updateModels(showModels);
@@ -203,11 +204,11 @@ public class CustomerCareListActivity extends OABaseActivity {
             mListAdapter = new CustomerCareListAdapter(ct, models, 1);
             mListView.setAdapter(mListAdapter);
         } else {
-            List<EasyBaseModel> showModels=null;
-            if (mPageIndex==1){
-                showModels=models;
-            }else if (!ListUtils.isEmpty(models)){
-                showModels=new ArrayList<>();
+            List<EasyBaseModel> showModels = null;
+            if (mPageIndex == 1) {
+                showModels = models;
+            } else if (!ListUtils.isEmpty(models)) {
+                showModels = new ArrayList<>();
                 showModels.addAll(models);
             }
             mListAdapter.updateModels(showModels);

+ 1 - 8
app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/CustomerContactDetailActivity.java

@@ -61,16 +61,9 @@ public class CustomerContactDetailActivity extends BillDetailsActivity {
     }
 
 
-    @Override
-    public boolean onCreateOptionsMenu(Menu menu) {
-        getMenuInflater().inflate(com.modular.apputils.R.menu.menu_add_icon, menu);
-        return false;
-    }
-
-
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
-        if (com.modular.apputils.R.id.add_item == item.getItemId()) {
+        if (com.modular.apputils.R.id.edit == item.getItemId()) {
             HashMap<String, String> dbfindCondition = null;
             dbfindCondition = new HashMap<>();
             dbfindCondition.put("cu_code", "cu_sellercode='" + CommonUtil.getEmcode() + "'");

+ 4 - 4
app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/CustomerDetails3_0Activity.java

@@ -145,10 +145,10 @@ public class CustomerDetails3_0Activity extends BillDetailsActivity implements I
         mBottomDataList.put(1, mCusContacts);
         mBottomDataList.put(2, mCusReport);
         mBottomDataList.put(3, mCusBusiness);
-        tabTitle[0] = "客户地址" + ListUtils.getSize(mCusAddress) + ")";
-        tabTitle[1] = "客户联系人" + ListUtils.getSize(mCusContacts) + ")";
-        tabTitle[2] = "拜访记录" + ListUtils.getSize(mCusReport) + ")";
-        tabTitle[3] = "客户商机" + ListUtils.getSize(mCusBusiness) + ")";
+        tabTitle[0] = "客户地址 (" + ListUtils.getSize(mCusAddress) + ")";
+        tabTitle[1] = "客户联系人 (" + ListUtils.getSize(mCusContacts) + ")";
+        tabTitle[2] = "拜访记录 (" + ListUtils.getSize(mCusReport) + ")";
+        tabTitle[3] = "客户商机 (" + ListUtils.getSize(mCusBusiness) + ")";
         mAdapter = new ViewPageAdapter(getSupportFragmentManager());
         mViewPager.setAdapter(mAdapter);//给ViewPager设置适配器
         mTabLayout.setVisibility(View.VISIBLE);

+ 67 - 20
app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/CustomerListActivity.java

@@ -1,10 +1,15 @@
 package com.uas.appworks.crm3_0.activity;
 
 
+import android.content.Intent;
+import android.graphics.PixelFormat;
+import android.nfc.Tag;
 import android.os.Bundle;
 import android.support.v4.app.Fragment;
 import android.support.v4.app.FragmentTransaction;
 import android.text.TextUtils;
+import android.view.Menu;
+import android.view.MenuItem;
 
 import com.common.data.TextUtil;
 import com.core.app.Constants;
@@ -14,6 +19,8 @@ import com.modular.apputils.widget.DivideRadioGroup;
 import com.uas.appworks.R;
 import com.uas.appworks.crm3_0.fragment.CustomerListFragment;
 
+import java.util.Map;
+
 /**
  * 客户列表界面
  */
@@ -21,71 +28,111 @@ public class CustomerListActivity extends BaseActivity {
     private final String LIST = "List";
     private final String MAP = "Map";
 
-    private Fragment lastFragment;
+    private CustomerListFragment mCurrentFragment;
     private String mCaller;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_customer_list_3_0);
+//        getWindow().setFormat(PixelFormat.TRANSLUCENT);
         init();
     }
 
+    @Override
+    public boolean onCreateOptionsMenu(Menu menu) {
+        getMenuInflater().inflate(R.menu.search, menu);
+        return super.onCreateOptionsMenu(menu);
+    }
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        mCurrentFragment.onItemSelected(item);
+        return super.onOptionsItemSelected(item);
+    }
+
     private void init() {
         if (getIntent() != null) {
             String title = getIntent().getStringExtra(Constants.Intents.TITLE);
-             mCaller = getIntent().getStringExtra(Constants.Intents.CALLER);
+            mCaller = getIntent().getStringExtra(Constants.Intents.CALLER);
             if (!TextUtils.isEmpty(title)) {
                 setTitle(title + "列表");
             } else {
                 setTitle("列表");
             }
         }
-        if (TextUtils.isEmpty(mCaller)){
+        if (TextUtils.isEmpty(mCaller)) {
             mCaller = "Customer!Base";
         }
         DivideRadioGroup tabBottomRg = findViewById(R.id.tabBottomRg);
-        Fragment listFragment = CustomerListFragment.newInstance(1,mCaller);
-        changeFragment(listFragment, LIST);
+        changeFragment(LIST);
         tabBottomRg.setOnCheckedChangeListener(new DivideRadioGroup.OnCheckedChangeListener() {
             @Override
             public void onCheckedChanged(DivideRadioGroup group, int checkedId) {
-                Fragment fragment = null;
                 String tag = null;
                 if (R.id.customerListRb == checkedId) {
-                    fragment = getSupportFragmentManager().findFragmentByTag(LIST);
-                    if (fragment == null) {
-                        fragment = CustomerListFragment.newInstance(1,mCaller);
-                    }
                     tag = LIST;
                 } else if (R.id.customerLocationRb == checkedId) {
-                    fragment = getSupportFragmentManager().findFragmentByTag(MAP);
-                    if (fragment == null) {
-                        fragment = CustomerListFragment.newInstance(2,mCaller);
-                    }
                     tag = MAP;
                 }
-                changeFragment(fragment, tag);
+                changeFragment(tag);
             }
         });
     }
 
-    private void changeFragment(Fragment addFragment, String tag) {
+    private void changeFragment(String tag) {
+        CustomerListFragment addFragment = getAddFragment(tag);
         FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();// 开始事物
         if (addFragment == null) {
             return;
         }
-        if (addFragment == lastFragment) {
+        if (addFragment == mCurrentFragment) {
             return;
         }
-        if (lastFragment != null && lastFragment != addFragment) {// 如果最后一次加载的不是现在要加载的Fragment,那么僵最后一次加载的移出
-            fragmentTransaction.detach(lastFragment);
+        if (mCurrentFragment != null && mCurrentFragment != addFragment) {// 如果最后一次加载的不是现在要加载的Fragment,那么僵最后一次加载的移出
+            fragmentTransaction.detach(mCurrentFragment);
         }
         if (!addFragment.isAdded())// 如果还没有添加,就加上
             fragmentTransaction.add(R.id.customerFl, addFragment, tag);
         if (addFragment.isDetached())
             fragmentTransaction.attach(addFragment);
-        lastFragment = addFragment;
+        mCurrentFragment = addFragment;
         fragmentTransaction.commitAllowingStateLoss();
     }
+
+
+    //    获取当前的fragment
+    private CustomerListFragment getAddFragment(String mTag) {
+        Fragment mAddFragment = getSupportFragmentManager().findFragmentByTag(mTag);
+        if (mAddFragment == null) {
+            if (mTag.equals(MAP)) {
+                mAddFragment = CustomerListFragment.newInstance(2, mCaller);
+            } else {
+                mAddFragment = CustomerListFragment.newInstance(1, mCaller);
+            }
+        }
+        if (mAddFragment instanceof CustomerListFragment) {
+            return (CustomerListFragment) mAddFragment;
+        } else return null;
+    }
+
+
+    private void changeTab(String mTag) {
+        CustomerListFragment mAddFragment = getAddFragment(mTag);
+        if (mCurrentFragment != mAddFragment) {
+            FragmentTransaction mTransaction = getSupportFragmentManager().beginTransaction();
+            if (mCurrentFragment != null) {
+                mTransaction.hide(mCurrentFragment);
+            }
+            if (!mAddFragment.isAdded()) {
+                mTransaction.add(R.id.customerFl, mAddFragment, mTag);
+            } else {
+                mTransaction.show(mAddFragment);
+            }
+            mCurrentFragment = mAddFragment;
+            mTransaction.commitAllowingStateLoss();
+        }
+    }
+
+
 }

+ 2 - 0
app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/CustomerVisitActivity.java

@@ -361,6 +361,8 @@ public class CustomerVisitActivity extends BaseActivity {
                     VisitPlan mVisitPlan = (VisitPlan) view.getTag();
                     startActivity(new Intent(ct, CustomerVisitDetailsActivity.class)
                             .putExtra(Constants.Intents.TITLE, "客户拜访详情")
+                            .putExtra(Constants.Intents.MY_DOIT, myVisitRb.isChecked())
+                            .putExtra(Constants.Intents.STATUS, mVisitPlan.getStatus())
                             .putExtra(Constants.Intents.ID, mVisitPlan.getId())
                             .putExtra(Constants.Intents.CALLER, "MobileOutPlans")
                     );

+ 18 - 1
app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/CustomerVisitBillInputActivity.java

@@ -2,6 +2,7 @@ package com.uas.appworks.crm3_0.activity;
 
 import android.content.Intent;
 import android.os.Bundle;
+import android.os.Handler;
 import android.widget.PopupWindow;
 
 import com.common.data.DateFormatUtil;
@@ -15,6 +16,7 @@ import com.core.net.http.http.Request;
 import com.core.utils.CommonUtil;
 import com.core.widget.view.model.SelectAimModel;
 import com.me.network.app.http.Method;
+import com.modular.apputils.activity.BillDetailsActivity;
 import com.modular.apputils.activity.BillInputActivity;
 import com.modular.apputils.adapter.BillAdapter;
 import com.modular.apputils.listener.OnSmartHttpListener;
@@ -184,6 +186,7 @@ public class CustomerVisitBillInputActivity extends BillInputActivity {
         saveAddress();
     }
 
+
     private void saveAddress() {
         if (mUUHttpHelper == null) {
             mUUHttpHelper = new UUHttpHelper(CommonUtil.getAppBaseUrl(ct));
@@ -207,7 +210,21 @@ public class CustomerVisitBillInputActivity extends BillInputActivity {
                 }
             }
             if (!hasSubmit) {
-                super.commitSuccess(keyValue, null);
+                ToastMessage("提交成功!");
+                new Handler().postDelayed(new Runnable() {
+                    @Override
+                    public void run() {
+                        if (mContext == null) return;
+                        startActivity(new Intent(ct, CustomerVisitDetailsActivity.class)
+                                        .putExtra(Constants.Intents.TITLE, "客户拜访详情")
+                                        .putExtra(Constants.Intents.MY_DOIT, true)
+                                        .putExtra(Constants.Intents.STATUS, "已提交")
+                                        .putExtra(Constants.Intents.ID,keyValue)
+                                        .putExtra(Constants.Intents.CALLER, "MobileOutPlans"));
+                        finish();
+                        overridePendingTransition(com.modular.apputils.R.anim.anim_activity_in, com.modular.apputils.R.anim.anim_activity_out);
+                    }
+                }, 2000);
             }
         }
 

+ 54 - 0
app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/CustomerVisitDetailsActivity.java

@@ -16,10 +16,12 @@ import com.alibaba.fastjson.JSONObject;
 import com.common.data.JSONUtil;
 import com.common.data.ListUtils;
 import com.core.app.Constants;
+import com.core.base.BaseToolBarActivity;
 import com.core.base.OABaseActivity;
 import com.core.utils.CommonUtil;
 import com.me.network.app.http.Method;
 import com.modular.apputils.activity.BillDetailsActivity;
+import com.modular.apputils.activity.BillInputActivity;
 import com.modular.apputils.listener.OnSmartHttpListener;
 import com.modular.apputils.model.BillGroupModel;
 import com.modular.apputils.network.Parameter;
@@ -35,6 +37,7 @@ import java.util.List;
 public class CustomerVisitDetailsActivity extends OABaseActivity {
     private final int LOAD_FORM = 0x11;
     private final int TURN_VISIT_RECORD = 0x12;
+    private final int UN_SUBMIT = 0x13;
 
     private ListView mListView;
     private String mCaller;
@@ -42,6 +45,44 @@ public class CustomerVisitDetailsActivity extends OABaseActivity {
     private UUHttpHelper mUUHttpHelper;
     private BillListDetailsAdapter mListAdapter;
     private TextView statusTv;
+    private String status;
+    private boolean isMe;
+
+
+    @Override
+    public boolean onCreateOptionsMenu(Menu menu) {
+        if (isMe && (TextUtils.isEmpty(status) || !status.equals("已审核"))) {
+            getMenuInflater().inflate(com.modular.apputils.R.menu.menu_input_edit, menu);
+        }
+        return super.onCreateOptionsMenu(menu);
+    }
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        if (com.modular.apputils.R.id.edit == item.getItemId()) {
+            new VeriftyDialog.Builder(ct)
+                    .setTitle(getString(com.modular.apputils.R.string.app_name))
+                    .setContent("是否确定反提交该单据?")
+                    .build(new VeriftyDialog.OnDialogClickListener() {
+                        @Override
+                        public void result(boolean clickSure) {
+                            if (clickSure) {
+                                unSubmit();
+                            }
+                        }
+                    });
+        }
+        return super.onOptionsItemSelected(item);
+    }
+
+    private void unSubmit() {
+        mUUHttpHelper.requestCompanyHttp(new Parameter.Builder()
+                        .url("mobile/commonres.action")
+                        .addParams("caller", mCaller)
+                        .addParams("id", mId)
+                        .record(UN_SUBMIT)
+                , mOnSmartHttpListener);
+    }
 
 
     @Override
@@ -61,6 +102,8 @@ public class CustomerVisitDetailsActivity extends OABaseActivity {
     public void start(Intent intent) {
         if (intent != null) {
             mCaller = intent.getStringExtra(Constants.Intents.CALLER);
+            status = intent.getStringExtra(Constants.Intents.STATUS);
+            isMe = intent.getBooleanExtra(Constants.Intents.MY_DOIT, false);
             String mTitle = intent.getStringExtra(Constants.Intents.TITLE);
             mId = intent.getIntExtra(Constants.Intents.ID, 0);
             if (mTitle != null) {
@@ -114,6 +157,17 @@ public class CustomerVisitDetailsActivity extends OABaseActivity {
                         finish();
                     }
                     break;
+                case UN_SUBMIT:
+                    showToast("反提交成功");
+                    startActivity(new Intent(ct, CustomerVisitBillInputActivity.class)
+                            .putExtra(Constants.Intents.CALLER, mCaller)
+                            .putExtra(Constants.Intents.DETAILS_CLASS, CustomerVisitDetailsActivity.class)
+                            .putExtra(Constants.Intents.INPUT_CLASS,CustomerVisitBillInputActivity.class)
+                            .putExtra(Constants.Intents.TITLE, ((BaseToolBarActivity) ct).getToolBarTitle())
+                            .putExtra(Constants.Intents.ID, mId)
+                    );
+                    finish();
+                    break;
             }
             dimssLoading();
         }

+ 36 - 15
app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/fragment/CustomerListDetailsFragment.java

@@ -18,10 +18,12 @@ import com.common.data.ListUtils;
 import com.common.data.StringUtil;
 import com.core.app.Constants;
 import com.core.app.MyApplication;
+import com.core.base.BaseToolBarActivity;
 import com.core.utils.CommonUtil;
 import com.me.network.app.http.Method;
 import com.modular.apputils.fragment.ViewPagerLazyFragment;
 import com.modular.apputils.listener.OnSmartHttpListener;
+import com.modular.apputils.model.BillListConfig;
 import com.modular.apputils.model.BillListGroupModel;
 import com.modular.apputils.network.Parameter;
 import com.modular.apputils.network.Tags;
@@ -54,26 +56,45 @@ public class CustomerListDetailsFragment extends ViewPagerLazyFragment {
     private UUHttpHelper mUUHttpHelper;
     private SimpleRefreshLayout mRefreshLayout;
 
-    @Override
-    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
-        inflater.inflate(R.menu.search, menu);
-        super.onCreateOptionsMenu(menu, inflater);
-    }
 
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
+    public void onItemSelected(MenuItem item) {
         if (R.id.search == item.getItemId()) {
+            BillListConfig billConfig = new BillListConfig();
+            billConfig.setMe(mCondition != null && mCondition.contains("cu_sellercode="));
+            billConfig.setNeedForward(false);
+            billConfig.setCondition(mCondition);
+            billConfig.setCaller(mCondition);
+            billConfig.setTitle(getActivity().getTitle().toString());
             startActivity(new Intent(ct, BillSearchActivity.class)
                     .putExtra(Constants.Intents.CALLER, mCaller)
                     .putExtra(Constants.Intents.DETAILS_CLASS, CustomerDetails3_0Activity.class)
-                    .putExtra(Constants.Intents.MY_DOIT, mCondition != null && mCondition.contains("cu_sellercode="))
+                    .putExtra(Constants.Intents.CONFIG, billConfig)
                     .putExtra(Constants.Intents.CONDITION, mCondition)
                     .putStringArrayListExtra(Constants.Intents.FIELD_CONFIG, fieldConfig)
                     .putExtra(Constants.Intents.TITLE, getActivity().getTitle())
             );
         }
-        return super.onOptionsItemSelected(item);
     }
+//    @Override
+//    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+//        inflater.inflate(R.menu.search, menu);
+//        super.onCreateOptionsMenu(menu, inflater);
+//    }
+//
+//    @Override
+//    public boolean onOptionsItemSelected(MenuItem item) {
+//        if (R.id.search == item.getItemId()) {
+//            startActivity(new Intent(ct, BillSearchActivity.class)
+//                    .putExtra(Constants.Intents.CALLER, mCaller)
+//                    .putExtra(Constants.Intents.DETAILS_CLASS, CustomerDetails3_0Activity.class)
+//                    .putExtra(Constants.Intents.MY_DOIT, mCondition != null && mCondition.contains("cu_sellercode="))
+//                    .putExtra(Constants.Intents.CONDITION, mCondition)
+//                    .putStringArrayListExtra(Constants.Intents.FIELD_CONFIG, fieldConfig)
+//                    .putExtra(Constants.Intents.TITLE, getActivity().getTitle())
+//            );
+//        }
+//        return super.onOptionsItemSelected(item);
+//    }
 
     public static CustomerListDetailsFragment newInstance(boolean isMe, String mCaller, String mCondition) {
         Bundle args = new Bundle();
@@ -198,8 +219,8 @@ public class CustomerListDetailsFragment extends ViewPagerLazyFragment {
                         }
 
                         BillListGroupModel.BillListField billListField = new BillListGroupModel.BillListField();
-                        if ("单据状态".equals(caption)){
-                            status= values;
+                        if ("单据状态".equals(caption)) {
+                            status = values;
                         }
                         billListField.setCaption(caption);
                         billListField.setField(dataIndex);
@@ -231,11 +252,11 @@ public class CustomerListDetailsFragment extends ViewPagerLazyFragment {
                 @Override
                 public void onClick(BillListGroupModel mBillListGroupModel) {
                     CharSequence title = getActivity().getTitle();
-                    String titleStr="";
+                    String titleStr = "";
                     if (!TextUtils.isEmpty(title)) {
-                         titleStr=title.toString();
-                        if (titleStr.contains("列表")){
-                            titleStr= titleStr.replace("列表","");
+                        titleStr = title.toString();
+                        if (titleStr.contains("列表")) {
+                            titleStr = titleStr.replace("列表", "");
                         }
                     }
                     if (mBillListGroupModel.getStatus().equals("在录入")) {

+ 25 - 4
app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/fragment/CustomerListFragment.java

@@ -1,6 +1,7 @@
 package com.uas.appworks.crm3_0.fragment;
 
 
+import android.content.Intent;
 import android.os.Bundle;
 import android.support.design.widget.TabLayout;
 import android.support.v4.app.Fragment;
@@ -9,6 +10,7 @@ import android.support.v4.app.FragmentPagerAdapter;
 import android.support.v4.app.FragmentStatePagerAdapter;
 import android.support.v4.view.ViewPager;
 import android.text.TextUtils;
+import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
 
@@ -37,6 +39,17 @@ public class CustomerListFragment extends EasyFragment {
         return fragment;
     }
 
+    public void onItemSelected(MenuItem item) {
+        if (lastFragment != null) {
+            if (lastFragment instanceof CustomerMapDetailsFragment) {
+                ((CustomerMapDetailsFragment) lastFragment).onItemSelected(item);
+            } if (lastFragment instanceof CustomerListDetailsFragment) {
+                ((CustomerListDetailsFragment) lastFragment).onItemSelected(item);
+            }
+        }
+
+    }
+
     @Override
     protected int inflateLayoutId() {
         return R.layout.fragment_customer_3_0;
@@ -72,6 +85,7 @@ public class CustomerListFragment extends EasyFragment {
 
     }
 
+    private Fragment lastFragment;
 
     private class ViewPageAdapter extends FragmentStatePagerAdapter {
 
@@ -79,14 +93,21 @@ public class CustomerListFragment extends EasyFragment {
             super(fm);
         }
 
+        @Override
+        public void setPrimaryItem(ViewGroup container, int position, Object object) {
+            if (object != null && object instanceof Fragment) {
+                lastFragment = (Fragment) object;
+            }
+            super.setPrimaryItem(container, position, object);
+        }
 
         @Override
         public Fragment getItem(int position) {
             String mCondition;
-            boolean isMe=false;
+            boolean isMe = false;
             if (position == 0) {
                 mCondition = "cu_sellercode=\'" + CommonUtil.getEmcode() + "\'";
-                isMe=true;
+                isMe = true;
             } else {
                 mCondition = "(\n" +
                         "cu_sellercode in (\n" +
@@ -96,9 +117,9 @@ public class CustomerListFragment extends EasyFragment {
                         ")";
             }
             if (type == 2) {//地图界面
-                return CustomerMapDetailsFragment.newInstance(isMe,mCaller, mCondition);
+                return CustomerMapDetailsFragment.newInstance(isMe, mCaller, mCondition);
             } else {//列表界面
-                return CustomerListDetailsFragment.newInstance(isMe,mCaller, mCondition);
+                return CustomerListDetailsFragment.newInstance(isMe, mCaller, mCondition);
             }
         }
 

+ 41 - 24
app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/fragment/CustomerMapDetailsFragment.java

@@ -19,6 +19,7 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baidu.mapapi.map.MapView;
+import com.baidu.mapapi.map.TextureMapView;
 import com.baidu.mapapi.model.LatLng;
 import com.common.data.JSONUtil;
 import com.common.data.ListUtils;
@@ -30,6 +31,7 @@ import com.core.utils.ToastUtil;
 import com.me.network.app.http.Method;
 import com.modular.apputils.fragment.ViewPagerLazyFragment;
 import com.modular.apputils.listener.OnSmartHttpListener;
+import com.modular.apputils.model.BillListConfig;
 import com.modular.apputils.network.Parameter;
 import com.modular.apputils.network.Tags;
 import com.modular.apputils.utils.UUHttpHelper;
@@ -53,13 +55,29 @@ public class CustomerMapDetailsFragment extends ViewPagerLazyFragment {
     private String mCaller;
     private String mCondition;
     private int mPageIndex = 1;
-    private MapView mMapView;
+    private TextureMapView mMapView;
     private SimpleRefreshLayout mRefreshLayout;
     private RecyclerView mRecyclerView;
     private UUHttpHelper mUUHttpHelper;
     private LatLng mapLatLng = null;
     private boolean isMe;
-
+    public void onItemSelected(MenuItem item) {
+        if (R.id.search == item.getItemId()) {
+            BillListConfig billConfig = new BillListConfig();
+            billConfig.setMe(mCondition != null && mCondition.contains("cu_sellercode="));
+            billConfig.setNeedForward(false);
+            billConfig.setCondition(mCondition);
+            billConfig.setCaller(mCondition);
+            billConfig.setTitle(getActivity().getTitle().toString());
+            startActivity(new Intent(ct, BillSearchActivity.class)
+                    .putExtra(Constants.Intents.CALLER, mCaller)
+                    .putExtra(Constants.Intents.DETAILS_CLASS, CustomerDetails3_0Activity.class)
+                    .putExtra(Constants.Intents.CONFIG, billConfig)
+                    .putExtra(Constants.Intents.CONDITION, mCondition)
+                    .putStringArrayListExtra(Constants.Intents.FIELD_CONFIG, fieldConfig)
+                    .putExtra(Constants.Intents.TITLE, getActivity().getTitle()));
+        }
+    }
     public static CustomerMapDetailsFragment newInstance(boolean isMe,String mCaller, String mCondition) {
         Bundle args = new Bundle();
         CustomerMapDetailsFragment fragment = new CustomerMapDetailsFragment();
@@ -70,26 +88,26 @@ public class CustomerMapDetailsFragment extends ViewPagerLazyFragment {
         return fragment;
     }
 
-    @Override
-    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
-        inflater.inflate(R.menu.search, menu);
-        super.onCreateOptionsMenu(menu, inflater);
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        if (R.id.search == item.getItemId()) {
-            startActivity(new Intent(ct, BillSearchActivity.class)
-                    .putExtra(Constants.Intents.CALLER, mCaller)
-                    .putExtra(Constants.Intents.MY_DOIT, isMe)
-                    .putExtra(Constants.Intents.DETAILS_CLASS, CustomerDetails3_0Activity.class)
-                    .putExtra(Constants.Intents.CONDITION, mCondition)
-                    .putStringArrayListExtra(Constants.Intents.FIELD_CONFIG, fieldConfig)
-                    .putExtra(Constants.Intents.TITLE, getActivity().getTitle())
-            );
-        }
-        return super.onOptionsItemSelected(item);
-    }
+//    @Override
+//    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+//        inflater.inflate(R.menu.search, menu);
+//        super.onCreateOptionsMenu(menu, inflater);
+//    }
+//
+//    @Override
+//    public boolean onOptionsItemSelected(MenuItem item) {
+//        if (R.id.search == item.getItemId()) {
+//            startActivity(new Intent(ct, BillSearchActivity.class)
+//                    .putExtra(Constants.Intents.CALLER, mCaller)
+//                    .putExtra(Constants.Intents.MY_DOIT, isMe)
+//                    .putExtra(Constants.Intents.DETAILS_CLASS, CustomerDetails3_0Activity.class)
+//                    .putExtra(Constants.Intents.CONDITION, mCondition)
+//                    .putStringArrayListExtra(Constants.Intents.FIELD_CONFIG, fieldConfig)
+//                    .putExtra(Constants.Intents.TITLE, getActivity().getTitle())
+//            );
+//        }
+//        return super.onOptionsItemSelected(item);
+//    }
 
     @Override
     protected int inflateLayoutId() {
@@ -109,8 +127,7 @@ public class CustomerMapDetailsFragment extends ViewPagerLazyFragment {
 
     private void initView() {
         mUUHttpHelper = new UUHttpHelper(CommonUtil.getAppBaseUrl(MyApplication.getInstance()));
-        mMapView = (MapView) findViewById(R.id.mMapView);
-
+        mMapView =   findViewById(R.id.mMapView);
         mRefreshLayout = (SimpleRefreshLayout) findViewById(R.id.mRefreshLayout);
         EmptyRecyclerView mEmptyRecyclerView = (EmptyRecyclerView) findViewById(R.id.mEmptyRecyclerView);
         mRecyclerView = mEmptyRecyclerView.getRecyclerView();

+ 1 - 1
app_modular/appworks/src/main/java/com/uas/appworks/presenter/CustomerManagePresenter.java

@@ -153,7 +153,7 @@ public class CustomerManagePresenter extends BaseNetPresenter {
         int cNum = JSONUtil.getInt(jsonObject, "cNum");//新增客户
         int vNum = JSONUtil.getInt(jsonObject, "vNum");//客户拜访数
         int oNum = JSONUtil.getInt(jsonObject, "oNum");//外勤数
-        models.add(new EasyBaseModel().setTitle("新增联系人").setSubTitle(String.valueOf(lNum)));
+        models.add(new EasyBaseModel().setTitle("新增客户联系人").setSubTitle(String.valueOf(cNum)));
         models.add(new EasyBaseModel().setTitle("新增客户数").setSubTitle(String.valueOf(cNum)));
         models.add(new EasyBaseModel().setTitle("客户拜访数").setSubTitle(String.valueOf(vNum)));
         models.add(new EasyBaseModel().setTitle("外勤记录").setSubTitle(String.valueOf(oNum)));

+ 4 - 1
app_modular/appworks/src/main/res/layout/activity_business_detail_new.xml

@@ -178,6 +178,8 @@
         <TextView
             android:id="@+id/business_detail_new_distribution_tv"
             style="@style/business_follow_btn"
+            android:layout_marginLeft="10dp"
+            android:layout_marginRight="10dp"
             android:layout_weight="1"
             android:width="0dp"
             android:text="分 配"
@@ -188,10 +190,11 @@
         <TextView
             android:id="@+id/business_detail_new_receive_tv"
             style="@style/business_follow_btn"
-            android:layout_marginLeft="40dp"
             android:layout_weight="1"
             android:width="0dp"
             android:text="领 取"
+            android:layout_marginLeft="10dp"
+            android:layout_marginRight="10dp"
             android:visibility="gone"
             />
     </LinearLayout>

+ 3 - 2
app_modular/appworks/src/main/res/layout/activity_business_manage_home.xml

@@ -78,14 +78,15 @@
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         android:layout_marginTop="6dp"
-                        android:text="商机漏斗"
+                        android:text="销售漏斗"
                         android:textColor="#333333"
                         android:textSize="12sp" />
                 </LinearLayout>
 
                 <LinearLayout
                     android:id="@+id/business_manage_home_grap_ll"
-                    style="@style/business_manage_header_item">
+                    style="@style/business_manage_header_item"
+                    android:visibility="invisible">
 
                 </LinearLayout>
 

+ 1 - 0
app_modular/appworks/src/main/res/layout/activity_customer_details_3_0.xml

@@ -65,6 +65,7 @@
             android:id="@+id/changeDoManTv"
             style="@style/business_follow_btn"
             android:layout_marginLeft="40dp"
+            android:visibility="gone"
             android:text="变更负责人" />
     </LinearLayout>
 </LinearLayout>

+ 1 - 0
app_modular/appworks/src/main/res/layout/activity_customer_list_3_0.xml

@@ -2,6 +2,7 @@
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent">
+
     <com.modular.apputils.widget.DivideRadioGroup
         android:id="@+id/tabBottomRg"
         android:layout_alignParentBottom="true"

+ 4 - 2
app_modular/appworks/src/main/res/layout/fragment_customer_map_3_0.xml

@@ -4,8 +4,10 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical">
-
-    <com.baidu.mapapi.map.MapView
+    <SurfaceView
+        android:layout_width="0dp"
+        android:layout_height="0dp" />
+    <com.baidu.mapapi.map.TextureMapView
         android:id="@+id/mMapView"
         android:layout_width="match_parent"
         android:layout_height="0dp"

+ 4 - 3
app_modular/appworks/src/main/res/layout/pop_business_follow_menu.xml

@@ -3,10 +3,10 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="@dimen/dimen_business_blue_btn_width"
     android:layout_height="wrap_content"
-    android:orientation="vertical"
-    android:paddingTop="12dp"
     android:background="@color/transparent"
-    android:paddingBottom="12dp">
+    android:orientation="vertical"
+    android:paddingBottom="12dp"
+    android:paddingTop="12dp">
 
     <TextView
         android:id="@+id/business_follow_menu1"
@@ -26,6 +26,7 @@
         style="@style/business_follow_btn"
         android:layout_marginTop="12dp"
         android:text="变更负责人"
+        android:visibility="gone"
         />
 
 </LinearLayout>