Browse Source

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

# Conflicts:
#	WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessSelectCustomerActivity.java
RaoMeng 10 years ago
parent
commit
8a2d28b63c
34 changed files with 932 additions and 583 deletions
  1. 1 1
      WeiChat/build.gradle
  2. 2 4
      WeiChat/src/main/AndroidManifest.xml
  3. 2 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/AddTaskActivity.java
  4. 317 305
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/DbfindListActivity.java
  5. 31 19
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessAddActivity.java
  6. 40 3
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessDetailActivty.java
  7. 4 4
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessDetailInfoActivity.java
  8. 70 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessLessActivity.java
  9. 42 21
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessSelectCustomerActivity.java
  10. 64 25
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessTransferActivity.java
  11. 5 27
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/ClientActivity.java
  12. 34 5
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/CustomerAddActivity.java
  13. 2 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/CustomerDetailActivity.java
  14. 20 8
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/CustomerListActivity.java
  15. 0 39
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/CustomerMutilSelectActivity.java
  16. 9 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/VisitReportAddActivity.java
  17. 16 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/OAListActivity.java
  18. 155 30
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/OutSigninOKActivity.java
  19. 11 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/OutofficeSetActivity.java
  20. 11 31
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/SigninFragment.java
  21. 9 9
      WeiChat/src/main/java/com/xzjmyk/pm/activity/util/CameraUtil.java
  22. 10 0
      WeiChat/src/main/res/anim/push_bottom_in.xml
  23. 8 0
      WeiChat/src/main/res/anim/push_buttom_out.xml
  24. BIN
      WeiChat/src/main/res/drawable-xhdpi/oa_signin.png
  25. BIN
      WeiChat/src/main/res/drawable-xxhdpi/oa_signin.png
  26. 2 1
      WeiChat/src/main/res/layout/act_list_dbfind_employee.xml
  27. 3 0
      WeiChat/src/main/res/layout/activity_business_select_customer.xml
  28. 9 11
      WeiChat/src/main/res/layout/activity_out_signin_ok.xml
  29. 1 0
      WeiChat/src/main/res/layout/activity_outoffice_set.xml
  30. 40 32
      WeiChat/src/main/res/layout/fragment_signin.xml
  31. 1 0
      WeiChat/src/main/res/layout/item_business_transfer.xml
  32. 12 1
      WeiChat/src/main/res/layout/item_outoffice_list.xml
  33. 1 0
      WeiChat/src/main/res/values/gpm_values.xml
  34. 0 1
      WeiChat/src/main/res/values/strings.xml

+ 1 - 1
WeiChat/build.gradle

@@ -4,7 +4,7 @@ apply plugin: 'com.getkeepsafe.dexcount'
 android {
     signingConfigs {
         config {
-            storeFile file('C:/CompanyProject/applicationsignname[20150409]')
+            storeFile file('C:/Users/Arison/Desktop/applicationsignname[20150409]')
             storePassword '13237658359'
             keyAlias 'jie-20150409'
             keyPassword '13237658359'

+ 2 - 4
WeiChat/src/main/AndroidManifest.xml

@@ -6,7 +6,7 @@
     android:versionName="5.2">
     <uses-sdk
         android:minSdkVersion="11"
-        android:targetSdkVersion="22" />
+        android:targetSdkVersion="23" />
     <!-- 拨打电话 -->
     <uses-permission android:name="android.permission.CALL_PHONE" />
     <uses-feature android:name="android.hardware.camera" />
@@ -433,6 +433,7 @@
             android:theme="@style/CrmThemeBlue" />
         <activity
             android:name=".ui.erp.activity.crm.BusinessSelectCustomerActivity"
+            android:launchMode="singleTask"
             android:theme="@style/CrmThemeBlue" />
         <activity
             android:name=".ui.message.uas.B2bMsgActivity"
@@ -462,9 +463,6 @@
         <activity
             android:name=".ui.erp.activity.crm.CustomerListActivity"
             android:theme="@style/CrmThemeCustomer" />
-        <activity
-            android:name=".ui.erp.activity.crm.CustomerMutilSelectActivity"
-            android:theme="@style/CrmThemeCustomer" />
         <activity
             android:name=".ui.erp.activity.crm.SalesRankingActivity"
             android:label="@string/title_activity_sales_ranking"

+ 2 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/AddTaskActivity.java

@@ -25,6 +25,7 @@ import android.widget.Button;
 import android.widget.EditText;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
+import android.widget.ListView;
 import android.widget.ProgressBar;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
@@ -299,7 +300,7 @@ public class AddTaskActivity extends BaseActivity implements OnClickListener {
                 }
                 break;
             case R.id.iv_find:
-                Intent intent = new Intent(ct, DbfindListActivity.class);
+                Intent intent = new Intent(ct, DbfindListActivity.class).putExtra("listViewMode", ListView.CHOICE_MODE_MULTIPLE_MODAL);
                 startActivityForResult(intent, 2);
                 break;
             case R.id.bt_task_add:

+ 317 - 305
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/DbfindListActivity.java

@@ -26,6 +26,7 @@ import android.widget.TextView;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.handmark.pulltorefresh.library.PullToRefreshBase;
 import com.handmark.pulltorefresh.library.PullToRefreshListView;
 import com.lidroid.xutils.ViewUtils;
 import com.lidroid.xutils.view.annotation.ViewInject;
@@ -50,324 +51,335 @@ import java.util.Map;
  * @注释:查找
  */
 public class DbfindListActivity extends BaseActivity {
-	private EmptyLayout mEmptyLayout;
-
-	@ViewInject(R.id.lv_employee)
-	private PullToRefreshListView lv_employee;
-	private EmployeeAdatper adapter;
-	private List<Employees> lists;
-
-	@ViewInject(R.id.et_Search)
-	private  EditText et_Search;
-	ModeCallback mCallback;//多选模式
-
-	private  Context ct;
-	
-	private List<Employees> selectedItems=new ArrayList<>();
-
-	private final static int SUCCESS_LOADDATA = 1;
-	private Handler handler = new Handler() {
-		public void handleMessage(android.os.Message msg) {
-			switch (msg.what) {
-			case SUCCESS_LOADDATA:
-				progressDialog.dismiss();
-				Map<Object, Object> kMap = FlexJsonUtil.fromJson(msg.getData().getString("result"));
-				lists = FlexJsonUtil.fromJsonArray(kMap.get("data").toString(), Employees.class);
-				if (lists == null){
-					mEmptyLayout.showError();
-				}else if (lists.size() == 0){
-					mEmptyLayout.showEmpty();
-				}else {
-					System.out.println("data:" + kMap.get("data").toString());
-					adapter = new EmployeeAdatper(ct, lists);
-					lv_employee.setAdapter(adapter);
-
-				}
-				break;
-			case  LOAD_EMPLOYEES_SUCCESS:
-				progressDialog.dismiss();
-				String result=msg.getData().getString("result");
-				Log.i(TAG, result);
-				JSONObject object = JSON.parseObject(result);
-				JSONArray aJsonArray = object.getJSONArray("employees");
-				List<Employees> employees_query = new ArrayList<>();
-				for (int i = 0; i < aJsonArray.size(); i++) {
-					Employees em = new Employees();
-					em.setEm_id(aJsonArray.getJSONObject(i).getIntValue("em_id"));
-					em.setEm_code(aJsonArray.getJSONObject(i).getString("em_code"));
-					em.setEm_name(aJsonArray.getJSONObject(i).getString("em_name"));
-					employees_query.add(em);
-				}
-				adapter = new EmployeeAdatper(ct, employees_query);
-				lv_employee.setAdapter(adapter);
-				break;
-			default:
-				break;
-			}
-		};
-	};
-
-	@Override
-	protected void onCreate(Bundle savedInstanceState) {
-		super.onCreate(savedInstanceState);
-		initView();
-		initData();
-	}
-
-	public void initView() {
-		setContentView(R.layout.act_list_dbfind_employee);
-		ViewUtils.inject(this);
-		ct=this;
-		getSupportActionBar().setTitle("查找");
-				mCallback = new ModeCallback();
-		lv_employee.getRefreshableView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
-		lv_employee.getRefreshableView().setMultiChoiceModeListener(mCallback);
-		lv_employee.setOnItemClickListener(new OnItemClickListener() {
-			@Override
-			public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
-				EmployeeAdatper.Store store = (EmployeeAdatper.Store) view.getTag();
-				Intent intent = new Intent();
-				intent.putExtra("en_name", store.en_name.getText().toString());
-				intent.putExtra("en_code", store.en_no.getText().toString());
+    private EmptyLayout mEmptyLayout;
+
+    @ViewInject(R.id.lv_employee)
+    private PullToRefreshListView lv_employee;
+    private EmployeeAdatper adapter;
+    private List<Employees> lists;
+
+    @ViewInject(R.id.et_Search)
+    private EditText et_Search;
+    private  ModeCallback mCallback;//多选模式
+
+    private Context ct;
+
+    private List<Employees> selectedItems = new ArrayList<>();
+
+    private final static int SUCCESS_LOADDATA = 1;
+    private Handler handler = new Handler() {
+        public void handleMessage(android.os.Message msg) {
+            switch (msg.what) {
+                case SUCCESS_LOADDATA:
+                    progressDialog.dismiss();
+                    Map<Object, Object> kMap = FlexJsonUtil.fromJson(msg.getData().getString("result"));
+                    lists = FlexJsonUtil.fromJsonArray(kMap.get("data").toString(), Employees.class);
+                    if (lists == null) {
+                        mEmptyLayout.showError();
+                    } else if (lists.size() == 0) {
+                        mEmptyLayout.showEmpty();
+                    } else {
+                        System.out.println("data:" + kMap.get("data").toString());
+                        adapter = new EmployeeAdatper(ct, lists);
+                        lv_employee.setAdapter(adapter);
+
+                    }
+                    break;
+                case LOAD_EMPLOYEES_SUCCESS:
+                    progressDialog.dismiss();
+                    String result = msg.getData().getString("result");
+                    Log.i(TAG, result);
+                    JSONObject object = JSON.parseObject(result);
+                    JSONArray aJsonArray = object.getJSONArray("employees");
+                    List<Employees> employees_query = new ArrayList<>();
+                    for (int i = 0; i < aJsonArray.size(); i++) {
+                        Employees em = new Employees();
+                        em.setEm_id(aJsonArray.getJSONObject(i).getIntValue("em_id"));
+                        em.setEm_code(aJsonArray.getJSONObject(i).getString("em_code"));
+                        em.setEm_name(aJsonArray.getJSONObject(i).getString("em_name"));
+                        employees_query.add(em);
+                    }
+                    adapter = new EmployeeAdatper(ct, employees_query);
+                    lv_employee.setAdapter(adapter);
+                    break;
+                default:
+                    break;
+            }
+        }
+
+        ;
+    };
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        initView();
+        initData();
+    }
+
+    public void initView() {
+        setContentView(R.layout.act_list_dbfind_employee);
+        ViewUtils.inject(this);
+        ct = this;
+        getSupportActionBar().setTitle("查找");
+        
+        Intent intent=getIntent();
+        int listViewMode=ListView.CHOICE_MODE_SINGLE;
+        if (intent!=null){
+            listViewMode= intent.getIntExtra("listViewMode",ListView.CHOICE_MODE_SINGLE);
+        }
+        mCallback = new ModeCallback();
+        lv_employee.setMode(PullToRefreshBase.Mode.DISABLED);
+        lv_employee.getRefreshableView().setChoiceMode(listViewMode);
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
+            lv_employee.getRefreshableView().setMultiChoiceModeListener(mCallback);
+        }
+        lv_employee.setOnItemClickListener(new OnItemClickListener() {
+            @Override
+            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+                EmployeeAdatper.Store store = (EmployeeAdatper.Store) view.getTag();
+                Intent intent = new Intent();
+                intent.putExtra("en_name", store.en_name.getText().toString());
+                intent.putExtra("en_code", store.en_no.getText().toString());
 //				intent.putExtra("en_depart", store.en_depart.getText().toString());
-				DbfindListActivity.this.setResult(2, intent);
-				DbfindListActivity.this.finish();
-			}
-		});
-		
-		et_Search.addTextChangedListener(new TextWatcher() {
-
-			@Override
-			public void onTextChanged(CharSequence s, int start, int before, int count) {
-				if (s.length() != 0 && !StringUtils.isEmpty(s.toString())) {
-					loadEmployees(s.toString());
-				}
-			}
-
-			@Override
-			public void beforeTextChanged(CharSequence s, int start, int count, int after) {
-
-			}
-
-			@Override
-			public void afterTextChanged(Editable s) {
-
-			}
-		});
-
-		mEmptyLayout = new EmptyLayout(this,lv_employee.getRefreshableView());
-		mEmptyLayout.setShowLoadingButton(false);
-		mEmptyLayout.setShowEmptyButton(false);
-		mEmptyLayout.setShowErrorButton(false);
-
-	}
-
-	public void initData() {
-		progressDialog.show();
-		if (CommonUtil.isNetWorkConnected(this)){
-			String url = Constants.getAppBaseUrl(ct) + "common/dbfind.action";
-			Map<String, Object> params = new HashMap<String,  Object>();
-			params.put("caller", "Ask4leave");
-			params.put("which", "form");
-			params.put("field", "va_emcode");
-			params.put("condition", "1=1");
-			params.put("page", "1");
-			params.put("pageSize", "100");
-			params.put("sessionId", CommonUtil.getSharedPreferences(ct, "sessionId"));
-			LinkedHashMap<String, Object> headers=new LinkedHashMap<>();
-			headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
-//		startHandlerThread(url, params, handler, SUCCESS_LOADDATA);
-			ViewUtil.httpSendRequest(
-					ct, url,
-					params,
-					handler, headers, SUCCESS_LOADDATA, null, null, "get");
-		}else {
-			progressDialog.dismiss();
-			mEmptyLayout.setErrorMessage("网络未连接!");
-			mEmptyLayout.showError();
-		}
-
-	}
-	
-	@TargetApi(Build.VERSION_CODES.HONEYCOMB)
-	private class ModeCallback implements ListView.MultiChoiceModeListener {
-		private View mMultiSelectActionBarView;
-	    private TextView mSelectedCount;
-		@Override
-		public boolean onCreateActionMode(ActionMode mode, Menu menu) {
-			MenuInflater inflater = getMenuInflater();
-			inflater.inflate(R.menu.main_action_bar, menu);
-			if (mMultiSelectActionBarView==null) {
-			    mMultiSelectActionBarView = LayoutInflater.from(ct)
-	                    .inflate(R.layout.list_multi_select_actionbar, null);
-	                mSelectedCount =
-	                    (TextView)mMultiSelectActionBarView.findViewById(R.id.selected_conv_count);
-			}
-			mode.setCustomView(mMultiSelectActionBarView);
-			return true;
-		}
-
-		@Override
-		public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
-			return false;
-		}
-
-		@Override
-		public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
-			return false;
-		}
-
-		@Override
-		public void onDestroyActionMode(ActionMode mode) {
-            String values= getValuesSelect();
+                DbfindListActivity.this.setResult(2, intent);
+                DbfindListActivity.this.finish();
+            }
+        });
+
+        et_Search.addTextChangedListener(new TextWatcher() {
+
+            @Override
+            public void onTextChanged(CharSequence s, int start, int before, int count) {
+                if (s.length() != 0 && !StringUtils.isEmpty(s.toString())) {
+                    loadEmployees(s.toString());
+                }
+            }
+
+            @Override
+            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+            }
+
+            @Override
+            public void afterTextChanged(Editable s) {
+
+            }
+        });
+
+        mEmptyLayout = new EmptyLayout(this, lv_employee.getRefreshableView());
+        mEmptyLayout.setShowLoadingButton(false);
+        mEmptyLayout.setShowEmptyButton(false);
+        mEmptyLayout.setShowErrorButton(false);
+
+    }
+
+    public void initData() {
+        progressDialog.show();
+        if (CommonUtil.isNetWorkConnected(this)) {
+            String url = Constants.getAppBaseUrl(ct) + "common/dbfind.action";
+            Map<String, Object> params = new HashMap<String, Object>();
+            params.put("caller", "Ask4leave");
+            params.put("which", "form");
+            params.put("field", "va_emcode");
+            params.put("condition", "1=1");
+            params.put("page", "1");
+            params.put("pageSize", "100");
+            params.put("sessionId", CommonUtil.getSharedPreferences(ct, "sessionId"));
+            LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+            headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
+            ViewUtil.httpSendRequest(
+                    ct, url,
+                    params,
+                    handler, headers, SUCCESS_LOADDATA, null, null, "get");
+        } else {
+            progressDialog.dismiss();
+            mEmptyLayout.setErrorMessage("网络未连接!");
+            mEmptyLayout.showError();
+        }
+
+    }
+
+    @TargetApi(Build.VERSION_CODES.HONEYCOMB)
+    private class ModeCallback implements ListView.MultiChoiceModeListener {
+        private View mMultiSelectActionBarView;
+        private TextView mSelectedCount;
+
+        @Override
+        public boolean onCreateActionMode(ActionMode mode, Menu menu) {
+            MenuInflater inflater = getMenuInflater();
+            inflater.inflate(R.menu.main_action_bar, menu);
+            if (mMultiSelectActionBarView == null) {
+                mMultiSelectActionBarView = LayoutInflater.from(ct)
+                        .inflate(R.layout.list_multi_select_actionbar, null);
+                mSelectedCount =
+                        (TextView) mMultiSelectActionBarView.findViewById(R.id.selected_conv_count);
+            }
+            mode.setCustomView(mMultiSelectActionBarView);
+            return true;
+        }
+
+        @Override
+        public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
+            return false;
+        }
+
+        @Override
+        public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
+            return false;
+        }
+
+        @Override
+        public void onDestroyActionMode(ActionMode mode) {
+            String values = getValuesSelect();
             selectedItems.clear();
-            if (values.length()>1) {
-            	 Log.i(TAG, values.substring(0, values.length()-1));
-            	 Intent intent=new Intent();
-            	 intent.putExtra("employees", values.substring(0, values.length()-1));
-			     DbfindListActivity.this.setResult(1, intent);
-			     DbfindListActivity.this.finish();
-            
+            if (values.length() > 1) {
+                Log.i(TAG, values.substring(0, values.length() - 1));
+                Intent intent = new Intent();
+                intent.putExtra("employees", values.substring(0, values.length() - 1));
+                DbfindListActivity.this.setResult(1, intent);
+                DbfindListActivity.this.finish();
+
+            }
+
+        }
+
+        @Override
+        public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {
+            switch (lv_employee.getRefreshableView().getCheckedItemCount()) {
+                default:
+                    manageClickedVIew(position - 1, checked);
+                    break;
             }
-          
-		}
-
-		@Override
-		public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {
-			switch (lv_employee.getRefreshableView().getCheckedItemCount()) {
-			default:
-				  manageClickedVIew(position-1, checked);
-				break;
-			}
-			updateSeletedCount();
+            updateSeletedCount();
             mode.invalidate();
-            adapter.notifyDataSetChanged();			
-		}
-		
-		 private void manageClickedVIew(int i, boolean checked) {
-	          if(checked) { 
-	        	  selectedItems.add((Employees) adapter.getItem(i));}
-	          else { 
-	        	  selectedItems.remove((Employees) adapter.getItem(i));
-	          }
-	        }
-		
-		public void updateSeletedCount(){
-        	mSelectedCount.setText(Integer.toString(lv_employee.getRefreshableView().getCheckedItemCount()));
+            adapter.notifyDataSetChanged();
+        }
+
+        private void manageClickedVIew(int i, boolean checked) {
+            if (checked) {
+                selectedItems.add((Employees) adapter.getItem(i));
+            } else {
+                selectedItems.remove((Employees) adapter.getItem(i));
+            }
         }
-		
-		
-		public String getValuesSelect(){
-			StringBuffer sb=new StringBuffer();
-			for (int i = 0; i < selectedItems.size(); i++) {
-			    String name=selectedItems.get(i).getEm_name();
-			    sb.append(name+",");
-			}
-			return sb.toString();
-		}
-		
-	}
-	
-	
-	private final static int LOAD_EMPLOYEES_SUCCESS=2;
-	public void loadEmployees(String em_name){
-		progressDialog.show();
-		if (CommonUtil.isNetWorkConnected(this)){
-			String url = Constants.getAppBaseUrl(ct) + "mobile/QueryEmployee.action";
-			Map<String, Object> param = new HashMap<String, Object>();
-			param.put("em_name", em_name);
-			String sessionId = CommonUtil.getSharedPreferences(ct, "sessionId");
-			Log.i("sessionId", "sessionId:" + sessionId);
-			param.put("sessionId", sessionId);
-			LinkedHashMap<String, Object> headers=new LinkedHashMap<>();
-			headers.put("Cookie", "JSESSIONID="+CommonUtil.getSharedPreferences(ct, "sessionId"));
-			headers.put("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
-			ViewUtil.httpSendRequest(
-					ct, url,
-					param,
-					handler, headers, LOAD_EMPLOYEES_SUCCESS, null, null, "get");
-		}else {
-			progressDialog.dismiss();
-			mEmptyLayout.setErrorMessage("网络未连接!");
-			mEmptyLayout.showError();
-		}
-
-	}
-
-	public class EmployeeAdatper extends BaseAdapter {
-		public List<Employees> lists;
-		private Context context;
-
-		public EmployeeAdatper(Context ct, List<Employees> lists) {
-			this.lists = lists;
-			this.context = ct;
-		}
-
-		@Override
-		public int getCount() {
-			return lists != null ? lists.size() : 0;
-		}
-
-		@Override
-		public Object getItem(int position) {
-			return lists.get(position);
-		}
-
-		@Override
-		public long getItemId(int position) {
-			return position;
-		}
-
-		@Override
-		public View getView(int position, View view, ViewGroup parent) {
-			Store store = null;
-
-			if (view == null) {
-				store = new Store();
-				view = LayoutInflater.from(context).inflate(R.layout.item_dbfind_employee, null);
-				store.en_no = (TextView) view.findViewById(R.id.tv_em_code_value);
-				store.en_name = (TextView) view.findViewById(R.id.tv_employee_name_value);
+
+        public void updateSeletedCount() {
+            mSelectedCount.setText(Integer.toString(lv_employee.getRefreshableView().getCheckedItemCount()));
+        }
+
+
+        public String getValuesSelect() {
+            StringBuffer sb = new StringBuffer();
+            for (int i = 0; i < selectedItems.size(); i++) {
+                String name = selectedItems.get(i).getEm_name();
+                sb.append(name + ",");
+            }
+            return sb.toString();
+        }
+
+    }
+
+
+    private final static int LOAD_EMPLOYEES_SUCCESS = 2;
+
+    public void loadEmployees(String em_name) {
+        progressDialog.show();
+        if (CommonUtil.isNetWorkConnected(this)) {
+            String url = Constants.getAppBaseUrl(ct) + "mobile/QueryEmployee.action";
+            Map<String, Object> param = new HashMap<String, Object>();
+            param.put("em_name", em_name);
+            String sessionId = CommonUtil.getSharedPreferences(ct, "sessionId");
+            Log.i("sessionId", "sessionId:" + sessionId);
+            param.put("sessionId", sessionId);
+            LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+            headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
+            headers.put("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
+            ViewUtil.httpSendRequest(
+                    ct, url,
+                    param,
+                    handler, headers, LOAD_EMPLOYEES_SUCCESS, null, null, "get");
+        } else {
+            progressDialog.dismiss();
+            mEmptyLayout.setErrorMessage("网络未连接!");
+            mEmptyLayout.showError();
+        }
+
+    }
+
+    public class EmployeeAdatper extends BaseAdapter {
+        public List<Employees> lists;
+        private Context context;
+
+        public EmployeeAdatper(Context ct, List<Employees> lists) {
+            this.lists = lists;
+            this.context = ct;
+        }
+
+        @Override
+        public int getCount() {
+            return lists != null ? lists.size() : 0;
+        }
+
+        @Override
+        public Object getItem(int position) {
+            return lists.get(position);
+        }
+
+        @Override
+        public long getItemId(int position) {
+            return position;
+        }
+
+        @Override
+        public View getView(int position, View view, ViewGroup parent) {
+            Store store = null;
+
+            if (view == null) {
+                store = new Store();
+                view = LayoutInflater.from(context).inflate(R.layout.item_dbfind_employee, null);
+                store.en_no = (TextView) view.findViewById(R.id.tv_em_code_value);
+                store.en_name = (TextView) view.findViewById(R.id.tv_employee_name_value);
 //				store.en_defaultorname = (TextView) view.findViewById(R.id.tv_em_defaultorname_value);
 //				store.en_depart = (TextView) view.findViewById(R.id.tv_em_depart_value);
 //				store.en_defaultorid = (TextView) view.findViewById(R.id.tv_em_defaultorid_value);
-				view.setTag(store);
-			} else {
-				store = (Store) view.getTag();
-			}
-			store.en_no.setText(lists.get(position).getEm_code());
-			store.en_name.setText(lists.get(position).getEm_name());
+                view.setTag(store);
+            } else {
+                store = (Store) view.getTag();
+            }
+            store.en_no.setText(lists.get(position).getEm_code());
+            store.en_name.setText(lists.get(position).getEm_name());
 //			store.en_depart.setText(lists.get(position).getEm_depart());
 //			store.en_defaultorname.setText(lists.get(position).getEm_defaultorname());
-			// store.en_defaultorid.setText(lists.get(position).getEm_defaultorid()+"");
-			
-			
-			updateBackground(position+1, view);
-			return view;
-		}
-
-		
-
-		public void updateBackground(int position, View view) {
-			int backgroundId;
-			if (lv_employee.getRefreshableView().isItemChecked(position)) {
+            // store.en_defaultorid.setText(lists.get(position).getEm_defaultorid()+"");
+
+
+            updateBackground(position + 1, view);
+            return view;
+        }
+
+
+        public void updateBackground(int position, View view) {
+            int backgroundId;
+            if (lv_employee.getRefreshableView().isItemChecked(position)) {
 //				backgroundId = R.drawable.list_selected_holo_light;
 //				Drawable background = ct.getResources().getDrawable(backgroundId);
-				view.setBackgroundResource(R.drawable.list_selected_holo_light);
-			} else {
+                view.setBackgroundResource(R.drawable.list_selected_holo_light);
+            } else {
 //				backgroundId = R.drawable.conversation_item_background_read;
 //				Drawable background = ct.getResources().getDrawable(backgroundId);
-				view.setBackgroundColor(ct.getResources().getColor(R.color.Transpant));
-			}
-			
-		}
-	 
-		public class Store {
-			TextView en_no;// 职位
-			TextView en_name;// 人员名称
-			TextView en_depart;// 部门
-			TextView en_defaultorid;// id 组织
-			TextView en_defaultorname;// 组织名称
-		}
-	}
+                view.setBackgroundColor(ct.getResources().getColor(R.color.Transpant));
+            }
+
+        }
+
+        public class Store {
+            TextView en_no;// 职位
+            TextView en_name;// 人员名称
+            TextView en_depart;// 部门
+            TextView en_defaultorid;// id 组织
+            TextView en_defaultorname;// 组织名称
+        }
+    }
 
 }

+ 31 - 19
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessAddActivity.java

@@ -260,7 +260,7 @@ public class BusinessAddActivity extends BaseActivity implements View.OnClickLis
                     if (!jsons.isEmpty()) {
                         for (int i = 0; i < jsons.size(); i++) {
                             //TODO 没有数据,不知道字段是什么  已实际情况修改字段
-                            lists.add(jsons.getJSONObject(i).getString("BS_NAME"));
+                            lists.add(jsons.getJSONObject(i).getString("DLC_VALUE"));
                         }
                     }
                     if (lists.isEmpty()) {
@@ -376,7 +376,7 @@ public class BusinessAddActivity extends BaseActivity implements View.OnClickLis
         progressDialog.show();
         String url = Constants.getAppBaseUrl(ct) + "/mobile/crm/getBusinessChanceCombo.action";
         Map<String, Object> params = new HashMap<>();
-        params.put("caller", "nichefrom");
+        params.put("caller", "BusinessChance");
         params.put("field", "bc_from");
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
@@ -441,25 +441,37 @@ public class BusinessAddActivity extends BaseActivity implements View.OnClickLis
                 new SingleDialog.PickDialogListener() {
                     @Override
                     public void onListItemClick(int position, String value) {
-                        et.setText(value);
-                        for (int i = 0; i < jsons.size(); i++) {
-                            if (jsons.getJSONObject(i).getString("BD_NAME").equals(value)) {
-                                String bd_prop = jsons.getJSONObject(i).getString("BD_PROP");
-                                if (bd_prop.equals("公有")) {
-                                    //跟进人不可编辑,不可点击
-                                    et_business_enterMan.setClickable(false);
-                                    et_business_enterMan.setEnabled(false);
-                                    et_business_enterMan.setText("");
-                                    et_business_enterCode = 0;
-                                } else {
-                                    //跟进人可编辑
-                                    et_business_enterCode = 1;
-                                    et_business_enterMan.setEnabled(true);
-                                    et_business_enterMan.setClickable(true);
-                                    et_business_enterMan.setText(MyApplication.getInstance().mLoginUser.getNickName());
+                        switch (et.getId()){
+                            case R.id.et_business_source:
+                                et.setText(value);
+                                break;
+                            case R.id.et_business:
+                                et.setText(value);
+                                for (int i = 0; i < jsons.size(); i++) {
+                                    if (jsons.getJSONObject(i).getString("BD_NAME").equals(value)) {
+                                        String bd_prop = jsons.getJSONObject(i).getString("BD_PROP");
+                                        if (bd_prop.equals("公有")) {
+                                            //跟进人不可编辑,不可点击
+                                            et_business_enterMan.setClickable(false);
+                                            et_business_enterMan.setEnabled(false);
+                                            et_business_enterMan.setText("");
+                                            et_business_enterCode = 0;
+                                        } else {
+                                            //跟进人可编辑
+                                            et_business_enterCode = 1;
+                                            et_business_enterMan.setEnabled(true);
+                                            et_business_enterMan.setClickable(true);
+                                            et_business_enterMan.setText(MyApplication.getInstance().mLoginUser.getNickName());
+                                        }
+                                    }
                                 }
-                            }
+                                break;
+                            default:
+                                et.setText(value);
+                                break;
                         }
+                      
+                      
                     }
                 });
         singleDialog.show();

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

@@ -155,17 +155,23 @@ public class BusinessDetailActivty extends BaseActivity {
         if (type == 0) {
             getSupportActionBar().setTitle("商机跟进");
             ll_top_state.setVisibility(View.VISIBLE);
+            sendHttpResquest(Constants.HTTP_SUCCESS_INIT, page);
         } else if (type == 1) {
             getSupportActionBar().setTitle("抢占商机");
             ll_top_state.setVisibility(View.GONE);
+            sendHttpResquest(Constants.HTTP_SUCCESS_INIT, page);
         } else if (type == 2) {
             getSupportActionBar().setTitle("商机分配");
             ll_top_state.setVisibility(View.GONE);
+            sendHttpResquest(Constants.HTTP_SUCCESS_INIT, page);
         } else if (type == 3) {
             getSupportActionBar().setTitle("商机");
             ll_top_state.setVisibility(View.GONE);
+            isAdminer(12);
+        }else{
+            sendHttpResquest(Constants.HTTP_SUCCESS_INIT, page);
         }
-        sendHttpResquest(Constants.HTTP_SUCCESS_INIT, page);
+        
     }
 
 
@@ -333,6 +339,7 @@ public class BusinessDetailActivty extends BaseActivity {
     }
 
 
+    private int isAdmin;
     private Handler mHandler = new Handler() {
         @Override
         public void handleMessage(Message msg) {
@@ -409,6 +416,20 @@ public class BusinessDetailActivty extends BaseActivity {
                         progressDialog.dismiss();
                         Crouton.makeText(BusinessDetailActivty.this, "您已超出最大获取商机数!", 0xffff4444, 2000).show();
                     }
+                case 12://admin ?
+                   result = JSON.parseObject(msg.getData().getString("result"));
+                    String admin=result.getString("result");
+                    if (!StringUtils.isEmpty(admin)){
+                        if ("admin".equals(admin)){
+                           isAdmin=1; 
+                        }else{
+                            isAdmin=0;
+                        }
+                    }else{
+                        isAdmin=0;
+                    }
+                    sendHttpResquest(Constants.HTTP_SUCCESS_INIT,1);
+                    break;
             }
         }
     };
@@ -430,8 +451,13 @@ public class BusinessDetailActivty extends BaseActivity {
                 params.put("condition", "nvl(bc_status,' ')<>'已失效' and nvl(bc_doman,' ')=' ' and bc_nichehouse in (select bd_name from BusinessDataBase where bd_admincode=" +
                         "'" + CommonUtil.getSharedPreferences(ct, "erp_username") + "')");
             } else if (type == 3) {//商机列表
-                params.put("condition", "bc_currentprocess='" + business_steps + "' and bc_domancode='" +
-                        CommonUtil.getSharedPreferences(ct, "erp_username") + "'");
+                if (isAdmin==1){
+                    params.put("condition", "bc_currentprocess='" + business_steps + "' ");
+                }else{
+                    params.put("condition", "bc_currentprocess='" + business_steps + "' and bc_domancode='" +
+                            CommonUtil.getSharedPreferences(ct, "erp_username") + "'");
+                }
+                
             } else {//跟进
                 params.put("condition", "(bc_type='公有' or nvl(bc_type,' ')=' ')");
             }
@@ -474,4 +500,15 @@ public class BusinessDetailActivty extends BaseActivity {
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
         ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, what, null, null, "post");
     }
+    
+    public void isAdminer(int what){
+        String url = Constants.getAppBaseUrl(ct) + "/mobile/crm/isSysAdmin.action";
+        Map<String, Object> params = new HashMap<>();
+        params.put("em_code", CommonUtil.getSharedPreferences(ct,"erp_username"));
+  
+        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
+        ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, what, null, null, "post");
+        
+    }
 }

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

@@ -246,15 +246,15 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
                                     .putExtra("process", bt_process)
                                     .putExtra("doman", bt_doman));
                             break;
-                        case 4:
+                      /*  case 4:
                             startActivity(new Intent(BusinessDetailInfoActivity.this, BusinessTransferActivity.class)
                                     .putExtra("code", bt_code));
-                            break;
-                        case 5:
+                            break;*/
+                        case 4:
                             startActivity(new Intent(BusinessDetailInfoActivity.this, CustomerAddActivity.class)
                             );
                             break;
-                        case 6:
+                        case 5:
                             startActivity(new Intent(BusinessDetailInfoActivity.this, BusinessSelectCustomerActivity.class)
                                     .putExtra("code", bt_code));
                             break;

+ 70 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessLessActivity.java

@@ -13,6 +13,7 @@ import android.widget.LinearLayout;
 import android.widget.TextView;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.lidroid.xutils.ViewUtils;
 import com.lidroid.xutils.view.annotation.ViewInject;
 import com.xzjmyk.pm.activity.MyApplication;
@@ -22,13 +23,17 @@ import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CodeUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.Constants;
-import com.xzjmyk.pm.activity.util.ToastUtil;
+import com.xzjmyk.pm.activity.ui.erp.view.SingleDialog;
+import com.xzjmyk.pm.activity.util.DateFormatUtil;
 import com.xzjmyk.pm.activity.view.crouton.Crouton;
 import com.xzjmyk.pm.activity.view.wheel.DatePicker;
 
+import java.util.ArrayList;
 import java.util.Calendar;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -71,6 +76,7 @@ public class BusinessLessActivity extends BaseActivity implements View.OnClickLi
     private void initListener() {
         tv_date.setOnClickListener(this);
         tv_leader.setOnClickListener(this);
+        tv_business_state.setOnClickListener(this);
     }
 
     int type = 1;
@@ -79,6 +85,8 @@ public class BusinessLessActivity extends BaseActivity implements View.OnClickLi
     private String doman;
 
     private void initData() {
+        loadLeader(2);
+        tv_date.setText(DateFormatUtil.getStrDate4Date(new Date(),"yyyy-MM-dd"));
         Intent intent = getIntent();
         if (intent != null) {
             type = intent.getIntExtra("type", 1);
@@ -171,6 +179,22 @@ public class BusinessLessActivity extends BaseActivity implements View.OnClickLi
                             .getJSONObject("data").getString("em_name");
                     tv_leader.setText(leader);
                     break;
+                case 5:
+                    progressDialog.dismiss();
+                    lists.clear();
+                    Log.i(TAG, "handleMessage:" + msg.getData().getString("result"));
+                    String json = msg.getData().getString("result");
+                    JSONArray array = JSON.parseObject(json).getJSONArray("stages");
+                    if (!array.isEmpty()) {
+                        for (int i = 0; i < array.size(); i++) {
+                            lists.add(array.getJSONObject(i).getString("BS_NAME"));
+                        }
+                    }
+                    if (lists.isEmpty()) {
+                        lists.add("无");
+                    }
+                    showSimpleDialog(tv_business_state, "商机阶段");
+                    break;
             }
         }
     };
@@ -216,6 +240,8 @@ public class BusinessLessActivity extends BaseActivity implements View.OnClickLi
         ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, what, null, null, "post");
     }
 
+    
+    
     private void loadLeader(int what) {
         String url = Constants.getAppBaseUrl(ct) + "mobile/crm/getheadmanmsg.action";
         Map<String, Object> params = new HashMap<>();
@@ -238,7 +264,7 @@ public class BusinessLessActivity extends BaseActivity implements View.OnClickLi
             public void onDatePicked(String year, String month, String day) {
                 switch (resId) {
                     case R.id.tv_date://排名
-                        ToastUtil.showToast(ct, year + "-" + month);
+
                         tv_date.setText(year + "-" + month + "-" + day);
                         break;
                 }
@@ -248,6 +274,22 @@ public class BusinessLessActivity extends BaseActivity implements View.OnClickLi
     }
 
 
+
+    /**
+     * @desc:加载阶段
+     * @author:Arison on 2016/7/20
+     */
+    public void loadJieDuan(int what) {
+        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, what, null, null, "post");
+    }
+
+
     @Override
     public void onClick(View v) {
         switch (v.getId()) {
@@ -257,6 +299,32 @@ public class BusinessLessActivity extends BaseActivity implements View.OnClickLi
             case R.id.tv_date:
                 showDateWheel(R.id.tv_date);
                 break;
+            case R.id.tv_business_state:
+                loadJieDuan(5);
+                break;
         }
     }
+    private List<String> lists = new ArrayList<String>();
+
+    private SingleDialog singleDialog;
+
+    public void showSimpleDialog(final TextView et, final String title) {
+        if (singleDialog != null) {
+            if (singleDialog.isShowing())
+                return;
+        }
+        singleDialog = new SingleDialog(ct, title,
+                new SingleDialog.PickDialogListener() {
+                    @Override
+                    public void onListItemClick(int position, String value) {
+                        et.setText(value);
+                    }
+                });
+        singleDialog.show();
+        singleDialog.initViewData(lists);
+       /* } else {
+            singleDialog.show();
+            singleDialog.initViewData(lists);
+        }*/
+    }
 }

+ 42 - 21
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessSelectCustomerActivity.java

@@ -2,9 +2,9 @@ package com.xzjmyk.pm.activity.ui.erp.activity.crm;
 
 import android.content.Context;
 import android.content.Intent;
+import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
-import android.os.Bundle;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.Menu;
@@ -64,6 +64,7 @@ public class BusinessSelectCustomerActivity extends BaseActivity {
    private String cu_code;
     private String cu_name;
     private void initListener() {
+        mlist.setMode(PullToRefreshBase.Mode.DISABLED);
         mlist.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
             @Override
             public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
@@ -81,21 +82,20 @@ public class BusinessSelectCustomerActivity extends BaseActivity {
                 BusinessSelectCustomerActivity.BussinessDetailAdapter.ViewHolder holder= (BussinessDetailAdapter.ViewHolder) view.getTag();
                 cu_code= holder.code;
                 cu_name=holder.tv_business_name.getText().toString();
-                for (int i=0;i<mData.size();i++){
-                    if (position-1!=i){
-                        mData.get(i).setIsChecked(false);
-                    }
+                final  boolean flag = !mData.get(position-1).isChecked;
+                Log.i(TAG, "onClick:" + position + " check:" + !flag);
+                for (Business model : mData) {
+                    model.setIsChecked(false);
                 }
-                mAdapter.notifyDataSetChanged();
-                new Handler().postDelayed(new Runnable() {
+
+                mData.get(position-1).setIsChecked(flag);
+                mHandler.postDelayed(new Runnable() {
                     @Override
                     public void run() {
-                        Business bean = (Business) parent.getAdapter().getItem(position);
-                        bean.isChecked = !bean.isChecked;
-                        SmoothCheckBox checkBox = (SmoothCheckBox) view.findViewById(R.id.cb_left);
-                        checkBox.setChecked(bean.isChecked, true);
+                        mAdapter.notifyDataSetChanged();
                     }
-                },100);
+                }, 90);
+
             }
         });
         ;
@@ -171,16 +171,30 @@ public class BusinessSelectCustomerActivity extends BaseActivity {
             } else {
                 holder = (ViewHolder) convertView.getTag();
             }
-            holder.cb_left.setOnCheckedChangeListener(new SmoothCheckBox.OnCheckedChangeListener() {
-                @Override
-                public void onCheckedChanged(SmoothCheckBox checkBox, boolean isChecked) {
-                    mdata.get(position).setIsChecked(isChecked);
-                }
-            });
+            
+//           holder.cb_left.setOnCheckedChangeListener(new SmoothCheckBox.OnCheckedChangeListener() {
+//                @Override
+//                public void onCheckedChanged(SmoothCheckBox checkBox, boolean isChecked) {
+//                    cu_code= mdata.get(position).getCode();
+//                    cu_name=mdata.get(position).getName();
+//                    final  boolean flag = !mdata.get(position).isChecked;
+//                    Log.i(TAG, "onClick:" + position + " check:" + !flag);
+//                    for (Business model : mdata) {
+//                        model.setIsChecked(false);
+//                    }
+//
+//                    mdata.get(position-1).setIsChecked(flag);
+//                    mAdapter.notifyDataSetChanged();
+//                }
+//
+//            });
+            holder.cb_left.setFocusable(false);
+            holder.cb_left.setEnabled(false);
+            holder.cb_left.setClickable(false);
             holder.code=mdata.get(position).getCode();
             holder.tv_business_name.setText(mdata.get(position).getName());
+            holder.cb_left.setChecked(mdata.get(position).isChecked(), mdata.get(position).isChecked());
             holder.tv_business_leader.setText("负责人:"+mdata.get(position).getLeader());
-            holder.cb_left.setChecked(mdata.get(position).isChecked());
             return convertView;
         }
 
@@ -218,12 +232,19 @@ public class BusinessSelectCustomerActivity extends BaseActivity {
                     progressDialog.dismiss();
                     Log.i(TAG, "handleMessage:" + msg.getData().getString("result"));
                     ToastMessage("操作成功!");
-                    jumpToStateActivity();
+                    mHandler.postDelayed(new Runnable() {
+                        @Override
+                        public void run() {
+                            jumpToStateActivity();
+                        }
+                    },3000);
+                  
                     break;
                 case Constants.APP_SOCKETIMEOUTEXCEPTION:
                     progressDialog.dismiss();
                     Log.i(TAG, "handleMessage:" + msg.getData().getString("result"));
-
+                  //  ToastMessage(JSON.parseObject(msg.getData().getString("result")).getString("exceptionInfo"));
+                  
                     break;
             }
         }

+ 64 - 25
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessTransferActivity.java

@@ -29,6 +29,7 @@ import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.Constants;
+import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import com.xzjmyk.pm.activity.view.SmoothCheckBox;
 
 import java.util.ArrayList;
@@ -64,6 +65,7 @@ public class BusinessTransferActivity extends BaseActivity {
     }
 
     private void initListener() {
+        mlist.setMode(PullToRefreshBase.Mode.DISABLED);
         mlist.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
             @Override
             public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
@@ -78,22 +80,24 @@ public class BusinessTransferActivity extends BaseActivity {
         mlist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             public void onItemClick(final AdapterView<?> parent,final View view, final int position, long id) {
-                for (int i=0;i<mData.size();i++){
-                    if (position-1!=i){
-                        mData.get(i).setIsChecked(false);
-                    }
-                }
-                mAdapter.notifyDataSetChanged();
-               new Handler().postDelayed(new Runnable() {
-                   @Override
-                   public void run() {
-                       Business bean = (Business) parent.getAdapter().getItem(position);
-                       nicehouse=bean.getName();
-                       bean.isChecked = !bean.isChecked;
-                       SmoothCheckBox checkBox = (SmoothCheckBox) view.findViewById(R.id.cb_left);
-                       checkBox.setChecked(bean.isChecked, true);
-                   }
-               },100);
+
+                final  boolean flag = !mData.get(position-1).isChecked;
+                         Log.i(TAG, "onClick:" + position + " check:" + !flag);
+                         nicehouse=mData.get(position-1).getName();
+                         for (Business model : mData) {
+                             model.setIsChecked(false);
+                         }
+                      
+                         mData.get(position-1).setIsChecked(flag);
+                         mHandler.postDelayed(new Runnable() {
+                             @Override
+                             public void run() {
+                                 mAdapter.notifyDataSetChanged();
+                             }
+                         },90);
+                        
+                
+                
             }
         });
 
@@ -132,7 +136,12 @@ public class BusinessTransferActivity extends BaseActivity {
     public boolean onOptionsItemSelected(MenuItem item) {
         switch (item.getItemId()) {
             case R.id.btn_save:
-                sendHttpResquestTransfer(BUSSINE_TRANSFER,code,nicehouse);
+                if (StringUtils.isEmpty(nicehouse)){
+                    ToastMessage("请选择一种商机库");
+                }else{
+                    sendHttpResquestTransfer(BUSSINE_TRANSFER,code,nicehouse);
+                }
+               
                 break;
             case android.R.id.home:
                 onBackPressed();
@@ -175,24 +184,54 @@ public class BusinessTransferActivity extends BaseActivity {
                 holder = new ViewHolder();
                 holder.cb_left = (SmoothCheckBox) convertView.findViewById(R.id.cb_left);
                 holder.tv_business_name = (TextView) convertView.findViewById(R.id.tv_business_name);
+                
+//                convertView.setClickable(true);
+//                convertView.setFocusable(true);
+                holder.view=convertView;
                 convertView.setTag(holder);
             } else {
                 holder = (ViewHolder) convertView.getTag();
             }
-            holder.cb_left.setOnCheckedChangeListener(new SmoothCheckBox.OnCheckedChangeListener() {
-                @Override
-                public void onCheckedChanged(SmoothCheckBox checkBox, boolean isChecked) {
-                    mdata.get(position).setIsChecked(isChecked);
-                }
-            });
-
+//            holder.cb_left.setOnCheckedChangeListener(new SmoothCheckBox.OnCheckedChangeListener() {
+//                @Override
+//                public void onCheckedChanged(SmoothCheckBox checkBox, boolean isChecked) {
+//
+//                    final  boolean flag = !mdata.get(position).isChecked;
+//                    Log.i(TAG, "onClick:" + position + " check:" + !flag);
+//                    nicehouse=mdata.get(position).getName();
+//                    for (Business model : mdata) {
+//                        model.setIsChecked(false);
+//                    }
+//
+//                    mdata.get(position).setIsChecked(flag);
+//                    mAdapter.notifyDataSetChanged();
+//                }
+//            });
+//            holder.view.setOnClickListener(new View.OnClickListener() {
+//                @Override
+//                public void onClick(View v) {
+//                    boolean flag = !mdata.get(position).isChecked;
+//                    Log.i(TAG, "onClick:" +position+" check:"+!flag );
+//
+//                    for (Business model : mdata) {
+//                        model.setIsChecked(false);
+//                    }
+//
+//                    mdata.get(position).setIsChecked(flag);
+//                    notifyDataSetChanged();
+//                }
+//            });
+            holder.cb_left.setFocusable(false);
+            holder.cb_left.setEnabled(false);
+            holder.cb_left.setClickable(false);
             holder.tv_business_name.setText(mdata.get(position).getName());
-            holder.cb_left.setChecked(mdata.get(position).isChecked());
+            holder.cb_left.setChecked(mdata.get(position).isChecked(), mdata.get(position).isChecked());
             return convertView;
         }
 
 
         class ViewHolder {
+            View view;
             SmoothCheckBox cb_left;
             TextView tv_business_name;
         }

+ 5 - 27
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/ClientActivity.java

@@ -535,20 +535,6 @@ public class ClientActivity extends BaseActivity implements View.OnClickListener
         @Override
         public void handleMessage(Message msg) {
             switch (msg.what) {
-                case 27://是否启用预录入
-                    progressDialog.dismiss();
-                    Log.i(TAG, "handleMessage:" + msg.getData().getString("result"));
-                   int  falg = Integer.valueOf(JSON.parseObject(msg.getData().getString("result")).getString("isStart"));
-                   if (falg==0){
-                       startActivity(new Intent(activity,CustomerAddActivity.class).putExtra("type",1));
-                   }else{
-                       startActivity(new Intent(activity,CustomerAddActivity.class).putExtra("type",0));
-                   }
-                    break;
-              /*  case 100:
-                    progressDialog.dismiss();
-                    Log.i(TAG, "handleMessage:10 0:" + msg.getData().getString("result"));
-                    break;*/
                 case Constants.HTTP_SUCCESS_INIT:
                     progressDialog.dismiss();
                     Log.i(TAG, "handleMessage:" + msg.getData().getString("result"));
@@ -909,9 +895,9 @@ public class ClientActivity extends BaseActivity implements View.OnClickListener
 
     private void sendHttpResquest() {
         sendInactionCusts();
-        sendPersonalRank(DateFormatUtil.getStrDate4Date(new Date(),"yyyyMM"));
-        sendSalesKit(DateFormatUtil.getStrDate4Date(new Date(),"yyyyMM"));
-        sendTargets(DateFormatUtil.getStrDate4Date(new Date(),"yyyyMM"));
+        sendPersonalRank(DateFormatUtil.getStrDate4Date(new Date(), "yyyyMM"));
+        sendSalesKit(DateFormatUtil.getStrDate4Date(new Date(), "yyyyMM"));
+        sendTargets(DateFormatUtil.getStrDate4Date(new Date(), "yyyyMM"));
     }
 
     private void sendInactionCusts() {
@@ -994,7 +980,7 @@ public class ClientActivity extends BaseActivity implements View.OnClickListener
                             startActivity(new Intent(ClientActivity.this, BusinessAddActivity.class));
                             break;
                         case 1:
-                            loadParams(27);
+                            startActivity(new Intent(ClientActivity.this, CustomerAddActivity.class));
                             break;
                        /* case 2:
                             startActivity(new Intent(ClientActivity.this, TaskAddActivity.class).putExtra("type", 0));
@@ -1045,15 +1031,7 @@ public class ClientActivity extends BaseActivity implements View.OnClickListener
         }
     }
 
-    private void loadParams(int what) {
-        progressDialog.show();
-        String url = Constants.getAppBaseUrl(ct) + "mobile/crm/ifuseprecustomer.action";
-        Map<String, Object> params = new HashMap<>();
-        params.put("currentsystem=", CommonUtil.getSharedPreferences(ct, "erp_master"));
-        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
-        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
-        ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, what, null, null, "post");
-    }
+  
 
     private List<Map<String, Object>> getPopData() {
         List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();

+ 34 - 5
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/CustomerAddActivity.java

@@ -121,6 +121,7 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
 
     private void initData() {
         getCodeByNet();
+        loadParams(26);
     }
 
     private void initView() {
@@ -232,12 +233,13 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
         sendHttpResquest(Constants.HTTP_SUCCESS_INIT, formStore);
     }
 
-    private static final int CURRENT_STAGE = 21;
+    private final int CURRENT_STAGE = 21;
     private final int CUSTOMTER_TYPE=24;
-    private static final int PAY_METHODS = 22;
-    private static final int GET_CURRENCY = 23;
-    private static final int REQUEST_CLERK = 1;
-    private static final int GET_CU_ID = 25;
+    private final int PAY_METHODS = 22;
+    private final int GET_CURRENCY = 23;
+    private final int REQUEST_CLERK = 1;
+    private final int GET_CU_ID = 25;
+    private final int FORM_TYPE = 26;
     
     private Handler mHandler = new Handler() {
         @Override
@@ -259,6 +261,22 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
                     Log.i(TAG, "handleMessage:" + msg.getData().getString("result"));
                     ToastMessage(msg.getData().getString("result"));
                     break;
+                case FORM_TYPE:
+                    progressDialog.dismiss();
+                    Log.i(TAG, "handleMessage:" + msg.getData().getString("result"));
+                    int  falg = Integer.valueOf(JSON.parseObject(msg.getData().getString("result")).getString("isStart"));
+                    if (falg == 0) {
+                        ll_infomal.setVisibility(View.VISIBLE);
+                        type=1;//正式客户
+                        getSupportActionBar().setTitle("客户录入");
+                        CommonUtil.getCommonId(ct, "PRECUSTOMER_SEQ", mHandler, GET_CU_ID);
+                    } else {
+                        ll_infomal.setVisibility(View.GONE);
+                        type=0;//客户预录入
+                        getSupportActionBar().setTitle("客户预录入");
+                        CommonUtil.getCommonId(ct, "CUSTOMER_SEQ", mHandler, GET_CU_ID);
+                    }
+                    break;
                 case codeWhat://获取编号
                     progressDialog.dismiss();
                     tv_code = JSON.parseObject(msg.getData().getString("result")).getString("code");
@@ -494,6 +512,7 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
         params.put("which", "form");
         params.put("caller", "Customer!Base");
         params.put("field", "cu_kind");
+        params.put("pageSize",1000);
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
         ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, CUSTOMTER_TYPE, null, null, "post");
@@ -532,6 +551,16 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
         ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, GET_CURRENCY, null, null, "post");
     }
 
+    private void loadParams(int what) {
+        progressDialog.show();
+        String url = Constants.getAppBaseUrl(ct) + "mobile/crm/ifuseprecustomer.action";
+        Map<String, Object> params = new HashMap<>();
+        params.put("currentsystem=", CommonUtil.getSharedPreferences(ct, "erp_master"));
+        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
+        ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, what, null, null, "post");
+    }
+
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
         if (requestCode == REQUEST_CLERK && resultCode == 2 && data != null){

+ 2 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/CustomerDetailActivity.java

@@ -83,6 +83,7 @@ public class CustomerDetailActivity extends BaseActivity {
     private StepsView mStepsView;
     @ViewInject(R.id.customer_detail_add_plan)
     private Button mAddPlanBtn;
+    String falg;
 
     private Context ct;
     private final String[] labels = {"初次沟通", "立项评估","产品演示", "合同签约", "样品报价", "多次交易"
@@ -120,6 +121,7 @@ public class CustomerDetailActivity extends BaseActivity {
 
     private void initData() {
         String code = getIntent().getStringExtra("code");
+        falg=getIntent().getStringExtra("falg");
         sendHttpResquest(Constants.HTTP_SUCCESS_INIT, code);
         // sendAdd(Constants.HTTP_SUCCESS_INIT);
         mStepsView.setCompletedPosition(0 % labels.length)

+ 20 - 8
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/CustomerListActivity.java

@@ -128,7 +128,7 @@ public class CustomerListActivity extends BaseActivity implements View.OnClickLi
                 BussinessDetailAdapter.ViewHolder viewHolder = (BussinessDetailAdapter.ViewHolder) view.getTag();
                 Log.i(TAG, "onItemClick:" + viewHolder.tv_code.getText().toString());
                 startActivity(new Intent(ct, CustomerDetailActivity.class).putExtra("code", viewHolder.tv_code
-                        .getText().toString()));
+                        .getText().toString()).putExtra("falg",falg));
             }
         });
     }
@@ -193,6 +193,7 @@ public class CustomerListActivity extends BaseActivity implements View.OnClickLi
         switch (v.getId()) {
             case R.id.tv_count_unend:
                 type = 0;
+                jsonArray.clear();
 //                Crouton.makeText(this,"切换成功", 0xffff8888, 10000).show();
                 page = 1;
                 sendHttpResquest(Constants.HTTP_SUCCESS_INIT, kind, page, 0, "");
@@ -200,10 +201,12 @@ public class CustomerListActivity extends BaseActivity implements View.OnClickLi
             case R.id.tv_count_end:
                 type = 1;
                 page = 1;
+                jsonArray.clear();
 //                Crouton.makeText(this,"切换成功", Style.CONFIRM).show();
                 sendHttpResquest(Constants.HTTP_SUCCESS_INIT, kind, page, 0, "");
                 break;
             case R.id.tv_count_total:
+                jsonArray.clear();
                 type = 2;
                 page = 1;
 //                Crouton.makeText(this,"切换成功", Style.CONFIRM).show();
@@ -325,9 +328,9 @@ public class CustomerListActivity extends BaseActivity implements View.OnClickLi
                             startActivityForResult(intent, 0x11);
                             popupWindow.dismiss();
                             break;
-                        case 2:
+                     /*   case 2:
                             popupWindow.dismiss();
-                            break;
+                            break;*/
 
                     }
                 }
@@ -363,9 +366,9 @@ public class CustomerListActivity extends BaseActivity implements View.OnClickLi
         map.put("item_name", "我下属");
         list.add(map);
 
-        map = new HashMap<String, Object>();
+   /*     map = new HashMap<String, Object>();
         map.put("item_name", "取消");
-        list.add(map);
+        list.add(map);*/
 
 
         return list;
@@ -386,9 +389,18 @@ public class CustomerListActivity extends BaseActivity implements View.OnClickLi
                     JSONArray json1 = JSON.parseObject(msg.getData().getString("result")).getJSONArray("customers1");
                     if (json0 != null && json1 != null) {
                         if (page == 1){
-                            unEndSize = json0.getJSONObject(0).getIntValue("count");
-                            endSize = json1.getJSONObject(0).getIntValue("count");
-                            totalSize = json.getJSONObject(0).getIntValue("count");
+                            if (json0.size()>0){
+                                unEndSize = json0.getJSONObject(0).getIntValue("count");
+                            }
+                            if (json.size()>0){
+                                totalSize = json.getJSONObject(0).getIntValue("count");
+                            }
+                            if (json1.size()>0){
+                                endSize = json1.getJSONObject(0).getIntValue("count");
+                            }
+                          
+                          
+                           
 
                             CommonUtil.textSpanForStyle(tv_count_unend, unEndSize + "\n未成交", String.valueOf(unEndSize),
                                     ct.getResources().getColor(R.color.yellow_home));

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

@@ -1,39 +0,0 @@
-package com.xzjmyk.pm.activity.ui.erp.activity.crm;
-
-import android.os.Bundle;
-
-import com.lidroid.xutils.ViewUtils;
-import com.xzjmyk.pm.activity.R;
-import com.xzjmyk.pm.activity.ui.base.BaseActivity;
-
-/**
- * @功能:多条件筛选
- * @author:Arisono
- * @param:
- * @return:
- */
-public class CustomerMutilSelectActivity extends BaseActivity {
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_customer_mutil_select);
-        initView();
-        initData();
-        initListener();
-    }
-
-
-    private void initView() {
-        ViewUtils.inject(this);
-        getSupportActionBar().setTitle("筛选");
-    }
-
-    private void initListener() {
-
-    }
-
-    private void initData() {
-
-    }
-}

+ 9 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/VisitReportAddActivity.java

@@ -16,6 +16,7 @@ import com.alibaba.fastjson.JSONArray;
 import com.andreabaccega.widget.FormEditText;
 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.bean.oa.OABean;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
@@ -258,6 +259,8 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
                             tv_date_end.getText().toString() +//结束时间
                             "\"\n" +
                             "}";
+            
+            
         } else {
             return;
         }
@@ -267,9 +270,10 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
         Map<String, Object> params = new HashMap<>();
         params.put("formStore", formStore);
         params.put("caller", "VisitRecord");
+        String param1="{\"pl_detno\":1,\"pl_name\":"+ MyApplication.getInstance().mLoginUser.getNickName()+",\"pl_vrid\":"+mVrId+"}";
         params.put("param1", "[]");
         params.put("param2", "[]");
-        params.put("param3", "[]");
+        params.put("param3", param1);
         params.put("param4", "[]");
         params.put("param5", "[]");
         params.put("param6", "[]");
@@ -367,6 +371,10 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
         String url = CommonUtil.getSharedPreferences(this, "erp_baseurl") + "mobile/crm/updateVistPlan.action";
         final Map<String, Object> param = new HashMap<>();
         param.put("vp_id", vp_id);
+        //cu_nichestep商机阶段
+        //cu_code客户编号
+        param.put("cu_nichestep",tv_visit_steps.getText().toString());
+        param.put("cu_code",vp_code);
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(this, "sessionId"));
         com.xzjmyk.pm.activity.ui.erp.net.ViewUtil.httpSendRequest(this, url, param, mHandler, headers, 0x16, null, null, "post");

+ 16 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/OAListActivity.java

@@ -7,15 +7,21 @@ import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.BaseAdapter;
+import android.widget.ImageView;
 import android.widget.ListView;
 import android.widget.TextView;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.nostra13.universalimageloader.core.ImageLoader;
+import com.nostra13.universalimageloader.core.imageaware.ImageAware;
+import com.nostra13.universalimageloader.core.imageaware.ImageViewAware;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.Constants;
+import com.xzjmyk.pm.activity.util.ImageUtil;
 import com.xzjmyk.pm.activity.util.TimeUtils;
 
 import java.util.HashMap;
@@ -102,6 +108,7 @@ public class OAListActivity extends BaseActivity {
                 holder.time = (TextView) view.findViewById(R.id.time);
                 holder.name = (TextView) view.findViewById(R.id.name);
                 holder.addr = (TextView) view.findViewById(R.id.addr);
+                holder.image = (ImageView) view.findViewById(R.id.image);
                 holder.company = (TextView) view.findViewById(R.id.company);
                 view.setTag(holder);
             } else {
@@ -112,14 +119,23 @@ public class OAListActivity extends BaseActivity {
             holder.name.setText(object.getString("mo_man") == null ? "" : object.getString("mo_man"));
             holder.addr.setText(object.getString("mo_remark") == null ? "" : object.getString("mo_remark"));
             holder.company.setText(object.getString("mo_company") == null ? "" : object.getString("mo_company"));
+            if (object.containsKey("mo_attachid") && object.getInteger("mo_attachid") > 1000) {
+                ImageLoader.getInstance().displayImage(getImageUrl(object.getInteger("mo_attachid")), holder.image);
+            }
             return view;
         }
 
+        private String getImageUrl(int id) {
+            return Constants.getAppBaseUrl(ct) + "common/downloadbyId.action?id=" + id;
+        }
+
         class ViewHolder {
             TextView time,//时间
                     name,//签到人
                     addr, //地址
                     company;//签到公司
+
+            ImageView image;
         }
     }
 }

+ 155 - 30
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/OutSigninOKActivity.java

@@ -1,20 +1,33 @@
 package com.xzjmyk.pm.activity.ui.erp.activity.oa;
 
+import android.app.Activity;
+import android.content.DialogInterface;
 import android.content.Intent;
+import android.net.Uri;
 import android.os.AsyncTask;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
+import android.support.v7.app.AlertDialog;
 import android.view.Menu;
 import android.view.MenuItem;
+import android.view.View;
 import android.widget.EditText;
+import android.widget.ImageView;
 import android.widget.TextView;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.lidroid.xutils.HttpUtils;
 import com.lidroid.xutils.ViewUtils;
+import com.lidroid.xutils.exception.HttpException;
+import com.lidroid.xutils.http.RequestParams;
+import com.lidroid.xutils.http.ResponseInfo;
+import com.lidroid.xutils.http.callback.RequestCallBack;
+import com.lidroid.xutils.http.client.HttpRequest;
 import com.lidroid.xutils.view.annotation.ViewInject;
+import com.nostra13.universalimageloader.core.ImageLoader;
 import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.bean.oa.OutSigninBean;
@@ -24,13 +37,19 @@ import com.xzjmyk.pm.activity.ui.erp.util.CodeUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.Constants;
 import com.xzjmyk.pm.activity.ui.erp.util.FlexJsonUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.JsonValidator;
+import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
+import com.xzjmyk.pm.activity.util.CameraUtil;
 import com.xzjmyk.pm.activity.util.TimeUtils;
 import com.xzjmyk.pm.activity.util.ToastUtil;
-import com.xzjmyk.pm.activity.view.MyListView;
+import com.xzjmyk.pm.activity.view.crouton.Crouton;
 
+import java.io.File;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 //外勤签到
 public class OutSigninOKActivity extends BaseActivity {
@@ -42,9 +61,12 @@ public class OutSigninOKActivity extends BaseActivity {
     private TextView com_tv;
     @ViewInject(R.id.text_edit)
     private EditText text_edit;
-    @ViewInject(R.id.listview)
-    private MyListView listview;
+    @ViewInject(R.id.image_tag)
+    private ImageView image_tag;
+    @ViewInject(R.id.image)
+    private ImageView image;
     private String baseUrl;
+    private Uri mNewPhotoUri;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -64,10 +86,15 @@ public class OutSigninOKActivity extends BaseActivity {
             CodeUtil.getInstance().getCode(ct, "mobile_outsign", new CodeUtil.OnCodeLinstener() {
                 @Override
                 public void callBack(String code) {
-                    doSignin(code);
+                    doSignin(code, 0);
                 }
             });
         }
+//            if (!StringUtils.isEmpty(path) && new File(path).isFile())
+//                uploadFile(path);
+//            else
+//
+//        }
         return super.onOptionsItemSelected(item);
     }
 
@@ -90,31 +117,132 @@ public class OutSigninOKActivity extends BaseActivity {
         com_tv.setText(com);
         task.execute();
         addr_tv.setText(addr);
-//        if (json != null)
-//            listview.setAdapter(new SigninAdapter(json));
-//        else
-//            loadLog();
+        image_tag.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                showPopup();
+            }
+        });
     }
 
-    //获取打卡记录 date:yyyy-MM-dd
-    private void loadLog() {
-        progressDialog.show();
-        //获取网络数据
-        String url = CommonUtil.getSharedPreferences(ct, "erp_baseurl") + "mobile/common/list.action";
-        String emcode = CommonUtil.getSharedPreferences(ct, "erp_username");
-        final Map<String, Object> param = new HashMap<>();
-        param.put("currentMaster", CommonUtil.getSharedPreferences(ct, "erp_master"));
-        param.put("page", 1);
-        param.put("pageSize", 1000);
-        param.put("emcode", emcode);
-        param.put("condition", "mo_mancode='" + emcode + "' and to_char(mo_signtime,'yyyy-MM-dd')='" + TimeUtils.s_long_2_str(System.currentTimeMillis()) + "'");
-        param.put("caller", "Mobile_outsign");
-        param.put("sessionId", CommonUtil.getSharedPreferences(ct, "sessionId"));
-        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
-        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
-        com.xzjmyk.pm.activity.ui.erp.util.ViewUtil.httpSendRequest(ct, url, param, handler, headers, 0x13, null, null, "get");
+    private static final int REQUEST_CODE_CAPTURE_PHOTO = 1;// 拍照
+    private static final int REQUEST_CODE_PICK_PHOTO = 2;// 图库
+    private String path = null;
+
+    private void showPopup() {
+        AlertDialog.Builder builder = new AlertDialog.Builder(ct);
+        String[] items = {"拍照", "从照片中选择"};
+        builder.setTitle("选择操作");
+        builder.setItems(items, new DialogInterface.OnClickListener() {
+            @Override
+            public void onClick(DialogInterface dialogInterface, int i) {
+                if (i == 0) {
+                    //调用拍照
+                    mNewPhotoUri = CameraUtil.getOutputMediaFileUri(OutSigninOKActivity.this, CameraUtil.MEDIA_TYPE_IMAGE);
+                    CameraUtil.captureImage(OutSigninOKActivity.this, mNewPhotoUri, REQUEST_CODE_CAPTURE_PHOTO);
+                } else if (i == 1) {
+                    if (!CommonUtil.setSharedPreferences(ct, "isImage", false)) {
+                        Crouton.makeText(ct, "您没有被允许使用系统相册,请使用拍照");
+                    } else {
+                        //调用系统相册
+                        CameraUtil.pickImageSimple(OutSigninOKActivity.this, REQUEST_CODE_PICK_PHOTO);
+                    }
+                }
+            }
+        });
+        builder.show();
+    }
+
+    private int getID(String chche) {
+        if (StringUtils.isEmpty(chche)) return 0;
+        Pattern p = Pattern.compile("(\\d+)");
+        Matcher m = p.matcher(chche);
+        if (m.find()) {
+            return Integer.parseInt(m.group(0));
+        }
+        return -1;
+    }
+
+    int id = 0;
+
+    private void uploadFile(String path) {
+        if (StringUtils.isEmpty(path)) return;
+        File finalFile = new File(path);
+        if (!finalFile.isFile()) return;
+        RequestParams params = new RequestParams();
+        params.addQueryStringParameter("master", CommonUtil.getSharedPreferences(ct, "erp_master"));
+        params.addHeader("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
+        params.addBodyParameter("em_code", CommonUtil.getSharedPreferences(ct, "erp_username"));
+        params.addBodyParameter("type", "common");
+        params.addBodyParameter("img", finalFile);
+        String url = Constants.getAppBaseUrl(ct) + "mobile/uploadEmployeeAttach.action";
+        final HttpUtils http = new HttpUtils();
+        http.send(HttpRequest.HttpMethod.POST, url, params, new RequestCallBack<String>() {
+            @Override
+            public void onStart() {
+                progressDialog.show();
+                ViewUtil.ToastMessage(ct, "正在上传图片...");
+            }
+
+            @Override
+            public void onLoading(long total, long current, boolean isUploading) {
+                if (isUploading) {
+
+                } else {
+
+                }
+            }
+
+            @Override
+            public void onSuccess(ResponseInfo<String> responseInfo) {
+                progressDialog.dismiss();
+                ViewUtil.ToastMessage(ct, "上传成功:");
+                JsonValidator validator = new JsonValidator();
+                if (validator.validate(responseInfo.result) && JSON.parseObject(responseInfo.result).getBoolean("success")) {
+                    id = getID(JSON.parseObject(responseInfo.result).getString("id"));
+                }
+                CodeUtil.getInstance().getCode(ct, "mobile_outsign", new CodeUtil.OnCodeLinstener() {
+                    @Override
+                    public void callBack(String code) {
+                        doSignin(code, id);
+                    }
+                });
+            }
+
+            @Override
+            public void onFailure(HttpException error, String msg) {
+                ViewUtil.ToastMessage(ct, "上传失败:" + msg);
+            }
+        });
     }
 
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        if (requestCode == REQUEST_CODE_CAPTURE_PHOTO) {// 拍照返回
+            if (resultCode == Activity.RESULT_OK) {
+                if (mNewPhotoUri != null) {
+                    path = mNewPhotoUri.getPath();
+                    path = CameraUtil.getImagePathFromUri(ct, mNewPhotoUri);
+                    if (StringUtils.isEmpty(path)) return;
+                    ImageLoader.getInstance().displayImage(Uri.fromFile(new File(path)).toString(), image);
+                } else {
+                    ToastUtil.showToast(this, R.string.c_take_picture_failed);
+                }
+            }
+        } else if (requestCode == REQUEST_CODE_PICK_PHOTO) {// 选择一张图片,然后立即调用裁减
+            if (resultCode == Activity.RESULT_OK) {
+                if (data != null && data.getData() != null) {
+                    path = CameraUtil.getImagePathFromUri(ct, data.getData());
+                    if (StringUtils.isEmpty(path)) return;
+                    ImageLoader.getInstance().displayImage(Uri.fromFile(new File(path)).toString(), image);
+                } else {
+                    ToastUtil.showToast(this, R.string.c_photo_album_failed);
+                }
+            }
+        }
+    }
+
+
     private final int whatSignin = 0x12;
     private Handler handler = new Handler() {
         @Override
@@ -134,9 +262,6 @@ public class OutSigninOKActivity extends BaseActivity {
                         ToastUtil.showToast(ct, "签到失败");
                     }
                     break;
-                case 0x13:
-//                    listview.setAdapter(new SigninAdapter(JSON.parseObject(message).getJSONArray("listdata")));
-                    break;
                 case Constants.APP_SOCKETIMEOUTEXCEPTION:
                     ToastUtil.showToast(ct, message == null ? "" : message);
                     break;
@@ -169,7 +294,7 @@ public class OutSigninOKActivity extends BaseActivity {
      *
      * @param code 编号
      */
-    private void doSignin(String code) {
+    private void doSignin(String code, int id) {
         progressDialog.show();
         //获取网络数据
         String url = baseUrl + "mobile/oa/saveOutSign.action";
@@ -180,7 +305,7 @@ public class OutSigninOKActivity extends BaseActivity {
         bean.setMo_mancode(CommonUtil.getSharedPreferences(this, "erp_username"));
         bean.setMo_man(MyApplication.getInstance().mLoginUser.getNickName());
         bean.setMo_remark(text_edit.getText().toString());
-        bean.setMo_attachid(201);
+        bean.setMo_attachid(id);
         bean.setMo_company(com_tv.getText().toString().trim());
         bean.setMo_signtime(TimeUtils.f_long_2_str(System.currentTimeMillis()));
         String formStore = FlexJsonUtil.toJson(bean);

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

@@ -26,6 +26,8 @@ public class OutofficeSetActivity extends BaseActivity {
     private RelativeLayout location_rl;
     @ViewInject(R.id.allow_chance_location)
     private SwitchView allow_chance_location;
+    @ViewInject(R.id.isImage)
+    private SwitchView isImage;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -36,12 +38,19 @@ public class OutofficeSetActivity extends BaseActivity {
     }
 
     private void initview() {
+        isImage.setChecked(CommonUtil.setSharedPreferences(ct, "isImage", false));
+        isImage.setOnCheckedChangeListener(new SwitchView.OnCheckedChangeListener() {
+            @Override
+            public void onCheckedChanged(View view, boolean isChecked) {
+                CommonUtil.setSharedPreferences(ct, "isImage", isChecked);
+            }
+        });
         allow_chance_location.setOnCheckedChangeListener(new SwitchView.OnCheckedChangeListener() {
             @Override
             public void onCheckedChanged(View view, boolean isChecked) {
                 setClickAble(isChecked);
-                CommonUtil.setSharedPreferences(OutofficeSetActivity.this, OA_LOCATION_DISTANCE, location_tv.getText().toString().trim());
-                CommonUtil.setSharedPreferences(OutofficeSetActivity.this, OA_LOCATION_IS, isChecked);
+                CommonUtil.setSharedPreferences(ct, OA_LOCATION_DISTANCE, location_tv.getText().toString().trim());
+                CommonUtil.setSharedPreferences(ct, OA_LOCATION_IS, isChecked);
             }
         });
         location_rl.setOnClickListener(new View.OnClickListener() {

+ 11 - 31
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/SigninFragment.java

@@ -1,7 +1,6 @@
 package com.xzjmyk.pm.activity.ui.erp.fragment;
 
 import android.content.Context;
-import android.content.DialogInterface;
 import android.content.Intent;
 import android.os.Bundle;
 import android.os.Handler;
@@ -9,6 +8,7 @@ import android.os.Message;
 import android.support.v7.app.AlertDialog;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
+import android.support.v7.widget.Toolbar;
 import android.text.Html;
 import android.text.Spanned;
 import android.view.View;
@@ -69,6 +69,8 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
     private ImageView seting;
     @ViewInject(R.id.title)
     private TextView title;
+    @ViewInject(R.id.toobar)
+    private Toolbar toolbar;
     @ViewInject(R.id.back)
     private ImageView back;
     @ViewInject(R.id.signin_btn)
@@ -108,9 +110,9 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
                     JSONObject jsonObject = JSON.parseObject(message);//返回对象
                     if (jsonObject.containsKey("success") && jsonObject.getBoolean("success")) {//返回正常
                         if (jsonObject.containsKey("comaddressset") ? jsonObject.getBoolean("comaddressset") : false) {//如果有分配公司
-                            companyDistance = Integer.parseInt(jsonObject.containsKey("distance") ? jsonObject.getString("distance") : "0");
-                            companyX = Double.parseDouble(jsonObject.containsKey("longitude") ? jsonObject.getString("longitude") : "0");
-                            companyY = Double.parseDouble(jsonObject.containsKey("latitude") ? jsonObject.getString("latitude") : "0");
+                            companyDistance = Integer.parseInt(jsonObject.containsKey("distance") ?(StringUtils.isEmpty(jsonObject.getString("distance") )?"0":jsonObject.getString("distance")) : "0");
+                            companyX = Double.parseDouble(jsonObject.containsKey("longitude") ? (StringUtils.isEmpty(jsonObject.getString("longitude") )?"0":jsonObject.getString("longitude")) : "0");
+                            companyY = Double.parseDouble(jsonObject.containsKey("latitude") ? (StringUtils.isEmpty(jsonObject.getString("latitude") )?"0":jsonObject.getString("latitude")) : "0");
                             unoffice_mm.setText(setDistance());
                         } else {
                             Crouton.makeText(ct, "当前账号没有分配公司地址,请联系管理员!!");
@@ -164,6 +166,7 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
     public void onAttach(Context ct) {
         super.onAttach(ct);
         this.ct = (BaseActivity) ct;
+
     }
 
     @Override
@@ -179,7 +182,7 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
             if (poi == null) return;
             loaction = poi.name == null ? "" : poi.name;
             addr = poi.address == null ? "" : poi.address;
-            office_addr.setText("考勤地点:" + loaction);
+            office_addr.setText(Html.fromHtml("<font color=\'#575757\'>当前位置  " + "</font><font color=\'#000000\'>" + loaction + "</font>"));
             latitude = poi.location.latitude;
             longitude = poi.location.longitude;
             unoffice_mm.setText(setDistance());
@@ -220,6 +223,7 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
     @Override
     protected void onCreateView(Bundle savedInstanceState, boolean createView) {
         ViewUtils.inject(getmRootView());
+        ct.setSupportActionBar(toolbar);
         init();
         initView();
         listener();
@@ -273,7 +277,7 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
         listview.setLayoutManager(new LinearLayoutManager(ct));
         adapter = new SigninAdapter(ct);
         listview.setAdapter(adapter);
-        office_addr.setText("考勤地点:" + (StringUtils.isEmpty(loaction) ? "" : loaction));
+        office_addr.setText(Html.fromHtml("<font color=\'#575757\'>当前位置  " + "</font><font color=\'#000000\'>" + loaction + "</font>"));
         loadNetData(System.currentTimeMillis());//获取打卡班次信息
     }
 
@@ -295,27 +299,6 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
         picker.show();
     }
 
-    private void showPopMenu() {
-        //显示选择日期窗口
-        for (int i = 0; i < timeList.length; i++)
-            timeList[i] = TimeUtils.day_long_2_str(System.currentTimeMillis() - (DAY_TIME * i)) + "  " + TimeUtils.getWeek(System.currentTimeMillis() - (DAY_TIME * i));
-        title.setText(TimeUtils.day_long_2_str(System.currentTimeMillis()) + "  " + TimeUtils.getWeek(System.currentTimeMillis()));
-        if (builder == null) {
-            builder = new AlertDialog.Builder(ct);
-            builder.setItems(timeList, new DialogInterface.OnClickListener() {
-                @Override
-                public void onClick(DialogInterface dialogInterface, int i) {
-                    isToday = i == 0 ? true : false;
-                    title.setText(timeList[i]);
-                    if (adapter != null && adapter.getBeans() != null && adapter.getBeans().size() > 0)
-                        adapter.getBeans().clear();
-                    loadNetData(System.currentTimeMillis() - (DAY_TIME * i));
-                }
-            });
-        }
-        builder.show();
-    }
-
     private boolean isPlay() {
         if (companyDistance == -1) {
             Crouton.makeText(ct, "您当前账号没有设置打卡地址信息,请联系管理员");
@@ -340,16 +323,13 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
         return false;
     }
 
-    /**
-     * setData
-     */
     private Spanned setDistance() {
         String dis = BaiduMapUtil.getInstence().getDistance(companyX, companyY, latitude, longitude);
         Spanned re = null;
         try {
             if (!StringUtils.isEmpty(dis)) {
                 distance = (int) Double.parseDouble(dis);
-                re = Html.fromHtml("<font color=\'#858585\'>距离考勤地点: " + (distance == -1 ? -1 : distance) + "米     " + "</font><font color=\'#f02387\'><U>地点微调</U></font>");
+                re = Html.fromHtml("<font color=\'#575757\'>距离考勤地点" + (distance == -1 ? -1 : distance) + "米&#160&#160&#160&#160&#160" + "</font><font color=\'#000000\'><U>地点微调</U></font>");
             }
         } catch (ClassCastException e) {
             e.printStackTrace();

+ 9 - 9
WeiChat/src/main/java/com/xzjmyk/pm/activity/util/CameraUtil.java

@@ -23,7 +23,7 @@ public final class CameraUtil {
 
 	/**
 	 * Create a file Uri for saving an image or video
-	 * 
+	 *
 	 * @param context
 	 * @param type
 	 *            the type of the file you want saved {@link #MEDIA_TYPE_IMAGE}
@@ -41,7 +41,7 @@ public final class CameraUtil {
 	/**
 	 * Create a file for saving an image or video,is default in the
 	 * ../Pictures/[you app PackageName] directory
-	 * 
+	 *
 	 * @param context
 	 * @param type
 	 *            the type of the file you want saved {@link #MEDIA_TYPE_IMAGE}
@@ -67,7 +67,7 @@ public final class CameraUtil {
 	/**
 	 * invoke the system Camera app and capture a image。 you can received the
 	 * successed,you can use the outputUri to get the image
-	 * 
+	 *
 	 * @param activity
 	 * @param outputUri
 	 *            拍照后图片的存储路径
@@ -81,7 +81,7 @@ public final class CameraUtil {
 
 	/**
 	 * 调用系统裁减功能,裁减某张指定的图片,并输出到指定的位置
-	 * 
+	 *
 	 * @param activity
 	 * @param originalFileUri
 	 *            原始图片位置
@@ -115,7 +115,7 @@ public final class CameraUtil {
 	/**
 	 * 调用系统图库选择照片 使用 {@link }方法从
 	 * onActivityResult的data.getData()中解析获得的Uri
-	 * 
+	 *
 	 * @param activity
 	 * @param requestCode
 	 * @return
@@ -137,7 +137,7 @@ public final class CameraUtil {
 
 	/**
 	 * 4.4以下
-	 * 
+	 *
 	 * @param context
 	 * @param uri
 	 */
@@ -151,7 +151,7 @@ public final class CameraUtil {
 
 	/**
 	 * 4.4以上的Document Uri
-	 * 
+	 *
 	 * @param context
 	 * @param uri
 	 * @return
@@ -183,7 +183,7 @@ public final class CameraUtil {
 	/**
 	 * 调用系统图库选择照片,裁减后返回
 	 * ,4.4上无法确定用户是否是在图库里选择的照片,所以不使用该方法,使用pickImageSimple,返回后在调用裁减
-	 * 
+	 *
 	 * @param activity
 	 * @param filePath
 	 *            拍照后图片的存储路径
@@ -254,7 +254,7 @@ public final class CameraUtil {
 
 	/**
 	 * 查询某张图片有没有被扫描到媒体库
-	 * 
+	 *
 	 * @param activity
 	 * @param filePath
 	 * @return 返回这个图片在媒体库的Uri,如果没有扫描到媒体库,则返回null

+ 10 - 0
WeiChat/src/main/res/anim/push_bottom_in.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 上下滑入式 -->
+<set xmlns:android="http://schemas.android.com/apk/res/android" >
+
+    <translate
+        android:duration="200"
+        android:fromYDelta="100%p"
+        android:toYDelta="0"
+    />
+</set>

+ 8 - 0
WeiChat/src/main/res/anim/push_buttom_out.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 上下滑出式 -->
+<set xmlns:android="http://schemas.android.com/apk/res/android" >
+    <translate
+        android:duration="200"
+        android:fromYDelta="0"
+        android:toYDelta="50%p" />
+</set>

BIN
WeiChat/src/main/res/drawable-xhdpi/oa_signin.png


BIN
WeiChat/src/main/res/drawable-xxhdpi/oa_signin.png


+ 2 - 1
WeiChat/src/main/res/layout/act_list_dbfind_employee.xml

@@ -58,7 +58,8 @@
         android:layout_height="wrap_content"
         android:gravity="center"
         android:textColor="@color/gray_light"
-        android:text="长按可以多选人员"/>
+        android:text="长按可以多选人员"
+        android:visibility="gone" />
     <com.handmark.pulltorefresh.library.PullToRefreshListView
         android:id="@+id/lv_employee"
         android:layout_width="match_parent"

+ 3 - 0
WeiChat/src/main/res/layout/activity_business_select_customer.xml

@@ -6,9 +6,11 @@
     tools:context="com.xzjmyk.pm.activity.ui.erp.activity.crm.BusinessSelectCustomerActivity">
 
     <RelativeLayout
+        android:id="@+id/rl_search"
         android:background="@drawable/bg_bar"
         android:layout_width="match_parent"
         android:layout_height="48dp"
+        android:visibility="gone"
         android:orientation="horizontal"
         android:paddingBottom="5dp"
         android:paddingLeft="15dp"
@@ -30,6 +32,7 @@
     </RelativeLayout>
     <com.handmark.pulltorefresh.library.PullToRefreshListView
         android:id="@+id/list_business"
+        android:layout_below="@+id/rl_search"
         android:dividerHeight="5dp"
         style="@style/ListViewBasic"></com.handmark.pulltorefresh.library.PullToRefreshListView>
 </RelativeLayout>

+ 9 - 11
WeiChat/src/main/res/layout/activity_out_signin_ok.xml

@@ -116,9 +116,16 @@
                 android:visibility="gone">
 
                 <ImageView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
+                    android:id="@+id/image"
+                    android:layout_width="50dp"
+                    android:layout_height="50dp" />
+
+                <ImageView
+                    android:id="@+id/image_tag"
+                    android:layout_width="50dp"
+                    android:layout_height="50dp"
                     android:layout_alignParentRight="true"
+                    android:background="@null"
                     android:src="@drawable/picture" />
             </RelativeLayout>
         </LinearLayout>
@@ -132,15 +139,6 @@
             android:textSize="@dimen/text_main"
             android:visibility="gone" />
 
-        <com.xzjmyk.pm.activity.view.MyListView
-            android:id="@+id/listview"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="10dp"
-            android:background="@color/white"
-            android:divider="@color/item_line"
-            android:dividerHeight="2px"
-            android:visibility="gone" />
 
     </LinearLayout>
 </ScrollView>

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

@@ -20,6 +20,7 @@
             android:textSize="@dimen/text_main" />
 
         <com.xzjmyk.pm.activity.ui.erp.view.SwitchView
+            android:id="@+id/isImage"
             android:layout_width="50dp"
             android:layout_height="35dp"
             android:layout_alignParentRight="true"

+ 40 - 32
WeiChat/src/main/res/layout/fragment_signin.xml

@@ -4,44 +4,52 @@
     android:layout_height="match_parent"
     android:background="@color/oa_main">
 
-    <RelativeLayout
-        android:id="@+id/top"
+    <android.support.v7.widget.Toolbar
+        android:id="@+id/toobar"
         android:layout_width="match_parent"
         android:layout_height="?attr/actionBarSize"
         android:background="#7292f8">
 
-        <ImageView
-            android:id="@+id/back"
-            android:layout_width="wrap_content"
-            android:layout_height="match_parent"
-            android:padding="10dp"
-            android:src="@drawable/back" />
+        <RelativeLayout
+            android:id="@+id/top"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent">
 
-        <TextView
-            android:id="@+id/title"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_centerInParent="true"
-            android:drawableRight="@drawable/down"
-            android:textColor="@color/white"
-            android:textSize="@dimen/text_main" />
+            <ImageView
+                android:id="@+id/back"
+                android:layout_width="wrap_content"
+                android:layout_height="match_parent"
+                android:padding="10dp"
+                android:src="@drawable/back" />
+
+            <TextView
+                android:id="@+id/title"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_centerInParent="true"
+                android:drawableRight="@drawable/down"
+                android:textColor="@color/white"
+                android:textSize="@dimen/text_main" />
+
+            <ImageView
+                android:id="@+id/seting"
+                android:layout_width="40dp"
+                android:layout_height="match_parent"
+                android:layout_alignParentRight="true"
+                android:padding="8dp"
+                android:src="@drawable/setting" />
+        </RelativeLayout>
+    </android.support.v7.widget.Toolbar>
 
-        <ImageView
-            android:id="@+id/seting"
-            android:layout_width="40dp"
-            android:layout_height="match_parent"
-            android:layout_alignParentRight="true"
-            android:padding="8dp"
-            android:src="@drawable/setting" />
-    </RelativeLayout>
 
     <LinearLayout
         android:id="@+id/oa_range_addr_rl"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_alignParentBottom="true"
-        android:layout_marginBottom="8dp"
+        android:layout_marginBottom="15dp"
         android:orientation="vertical"
+
         android:padding="5dp">
 
         <TextView
@@ -50,9 +58,8 @@
             android:layout_height="wrap_content"
             android:layout_gravity="center_horizontal"
             android:drawableLeft="@drawable/oa_signin"
-            android:drawablePadding="10dp"
+            android:drawablePadding="5dp"
             android:gravity="center_horizontal"
-            android:text="考勤地点:"
             android:textColor="@color/text_hine" />
 
         <TextView
@@ -60,8 +67,10 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_gravity="center"
+            android:layout_marginTop="5dp"
             android:text="地点微调"
-            android:textColor="@color/cadetblue" />
+            android:textColor="@color/text_hine"
+            android:textSize="15dp" />
     </LinearLayout>
 
     <ImageView
@@ -79,7 +88,7 @@
         android:layout_width="2px"
         android:layout_height="match_parent"
         android:layout_above="@+id/signin_btn"
-        android:layout_below="@+id/top"
+        android:layout_below="@+id/toobar"
         android:layout_centerHorizontal="true"
         android:background="@color/item_line" />
 
@@ -88,14 +97,13 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_above="@id/signin_btn"
-        android:layout_below="@id/top"
+        android:layout_below="@id/toobar"
         android:layout_marginTop="5dp"
         android:clickable="false"
         android:divider="@null"
         android:dividerHeight="0dp"
         android:focusable="false"
-        android:longClickable="false"
-        android:minHeight="100dp" />
+        android:longClickable="false" />
 
 
 </RelativeLayout>

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

@@ -6,6 +6,7 @@
     android:paddingLeft="@dimen/activity_horizontal_margin"
     android:paddingRight="@dimen/activity_horizontal_margin"
     android:paddingTop="@dimen/activity_vertical_margin"
+    android:descendantFocusability="blocksDescendants"
     style="@style/crm_ll_card"
     android:layout_height="wrap_content">
 

+ 12 - 1
WeiChat/src/main/res/layout/item_outoffice_list.xml

@@ -4,10 +4,18 @@
     android:layout_height="80dp"
     android:padding="8dp">
 
+    <ImageView
+        android:id="@+id/image"
+        android:layout_width="80dp"
+        android:layout_height="80dp"
+  />
+
     <TextView
         android:id="@+id/name"
+        android:layout_marginLeft="10dp"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
+        android:layout_toRightOf="@+id/image"
         android:text="签到人" />
 
     <TextView
@@ -15,12 +23,14 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignParentRight="true"
-        android:text="签到企业" />
+        android:text="签到企业"
+      />
 
     <TextView
         android:id="@+id/time"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
+        android:layout_alignLeft="@id/name"
         android:layout_below="@+id/name"
         android:layout_marginTop="8dp"
         android:text="签到地点" />
@@ -29,6 +39,7 @@
         android:id="@+id/addr"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
+        android:layout_alignLeft="@id/name"
         android:layout_below="@+id/time"
         android:layout_marginTop="8dp"
         android:text="签到地点" />

+ 1 - 0
WeiChat/src/main/res/values/gpm_values.xml

@@ -119,4 +119,5 @@
     </style><!--end Style-->
 
     <dimen name="drawable_padding">5dp</dimen>
+
 </resources>

+ 0 - 1
WeiChat/src/main/res/values/strings.xml

@@ -4,7 +4,6 @@
         <item>商机释放</item>
         <item>商机失效</item>
         <item>继续跟进</item>
-        <item>转移</item>
         <item>转为新客户</item>
         <item>关联已有客户</item>
     </string-array>