Bläddra i källkod

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

Arison 7 år sedan
förälder
incheckning
bf0c7d846d

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

@@ -216,6 +216,7 @@ public class ClientActivity extends BaseActivity implements View.OnClickListener
     private RecyclerView mHonorRecyclerView;
     private SellHonorAdapter mSellHonorAdapter;
     private List<SellHonorBean> mSellHonorBeans;
+    private TextView mHonorEmptyView;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -238,6 +239,8 @@ public class ClientActivity extends BaseActivity implements View.OnClickListener
         mSellHonorAdapter = new SellHonorAdapter(mSellHonorBeans);
         mHonorRecyclerView.setAdapter(mSellHonorAdapter);
 
+        mHonorEmptyView = findViewById(R.id.client_sell_honor_empty_tv);
+
         initBarChart();
         initSaleBarChart();
         initListener();
@@ -331,15 +334,23 @@ public class ClientActivity extends BaseActivity implements View.OnClickListener
                                     mSellHonorBeans.add(profitsHonor);
 
                                     mSellHonorAdapter.notifyDataSetChanged();
+
+                                    if (mSellHonorBeans.size() > 0) {
+                                        mHonorEmptyView.setVisibility(View.GONE);
+                                    } else {
+                                        mHonorEmptyView.setVisibility(View.VISIBLE);
+                                    }
+                                } else {
+                                    mHonorEmptyView.setVisibility(View.VISIBLE);
                                 }
                             } catch (Exception e) {
-
+                                mHonorEmptyView.setVisibility(View.VISIBLE);
                             }
                         }
 
                         @Override
                         public void onFail(int flag, String failStr) throws Exception {
-
+                            mHonorEmptyView.setVisibility(View.VISIBLE);
                         }
                     });
         } else {

+ 50 - 34
app_core/common/src/main/res/layout/activity_client.xml

@@ -115,6 +115,56 @@
             android:layout_height="match_parent"
             android:orientation="vertical">
 
+            <LinearLayout
+                style="@style/crm_ll_card"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="0dp"
+                android:layout_marginRight="0dp"
+                android:layout_marginTop="10dp">
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="horizontal"
+                    android:padding="10dp">
+
+                    <ImageView
+                        android:layout_width="56dp"
+                        android:layout_height="56dp"
+                        android:layout_marginLeft="10dp"
+                        android:src="@drawable/ic_sell_honor" />
+
+                    <TextView
+                        android:layout_width="match_parent"
+                        android:layout_height="match_parent"
+                        android:padding="5dp"
+                        android:text="@string/Wall_of_Fame_description"
+                        android:textColor="#FF666666"
+                        android:textSize="12sp" />
+                </LinearLayout>
+
+                <FrameLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content">
+
+                    <android.support.v7.widget.RecyclerView
+                        android:id="@+id/client_sell_honor_rv"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content" />
+
+                    <TextView
+                        android:id="@+id/client_sell_honor_empty_tv"
+                        android:layout_width="match_parent"
+                        android:layout_height="200dp"
+                        android:background="@color/white"
+                        android:gravity="center"
+                        android:textSize="12sp"
+                        android:text="暂时没有数据"
+                        android:visibility="gone" />
+                </FrameLayout>
+
+            </LinearLayout>
+
             <!--我的排名-->
             <LinearLayout
                 style="@style/crm_ll_card"
@@ -1076,40 +1126,6 @@
 
             </LinearLayout>
 
-            <LinearLayout
-                style="@style/crm_ll_card"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="0dp"
-                android:layout_marginRight="0dp"
-                android:layout_marginTop="10dp">
-
-                <LinearLayout
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:orientation="horizontal"
-                    android:padding="10dp">
-
-                    <ImageView
-                        android:layout_width="56dp"
-                        android:layout_height="56dp"
-                        android:layout_marginLeft="10dp"
-                        android:src="@drawable/ic_sell_honor" />
-
-                    <TextView
-                        android:layout_width="match_parent"
-                        android:layout_height="match_parent"
-                        android:padding="5dp"
-                        android:text="@string/Wall_of_Fame_description"
-                        android:textColor="#FF666666"
-                        android:textSize="12sp" />
-                </LinearLayout>
-
-                <android.support.v7.widget.RecyclerView
-                    android:id="@+id/client_sell_honor_rv"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content" />
-            </LinearLayout>
-
         </LinearLayout>
     </com.handmark.pulltorefresh.library.PullToRefreshScrollView>
 

+ 5 - 7
app_modular/apputils/src/main/java/com/modular/apputils/activity/BillInputActivity.java

@@ -213,7 +213,7 @@ public class BillInputActivity extends OABaseActivity implements IBill, BillAdap
                     break;
                 case "D"://日期选择
                 case "T"://时间选择
-                    showDateDialog(true, position);
+                    showDateDialog(!model.getCaption().contains("生日"), position);
                     break;
                 case "SF":
                 case "DF":
@@ -312,7 +312,7 @@ public class BillInputActivity extends OABaseActivity implements IBill, BillAdap
      */
     public void showDateDialog(final boolean needTime, final int position) {
         DateTimePicker picker = new DateTimePicker(this, needTime ? DateTimePicker.HOUR_OF_DAY : DateTimePicker.YEAR_MONTH_DAY);
-        picker.setRange(CalendarUtil.getYear() - 10, CalendarUtil.getYear() + 10);
+        picker.setRange(CalendarUtil.getYear() - 100, CalendarUtil.getYear() + 20);
         if (needTime) {
             picker.setSelectedItem(CalendarUtil.getYear(), CalendarUtil.getMonth(), CalendarUtil.getDay(), CalendarUtil.getHour(), CalendarUtil.getMinute());
         } else {
@@ -322,10 +322,8 @@ public class BillInputActivity extends OABaseActivity implements IBill, BillAdap
             @Override
             public void onDateTimePicked(String year, String month, String day, String hour, String minute) {
                 String date = year + "-" + month + "-" + day;
-                if (needTime) {
-                    date += " " + hour + ":" + minute + ":00";
-                }
-                mBillAdapter.updateBillModelValues(position, date, date);
+                String dateTime = date + " " + hour + ":" + minute + ":00";
+                mBillAdapter.updateBillModelValues(position, needTime ? dateTime : date, dateTime);
             }
         });
 
@@ -484,7 +482,7 @@ public class BillInputActivity extends OABaseActivity implements IBill, BillAdap
     }
 
     protected void handlerSelectDbFind(JSONObject object, int groupId) {
-        LogUtil.d("Arison","groupId:"+groupId+" object:"+object.toJSONString());
+        LogUtil.d("Arison", "groupId:" + groupId + " object:" + object.toJSONString());
         BillGroupModel mBillGroupModel = mBillAdapter.getBillGroupModel(groupId);
         if (mBillGroupModel != null) {
             if (!ListUtils.isEmpty(mBillGroupModel.getShowBillFields())) {

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

@@ -310,7 +310,7 @@ public class BillAdapter extends RecyclerView.Adapter<BillAdapter.BaseViewHolder
     private void bindEnclosureView(EnclosureViewHolder holder, BillGroupModel.BillModel model, int position) {
         if (model != null) {
             holder.captionTv.setText(model.getCaption());
-            holder.muchInputTv.setVisibility(model.getAllowBlank().equals("T") ? View.GONE : View.VISIBLE);
+            holder.muchInputTv.setVisibility(model.getAllowBlank().equals("F") ? View.VISIBLE  :View.GONE);
             EnclosureAdapter mEnclosureAdapter = null;
             if (holder.ffGv.getTag(R.id.tag_key) != null && holder.ffGv.getTag(R.id.tag_key) instanceof EnclosureAdapter) {
                 mEnclosureAdapter = (EnclosureAdapter) holder.ffGv.getTag(R.id.tag_key);
@@ -377,13 +377,13 @@ public class BillAdapter extends RecyclerView.Adapter<BillAdapter.BaseViewHolder
 
     public void bindTitleView(TitleViewHolder mTitleViewHolder, BillGroupModel.BillModel model, int position) throws Exception {
         if (model != null) {
-            if (model.getAllowBlank().equals("T")) {
+            if (model.getAllowBlank().equals("F")) {
+                mTitleViewHolder.deleteTv.setVisibility(View.GONE);
+                mTitleViewHolder.deleteTv.setOnClickListener(null);
+            } else {
                 mTitleViewHolder.deleteTv.setVisibility(View.VISIBLE);
                 mTitleViewHolder.deleteTv.setTag(model.getGroupIndex());
                 mTitleViewHolder.deleteTv.setOnClickListener(this);
-            } else {
-                mTitleViewHolder.deleteTv.setVisibility(View.GONE);
-                mTitleViewHolder.deleteTv.setOnClickListener(null);
             }
             mTitleViewHolder.tvTitle.setText(model.getCaption());
         }

+ 1 - 0
app_modular/apputils/src/main/java/com/modular/apputils/presenter/imp/IBill.java

@@ -17,4 +17,5 @@ public interface IBill extends HttpImp{
     void startActivityForResult(Intent intent, int requestCode);
 
     void updateFileOk();
+
 }

+ 1 - 1
app_modular/apputils/src/main/res/layout/item_bill_enclosure.xml

@@ -27,7 +27,7 @@
         android:text="*"
         android:textColor="@color/red"
         android:textSize="15sp"
-        android:visibility="visible"
+        android:visibility="gone"
         app:layout_constraintLeft_toRightOf="@id/captionTv"
         app:layout_constraintTop_toTopOf="@id/captionTv" />
 

+ 2 - 1
app_modular/appworks/src/main/java/com/uas/appworks/CRM/erp/activity/BusinessDetailActivty.java

@@ -138,7 +138,8 @@ public class BusinessDetailActivty extends BaseActivity {
                         .putExtra("id", holder.bc_id)
                 );*/
                 try {
-                    Business business = mData.get(position);
+                    int itemAtPosition = (int) parent.getItemIdAtPosition(position);
+                    Business business = mData.get(itemAtPosition);
                     startActivity(new Intent(mContext, BusinessDetailNewActivity.class)
                             .putExtra("id", business.getBc_id())
                             .putExtra("type", mBusinessType)

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

@@ -8,6 +8,7 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.common.LogUtil;
 import com.common.data.JSONUtil;
+import com.common.data.ListUtils;
 import com.core.app.Constants;
 import com.core.utils.ToastUtil;
 import com.modular.apputils.activity.BillInputActivity;
@@ -29,18 +30,39 @@ import java.util.List;
 public class CustomerContactActivity extends BillInputActivity {
     private boolean isMe;
 
+
+    @Override
+    public void setAdapter(List<BillGroupModel> groupModels) {
+        super.setAdapter(groupModels);
+    }
+
     @Override
     public BillPresenter newBillPresenter() {
         return new CustomerContactBillPresenter(this, this, new IContact() {
             @Override
             public void updateStatus(String status) {
-
             }
 
             @Override
             public void deleteDetailOk(int deleteIndex) {
                 ((CustomerContactAdapter) mBillAdapter).superDeleteGroup(deleteIndex);
             }
+
+            @Override
+            public void setFilePaths(int mGroupIndex, List<BillGroupModel.LocalData> mLocalDatas) {
+                if (mBillAdapter != null) {
+                    BillGroupModel mBillModel = mBillAdapter.getBillGroupModel(mGroupIndex);
+                    if (mBillModel != null && !ListUtils.isEmpty(mBillModel.getShowBillFields())) {
+                        for (BillGroupModel.BillModel billModel : mBillModel.getShowBillFields()) {
+                            if (billModel.getType().equals("FF")) {
+                                billModel.setLocalDatas(mLocalDatas);
+                                mBillAdapter.notifyDataSetChanged();
+                            }
+                        }
+
+                    }
+                }
+            }
         });
     }
 

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

@@ -150,9 +150,9 @@ public class CustomerVisitDetailsActivity extends OABaseActivity {
                     } else {
                         int vrId = JSONUtil.getInt(data, "vrId");
                         showToast("转单成功!!");
-                        startActivity(new Intent(ct, BillDetailsActivity.class)
+                        startActivity(new Intent(ct, VisitRecordBillInputActivity.class)
                                 .putExtra(Constants.Intents.CALLER, "VisitRecord")
-                                .putExtra(Constants.Intents.TITLE, getToolBarTitle())
+                                .putExtra(Constants.Intents.TITLE, "拜访记录")
                                 .putExtra(Constants.Intents.ID, vrId));
                         finish();
                     }

+ 63 - 0
app_modular/appworks/src/main/java/com/uas/appworks/presenter/CustomerContactBillPresenter.java

@@ -9,7 +9,10 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.common.data.JSONUtil;
 import com.common.data.ListUtils;
+import com.common.data.StringUtil;
 import com.core.app.Constants;
+import com.core.app.MyApplication;
+import com.core.utils.CommonUtil;
 import com.me.network.app.http.Method;
 import com.modular.apputils.model.BillGroupModel;
 import com.modular.apputils.network.Parameter;
@@ -30,6 +33,8 @@ public class CustomerContactBillPresenter extends BillPresenter {
     private final int LOAD_FORM_DETAILS = 0x32;
     private final int DELETE_DETAIL = 0x33;
     private final int TAG_DELETE_INDEX = 0x41;
+    private final int LOAD_FILE_PATHS = 0x42;
+    private final int TAG_GROUP_INDEX = 0x43;
 
 
     public CustomerContactBillPresenter(Context ct, IBill iBill, IContact iContact) {
@@ -143,6 +148,21 @@ public class CustomerContactBillPresenter extends BillPresenter {
                 , this);
     }
 
+    /*获取附件  */
+    private void loadFilePaths(int mGroupIndex, String attachs) {
+        if (StringUtil.isEmpty(attachs) || "null".equals(attachs)) {
+            return;
+        }
+        iBill.showLoading();
+        requestCompanyHttp(new Parameter.Builder()
+                        .url("common/getFilePaths.action")
+                        .addParams("field", "fb_attach")
+                        .addParams("id", attachs)
+                        .addTag(TAG_GROUP_INDEX, mGroupIndex)
+                        .record(LOAD_FILE_PATHS)
+                , this);
+    }
+
     public void deleteDetail(int groupIndex, int ctId) {
         iBill.showLoading();
         requestCompanyHttp(new Parameter.Builder()
@@ -171,16 +191,53 @@ public class CustomerContactBillPresenter extends BillPresenter {
                     iContact.deleteDetailOk(deleteIndex);
                 }
                 break;
+            case LOAD_FILE_PATHS:
+                int mGroupIndex = 0;
+                if (tag != null && tag.get(TAG_GROUP_INDEX) != null && tag.get(TAG_GROUP_INDEX) instanceof Integer) {
+                    mGroupIndex = (int) tag.get(TAG_GROUP_INDEX);
+                }
+                handlerEnclosure(mGroupIndex, JSONUtil.getJSONArray(JSON.parseObject(message), "files"));
+                break;
             default:
                 super.onSuccess(what, message, tag);
 
         }
         iBill.dimssLoading();
+    }
 
+    @Override
+    public void onFailure(int what, String message, Tags tag) throws Exception {
+        if (LOAD_FILE_PATHS != what) {
+            super.onFailure(what, message, tag);
+        }
+    }
 
+    private void handlerEnclosure(final int mGroupIndex, final JSONArray array) throws Exception {
+        List<BillGroupModel.LocalData> mLocalDatas = new ArrayList<>();
+        if (!ListUtils.isEmpty(array)) {
+            for (int i = 0; i < array.size(); i++) {
+                JSONObject o = array.getJSONObject(i);
+                if (o == null) continue;
+                BillGroupModel.LocalData mLocalData = new BillGroupModel.LocalData();
+                int id = JSONUtil.getInt(o, "fp_id");
+                mLocalData.value = JSONUtil.getText(o, "fp_name");
+                mLocalData.display = getImageUrl(id);
+                mLocalDatas.add(mLocalData);
+            }
+        }
+        if (!ListUtils.isEmpty(mLocalDatas)) {
+            iContact.setFilePaths(mGroupIndex, mLocalDatas);
+        }
     }
 
 
+    private String getImageUrl(int id) {
+        return CommonUtil.getAppBaseUrl(MyApplication.getInstance()) + "common/downloadbyId.action?id=" + id + "&sessionId=" +
+                CommonUtil.getSharedPreferences(MyApplication.getInstance(), "sessionId") +
+                "&sessionUser=" + CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_username") +
+                "&master=" + CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_master");
+    }
+
     private void handlerFormData(JSONObject datas) throws Exception {
         String status = null;
         List<BillGroupModel> mBillGroupModels = new ArrayList<>();
@@ -246,6 +303,9 @@ public class CustomerContactBillPresenter extends BillPresenter {
             mBillModel.setField(field);
             mBillModel.setAllowBlank(allowBlank);
             mBillModel.setValue(JSONUtil.getText(object, field));
+            if ("ct_attach".equals(mBillModel.getField())) {
+                mBillModel.setType("FF");
+            }
             if (!ListUtils.isEmpty(combostore)) {
                 List<BillGroupModel.LocalData> localDatas = new ArrayList<>();
                 for (int j = 0; j < combostore.size(); j++) {
@@ -258,6 +318,9 @@ public class CustomerContactBillPresenter extends BillPresenter {
                 mBillModel.setLocalDatas(localDatas);
             }
             if (mBillModel.getIsdefault() == -1 && !mBillModel.getType().equals("H")) {
+                if ("FF".equals(mBillModel.getType()) && !StringUtil.isEmpty(mBillModel.getValue())) {
+                    loadFilePaths(mBillModel.getGroupIndex(), mBillModel.getValue());
+                }
                 mGroupModel.addShow(mBillModel);
             } else {
                 mGroupModel.addHide(mBillModel);

+ 5 - 0
app_modular/appworks/src/main/java/com/uas/appworks/presenter/imp/IContact.java

@@ -1,7 +1,12 @@
 package com.uas.appworks.presenter.imp;
 
+import com.modular.apputils.model.BillGroupModel;
+
+import java.util.List;
+
 public interface IContact {
     void updateStatus(String status);
 
     void deleteDetailOk(int deleteIndex);
+    void setFilePaths(int mGroupIndex,List<BillGroupModel.LocalData> mLocalDatas);
 }