Browse Source

developer 分支备份

Bitliker 8 years ago
parent
commit
0b2d6a073a

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

@@ -927,7 +927,7 @@
         <activity android:name=".ui.erp.activity.oa.PlatMsgThirdActivity" />
         <activity
             android:name=".ui.erp.activity.oa.AddContactsActivity"
-            android:label="@string/add_contacts" />
+            android:label="@string/add_contact" />
         <activity
             android:name=".ui.erp.activity.oa.AddVisitReportActivity"
             android:label="@string/visitrecord" />

+ 86 - 7
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessDetailActivty.java

@@ -2,6 +2,7 @@ package com.xzjmyk.pm.activity.ui.erp.activity.crm;
 
 import android.content.Context;
 import android.content.Intent;
+import android.content.res.Resources;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
@@ -43,6 +44,7 @@ import com.xzjmyk.pm.activity.ui.erp.view.EmptyLayout;
 import com.xzjmyk.pm.activity.ui.erp.view.VoiceSearchView;
 import com.xzjmyk.pm.activity.view.crouton.Crouton;
 import com.xzjmyk.pm.activity.view.crouton.Style;
+import com.xzjmyk.pm.activity.view.steps.HorizontalStepsView;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -57,6 +59,7 @@ import java.util.Map;
  */
 public class BusinessDetailActivty extends BaseActivity {
 
+    private final int LOAD_JIEDUAN = 0x210;
     private BussinessDetailAdapter mAdapter;
     @ViewInject(R.id.ll_top_state)
     private LinearLayout ll_top_state;
@@ -72,6 +75,7 @@ public class BusinessDetailActivty extends BaseActivity {
     private String bc_code;
     private EmptyLayout mEmptyLayout;
     private final int CAN_QIANG_NOT = 34;
+    private String[] labels;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -126,7 +130,6 @@ public class BusinessDetailActivty extends BaseActivity {
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                 final BussinessDetailAdapter.ViewHolder holder = (BussinessDetailAdapter.ViewHolder) view.getTag();
-
                 startActivity(new Intent(BusinessDetailActivty.this, BusinessDetailInfoActivity.class)
                         .putExtra("type", holder.type)
                         .putExtra("formCondition", formCondition + "=" + holder.bc_id)
@@ -170,6 +173,7 @@ public class BusinessDetailActivty extends BaseActivity {
 
     private void initData() {
         Intent intent = getIntent();
+        loadJieDuan();
         type = 0;
         if (intent != null) {
             type = intent.getIntExtra("bt_type", 0);
@@ -229,10 +233,14 @@ public class BusinessDetailActivty extends BaseActivity {
 
         @Override
         public View getView(final int position, View convertView, ViewGroup parent) {
-            ViewHolder holder = null;
+            return getNewView(position, convertView, parent);
+        }
+
+        private View getOldView(final int position, View convertView, ViewGroup parent) {
+            OldViewHolder holder = null;
             if (convertView == null) {
                 convertView = inflater.inflate(R.layout.item_business_detail, null);
-                holder = new ViewHolder();
+                holder = new OldViewHolder();
                 holder.tv_num = (TextView) convertView.findViewById(R.id.tv_crm_business_num);
                 holder.tv_name = (TextView) convertView.findViewById(R.id.tv_crm_business_name);
                 holder.tv_note = (TextView) convertView.findViewById(R.id.tv_crm_business_note);
@@ -245,7 +253,7 @@ public class BusinessDetailActivty extends BaseActivity {
                 holder.iv_event = (ImageView) convertView.findViewById(R.id.iv_business_qiang);
                 convertView.setTag(holder);
             } else {
-                holder = (ViewHolder) convertView.getTag();
+                holder = (OldViewHolder) convertView.getTag();
             }
             holder.bc_id = mdata.get(position).getBc_id();
             holder.type = mdata.get(position).getType();
@@ -295,6 +303,40 @@ public class BusinessDetailActivty extends BaseActivity {
             return convertView;
         }
 
+        private View getNewView(final int position, View convertView, ViewGroup parent) {
+            ViewHolder holder = null;
+            if (convertView == null) {
+                convertView = inflater.inflate(R.layout.item_business, parent, false);
+                holder = new ViewHolder();
+                holder.companyname_tv = (TextView) convertView.findViewById(R.id.companyname_tv);
+                holder.describe_tv = (TextView) convertView.findViewById(R.id.describe_tv);
+                holder.create_date_tv = (TextView) convertView.findViewById(R.id.create_date_tv);
+                holder.stepsView = (HorizontalStepsView) convertView.findViewById(R.id.stepsView);
+                convertView.setTag(holder);
+            } else {
+                holder = (ViewHolder) convertView.getTag();
+            }
+            holder.bc_id = mdata.get(position).getBc_id();
+            holder.type = mdata.get(position).getType();
+            holder.create_date_tv.setText(mdata.get(position).getDate());
+            holder.companyname_tv.setText(mdata.get(position).getName());
+            holder.describe_tv.setText(mdata.get(position).getNote());
+            holder.stepsView.setProgress(getPosition(mdata.get(position).getCurrentprocess()), labels);
+//            holder.stepsView.setProgress(4, labels);
+            holder.stepsView.setFocusable(false);
+            holder.stepsView.setClickable(false);
+            return convertView;
+        }
+
+        private int getPosition(String currentprocess) {
+            if (labels == null || labels.length <= 0 || StringUtils.isEmpty(currentprocess))
+                return 0;
+            for (int i = 0; i < labels.length; i++)
+                if (!StringUtils.isEmpty(labels[i]) && labels[i].equals(currentprocess))
+                    return i;
+            return 0;
+        }
+
         @Override
         public Filter getFilter() {
             return new Filter() {
@@ -309,9 +351,9 @@ public class BusinessDetailActivty extends BaseActivity {
                         searchResults.values = mData;
                         searchResults.count = mData.size();
                     } else {
-                        mdata = mData;
+                        ArrayList<Business> businessList = mData;
                         ArrayList<Business> newBusiness = new ArrayList<>();
-                        for (Business business : mdata) {
+                        for (Business business : businessList) {
                             String num = business.getNum() == null ? "" : business.getNum();
                             String name = business.getName() == null ? "" : business.getName();
                             String source = business.getSource() == null ? "" : business.getSource();
@@ -338,8 +380,16 @@ public class BusinessDetailActivty extends BaseActivity {
             };
         }
 
-
         class ViewHolder {
+            int bc_id;
+            int type;
+            TextView companyname_tv;
+            TextView describe_tv;
+            TextView create_date_tv;
+            HorizontalStepsView stepsView;
+        }
+
+        class OldViewHolder {
             int bc_id;
             TextView tv_num;
             TextView tv_name;
@@ -363,6 +413,21 @@ public class BusinessDetailActivty extends BaseActivity {
         @Override
         public void handleMessage(Message msg) {
             switch (msg.what) {
+                case LOAD_JIEDUAN:
+                    try {
+                        JSONArray array = JSON.parseObject(msg.getData().getString("result")).getJSONArray("stages");
+                        labels = new String[array.size()];
+                        if (!array.isEmpty()) {
+                            for (int i = 0; i < array.size(); i++) {
+                                labels[i] = array.getJSONObject(i).getString("BS_NAME");
+                            }
+                        }
+                    } catch (Resources.NotFoundException e) {
+                        e.printStackTrace();
+                        ToastMessage("扔出异常!");
+                    }
+                    sendHttpResquest(Constants.HTTP_SUCCESS_INIT, page);
+                    break;
                 case Constants.HTTP_SUCCESS_INIT:
                     progressDialog.dismiss();
                     // LogUtil.d(TAG, "handleMessage:" + msg.getData().getString("result"));
@@ -465,6 +530,20 @@ public class BusinessDetailActivty extends BaseActivity {
         }
     };
 
+    /**
+     * @desc:加载阶段
+     * @author:Arison on 2016/7/20
+     */
+    public void loadJieDuan() {
+        progressDialog.show();
+        String url = Constants.getAppBaseUrl(ct) + "/mobile/crm/getBusinessChanceStage.action";
+        Map<String, Object> params = new HashMap<>();
+        params.put("condition", "1=1");
+        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
+        ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, LOAD_JIEDUAN, null, null, "post");
+    }
+
     private void sendHttpResquest(int what, int page) {
         progressDialog.show();
         if (CommonUtil.isNetWorkConnected(this)) {

+ 22 - 39
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessDetailInfoActivity.java

@@ -95,7 +95,6 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
     @ViewInject(R.id.bt_zhuanyi)
     private Button bt_zhuanyi;
 
-
     @ViewInject(R.id.bt_manage_go)
     private Button bt_manage_go;
     @ViewInject(R.id.crm_ll_followup)
@@ -105,6 +104,10 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
     @ViewInject(R.id.crm_ll_manage)
     private LinearLayout crm_ll_manage;
 
+    @ViewInject(R.id.ll_card_num)
+    private TextView ll_card_num;
+    @ViewInject(R.id.ll_card_line)
+    private View ll_card_line;
     @ViewInject(R.id.bc_from)
     private TextView bc_from;
     @ViewInject(R.id.bc_remark)
@@ -276,7 +279,7 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
     public void onClick(View v) {
         switch (v.getId()) {
             case R.id.bt_manage_go:
-                showPopupWindow(v.findViewById(R.id.bt_manage_go));
+                showPopupWindow(v);
                 break;
             case R.id.stage_follow:
                 startActivityForResult(new Intent(BusinessDetailInfoActivity.this, BusinessLessActivity.class)
@@ -340,23 +343,6 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
                         case 1:
                             loadNichehouse();
                             popupWindow.dismiss();
-//                            new MaterialDialog.Builder(ct).title("系统提示")
-//                                    .content("确定释放这个商机?")
-//                                    .negativeText("取消")
-//                                    .positiveText("确定")
-//                                    .contentGravity(GravityEnum.CENTER)
-//                                    .callback(new MaterialDialog.ButtonCallback() {
-//                                        @Override
-//                                        public void onNegative(MaterialDialog dialog) {
-//                                            super.onNegative(dialog);
-//                                        }
-//
-//                                        @Override
-//                                        public void onPositive(MaterialDialog dialog) {
-//                                            super.onPositive(dialog);
-//                                            sendHttpResquestRelease(BUSINESS_RELEASE);
-//                                        }
-//                                    }).build().show();
                             break;
                         case 2:
                             startActivityForResult(new Intent(BusinessDetailInfoActivity.this, BusinessLessActivity.class)
@@ -374,21 +360,11 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
                             headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
                             ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, 0x10, null, null, "post");
                             break;
-                      /*  case 4:
-                            startActivity(new Intent(BusinessDetailInfoActivity.this, BusinessTransferActivity.class)
-                                    .putExtra("code", bt_code));
-                            break;*/
                         case 4:
-                            ///
                             startActivity(new Intent(BusinessDetailInfoActivity.this,
-                                            BusinessSelectCustomerActivity.class)
-                                            .putExtra("code", bt_code)
-//
+                                    BusinessSelectCustomerActivity.class)
+                                    .putExtra("code", bt_code)
                             );
-//                            finish();
-                            break;
-                        case 5:
-
                             break;
                     }
                 }
@@ -411,17 +387,13 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
                 DisplayUtil.backgroundAlpha(BusinessDetailInfoActivity.this, 1f);
             }
         });
-
+        int width = popupWindow.getWidth();
+        popupWindow.setWidth(width + DisplayUtil.dip2px(ct, 10));
+        LogUtil.i("width=" + width);
         int[] location = new int[2];
         parent.getLocationOnScreen(location);
-        Log.i("Arison", "parent hight:" + location[1]);
-        Log.i("Arison", "popupWindow hight:" + popupWindow.getHeight());
-        Log.i("Arison", "parent width:" + parent.getWidth());
-        Log.i("Arison", "parent width:" + parent.getHeight());
         popupWindow.showAtLocation(parent.findViewById(R.id.bt_manage_go), Gravity.NO_GRAVITY, location[0],
                 location[1] - popupWindow.getHeight() - 5);
-//        popupWindow.showAsDropDown(parent,windowManager.getDefaultDisplay().getWidth()
-//        ,0);
     }
 
     /*处理商机库并显示选择*/
@@ -675,7 +647,9 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
                                 simpleDatas.add(simpleData);
                             }
                         }
-
+                        if (ListUtils.isEmpty(simpleDatas)) {
+                            findViewById(R.id.stage_need_tv).setVisibility(View.GONE);
+                        }
                         mAapter = new StickyListAdapter(mContext, simpleDatas);
                         mList.setAdapter(mAapter);
                     } catch (Exception e) {
@@ -1021,6 +995,15 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
 
         public void setModels(List<EmployeesModel> models) {
             this.models = models;
+            int size = ListUtils.getSize(models);
+            if (size <= 1) {
+                ll_card_num.setVisibility(View.GONE);
+                ll_card_line.setVisibility(View.GONE);
+            } else {
+                ll_card_num.setVisibility(View.VISIBLE);
+                ll_card_line.setVisibility(View.VISIBLE);
+                ll_card_num.setText(size + getString(R.string.crm_ge));
+            }
         }
 
         public List<EmployeesModel> getModels() {

+ 59 - 4
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/AddVisitReportActivity.java

@@ -1,7 +1,9 @@
 package com.xzjmyk.pm.activity.ui.erp.activity.oa;
 
+import android.content.DialogInterface;
 import android.content.Intent;
 import android.os.Bundle;
+import android.support.v7.app.AlertDialog;
 import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -13,9 +15,14 @@ import android.widget.TextView;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.iflytek.cloud.RecognizerResult;
+import com.iflytek.cloud.SpeechError;
+import com.iflytek.cloud.ui.RecognizerDialogListener;
 import com.lidroid.xutils.ViewUtils;
 import com.lidroid.xutils.view.annotation.ViewInject;
+import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.audio.voicerecognition.JsonParser;
 import com.xzjmyk.pm.activity.ui.erp.model.oa.SelectAimModel;
 import com.xzjmyk.pm.activity.ui.erp.presenter.AddVisitReportPresenter;
 import com.xzjmyk.pm.activity.ui.erp.presenter.imp.IAddVisitReport;
@@ -23,6 +30,7 @@ import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.OACheckUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.PopupWindowHelper;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
+import com.xzjmyk.pm.activity.ui.erp.util.oa.RecognizerDialogUtil;
 import com.xzjmyk.pm.activity.util.CalendarUtils;
 import com.xzjmyk.pm.activity.util.TimeUtils;
 import com.xzjmyk.pm.activity.util.ToastUtil;
@@ -121,6 +129,7 @@ public class AddVisitReportActivity extends OABaseActivity implements IAddVisitR
             findViewById(R.id.additem_tv).setOnClickListener(this);
             findViewById(R.id.submit_btn).setOnClickListener(this);
             contact_lv.setOnItemClickListener(this);
+            findViewById(R.id.voice_search_iv).setOnClickListener(this);
         } else {
             findViewById(R.id.submit_btn).setVisibility(View.GONE);
             findViewById(R.id.additem_tv).setVisibility(View.GONE);
@@ -166,11 +175,29 @@ public class AddVisitReportActivity extends OABaseActivity implements IAddVisitR
                 intent = new Intent(ct, SelectRemarkActivity.class);
                 startActivityForResult(intent, SELECT_REMARK);
                 break;
+            case R.id.voice_search_iv:
+                RecognizerDialogUtil.showRecognizerDialog(ct, new RecognizerDialogListener() {
+                    @Override
+                    public void onResult(RecognizerResult recognizerResult, boolean b) {
+                        String text = JsonParser.parseIatResult(recognizerResult.getResultString());
+                        if (!StringUtils.isEmpty(text))
+                            content_et.setText(content_et.getText().toString() + text);
+                    }
+
+                    @Override
+                    public void onError(SpeechError speechError) {
+
+                    }
+                });
+                break;
         }
     }
 
     private boolean canSubmit() {
-        if (TextUtils.isEmpty(company_tv.getText())) {
+        if (!MyApplication.getInstance().isNetworkActive()) {
+            ToastUtil.showToast(ct, getString(R.string.networks_out));
+            return false;
+        } else if (TextUtils.isEmpty(company_tv.getText())) {
             ToastUtil.showToast(ct, getString(R.string.visit_company) + getString(R.string.is_must_input));
             return false;
         } else if (TextUtils.isEmpty(company_add_tv.getText())) {
@@ -182,7 +209,7 @@ public class AddVisitReportActivity extends OABaseActivity implements IAddVisitR
         } else if (!presenter.canSubmit(adapter.getContactNames())) {
             ToastUtil.showToast(ct, R.string.contect_is_much);
             return false;
-        }else if (TextUtils.isEmpty(content_et.getText())) {
+        } else if (TextUtils.isEmpty(content_et.getText())) {
             ToastUtil.showToast(ct, getString(R.string.context_is_much));
             return false;
         }
@@ -279,22 +306,50 @@ public class AddVisitReportActivity extends OABaseActivity implements IAddVisitR
         }
 
         @Override
-        public View getView(int position, View convertView, ViewGroup parent) {
+        public View getView(final int position, View convertView, ViewGroup parent) {
             ViewHodler hodler = null;
             if (convertView == null) {
                 convertView = LayoutInflater.from(ct).inflate(R.layout.item_visit_contact, parent, false);
                 hodler = new ViewHodler();
                 hodler.contact_tv = (TextView) convertView.findViewById(R.id.contact_tv);
+                hodler.delete_tv = (TextView) convertView.findViewById(R.id.delete_tv);
                 convertView.setTag(hodler);
             } else
                 hodler = (ViewHodler) convertView.getTag();
             String nameShow = (contactNames == null || contactNames.size() < position || StringUtils.isEmpty(contactNames.get(position))) ? "" : contactNames.get(position);
             hodler.contact_tv.setText(nameShow);
+            if (saveAble && position != 0) {
+                hodler.delete_tv.setVisibility(View.VISIBLE);
+                hodler.delete_tv.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        deleteContact(position);
+                    }
+                });
+            } else
+                hodler.delete_tv.setVisibility(View.GONE);
+
             return convertView;
         }
 
+        public void deleteContact(final int position) {
+            AlertDialog.Builder builder = new AlertDialog.Builder(ct);
+            builder.setTitle(R.string.prompt_title).setMessage(R.string.sure_delete_content).setPositiveButton(R.string.sure, new DialogInterface.OnClickListener() {
+                @Override
+                public void onClick(DialogInterface dialogInterface, int i) {
+                    contactNames.remove(position);
+                    notifyDataSetChanged();
+                }
+            }).setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
+                @Override
+                public void onClick(DialogInterface dialogInterface, int i) {
+
+                }
+            }).show();
+        }
+
         class ViewHodler {
-            private TextView contact_tv;
+            private TextView contact_tv, delete_tv;
         }
     }
 }

+ 7 - 6
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/AddVisitReportPresenter.java

@@ -219,6 +219,7 @@ public class AddVisitReportPresenter implements OnHttpResultListener {
         List<Map<String, Object>> formStores = new ArrayList<>();
         Map<String, Object> formStore = null;
         for (String e : contacts) {
+            if (StringUtils.isEmpty(e)) continue;
             formStore = CommonInterface.getInstance().getFormStoreContact(vrCode, e, "", client.name, client.code, client.address, "");
             formStores.add(formStore);
         }
@@ -249,9 +250,9 @@ public class AddVisitReportPresenter implements OnHttpResultListener {
         formStore.put("vr_visitend", "");
         formStore.put("vr_statuscode", "ENTERING");
         formStore.put("vr_status", "在录入");
-        formStore.put("vr_recorder", name);
-        formStore.put("vr_recorddate", StringUtils.isEmpty(vr_recorddate) ? TimeUtils.s_long_2_str(System.currentTimeMillis()) : vr_recorddate);
-        formStore.put("vr_contact", name);
+        formStore.put("vr_recorder", StringUtils.string2Json(name));
+        formStore.put("vr_recorddate", StringUtils.string2Json(StringUtils.isEmpty(vr_recorddate) ? TimeUtils.s_long_2_str(System.currentTimeMillis()) : vr_recorddate));
+        formStore.put("vr_contact",StringUtils.string2Json(name) );
         formStore.put("vr_cuuu", getString(client.code));
         formStore.put("vr_cuname", getString(client.name));
         formStore.put("vr_cucontact", getString(client.contact));
@@ -259,14 +260,14 @@ public class AddVisitReportPresenter implements OnHttpResultListener {
         formStore.put("vr_nichestep", client.nichename);//关联商机
         formStore.put("vr_nichename", "");
         formStore.put("vr_class", StringUtils.isEmpty(type) ? "OfficeClerk" : type);//拜访类型(通过接口获取类型) OfficeClerk(客户拜访)|VisitRecord!Vender(原厂拜访)
-        formStore.put("vr_title", remark);
-        formStore.put("vr_detail", detail);
+        formStore.put("vr_title", StringUtils.string2Json(remark));
+        formStore.put("vr_detail", StringUtils.string2Json(detail));
         return formStore;
     }
 
     private String getString(String message) {
         if (StringUtils.isEmpty(message)) return "";
-        return message;
+        return StringUtils.string2Json(message);
     }
 
     @Override

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/SelectCollisionPresenter.java

@@ -73,7 +73,7 @@ public class SelectCollisionPresenter {
     public void changeChecked(boolean b, List<BaseSortModel<SelectEmUser>> listData) {
         if (ListUtils.isEmpty(listData)) {
             //TODO
-    } else {
+        } else {
             for (int i = 0; i < listData.size(); i++) {
                 listData.get(i).setClick(b);
             }

+ 7 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/PopupWindowHelper.java

@@ -15,6 +15,7 @@ import android.widget.TextView;
 import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.erp.model.oa.SelectAimModel;
+import com.xzjmyk.pm.activity.util.DisplayUtil;
 
 /**
  * Created by Bitliker on 2017/5/3.
@@ -148,6 +149,12 @@ public class PopupWindowHelper {
         return (int) (dm.widthPixels * (0.8));
     }
 
+    public static void setPopupWindowHW(PopupWindow window) {
+        window.getContentView().measure(0, 0);
+        window.setHeight(window.getContentView().getMeasuredHeight() + 30);
+        window.setWidth(window.getContentView().getMeasuredWidth()+ DisplayUtil.dip2px(MyApplication.getInstance(),10f));
+    }
+
     public static void setPopupWindowHW(Activity ct, PopupWindow window) {
         window.getContentView().measure(0, 0);
         window.setHeight(window.getContentView().getMeasuredHeight() + 30);

+ 9 - 1
WeiChat/src/main/res/layout/activity_add_visiting_report.xml

@@ -122,7 +122,15 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:text="@string/visit_content" />
-
+            <ImageView
+                android:id="@+id/voice_search_iv"
+                android:layout_width="20dp"
+                android:layout_toRightOf="@+id/content_tag"
+                android:layout_height="20dp"
+                android:layout_marginLeft="10dp"
+                android:layout_marginRight="35dp"
+                android:background="@drawable/btn_yuyin_nor"
+                android:visibility="visible" />
             <EditText
                 android:id="@+id/content_et"
                 android:layout_width="match_parent"

+ 34 - 11
WeiChat/src/main/res/layout/activity_business_detail_info.xml

@@ -121,8 +121,8 @@
                         android:layout_height="wrap_content"
                         android:layout_margin="10dp"
                         android:text="@string/common_basicinfo"
-                        android:textColor="#FF8E57"
-                        android:textSize="15sp" />
+                        android:textSize="15sp"
+                        android:textStyle="bold" />
                 </LinearLayout>
 
                 <LinearLayout
@@ -352,8 +352,8 @@
                         android:layout_height="wrap_content"
                         android:layout_margin="10dp"
                         android:text="@string/business_stage"
-                        android:textColor="#FF8E57"
-                        android:textSize="15sp" />
+                        android:textSize="15sp"
+                        android:textStyle="bold" />
                 </LinearLayout>
 
                 <com.xzjmyk.pm.activity.view.steps.StepsView
@@ -363,11 +363,12 @@
                     android:layout_marginBottom="10dp" />
 
                 <TextView
+                    android:id="@+id/stage_need_tv"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:padding="10dp"
                     android:text="@string/Stage_requirements"
-                    android:textColor="@color/black" />
+                    android:textColor="@color/titleBlue" />
 
                 <com.xzjmyk.pm.activity.view.stickylistheaders.StickyListHeadersListView
                     android:id="@+id/lv_business"
@@ -390,8 +391,26 @@
                         android:layout_height="wrap_content"
                         android:layout_margin="10dp"
                         android:text="@string/common_Contact_information"
-                        android:textColor="#FF8E57"
-                        android:textSize="15sp" />
+                        android:textSize="15sp"
+                        android:textStyle="bold" />
+
+                    <View
+                        android:id="@+id/ll_card_line"
+                        android:layout_width="1dp"
+                        android:layout_height="match_parent"
+                        android:layout_margin="8dp"
+                        android:background="@color/item_line"
+                        android:visibility="gone" />
+
+                    <TextView
+                        android:id="@+id/ll_card_num"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_margin="10dp"
+                        android:text="2个"
+                        android:textColor="@color/button_focus"
+                        android:textSize="15sp"
+                        android:visibility="gone" />
                 </LinearLayout>
 
                 <com.xzjmyk.pm.activity.view.MyListView
@@ -517,25 +536,29 @@
                 android:id="@+id/bt_manage_date"
                 style="@style/crm_business_btn_nomargin"
                 android:layout_weight="1"
-                android:text="@string/add_schedule" />
+                android:text="@string/add_schedule"
+                android:textColor="@color/titleBlue" />
 
             <Button
                 android:id="@+id/add_mission"
                 style="@style/crm_business_btn_nomargin"
                 android:layout_weight="1"
-                android:text="@string/add_mission" />
+                android:text="@string/add_mission"
+                android:textColor="@color/titleBlue" />
 
             <Button
                 android:id="@+id/stage_follow"
                 style="@style/crm_business_btn_nomargin"
                 android:layout_weight="1"
-                android:text="@string/stage_follow" />
+                android:text="@string/stage_follow"
+                android:textColor="@color/titleBlue" />
 
             <Button
                 android:id="@+id/bt_manage_go"
                 style="@style/crm_business_btn_nomargin"
                 android:layout_weight="1"
-                android:text="@string/more_operation" />
+                android:text="@string/more_operation"
+                android:textColor="@color/titleBlue" />
         </LinearLayout>
 
         <LinearLayout

+ 4 - 3
WeiChat/src/main/res/layout/activity_select_active.xml

@@ -2,6 +2,7 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:background="@drawable/bg_main">
+
     <com.xzjmyk.pm.activity.ui.erp.view.VoiceSearchView
         android:id="@+id/voiceSearchView"
         android:layout_width="match_parent"
@@ -11,10 +12,10 @@
         android:id="@+id/include_tag"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:orientation="vertical"
         android:layout_alignParentBottom="true"
         android:layout_alignParentLeft="true"
-        android:layout_alignParentStart="true">
+        android:layout_alignParentStart="true"
+        android:orientation="vertical">
 
         <View
             android:layout_width="match_parent"
@@ -29,7 +30,7 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_above="@id/include_tag"
-        android:layout_below="@+id/seach_top"
+        android:layout_below="@+id/voiceSearchView"
         android:divider="@color/item_line"
         android:dividerHeight="2px"
         android:smoothScrollbar="false" />

+ 7 - 3
WeiChat/src/main/res/layout/item_business.xml

@@ -18,7 +18,8 @@
             <TextView
                 style="@style/TextView_Basic"
                 android:minWidth="90dp"
-                android:text="@string/Company_Name" />
+                android:text="@string/Company_Name"
+                android:textColor="@color/gray_light" />
 
             <TextView
                 android:id="@+id/companyname_tv"
@@ -31,7 +32,8 @@
             <TextView
                 style="@style/TextView_Basic"
                 android:minWidth="90dp"
-                android:text="@string/describe" />
+                android:text="@string/describe"
+                android:textColor="@color/gray_light" />
 
             <TextView
                 android:id="@+id/describe_tv"
@@ -48,7 +50,8 @@
                 style="@style/TextView_Basic"
                 android:layout_gravity="center_vertical"
                 android:minWidth="90dp"
-                android:text="@string/create_date" />
+                android:text="@string/create_date"
+                android:textColor="@color/gray_light" />
 
             <TextView
                 android:id="@+id/create_date_tv"
@@ -65,6 +68,7 @@
             android:layout_height="wrap_content"
             android:layout_margin="10dp"
             android:text="@string/business_stage"
+            android:textColor="@color/gray_light"
             android:textSize="15sp" />
 
         <com.xzjmyk.pm.activity.view.steps.HorizontalStepsView

+ 1 - 0
WeiChat/src/main/res/layout/item_name_phone.xml

@@ -9,6 +9,7 @@
         style="@style/TextView_VerticalCenter"
         android:layout_width="70dp"
         android:layout_marginLeft="10dp"
+        android:paddingLeft="5dp"
         android:textColor="@color/titleBlue" />
 
 

+ 30 - 12
WeiChat/src/main/res/layout/item_visit_contact.xml

@@ -1,19 +1,37 @@
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/date_rl"
-    style="@style/item_menu">
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="@color/background">
 
     <TextView
-        android:id="@+id/contact_tag"
-        style="@style/item_menu_tag"
-        android:gravity="center_vertical"
-        android:text="@string/common_Contact_person" />
+        android:id="@+id/delete_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignParentRight="true"
+        android:padding="6dp"
+        android:text="@string/common_delete"
+        android:textColor="@color/button_focus" />
+
+    <RelativeLayout
+        style="@style/item_menu"
+        android:layout_below="@id/delete_tv">
+
+        <TextView
+            android:id="@+id/contact_tag"
+            style="@style/item_menu_tag"
+            android:gravity="center_vertical"
+            android:text="@string/common_Contact_person" />
+
+        <TextView
+            android:id="@+id/contact_tv"
+            style="@style/item_menu_input"
+            android:layout_toRightOf="@id/contact_tag"
+            android:drawablePadding="6dp"
+            android:drawableRight="@drawable/oa_next"
+            android:hint="@string/common_input_or_select_much" />
+    </RelativeLayout>
+
 
-    <TextView
-        android:id="@+id/contact_tv"
-        android:drawableRight="@drawable/oa_next"
-        style="@style/item_menu_input"
-        android:layout_toRightOf="@id/contact_tag"
-        android:drawablePadding="6dp"
-        android:hint="@string/common_input_or_select_much" />
 </RelativeLayout>

+ 2 - 1
WeiChat/src/main/res/values-zh-rCN/strings.xml

@@ -605,7 +605,7 @@
     <string name="uu_auto_work_signined_up">UU已经帮你自动打卡</string>
     <string name="success_signin_down_can_back">外勤签退成功,您还有时间返回公司,请回公司签到</string>
     <string name="success_signin_down_task_ok">外勤签退成功,当天任务已结束</string>
-    <string name="add_contacts">添加联系人</string>
+    <string name="add_contacts">+添加联系人</string>
     <string name="name">姓名</string>
     <string name="position">岗位</string>
     <string name="company_address">公司地址</string>
@@ -797,6 +797,7 @@
     <string name="unsubscribe">-退订</string>
     <string name="not_unsubscribe_able">该订阅号不可退订</string>
     <string name="unsubscribe_able">不可退订</string>
+    <string name="add_contact">新增联系人</string>
     <!--end by Bitliker-->
 
     <!--start by Arison-->