Browse Source

拜访地址修改

Bitliker 9 years ago
parent
commit
4d3277b3a0

+ 3 - 1
WeiChat/src/main/AndroidManifest.xml

@@ -811,7 +811,9 @@
         <activity
             android:name=".ui.erp.activity.oa.SelectAimActivity"
             android:label="@string/activity_select_aims" />
-        <activity android:name=".ui.erp.activity.oa.SelectRemarkActivity"></activity>
+        <activity
+            android:name=".ui.erp.activity.oa.SelectRemarkActivity"
+            android:label="拜访目的" />
     </application>
 
 </manifest>

+ 19 - 19
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/MissionActivity.java

@@ -31,7 +31,6 @@ import com.xzjmyk.pm.activity.AppConfig;
 import com.xzjmyk.pm.activity.BdLocationHelper;
 import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
-import com.xzjmyk.pm.activity.bean.oa.SelectBean;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.adapter.MissionAdapter;
 import com.xzjmyk.pm.activity.ui.erp.model.MissionModel;
@@ -49,7 +48,6 @@ import com.xzjmyk.pm.activity.util.TimeUtils;
 import com.xzjmyk.pm.activity.view.MostLinearLayoutManager;
 import com.xzjmyk.pm.activity.view.crouton.Crouton;
 
-import java.util.ArrayList;
 import java.util.List;
 
 import static com.xzjmyk.pm.activity.util.BaiduMapUtil.getInstence;
@@ -286,20 +284,22 @@ public class MissionActivity extends BaseActivity implements View.OnClickListene
                 break;
             case R.id.item_remark_tv:
                 if (model == null || model.getStatus() == 1) return;
-                String[] str = new String[]{"客情维护", "业务办理", "其它拜访"};
-                ArrayList<SelectBean> beans = new ArrayList<>();
-                SelectBean bean = null;
-                for (String e : str) {
-                    bean = new SelectBean();
-                    bean.setName(e);
-                    bean.setClick(false);
-                    beans.add(bean);
-                }
-                intent = new Intent(ct, SelectActivity.class);
-                intent.putExtra("type", 2);
-                intent.putParcelableArrayListExtra("data", beans);
-                intent.putExtra("title", "拜访目的");
+                intent = new Intent(ct, SelectRemarkActivity.class);
                 startActivityForResult(intent, 0x23);
+//                String[] str = new String[]{"客情维护", "业务办理", "其它拜访"};
+//                ArrayList<SelectBean> beans = new ArrayList<>();
+//                SelectBean bean = null;
+//                for (String e : str) {
+//                    bean = new SelectBean();
+//                    bean.setName(e);
+//                    bean.setClick(false);
+//                    beans.add(bean);
+//                }
+//                intent = new Intent(ct, SelectActivity.class);
+//                intent.putExtra("type", 2);
+//                intent.putParcelableArrayListExtra("data", beans);
+//                intent.putExtra("title", "拜访目的");
+//                startActivityForResult(intent, 0x23);
                 break;
         }
     }
@@ -369,10 +369,10 @@ public class MissionActivity extends BaseActivity implements View.OnClickListene
                 }
             }
         } else if (0x23 == requestCode) {
-            SelectBean b = data.getParcelableExtra("data");
-            if (b == null) return;
-
-            String mudi = StringUtils.isEmpty(b.getName()) ? "客户维护" : b.getName();
+            String message = data.getStringExtra("data");
+//            SelectBean b = data.getParcelableExtra("data");
+//            if (b == null) return;
+            String mudi = StringUtils.isEmpty(message) ? "客情维护" : message;
             adapter.getModels().get(position).setRemark(mudi);
             adapter.notifyItemChanged(position);
         }

+ 263 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/SelectRemarkActivity.java

@@ -1,17 +1,278 @@
 package com.xzjmyk.pm.activity.ui.erp.activity.oa;
 
+import android.content.Intent;
 import android.os.Bundle;
+import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
+import android.text.Editable;
+import android.util.DisplayMetrics;
+import android.view.Gravity;
+import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.WindowManager;
+import android.widget.EditText;
+import android.widget.LinearLayout;
+import android.widget.PopupWindow;
+import android.widget.TextView;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
+import com.xzjmyk.pm.activity.ui.erp.entity.EditChangeListener;
+import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
+import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
+import com.xzjmyk.pm.activity.ui.erp.util.auto.HttpHandler;
+import com.xzjmyk.pm.activity.util.DisplayUtil;
+import com.xzjmyk.pm.activity.view.RecycleViewDivider;
+import com.xzjmyk.pm.activity.view.crouton.Crouton;
 
-public class SelectRemarkActivity extends BaseActivity {
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+
+public class SelectRemarkActivity extends BaseActivity implements HttpHandler.OnResultListener {
+
+    private RecyclerView recyclerview;
+    private List<Bean> beanList;
+    private RecycleAdapter adapter;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_select_remark);
-        RecyclerView recyclerview = (RecyclerView) findViewById(R.id.recyclerview);
+        recyclerview = (RecyclerView) findViewById(R.id.recyclerview);
+        EditText search_edit = (EditText) findViewById(R.id.search_edit);
+        search_edit.addTextChangedListener(new EditChangeListener() {
+            @Override
+            public void afterTextChanged(Editable editable) {
+                String input = editable.toString();
+                if (StringUtils.isEmpty(input)) {
+
+                }
+                if (ListUtils.isEmpty(beanList)) return;
+                List<Bean> beans = new ArrayList<>();
+                for (Bean e : beanList) {
+                    if (StringUtils.isInclude(e.name, input))
+                        beans.add(e);
+                }
+                adapter.setBeanList(beans);
+                adapter.notifyDataSetChanged();
+            }
+        });
+        initData();
+        initView();
+    }
+
+    @Override
+    public boolean onCreateOptionsMenu(Menu menu) {
+        getMenuInflater().inflate(R.menu.menu_add_icon, menu);
+        return super.onCreateOptionsMenu(menu);
+    }
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        if (item.getItemId() == R.id.add_item) {
+            showPup();
+        }
+        return super.onOptionsItemSelected(item);
+    }
+
+    //TODO 显示数据
+    private void showPup() {
+        showSaveCompany();
+
+    }
+
+
+    private PopupWindow popupWindow = null;
+
+    private void showSaveCompany( ) {
+        // 一个自定义的布局,作为显示的内容
+        View contentView = LayoutInflater.from(ct).inflate(
+                R.layout.item_select_remark_pop, null);
+        // 设置按钮的点击事件
+        final EditText company_et = (EditText) contentView.findViewById(R.id.company_et);
+        DisplayMetrics dm = getResources().getDisplayMetrics();
+        int w_screen = dm.widthPixels;
+        int h_screen = dm.heightPixels;
+        w_screen = DisplayUtil.dip2px(this, 300);
+        h_screen = DisplayUtil.dip2px(this, 145);
+
+        contentView.findViewById(R.id.ok_tv).setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                String message = company_et.getText().toString();
+                if (StringUtils.isEmpty(message))
+                    Crouton.showToast(ct, "请输入有效数据", R.color.load_warning);
+                else {
+                    Intent intent = new Intent();
+                    intent.putExtra("data", message);
+                    setResult(0x20, intent);
+                    popupWindow.dismiss();
+                    finish();
+                }
+            }
+        });
+        contentView.findViewById(R.id.not_tv).setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                popupWindow.dismiss();
+            }
+        });
+        popupWindow = new PopupWindow(contentView, w_screen, h_screen, true);
+        popupWindow.setTouchable(true);
+        popupWindow.setOutsideTouchable(false);
+        // 如果不设置PopupWindow的背景,无论是点击外部区域还是Back键都无法dismiss弹框
+//        popupWindow.setBackgroundDrawable(getResources().getDrawable(R.drawable.bg_main));
+        // 设置好参数之后再show
+        popupWindow.showAtLocation(contentView, Gravity.CENTER, 0, 0);
+        setbg(0.4f);
+    }
+
+    private void setbg(float alpha) {
+        WindowManager.LayoutParams lp = getWindow().getAttributes();
+        lp.alpha = alpha;
+        getWindow().setAttributes(lp);
+        if (popupWindow == null) return;
+        popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
+            @Override
+            public void onDismiss() {
+                WindowManager.LayoutParams lp = getWindow().getAttributes();
+                lp.alpha = 1f;
+                getWindow().setAttributes(lp);
+            }
+        });
+    }
+
+
+    private void initView() {
+        recyclerview.setLayoutManager(new LinearLayoutManager(this));
+        RecycleViewDivider viewDivider = new RecycleViewDivider(this, LinearLayout.HORIZONTAL, 1, getResources().getColor(R.color.gray_light));
+        recyclerview.addItemDecoration(viewDivider);
+        adapter = new RecycleAdapter(beanList);
+        recyclerview.setAdapter(adapter);
+        loadNet();
+    }
+
+    private void initData() {
+        beanList = new ArrayList<>();
+        Bean bean = new Bean();
+        bean.type = 1;
+        bean.name = "客情维护";
+        beanList.add(bean);
+        bean = new Bean();
+        bean.type = 1;
+        bean.name = "业务办理";
+        beanList.add(bean);
+        bean = new Bean();
+        bean.type = 1;
+        bean.name = "其它拜访";
+        beanList.add(bean);
+
+    }
+
+    private void loadNet() {
+        Map<String, Object> param = new HashMap<>();
+        param.put("condition", "1=1");
+        HttpHandler.getInstance().loadERPByNet(0x11, "mobile/crm/getBusinessChanceStage.action", param, null, this);
+    }
+
+    @Override
+    public void result(int what, boolean isJSON, String message, Bundle bundle) {
+        if (what == 0x11 && isJSON) {
+            JSONArray array = JSON.parseObject(message).getJSONArray("stages");
+            handlerData(array);
+        }
+    }
+
+
+    @Override
+    public void error(int what, int statuCode, String message, Bundle bundle) {
+
+    }
+
+    private void handlerData(JSONArray array) {
+        if (ListUtils.isEmpty(array)) return;
+        Bean bean = null;
+        for (int i = 0; i < array.size(); i++) {
+            bean = new Bean();
+            bean.type = 1;
+            bean.name = array.getJSONObject(i).getString("BS_NAME");
+            beanList.add(beanList.size(), bean);
+        }
+        adapter.setBeanList(beanList);
+        adapter.notifyDataSetChanged();
+    }
+
+
+    class RecycleAdapter extends RecyclerView.Adapter<RecycleAdapter.ViewHolder> {
+        private List<Bean> beanList;
+
+        public RecycleAdapter(List<Bean> beanList) {
+            this.beanList = beanList;
+        }
+
+        public List<Bean> getBeanList() {
+            return beanList;
+        }
+
+        public void setBeanList(List<Bean> beanList) {
+            this.beanList = beanList;
+        }
+
+        @Override
+        public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+            View view = LayoutInflater.from(ct).inflate(R.layout.item_remark, parent, false);
+            return new ViewHolder(view);
+        }
+
+        @Override
+        public void onBindViewHolder(ViewHolder holder, final int position) {
+            if (beanList.get(position).type == 2) {//输入
+                holder.et.setVisibility(View.VISIBLE);
+                holder.tv.setVisibility(View.GONE);
+            } else if (beanList.get(position).type == 1) {//显示
+                holder.tv.setVisibility(View.VISIBLE);
+                holder.et.setVisibility(View.GONE);
+                holder.tv.setText(StringUtils.isEmpty(beanList.get(position).name) ? "" : beanList.get(position).name);
+            }
+            holder.itemView.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View view) {
+                    String message = beanList.get(position).name;
+                    Intent intent = new Intent();
+                    intent.putExtra("data", message);
+                    setResult(0x20, intent);
+                    finish();
+                }
+            });
+        }
+
+        @Override
+        public int getItemCount() {
+            return ListUtils.isEmpty(beanList) ? 0 : beanList.size();
+        }
+
+        class ViewHolder extends RecyclerView.ViewHolder {
+            TextView tv;
+            EditText et;
+
+            public ViewHolder(View itemView) {
+                super(itemView);
+                tv = (TextView) itemView.findViewById(R.id.tv);
+                et = (EditText) itemView.findViewById(R.id.et);
+            }
+        }
+    }
+
+    class Bean {
+        String name;
+        int type;
     }
 }

+ 23 - 0
WeiChat/src/main/res/layout/activity_select_remark.xml

@@ -5,8 +5,31 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     tools:context="com.xzjmyk.pm.activity.ui.erp.activity.oa.SelectRemarkActivity">
+    <RelativeLayout
+        android:id="@+id/meet_select_rl"
+        android:layout_width="match_parent"
+        android:layout_height="48dp"
+        android:background="@drawable/bg_bar"
+        android:orientation="horizontal"
+        android:paddingBottom="5dp"
+        android:paddingLeft="15dp"
+        android:paddingRight="15dp"
+        android:paddingTop="5dp">
 
+        <com.xzjmyk.pm.activity.view.ClearEditText
+            android:id="@+id/search_edit"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:background="@drawable/search_input"
+            android:drawableLeft="@drawable/search"
+            android:drawableRight="@drawable/search_clear"
+            android:hint="@string/search"
+            android:textColor="@color/dark_grey"
+            android:textColorHint="@color/grey"
+            android:textSize="15sp" />
+    </RelativeLayout>
     <android.support.v7.widget.RecyclerView
+        android:layout_below="@+id/meet_select_rl"
         android:id="@+id/recyclerview"
         android:layout_width="match_parent"
         android:layout_height="match_parent" />

+ 26 - 0
WeiChat/src/main/res/layout/item_remark.xml

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@drawable/selector_me_menu_item_bg"
+    android:padding="10dp">
+
+    <TextView
+        android:id="@+id/tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:gravity="left|center"
+        android:text="客户拜访"
+        android:visibility="gone"
+        android:textColor="@color/text_main"
+        android:textSize="@dimen/text_main" />
+
+    <EditText
+        android:id="@+id/et"
+        android:visibility="gone"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:hint="请输入"
+        android:textColor="@color/text_main"
+        android:textSize="@dimen/text_main" />
+</FrameLayout>

+ 82 - 0
WeiChat/src/main/res/layout/item_select_remark_pop.xml

@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="200dp"
+    android:background="@drawable/bg_main"
+    android:gravity="center_horizontal"
+    android:orientation="vertical"
+    android:padding="10dp">
+
+    <TextView
+        android:id="@+id/title_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="20dp"
+        android:text="输入拜访目的"
+        android:textColor="@color/text_main"
+        android:textSize="@dimen/text_main" />
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="40dp"
+        android:layout_marginTop="10dp"
+        android:gravity="center"
+        android:orientation="horizontal">
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="拜访目的:"
+            android:textColor="@color/text_main"
+            android:textSize="@dimen/text_main" />
+
+        <EditText
+            android:id="@+id/company_et"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:background="@null"
+            android:ellipsize="end"
+            android:maxLines="2"
+            android:textColor="@color/text_main"
+            android:textSize="@dimen/text_main" />
+    </LinearLayout>
+
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="2px"
+        android:layout_marginTop="10dp"
+        android:background="@color/item_line" />
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="40dp"
+        android:orientation="horizontal"
+        android:textColor="@color/text_main"
+        android:textSize="@dimen/text_main">
+
+        <TextView
+            android:id="@+id/ok_tv"
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_weight="1"
+            android:gravity="center"
+            android:text="确定"
+            android:textColor="@color/text_main"
+            android:textSize="@dimen/text_main" />
+
+        <View
+            android:layout_width="2px"
+            android:layout_height="match_parent"
+            android:background="@color/item_line" />
+
+        <TextView
+            android:id="@+id/not_tv"
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_weight="1"
+            android:gravity="center"
+            android:text="取消"
+            android:textColor="@color/text_main"
+            android:textSize="@dimen/text_main" />
+    </LinearLayout>
+</LinearLayout>