Parcourir la source

提交分类: 测试版本;
提交内容: 1、B2B商务添加公司商机
当前版本: 测试版本6.3.4
是否冲突: 否

RaoMeng il y a 7 ans
Parent
commit
525eb1f763
20 fichiers modifiés avec 801 ajouts et 64 suppressions
  1. 5 0
      app_core/common/src/main/java/com/core/app/Constants.java
  2. 1 1
      app_modular/appmessages/src/main/java/com/modular/appmessages/activity/Subscription2Activity.java
  3. 32 25
      app_modular/appworks/src/main/AndroidManifest.xml
  4. 185 16
      app_modular/appworks/src/main/java/com/uas/appworks/activity/B2BBusinessMainActivity.java
  5. 405 0
      app_modular/appworks/src/main/java/com/uas/appworks/activity/CompanyBusinessListActivity.java
  6. 33 12
      app_modular/appworks/src/main/java/com/uas/appworks/activity/CustomerInquiryDetailActivity.java
  7. 1 0
      app_modular/appworks/src/main/java/com/uas/appworks/activity/PublicInquiryDetailActivity.java
  8. 4 1
      app_modular/appworks/src/main/java/com/uas/appworks/activity/PublicInquiryListActivity.java
  9. 52 0
      app_modular/appworks/src/main/java/com/uas/appworks/adapter/B2bBusinessListAdapter.java
  10. 1 0
      app_modular/appworks/src/main/java/com/uas/appworks/model/bean/B2BBusinessListBean.java
  11. BIN
      app_modular/appworks/src/main/res/drawable-hdpi/ic_b2b_header_company.png
  12. BIN
      app_modular/appworks/src/main/res/drawable-xhdpi/ic_b2b_header_company.png
  13. BIN
      app_modular/appworks/src/main/res/drawable-xxhdpi/ic_b2b_header_company.png
  14. 41 0
      app_modular/appworks/src/main/res/layout/activity_b2b_business_main.xml
  15. 28 0
      app_modular/appworks/src/main/res/layout/activity_company_business_list.xml
  16. 9 9
      app_modular/appworks/src/main/res/layout/layout_list_public_inquiry.xml
  17. 1 0
      app_modular/appworks/src/main/res/values-en/strings.xml
  18. 1 0
      app_modular/appworks/src/main/res/values-zh-rCN/strings.xml
  19. 1 0
      app_modular/appworks/src/main/res/values-zh-rTW/strings.xml
  20. 1 0
      app_modular/appworks/src/main/res/values/strings.xml

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

@@ -523,11 +523,16 @@ public class Constants {
         String STATE_PUBLIC_INQUIRY_TODO = "public_todo";
         String STATE_PUBLIC_INQUIRY_INVALID = "public_invalid";
 
+        String STATE_COMPANY_BUSINESS_DONE = "company_done";
+        String STATE_COMPANY_BUSINESS_TODO = "company_todo";
+        String STATE_COMPANY_BUSINESS_INVALID = "company_invalid";
+
         String GET_LOCAL_ENUU = "get_local_enuu";
 
         int RESULT_PURCHASE_ORDER = 111;
         int RESULT_CUSTOMER_INQUIRY = 112;
         int RESULT_PUBLIC_INQUIRY = 113;
+        int RESULT_COMPANY_BUSINESS = 114;
 
         /*邀请注册*/
         String INVITE_REGISTER_LIST_STATE = "invite_register_list_state";

+ 1 - 1
app_modular/appmessages/src/main/java/com/modular/appmessages/activity/Subscription2Activity.java

@@ -94,7 +94,7 @@ public class Subscription2Activity extends BaseActivity {
 
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
-//        getMenuInflater().inflate(R.menu.menu_manage_subscribe, menu);
+        getMenuInflater().inflate(R.menu.menu_manage_subscribe, menu);
         return super.onCreateOptionsMenu(menu);
     }
 

+ 32 - 25
app_modular/appworks/src/main/AndroidManifest.xml

@@ -17,7 +17,7 @@
             </intent-filter>
         </activity>
         <activity
-            android:name=".OA.erp.activity.WorkDailyShowActivity"/>
+            android:name=".OA.erp.activity.WorkDailyShowActivity" />
         <activity android:name=".OA.platform.activity.PlatDailyShowActivity" />
         <activity android:name=".OA.platform.activity.PlatWDdetailyActivity" />
         <activity
@@ -65,15 +65,16 @@
             </intent-filter>
         </activity>
 
-        <activity android:name=".OA.erp.activity.form.WorkLogsActivity"
+        <activity
+            android:name=".OA.erp.activity.form.WorkLogsActivity"
             android:label="打卡记录"
-            android:theme="@style/MainBaseTheme"/>
+            android:theme="@style/MainBaseTheme" />
         <activity
             android:name=".OA.erp.activity.TeamsAttShowActivity"
             android:label="@string/sign_teams_rank" />
         <activity
             android:name=".OA.erp.activity.MeetDetailsActivity"
-            android:label="@string/meet_detail"/>
+            android:label="@string/meet_detail" />
         <activity
             android:name=".OA.erp.activity.DetailTaskActivity"
             android:windowSoftInputMode="adjustUnspecified|stateHidden" />
@@ -91,7 +92,7 @@
         </activity>
         <activity
             android:name=".OA.erp.activity.MeetingActivity"
-            android:label="@string/meet_manage"/>
+            android:label="@string/meet_manage" />
         <activity
             android:name=".OA.erp.activity.SaveMeetActivity"
             android:label="@string/meet_details" />
@@ -109,7 +110,7 @@
             </intent-filter>
         </activity>
         <activity
-            android:name=".CRM.erp.activity.BusinessDetailActivty"/>
+            android:name=".CRM.erp.activity.BusinessDetailActivty" />
         <activity
             android:name=".CRM.erp.activity.BusinessDetailInfoActivity" />
         <activity
@@ -182,8 +183,8 @@
             android:label="@string/change_mobile" />
         <activity
             android:name=".OA.erp.activity.MissionSetActivity"
-            android:theme="@style/MainBaseTheme"
-            android:label="@string/activity_mission_set" />
+            android:label="@string/activity_mission_set"
+            android:theme="@style/MainBaseTheme" />
         <activity
             android:name=".OA.erp.activity.MissionActivity"
             android:label="@string/activity_mission_plan">
@@ -221,8 +222,8 @@
             android:configChanges="keyboardHidden|orientation"
             android:hardwareAccelerated="false"
             android:label="@string/charitable"
-            android:theme="@style/MainBaseTheme"
             android:screenOrientation="portrait"
+            android:theme="@style/MainBaseTheme"
             android:windowSoftInputMode="stateUnspecified|adjustNothing">
             <intent-filter>
                 <action android:name="com.modular.work.CharitableActivity" />
@@ -330,8 +331,8 @@
         <!--设备管理-->
         <activity
             android:name=".CRM.erp.activity.DeviceManageActivity"
-            android:theme="@style/MainBaseTheme"
-            android:label="@string/title_device_manage">
+            android:label="@string/title_device_manage"
+            android:theme="@style/MainBaseTheme">
             <intent-filter>
                 <action android:name="com.modular.work.DeviceManageActivity" />
 
@@ -340,8 +341,8 @@
         </activity>
         <activity
             android:name=".CRM.erp.activity.DeviceMatchActivity"
-            android:theme="@style/MainBaseTheme"
-            android:label="@string/text_device_query_match">
+            android:label="@string/text_device_query_match"
+            android:theme="@style/MainBaseTheme">
             <intent-filter>
                 <action android:name="com.modular.work.DeviceMatchActivity" />
 
@@ -353,30 +354,30 @@
             android:label="@string/text_scan_device" />
         <activity
             android:name=".CRM.erp.activity.DeviceCycleCountActivity"
-            android:theme="@style/MainBaseTheme"
             android:label="@string/title_device_manage"
+            android:theme="@style/MainBaseTheme"
             android:windowSoftInputMode="adjustPan" />
         <activity
             android:name=".CRM.erp.activity.DeviceCycleCountInfoActivity"
-            android:theme="@style/MainBaseTheme"
-            android:label="@string/text_cycle_count" />
+            android:label="@string/text_cycle_count"
+            android:theme="@style/MainBaseTheme" />
         <activity
             android:name=".CRM.erp.activity.DeviceDataFormAddActivity"
-            android:theme="@style/MainBaseTheme"
-            android:label="@string/title_device_manage" />
+            android:label="@string/title_device_manage"
+            android:theme="@style/MainBaseTheme" />
         <activity
             android:name=".CRM.erp.activity.DeviceCycleCountDetailsActivity"
-            android:theme="@style/MainBaseTheme"
-            android:label="@string/title_device_manage" />
+            android:label="@string/title_device_manage"
+            android:theme="@style/MainBaseTheme" />
         <activity
             android:name=".CRM.erp.activity.DeviceCycleCountAddActivity"
-            android:theme="@style/MainBaseTheme"
             android:label="@string/text_cycle_count_add"
+            android:theme="@style/MainBaseTheme"
             />
         <activity
             android:name=".OA.platform.activity.BusinessTravelActivity"
-            android:theme="@style/MainBaseTheme"
-            android:label="@string/business_services">
+            android:label="@string/business_services"
+            android:theme="@style/MainBaseTheme">
             <intent-filter>
                 <action android:name="com.modular.work.BusinessTravelActivity" />
 
@@ -438,13 +439,19 @@
         </activity>
         <activity
             android:name=".OA.platform.activity.PurchaseDetailsActivity"
-            android:theme="@style/MainBaseTheme"
-            android:launchMode="singleTask">
+            android:launchMode="singleTask"
+            android:theme="@style/MainBaseTheme">
             <intent-filter>
                 <action android:name="com.modular.work.platform.activity.PurchaseDetailsActivity" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
         </activity>
+
+        <activity
+            android:name=".activity.CompanyBusinessListActivity"
+            android:hardwareAccelerated="true"
+            android:theme="@style/StyledBlueIndicators"
+            android:windowSoftInputMode="adjustPan|stateHidden" />
         <!--B2B商务end-->
 
         <!--邀请注册-->

+ 185 - 16
app_modular/appworks/src/main/java/com/uas/appworks/activity/B2BBusinessMainActivity.java

@@ -57,14 +57,21 @@ import java.util.Map;
  */
 
 public class B2BBusinessMainActivity extends BaseMVPActivity<WorkPlatPresenter> implements View.OnClickListener, HttpCallback {
-    private static final int OBTAIN_PURCHASE_ORDER_LIST = 0x01, OBTAIN_CUSTOMER_INQUIRY_LIST = 0x02, OBTAIN_PUBLIC_INQUIRY_LIST = 0x03, REQUEST_PURCHASE_DETAIL = 0x04, REQUEST_CUSTOMER_DETAIL = 0x05, REQUEST_PUBLIC_DETAIL = 0x06;
+    private static final int OBTAIN_PURCHASE_ORDER_LIST = 0x01,
+            OBTAIN_CUSTOMER_INQUIRY_LIST = 0x02,
+            OBTAIN_PUBLIC_INQUIRY_LIST = 0x03,
+            OBTAIN_COMPANY_BUSINESS_LIST = 0x04,
+            REQUEST_PURCHASE_DETAIL = 0x11,
+            REQUEST_CUSTOMER_DETAIL = 0x12,
+            REQUEST_PUBLIC_DETAIL = 0x13,
+            REQUEST_COMPANY_DETAIL = 0x14;
 
     private RefreshLayout mRefreshLayout;
     private ImageView mBackImageView;
     private DrawableCenterTextView mCompanyNameTextView;
     private LinearLayout mPurchaseOrderIv, mCustomerInquiryIv, mPublicInquiryIv;
-    private TextView mPurchaseOrderAllTv, mCustomerInquiryAllTv, mPublicInquiryAllTv, mAccountSureTextView, mAccountCancelTextView;
-    private RecyclerView mPurchaseOrderRv, mCustomerInquiryRv, mPublicInquiryRv, mAccountRecyclerView;
+    private TextView mPurchaseOrderAllTv, mCustomerInquiryAllTv, mPublicInquiryAllTv, mCompanyBusinessAllTv, mAccountSureTextView, mAccountCancelTextView;
+    private RecyclerView mPurchaseOrderRv, mCustomerInquiryRv, mPublicInquiryRv, mCompanyBusinessRv, mAccountRecyclerView;
     private MaterialDialog mAccountDialog;
     private Banner mHeaderBanner;
 
@@ -72,9 +79,9 @@ public class B2BBusinessMainActivity extends BaseMVPActivity<WorkPlatPresenter>
     private SpanUtils mSpanUtils;
     private List<B2BCompanyBean> mB2BCompanyBeans;
     private B2BAccountAdapter mB2BAccountAdapter;
-    private List<B2BBusinessListBean> mPurchaseOrderBeans, mCustomerInquiryBeans, mPublicInquiryBeans;
-    private B2bBusinessListAdapter mPurchaseOrderAdapter, mCustomerInquiryAdapter, mPublicInquiryAdapter;
-    private boolean isPurchaseSuccess, isCustomerSuccess, isPublicSuccess;
+    private List<B2BBusinessListBean> mPurchaseOrderBeans, mCustomerInquiryBeans, mPublicInquiryBeans, mCompanyBusinessBeans;
+    private B2bBusinessListAdapter mPurchaseOrderAdapter, mCustomerInquiryAdapter, mPublicInquiryAdapter, mCompanyBusinessAdapter;
+    private boolean isPurchaseSuccess, isCustomerSuccess, isPublicSuccess, isCompanySuccess;
     private int mSelectPosition = -1;
 
     @Override
@@ -120,13 +127,15 @@ public class B2BBusinessMainActivity extends BaseMVPActivity<WorkPlatPresenter>
         mCustomerInquiryRv = $(R.id.b2b_business_main_customer_inquiry_rv);
         mPublicInquiryAllTv = $(R.id.b2b_business_main_public_inquiry_all_tv);
         mPublicInquiryRv = $(R.id.b2b_business_main_public_inquiry_rv);
+        mCompanyBusinessAllTv = $(R.id.b2b_business_main_company_business_all_tv);
+        mCompanyBusinessRv = $(R.id.b2b_business_main_company_business_rv);
+
         mHeaderBanner = $(R.id.b2b_business_main_header_banner);
         mHeaderBanner.setImageLoader(new ImageLoader() {
             @Override
             public void displayImage(Context context, Object path, ImageView imageView) {
                 imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
                 Glide.with(context).load(path).into(imageView);
-//                imageView.setImageResource((Integer) path);
             }
         });
 
@@ -146,24 +155,27 @@ public class B2BBusinessMainActivity extends BaseMVPActivity<WorkPlatPresenter>
 
         mPurchaseOrderRv.setLayoutManager(new LinearLayoutManager(mContext));
         mPurchaseOrderRv.setNestedScrollingEnabled(false);
-//        mPurchaseOrderRv.addItemDecoration(new RecycleViewDivider(mContext, LinearLayout.HORIZONTAL, 1, getResources().getColor(R.color.gray_light)));
         mPurchaseOrderBeans = new ArrayList<>();
         mPurchaseOrderAdapter = new B2bBusinessListAdapter(mContext, mPurchaseOrderBeans);
         mPurchaseOrderRv.setAdapter(mPurchaseOrderAdapter);
 
         mCustomerInquiryRv.setLayoutManager(new LinearLayoutManager(mContext));
         mCustomerInquiryRv.setNestedScrollingEnabled(false);
-//        mCustomerInquiryRv.addItemDecoration(new RecycleViewDivider(mContext, LinearLayout.HORIZONTAL, 1, getResources().getColor(R.color.gray_light)));
         mCustomerInquiryBeans = new ArrayList<>();
         mCustomerInquiryAdapter = new B2bBusinessListAdapter(mContext, mCustomerInquiryBeans);
         mCustomerInquiryRv.setAdapter(mCustomerInquiryAdapter);
 
         mPublicInquiryRv.setLayoutManager(new LinearLayoutManager(mContext));
         mPublicInquiryRv.setNestedScrollingEnabled(false);
-//        mPublicInquiryRv.addItemDecoration(new RecycleViewDivider(mContext, LinearLayout.HORIZONTAL, 1, getResources().getColor(R.color.gray_light)));
         mPublicInquiryBeans = new ArrayList<>();
         mPublicInquiryAdapter = new B2bBusinessListAdapter(mContext, mPublicInquiryBeans);
         mPublicInquiryRv.setAdapter(mPublicInquiryAdapter);
+
+        mCompanyBusinessRv.setLayoutManager(new LinearLayoutManager(mContext));
+        mCompanyBusinessRv.setNestedScrollingEnabled(false);
+        mCompanyBusinessBeans = new ArrayList<>();
+        mCompanyBusinessAdapter = new B2bBusinessListAdapter(mContext, mCompanyBusinessBeans);
+        mCompanyBusinessRv.setAdapter(mCompanyBusinessAdapter);
     }
 
     @Override
@@ -181,6 +193,7 @@ public class B2BBusinessMainActivity extends BaseMVPActivity<WorkPlatPresenter>
         mCustomerInquiryAllTv.setOnClickListener(this);
         mPublicInquiryIv.setOnClickListener(this);
         mPublicInquiryAllTv.setOnClickListener(this);
+        mCompanyBusinessAllTv.setOnClickListener(this);
         mAccountSureTextView.setOnClickListener(this);
         mAccountCancelTextView.setOnClickListener(this);
 
@@ -197,6 +210,9 @@ public class B2BBusinessMainActivity extends BaseMVPActivity<WorkPlatPresenter>
                     case 2:
                         startActivity(PublicInquiryListActivity.class);
                         break;
+                    case 3:
+                        startActivity(CompanyBusinessListActivity.class);
+                        break;
                     default:
                         break;
                 }
@@ -210,9 +226,11 @@ public class B2BBusinessMainActivity extends BaseMVPActivity<WorkPlatPresenter>
                     isPurchaseSuccess = false;
                     isCustomerSuccess = false;
                     isPublicSuccess = false;
+                    isCompanySuccess = false;
                     getListData(OBTAIN_PURCHASE_ORDER_LIST);
                     getListData(OBTAIN_CUSTOMER_INQUIRY_LIST);
                     getListData(OBTAIN_PUBLIC_INQUIRY_LIST);
+                    getListData(OBTAIN_COMPANY_BUSINESS_LIST);
                 } else {
                     toast(R.string.networks_out);
                     mRefreshLayout.finishRefresh(500, false);
@@ -269,6 +287,29 @@ public class B2BBusinessMainActivity extends BaseMVPActivity<WorkPlatPresenter>
                 }
             }
         });
+
+        mCompanyBusinessAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
+            @Override
+            public void onItemClick(BaseQuickAdapter baseQuickAdapter, View view, final int position) {
+                mSelectPosition = position;
+                Intent intent = new Intent();
+                String billState = mCompanyBusinessBeans.get(position).getBillState();
+                if (Constants.FLAG.STATE_COMPANY_BUSINESS_DONE.equals(billState)) {
+                    intent.setClass(mContext, PublicInquiryDetailActivity.class);
+                    intent.putExtra(Constants.FLAG.EXTRA_B2B_LIST_ID, mCompanyBusinessBeans.get(position).getId());
+                    intent.putExtra(Constants.FLAG.EXTRA_B2B_LIST_STATE, mCompanyBusinessBeans.get(position).getBillState());
+                    intent.putExtra(Constants.FLAG.EXTRA_B2B_LIST_JSON, mCompanyBusinessBeans.get(position).getJsonData());
+                    startActivity(intent);
+                } else if (Constants.FLAG.STATE_COMPANY_BUSINESS_TODO.equals(billState)
+                        || Constants.FLAG.STATE_COMPANY_BUSINESS_INVALID.equals(billState)) {
+                    intent.setClass(mContext, CustomerInquiryDetailActivity.class);
+                    intent.putExtra(Constants.FLAG.EXTRA_B2B_LIST_ID, mCompanyBusinessBeans.get(position).getId());
+                    intent.putExtra(Constants.FLAG.EXTRA_B2B_LIST_STATE, mCompanyBusinessBeans.get(position).getBillState());
+                    intent.putExtra(Constants.FLAG.EXTRA_B2B_LIST_JSON, mCompanyBusinessBeans.get(position).getJsonData());
+                    startActivityForResult(intent, REQUEST_COMPANY_DETAIL);
+                }
+            }
+        });
     }
 
     @Override
@@ -285,6 +326,7 @@ public class B2BBusinessMainActivity extends BaseMVPActivity<WorkPlatPresenter>
         headerImages.add(R.drawable.ic_b2b_header_purchase);
         headerImages.add(R.drawable.ic_b2b_header_customer);
         headerImages.add(R.drawable.ic_b2b_header_public);
+        headerImages.add(R.drawable.ic_b2b_header_company);
         mHeaderBanner.setImages(headerImages);
         mHeaderBanner.start();
 
@@ -293,6 +335,7 @@ public class B2BBusinessMainActivity extends BaseMVPActivity<WorkPlatPresenter>
             getListData(OBTAIN_PURCHASE_ORDER_LIST);
             getListData(OBTAIN_CUSTOMER_INQUIRY_LIST);
             getListData(OBTAIN_PUBLIC_INQUIRY_LIST);
+            getListData(OBTAIN_COMPANY_BUSINESS_LIST);
         } else {
             toast(R.string.networks_out);
         }
@@ -314,6 +357,10 @@ public class B2BBusinessMainActivity extends BaseMVPActivity<WorkPlatPresenter>
 //                url = "inquiry/public/mobile";
                 url = "inquiry/public/mobile/v2";
                 break;
+            case OBTAIN_COMPANY_BUSINESS_LIST:
+                host = Constants.API_INQUIRY;
+                url = "inquiry/sale/enremind";
+                break;
         }
         showLoading(null);
 
@@ -324,6 +371,16 @@ public class B2BBusinessMainActivity extends BaseMVPActivity<WorkPlatPresenter>
         params.put("page", 1);
         params.put("size", 3);
 
+        //企业商机参数
+        try {
+            params.put("enuu", Long.parseLong(mB2BCompanyBean.getEnuu()));
+        } catch (Exception e) {
+            params.put("enuu", mB2BCompanyBean.getEnuu());
+        }
+        params.put("useruu", CommonUtil.getUseruuLong(this));
+        params.put("pageNumber", 1);
+        params.put("pageSize", 3);
+
         HttpRequest.getInstance().sendRequest(host,
                 new HttpParams.Builder()
                         .url(url)
@@ -378,6 +435,16 @@ public class B2BBusinessMainActivity extends BaseMVPActivity<WorkPlatPresenter>
                 b2BBusinessListBean.setJsonData(null);
             }
             mPublicInquiryAdapter.notifyDataSetChanged();
+        } else if (requestCode == REQUEST_COMPANY_DETAIL
+                && resultCode == Constants.FLAG.RESULT_COMPANY_BUSINESS && data != null) {
+            String newId = data.getStringExtra(Constants.FLAG.EXTRA_B2B_LIST_ID);
+            B2BBusinessListBean b2BBusinessListBean = mCompanyBusinessBeans.get(mSelectPosition);
+            if (b2BBusinessListBean != null) {
+                b2BBusinessListBean.setBillState(Constants.FLAG.STATE_COMPANY_BUSINESS_DONE);
+                b2BBusinessListBean.setId(newId);
+                b2BBusinessListBean.setJsonData(null);
+            }
+            mCompanyBusinessAdapter.notifyDataSetChanged();
         }
     }
 
@@ -391,7 +458,7 @@ public class B2BBusinessMainActivity extends BaseMVPActivity<WorkPlatPresenter>
             switch (flag) {
                 case OBTAIN_PURCHASE_ORDER_LIST:
                     isPurchaseSuccess = true;
-                    if (isCustomerSuccess && isPublicSuccess) {
+                    if (isCustomerSuccess && isPublicSuccess && isCompanySuccess) {
                         hideLoading();
                     }
                     if (contentArray == null || contentArray.size() == 0) {
@@ -404,7 +471,7 @@ public class B2BBusinessMainActivity extends BaseMVPActivity<WorkPlatPresenter>
                     break;
                 case OBTAIN_CUSTOMER_INQUIRY_LIST:
                     isCustomerSuccess = true;
-                    if (isPurchaseSuccess && isPublicSuccess) {
+                    if (isPurchaseSuccess && isPublicSuccess && isCompanySuccess) {
                         hideLoading();
                     }
                     if (contentArray == null || contentArray.size() == 0) {
@@ -417,7 +484,7 @@ public class B2BBusinessMainActivity extends BaseMVPActivity<WorkPlatPresenter>
                     break;
                 case OBTAIN_PUBLIC_INQUIRY_LIST:
                     isPublicSuccess = true;
-                    if (isCustomerSuccess && isPurchaseSuccess) {
+                    if (isCustomerSuccess && isPurchaseSuccess && isCompanySuccess) {
                         hideLoading();
                     }
                     if (contentArray == null || contentArray.size() == 0) {
@@ -428,6 +495,19 @@ public class B2BBusinessMainActivity extends BaseMVPActivity<WorkPlatPresenter>
                     mPublicInquiryBeans.clear();
                     analisisPublicInquiry(contentArray);
                     break;
+                case OBTAIN_COMPANY_BUSINESS_LIST:
+                    isCompanySuccess = true;
+                    if (isCustomerSuccess && isPurchaseSuccess && isPublicSuccess) {
+                        hideLoading();
+                    }
+                    if (contentArray == null || contentArray.size() == 0) {
+                        mCompanyBusinessBeans.clear();
+                        mCompanyBusinessAdapter.notifyDataSetChanged();
+                        return;
+                    }
+                    mCompanyBusinessBeans.clear();
+                    analisisCompanyBusiness(contentArray);
+                    break;
                 default:
                     break;
             }
@@ -437,6 +517,85 @@ public class B2BBusinessMainActivity extends BaseMVPActivity<WorkPlatPresenter>
 
     }
 
+    private void analisisCompanyBusiness(JSONArray contentArray) {
+        for (int i = 0; i < contentArray.size(); i++) {
+            JSONObject contentObject = contentArray.getJSONObject(i);
+            if (contentObject != null) {
+                B2BBusinessListBean b2BBusinessListBean = new B2BBusinessListBean();
+                b2BBusinessListBean.setItemType(B2BBusinessListBean.COMPANY_BUSINESS_LIST);
+
+                int quoted = JSONUtil.getInt(contentObject, "quoted");
+                if (TextUtils.isEmpty(contentObject.getString("quoted"))) {
+                    b2BBusinessListBean.setJsonData(contentObject.toString());
+                    quoted = 1;
+                }
+
+                if (TextUtils.isEmpty(contentObject.getString("quteId"))) {
+                    b2BBusinessListBean.setId(JSONUtil.getText(contentObject, "id"));
+                } else {
+                    b2BBusinessListBean.setId(JSONUtil.getText(contentObject, "quteId"));
+                }
+
+                long date = contentObject.getLongValue("date");
+                if (date != 0) {
+                    b2BBusinessListBean.setBillDate(DateFormatUtil.long2Str(date, DateFormatUtil.YMD));
+                }
+
+                String needquantity = JSONUtil.getText(contentObject, "needquantity");
+                b2BBusinessListBean.setProductAmount(needquantity);
+
+                JSONObject inquiryObject = contentObject.getJSONObject("inquiry");
+                JSONObject productObject = contentObject.getJSONObject("product");
+
+                if (productObject != null) {
+                    b2BBusinessListBean.setProductName(JSONUtil.getText(productObject, "title"));
+                    b2BBusinessListBean.setProductModel(JSONUtil.getText(productObject, "code"));
+                    b2BBusinessListBean.setProductSpecification(JSONUtil.getText(productObject, "spec"));
+                    b2BBusinessListBean.setProductBrand(JSONUtil.getText(productObject, "brand"));
+                }
+                if (inquiryObject != null) {
+                    JSONObject enterpriseObject = inquiryObject.getJSONObject("enterprise");
+                    if (enterpriseObject != null) {
+                        b2BBusinessListBean.setCompanyName(JSONUtil.getText(enterpriseObject, "enName"));
+                    }
+
+                    long endDate = inquiryObject.getLongValue("endDate");
+                    if (endDate != 0) {
+                        b2BBusinessListBean.setExpiryDate(DateFormatUtil.long2Str(endDate, DateFormatUtil.YMD));
+                    }
+                }
+                String invalid = JSONUtil.getText(contentObject, "invalid");
+                String overdue = JSONUtil.getText(contentObject, "overdue");
+                String status = JSONUtil.getText(contentObject, "status");
+                long remainingTime = JSONUtil.getLong(contentObject, "remainingTime");//剩余时间
+
+                if (remainingTime <= 0) {
+                    b2BBusinessListBean.setRemainTime(0);
+                } else {
+                    b2BBusinessListBean.setRemainTime((int) Math.ceil((float) remainingTime / (1000 * 60 * 60 * 24)));
+                }
+
+                if (quoted == 1) {
+                    b2BBusinessListBean.setBillState(Constants.FLAG.STATE_COMPANY_BUSINESS_DONE);
+                } else {
+                    b2BBusinessListBean.setJsonData(contentObject.toString());
+                    if ("1".equals(overdue) || remainingTime <= 0) {
+                        b2BBusinessListBean.setBillState(Constants.FLAG.STATE_COMPANY_BUSINESS_INVALID);
+                    } else {
+                        b2BBusinessListBean.setBillState(Constants.FLAG.STATE_COMPANY_BUSINESS_TODO);
+                    }
+                }
+                /*if ("1".equals(invalid) || "1".equals(overdue) || "201".equals(status)) {
+                    b2BBusinessListBean.setBillState(Constants.FLAG.STATE_PUBLIC_INQUIRY_DONE);
+                } else {
+                    b2BBusinessListBean.setBillState(Constants.FLAG.STATE_PUBLIC_INQUIRY_TODO);
+                }*/
+                mCompanyBusinessBeans.add(b2BBusinessListBean);
+            }
+        }
+        mCompanyBusinessAdapter.notifyDataSetChanged();
+    }
+
     private void analisisPublicInquiry(JSONArray contentArray) {
         for (int i = 0; i < contentArray.size(); i++) {
             JSONObject contentObject = contentArray.getJSONObject(i);
@@ -651,19 +810,25 @@ public class B2BBusinessMainActivity extends BaseMVPActivity<WorkPlatPresenter>
             switch (flag) {
                 case OBTAIN_PURCHASE_ORDER_LIST:
                     isPurchaseSuccess = true;
-                    if (isCustomerSuccess && isPublicSuccess) {
+                    if (isCustomerSuccess && isPublicSuccess && isCompanySuccess) {
                         hideLoading();
                     }
                     break;
                 case OBTAIN_CUSTOMER_INQUIRY_LIST:
                     isCustomerSuccess = true;
-                    if (isPurchaseSuccess && isPublicSuccess) {
+                    if (isPurchaseSuccess && isPublicSuccess && isCompanySuccess) {
                         hideLoading();
                     }
                     break;
                 case OBTAIN_PUBLIC_INQUIRY_LIST:
                     isPublicSuccess = true;
-                    if (isCustomerSuccess && isPurchaseSuccess) {
+                    if (isCustomerSuccess && isPurchaseSuccess && isCompanySuccess) {
+                        hideLoading();
+                    }
+                    break;
+                case OBTAIN_COMPANY_BUSINESS_LIST:
+                    isPublicSuccess = true;
+                    if (isCustomerSuccess && isPurchaseSuccess && isPublicSuccess) {
                         hideLoading();
                     }
                     break;
@@ -692,6 +857,8 @@ public class B2BBusinessMainActivity extends BaseMVPActivity<WorkPlatPresenter>
         } else if (i == R.id.b2b_business_main_public_inquiry_iv
                 || i == R.id.b2b_business_main_public_inquiry_all_tv) {
             startActivity(PublicInquiryListActivity.class);
+        } else if (i == R.id.b2b_business_main_company_business_all_tv) {
+            startActivity(CompanyBusinessListActivity.class);
         } else if (i == R.id.b2b_change_account_sure_tv) {
             if (CommonUtil.isNetWorkConnected(mContext)) {
                 for (B2BCompanyBean b2BCompanyBean : mB2BCompanyBeans) {
@@ -709,10 +876,12 @@ public class B2BBusinessMainActivity extends BaseMVPActivity<WorkPlatPresenter>
                 isPurchaseSuccess = false;
                 isCustomerSuccess = false;
                 isPublicSuccess = false;
+                isCompanySuccess = false;
                 showLoading(null);
                 getListData(OBTAIN_PURCHASE_ORDER_LIST);
                 getListData(OBTAIN_CUSTOMER_INQUIRY_LIST);
                 getListData(OBTAIN_PUBLIC_INQUIRY_LIST);
+                getListData(OBTAIN_COMPANY_BUSINESS_LIST);
             } else {
                 toast(R.string.networks_out);
             }

+ 405 - 0
app_modular/appworks/src/main/java/com/uas/appworks/activity/CompanyBusinessListActivity.java

@@ -0,0 +1,405 @@
+package com.uas.appworks.activity;
+
+import android.content.Intent;
+import android.support.v7.app.ActionBar;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.text.TextUtils;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.common.LogUtil;
+import com.common.data.DateFormatUtil;
+import com.common.data.JSONUtil;
+import com.core.app.Constants;
+import com.core.base.activity.BaseMVPActivity;
+import com.core.base.presenter.SimplePresenter;
+import com.core.utils.CommonUtil;
+import com.core.widget.SearchActionView;
+import com.me.network.app.base.HttpCallback;
+import com.me.network.app.base.HttpParams;
+import com.me.network.app.http.HttpRequest;
+import com.me.network.app.http.Method;
+import com.scwang.smartrefresh.layout.api.RefreshLayout;
+import com.scwang.smartrefresh.layout.listener.OnLoadmoreListener;
+import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
+import com.uas.appworks.R;
+import com.uas.appworks.adapter.B2bBusinessListAdapter;
+import com.uas.appworks.model.bean.B2BBusinessListBean;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author RaoMeng
+ * @describe 公司商机列表页面
+ * @date 2018/6/20 9:31
+ */
+public class CompanyBusinessListActivity extends BaseMVPActivity<SimplePresenter> implements HttpCallback {
+    private static final int OBTAIN_B2B_LIST = 0x01;
+    private static final int REQUEST_COMPANY_DETAIL = 0x11;
+
+    private RecyclerView mRecyclerView;
+    private B2bBusinessListAdapter mB2BBusinessListAdapter;
+    private List<B2BBusinessListBean> mB2BBusinessListBeans;
+    private RefreshLayout mRefreshLayout;
+    private int mPageIndex = 1, mPageSize = 20;
+    private String mListUrl, mEnuu, mKeyWord = "";
+    private int mSelectPosition = -1;
+    private SearchActionView mSearchActionView;
+
+    @Override
+    protected int getLayout() {
+        return R.layout.activity_company_business_list;
+    }
+
+    @Override
+    protected void initView() {
+        setTitle("");
+        mSearchActionView = new SearchActionView(mContext);
+        ActionBar bar = this.getSupportActionBar();
+        bar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
+        bar.setCustomView(mSearchActionView);
+        mSearchActionView.setSearchHint(getString(R.string.str_company_business_list));
+
+        mEnuu = CommonUtil.getSharedPreferences(mContext, Constants.CACHE.B2B_BUSINESS_ENUU);
+        mRecyclerView = $(R.id.b2b_list_rv);
+        mRefreshLayout = $(R.id.b2b_list_refreshlayout);
+        mRefreshLayout.setEnableAutoLoadmore(true);
+        mRefreshLayout.setEnableLoadmoreWhenContentNotFull(true);
+
+        mB2BBusinessListBeans = new ArrayList<>();
+        mB2BBusinessListAdapter = new B2bBusinessListAdapter(mContext, mB2BBusinessListBeans);
+
+        mRecyclerView.setLayoutManager(new LinearLayoutManager(mContext));
+        mRecyclerView.setNestedScrollingEnabled(false);
+//        mRecyclerView.addItemDecoration(new RecycleViewDivider(mContext, LinearLayout.HORIZONTAL, 1, getResources().getColor(R.color.gray_light)));
+        mRecyclerView.setAdapter(mB2BBusinessListAdapter);
+    }
+
+    @Override
+    protected SimplePresenter initPresenter() {
+        return null;
+    }
+
+    @Override
+    protected void initEvent() {
+        mSearchActionView.setOnEnterActionListener(new SearchActionView.OnEnterActionListener() {
+            @Override
+            public void onEnterAction() {
+                if (CommonUtil.isNetWorkConnected(mContext)) {
+                    mKeyWord = mSearchActionView.getText();
+                    getListData(1, mKeyWord);
+                } else {
+                    toast(R.string.networks_out);
+                }
+            }
+        });
+
+        mSearchActionView.setOnVoiceCompleteListener(new SearchActionView.OnVoiceCompleteListener() {
+            @Override
+            public void onVoiceComplete(String text) {
+                if (CommonUtil.isNetWorkConnected(mContext)) {
+                    mKeyWord = mSearchActionView.getText();
+                    getListData(1, mKeyWord);
+                } else {
+                    toast(R.string.networks_out);
+                }
+            }
+        });
+
+        mSearchActionView.setOnTextChangedListener(new SearchActionView.OnTextChangedListener() {
+            @Override
+            public void onTextChanged(String text) {
+                if (TextUtils.isEmpty(text) && !TextUtils.isEmpty(mKeyWord)) {
+                    if (CommonUtil.isNetWorkConnected(mContext)) {
+                        mKeyWord = "";
+                        getListData(1, mKeyWord);
+                    }
+                }
+            }
+        });
+
+        mB2BBusinessListAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
+            @Override
+            public void onItemClick(BaseQuickAdapter baseQuickAdapter, View view, final int position) {
+                mSelectPosition = position;
+                final List<B2BBusinessListBean> data = mB2BBusinessListAdapter.getData();
+                Intent intent = null;
+                switch (data.get(position).getItemType()) {
+                    case B2BBusinessListBean.COMPANY_BUSINESS_LIST:
+                        intent = new Intent();
+                        String billState = data.get(position).getBillState();
+                        if (Constants.FLAG.STATE_COMPANY_BUSINESS_DONE.equals(billState)) {
+                            intent.setClass(mContext, PublicInquiryDetailActivity.class);
+                            intent.putExtra(Constants.FLAG.EXTRA_B2B_LIST_ID, mB2BBusinessListBeans.get(position).getId());
+                            intent.putExtra(Constants.FLAG.EXTRA_B2B_LIST_STATE, mB2BBusinessListBeans.get(position).getBillState());
+                            intent.putExtra(Constants.FLAG.EXTRA_B2B_LIST_JSON, mB2BBusinessListBeans.get(position).getJsonData());
+                            startActivity(intent);
+                        } else if (Constants.FLAG.STATE_COMPANY_BUSINESS_TODO.equals(billState)
+                                || Constants.FLAG.STATE_COMPANY_BUSINESS_INVALID.equals(billState)) {
+                            intent.setClass(mContext, CustomerInquiryDetailActivity.class);
+                            intent.putExtra(Constants.FLAG.EXTRA_B2B_LIST_ID, mB2BBusinessListBeans.get(position).getId());
+                            intent.putExtra(Constants.FLAG.EXTRA_B2B_LIST_STATE, mB2BBusinessListBeans.get(position).getBillState());
+                            intent.putExtra(Constants.FLAG.EXTRA_B2B_LIST_JSON, mB2BBusinessListBeans.get(position).getJsonData());
+                            startActivityForResult(intent, REQUEST_COMPANY_DETAIL);
+                        }
+                        break;
+                    default:
+                        break;
+                }
+            }
+        });
+
+        mRefreshLayout.setOnRefreshListener(new OnRefreshListener() {
+            @Override
+            public void onRefresh(RefreshLayout refreshLayout) {
+                if (CommonUtil.isNetWorkConnected(mContext)) {
+                    mRefreshLayout.resetNoMoreData();
+                    mPageIndex = 1;
+                    getListData(mPageIndex, mKeyWord);
+                } else {
+                    toast(R.string.networks_out);
+                    mRefreshLayout.finishRefresh(500, false);
+                }
+            }
+        });
+
+        mRefreshLayout.setOnLoadmoreListener(new OnLoadmoreListener() {
+            @Override
+            public void onLoadmore(RefreshLayout refreshLayout) {
+                if (CommonUtil.isNetWorkConnected(mContext)) {
+                    mPageIndex++;
+                    getListData(mPageIndex, mKeyWord);
+                } else {
+                    toast(R.string.networks_out);
+                    mRefreshLayout.finishLoadmore(500, false);
+                }
+            }
+        });
+    }
+
+    @Override
+    protected void initData() {
+        mListUrl = "inquiry/sale/enremind";
+
+        if (CommonUtil.isNetWorkConnected(mContext)) {
+            getListData(1, "");
+        } else {
+            mB2BBusinessListAdapter.setEmptyView(R.layout.view_net_error, (ViewGroup) mRecyclerView.getParent());
+        }
+    }
+
+    @Override
+    public boolean needNavigation() {
+        return false;
+    }
+
+    public void getListData(int pageIndex, String keyWord) {
+        showLoading(null);
+
+        mPageIndex = pageIndex;
+        mKeyWord = keyWord;
+
+        Map<String, Object> params = new HashMap<>();
+        try {
+            params.put("enuu", Long.parseLong(mEnuu));
+        } catch (Exception e) {
+            params.put("enuu", mEnuu);
+        }
+        params.put("useruu", CommonUtil.getUseruuLong(this));
+        params.put("pageNumber", mPageIndex);
+        params.put("pageSize", mPageSize);
+        if (!TextUtils.isEmpty(mKeyWord)) {
+            params.put("keyword", mKeyWord);
+        }
+
+        LogUtil.d("b2blistparams", params.toString());
+        String host = Constants.API_INQUIRY;
+
+        HttpRequest.getInstance().sendRequest(host,
+                new HttpParams.Builder()
+                        .url(mListUrl)
+                        .flag(OBTAIN_B2B_LIST)
+                        .method(Method.GET)
+                        .setHeaders(new HashMap<String, Object>())
+                        .setParams(params)
+                        .build(), this);
+    }
+
+    @Override
+    public void onSuccess(int flag, Object o) throws Exception {
+        try {
+            String result = o.toString();
+            LogUtil.prinlnLongMsg("b2blistlogsuccess", result);
+            switch (flag) {
+                case OBTAIN_B2B_LIST:
+                    JSONObject resultObject = JSON.parseObject(result);
+                    JSONArray contentArray = resultObject.getJSONArray("content");
+                    if (contentArray == null || contentArray.size() == 0) {
+                        if (mPageIndex == 1) {
+                            hideLoading();
+                            mB2BBusinessListBeans.clear();
+                            mB2BBusinessListAdapter.notifyDataSetChanged();
+                            mB2BBusinessListAdapter.setEmptyView(R.layout.view_public_inquiry_empty, (ViewGroup) mRecyclerView.getParent());
+                        } else {
+                            if (mRefreshLayout != null && mRefreshLayout.isLoading()) {
+                                mRefreshLayout.finishLoadmoreWithNoMoreData();
+                            }
+                            progressDialog.dismiss();
+                        }
+                        return;
+                    }
+                    if (mPageIndex == 1) {
+                        mB2BBusinessListBeans.clear();
+                    }
+                    if (contentArray.size() < mPageSize && mPageIndex > 1 && mRefreshLayout != null && mRefreshLayout.isLoading()) {
+                        mRefreshLayout.finishLoadmoreWithNoMoreData();
+                    }
+                    hideLoading();
+                    analisisCompanyBusiness(contentArray);
+                    break;
+                default:
+                    break;
+            }
+        } catch (Exception e) {
+
+        }
+    }
+
+    @Override
+    public void onFail(int flag, String failStr) throws Exception {
+        try {
+            hideLoading();
+            if (flag == OBTAIN_B2B_LIST && mPageIndex > 1) {
+                mPageIndex--;
+            }
+            if (!CommonUtil.isRepeatClick(2000)) {
+                toast(failStr);
+            }
+        } catch (Exception e) {
+
+        }
+    }
+
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        B2BBusinessListBean b2BBusinessListBean = mB2BBusinessListBeans.get(mSelectPosition);
+        if (b2BBusinessListBean != null) {
+            if (requestCode == REQUEST_COMPANY_DETAIL
+                    && resultCode == Constants.FLAG.RESULT_COMPANY_BUSINESS && data != null) {
+                String newId = data.getStringExtra(Constants.FLAG.EXTRA_B2B_LIST_ID);
+                b2BBusinessListBean.setBillState(Constants.FLAG.STATE_COMPANY_BUSINESS_DONE);
+                b2BBusinessListBean.setId(newId);
+                b2BBusinessListBean.setJsonData(null);
+            }
+            mB2BBusinessListAdapter.notifyDataSetChanged();
+        }
+
+    }
+
+    private void analisisCompanyBusiness(JSONArray contentArray) {
+        for (int i = 0; i < contentArray.size(); i++) {
+            JSONObject contentObject = contentArray.getJSONObject(i);
+            if (contentObject != null) {
+                B2BBusinessListBean b2BBusinessListBean = new B2BBusinessListBean();
+                b2BBusinessListBean.setItemType(B2BBusinessListBean.COMPANY_BUSINESS_LIST);
+
+                int quoted = JSONUtil.getInt(contentObject, "quoted");
+                if (TextUtils.isEmpty(contentObject.getString("quoted"))) {
+                    b2BBusinessListBean.setJsonData(contentObject.toString());
+                    quoted = 1;
+                }
+
+                if (TextUtils.isEmpty(contentObject.getString("quteId"))) {
+                    b2BBusinessListBean.setId(JSONUtil.getText(contentObject, "id"));
+                } else {
+                    b2BBusinessListBean.setId(JSONUtil.getText(contentObject, "quteId"));
+                }
+
+                long date = contentObject.getLongValue("date");
+                if (date != 0) {
+                    b2BBusinessListBean.setBillDate(DateFormatUtil.long2Str(date, DateFormatUtil.YMD));
+                }
+
+                String needquantity = JSONUtil.getText(contentObject, "needquantity");
+                b2BBusinessListBean.setProductAmount(needquantity);
+
+                JSONObject inquiryObject = contentObject.getJSONObject("inquiry");
+                JSONObject productObject = contentObject.getJSONObject("product");
+
+                if (productObject != null) {
+                    b2BBusinessListBean.setProductName(JSONUtil.getText(productObject, "title"));
+                    b2BBusinessListBean.setProductModel(JSONUtil.getText(productObject, "code"));
+                    b2BBusinessListBean.setProductSpecification(JSONUtil.getText(productObject, "spec"));
+                    b2BBusinessListBean.setProductBrand(JSONUtil.getText(productObject, "brand"));
+                }
+                if (inquiryObject != null) {
+                    JSONObject enterpriseObject = inquiryObject.getJSONObject("enterprise");
+                    if (enterpriseObject != null) {
+                        b2BBusinessListBean.setCompanyName(JSONUtil.getText(enterpriseObject, "enName"));
+                    }
+
+                    long endDate = inquiryObject.getLongValue("endDate");
+                    if (endDate != 0) {
+                        b2BBusinessListBean.setExpiryDate(DateFormatUtil.long2Str(endDate, DateFormatUtil.YMD));
+                    }
+                }
+                String invalid = JSONUtil.getText(contentObject, "invalid");
+                String overdue = JSONUtil.getText(contentObject, "overdue");
+                String status = JSONUtil.getText(contentObject, "status");
+                long remainingTime = JSONUtil.getLong(contentObject, "remainingTime");//剩余时间
+
+                if (remainingTime <= 0) {
+                    b2BBusinessListBean.setRemainTime(0);
+                } else {
+                    b2BBusinessListBean.setRemainTime((int) Math.ceil((float) remainingTime / (1000 * 60 * 60 * 24)));
+                }
+
+                if (quoted == 1) {
+                    b2BBusinessListBean.setBillState(Constants.FLAG.STATE_COMPANY_BUSINESS_DONE);
+                } else {
+                    b2BBusinessListBean.setJsonData(contentObject.toString());
+                    if ("1".equals(overdue) || remainingTime <= 0) {
+                        b2BBusinessListBean.setBillState(Constants.FLAG.STATE_COMPANY_BUSINESS_INVALID);
+                    } else {
+                        b2BBusinessListBean.setBillState(Constants.FLAG.STATE_COMPANY_BUSINESS_TODO);
+                    }
+                }
+                /*if ("1".equals(invalid) || "1".equals(overdue) || "201".equals(status)) {
+                    b2BBusinessListBean.setBillState(Constants.FLAG.STATE_PUBLIC_INQUIRY_DONE);
+                } else {
+                    b2BBusinessListBean.setBillState(Constants.FLAG.STATE_PUBLIC_INQUIRY_TODO);
+                }*/
+                mB2BBusinessListBeans.add(b2BBusinessListBean);
+            }
+        }
+        mB2BBusinessListAdapter.notifyDataSetChanged();
+    }
+
+    @Override
+    public void showLoading(String loadStr) {
+        if (mRefreshLayout != null && !mRefreshLayout.isRefreshing() && !mRefreshLayout.isLoading()) {
+            progressDialog.show();
+        }
+    }
+
+    @Override
+    public void hideLoading() {
+        if (mRefreshLayout != null && mRefreshLayout.isRefreshing()) {
+            mRefreshLayout.finishRefresh(0);
+        }
+        if (mRefreshLayout != null && mRefreshLayout.isLoading()) {
+            mRefreshLayout.finishLoadmore(0);
+        }
+        progressDialog.dismiss();
+    }
+
+}

+ 33 - 12
app_modular/appworks/src/main/java/com/uas/appworks/activity/CustomerInquiryDetailActivity.java

@@ -163,10 +163,12 @@ public class CustomerInquiryDetailActivity extends BaseMVPActivity<WorkPlatPrese
                         initEditable(false, View.GONE);
                         break;
                     case Constants.FLAG.STATE_PUBLIC_INQUIRY_TODO:
+                    case Constants.FLAG.STATE_COMPANY_BUSINESS_TODO:
                         setTitle(R.string.str_wait_quoted);
                         initEditable(true, View.VISIBLE);
                         break;
                     case Constants.FLAG.STATE_PUBLIC_INQUIRY_INVALID:
+                    case Constants.FLAG.STATE_COMPANY_BUSINESS_INVALID:
                         setTitle(R.string.str_finished);
                         initEditable(false, View.GONE);
                     default:
@@ -216,7 +218,9 @@ public class CustomerInquiryDetailActivity extends BaseMVPActivity<WorkPlatPrese
             String url = "mobile/sale/inquiry/" + mId + "/info";
             int flag = CUSTOMER_INQUIRY_DETAIL;
             if (Constants.FLAG.STATE_PUBLIC_INQUIRY_TODO.equals(mState)
-                    || Constants.FLAG.STATE_PUBLIC_INQUIRY_INVALID.equals(mState)) {
+                    || Constants.FLAG.STATE_PUBLIC_INQUIRY_INVALID.equals(mState)
+                    || Constants.FLAG.STATE_COMPANY_BUSINESS_TODO.equals(mState)
+                    || Constants.FLAG.STATE_COMPANY_BUSINESS_INVALID.equals(mState)) {
                 host = Constants.API_INQUIRY;
                 url = "inquiry/sale/publicInquiry/detail";
                 flag = PUBLIC_INQUIRY_DETAIL;
@@ -251,13 +255,15 @@ public class CustomerInquiryDetailActivity extends BaseMVPActivity<WorkPlatPrese
 
             String userTel = "", userName = "", material = "", productCode = "", productName = "", productCmpcode = "", productBrand = "", productSpec = "";
             if (Constants.FLAG.STATE_PUBLIC_INQUIRY_TODO.equals(mState)
-                    || Constants.FLAG.STATE_PUBLIC_INQUIRY_DONE.equals(mState)
-                    || Constants.FLAG.STATE_PUBLIC_INQUIRY_INVALID.equals(mState)) {
+                    || Constants.FLAG.STATE_PUBLIC_INQUIRY_INVALID.equals(mState)
+                    || Constants.FLAG.STATE_COMPANY_BUSINESS_TODO.equals(mState)
+                    || Constants.FLAG.STATE_COMPANY_BUSINESS_INVALID.equals(mState)) {
                 userTel = JSONUtil.getText(detailObject, "userTel");
                 userName = JSONUtil.getText(detailObject, "userName");
-            } else if (recorderUser != null) {
-                userTel = JSONUtil.getText(recorderUser, "userTel");//客户联系电话
+            } else if (enterpriseObject != null) {
+                userTel = JSONUtil.getText(enterpriseObject, "enTel");//客户联系电话
             }
+
             String billNum = JSONUtil.getText(inquiryObject, "code");//单据
 
             if (productObject != null) {
@@ -290,14 +296,18 @@ public class CustomerInquiryDetailActivity extends BaseMVPActivity<WorkPlatPrese
             mB2BDetailListBeans.add(createB2BDetailListBean(B2BDetailListBean.TYPE_DETAIL_TEXT, getString(R.string.customer_inquiry_customer), customer, "", "客户", "", 0, null));
             mB2BDetailListBeans.add(createB2BDetailListBean(B2BDetailListBean.TYPE_DETAIL_TEXT, getString(R.string.customer_inquiry_customer_address), customerAddress, "", "客户地址", "", 0, null));
             if (Constants.FLAG.STATE_PUBLIC_INQUIRY_TODO.equals(mState)
-                    || Constants.FLAG.STATE_PUBLIC_INQUIRY_DONE.equals(mState)) {
+                    || Constants.FLAG.STATE_PUBLIC_INQUIRY_INVALID.equals(mState)
+                    || Constants.FLAG.STATE_COMPANY_BUSINESS_TODO.equals(mState)
+                    || Constants.FLAG.STATE_COMPANY_BUSINESS_INVALID.equals(mState)) {
                 mB2BDetailListBeans.add(createB2BDetailListBean(B2BDetailListBean.TYPE_DETAIL_TEXT, getString(R.string.public_inquiry_contact), userName, "", "联系人", "", 0, null));
             }
             mB2BDetailListBeans.add(createB2BDetailListBean(B2BDetailListBean.TYPE_DETAIL_TEXT, getString(R.string.customer_inquiry_customer_phone), userTel, "", "联系电话", "", 0, null));
             mB2BDetailListBeans.add(createB2BDetailListBean(B2BDetailListBean.TYPE_DETAIL_TEXT, getString(R.string.customer_inquiry_bill_num), billNum, "", "单据", "", 0, null));
 
             if (Constants.FLAG.STATE_PUBLIC_INQUIRY_TODO.equals(mState)
-                    || Constants.FLAG.STATE_PUBLIC_INQUIRY_DONE.equals(mState)) {
+                    || Constants.FLAG.STATE_PUBLIC_INQUIRY_INVALID.equals(mState)
+                    || Constants.FLAG.STATE_COMPANY_BUSINESS_TODO.equals(mState)
+                    || Constants.FLAG.STATE_COMPANY_BUSINESS_INVALID.equals(mState)) {
                 if (!TextUtils.isEmpty(productCode)) {
                     mB2BDetailListBeans.add(createB2BDetailListBean(B2BDetailListBean.TYPE_DETAIL_TEXT, getString(R.string.customer_inquiry_product_code), productCode, "", "产品编号", "", 0, null));
                 }
@@ -334,12 +344,16 @@ public class CustomerInquiryDetailActivity extends BaseMVPActivity<WorkPlatPrese
                 mB2BDetailListBeans.add(createB2BDetailListBean(B2BDetailListBean.TYPE_DETAIL_TEXT, getString(R.string.customer_inquiry_environment), environment, "", "环保要求", "", 0, null));
             }
             if (!(Constants.FLAG.STATE_PUBLIC_INQUIRY_TODO.equals(mState)
-                    || Constants.FLAG.STATE_PUBLIC_INQUIRY_DONE.equals(mState))) {
+                    || Constants.FLAG.STATE_PUBLIC_INQUIRY_INVALID.equals(mState)
+                    || Constants.FLAG.STATE_COMPANY_BUSINESS_TODO.equals(mState)
+                    || Constants.FLAG.STATE_COMPANY_BUSINESS_INVALID.equals(mState))) {
                 mB2BDetailListBeans.add(createB2BDetailListBean(B2BDetailListBean.TYPE_DETAIL_TEXT, getString(R.string.customer_inquiry_price_type), priceType, "", "价格类型", "", 0, null));
             }
 
             if (Constants.FLAG.STATE_PUBLIC_INQUIRY_TODO.equals(mState)
-                    || Constants.FLAG.STATE_PUBLIC_INQUIRY_INVALID.equals(mState)) {
+                    || Constants.FLAG.STATE_PUBLIC_INQUIRY_INVALID.equals(mState)
+                    || Constants.FLAG.STATE_COMPANY_BUSINESS_TODO.equals(mState)
+                    || Constants.FLAG.STATE_COMPANY_BUSINESS_INVALID.equals(mState)) {
                 List<String> options = new ArrayList<>();
                 options.add("RMB");
                 options.add("USD");
@@ -516,7 +530,9 @@ public class CustomerInquiryDetailActivity extends BaseMVPActivity<WorkPlatPrese
             String url = "mobile/sale/inquiry/items/" + mId + "/reply";
             String host = new ApiPlatform().getBaseUrl();
             if (Constants.FLAG.STATE_PUBLIC_INQUIRY_TODO.equals(mState)
-                    || Constants.FLAG.STATE_PUBLIC_INQUIRY_INVALID.equals(mState)) {
+                    || Constants.FLAG.STATE_PUBLIC_INQUIRY_INVALID.equals(mState)
+                    || Constants.FLAG.STATE_COMPANY_BUSINESS_TODO.equals(mState)
+                    || Constants.FLAG.STATE_COMPANY_BUSINESS_INVALID.equals(mState)) {
                 url = "inquiry/sale/mobile/quote";
                 host = Constants.API_INQUIRY;
             }
@@ -539,7 +555,8 @@ public class CustomerInquiryDetailActivity extends BaseMVPActivity<WorkPlatPrese
             setTitle(R.string.str_quoted_price);
             toast(getString(R.string.quote_success));
             String publicId = "";
-            if (Constants.FLAG.STATE_PUBLIC_INQUIRY_TODO.equals(mState)) {
+            if (Constants.FLAG.STATE_PUBLIC_INQUIRY_TODO.equals(mState)
+                    || Constants.FLAG.STATE_COMPANY_BUSINESS_TODO.equals(mState)) {
                 initEditable(false, View.GONE);
                 if (JSONUtil.validate(result)) {
                     JSONObject publicObject = JSON.parseObject(result);
@@ -547,7 +564,11 @@ public class CustomerInquiryDetailActivity extends BaseMVPActivity<WorkPlatPrese
                 }
                 Intent intent = getIntent();
                 intent.putExtra(Constants.FLAG.EXTRA_B2B_LIST_ID, publicId);
-                setResult(Constants.FLAG.RESULT_PUBLIC_INQUIRY, intent);
+                if (Constants.FLAG.STATE_PUBLIC_INQUIRY_TODO.equals(mState)) {
+                    setResult(Constants.FLAG.RESULT_PUBLIC_INQUIRY, intent);
+                } else if (Constants.FLAG.STATE_COMPANY_BUSINESS_TODO.equals(mState)) {
+                    setResult(Constants.FLAG.RESULT_COMPANY_BUSINESS, intent);
+                }
             } else {
                 setResult(Constants.FLAG.RESULT_CUSTOMER_INQUIRY);
             }

+ 1 - 0
app_modular/appworks/src/main/java/com/uas/appworks/activity/PublicInquiryDetailActivity.java

@@ -117,6 +117,7 @@ public class PublicInquiryDetailActivity extends BaseMVPActivity<WorkPlatPresent
         } else {
             showLoading(null);
 
+
             Map<String, Object> params = new HashMap<>();
             params.put("en_uu", mEnuu);
             params.put("user_tel", MyApplication.getInstance().mLoginUser.getTelephone());

+ 4 - 1
app_modular/appworks/src/main/java/com/uas/appworks/activity/PublicInquiryListActivity.java

@@ -42,12 +42,15 @@ public class PublicInquiryListActivity extends BaseMVPActivity<WorkPlatPresenter
     protected int getLayout() {
         return R.layout.activity_tab_viewpager;
     }
+
     @Override
     public boolean needNavigation() {
         return false;
     }
+
     @Override
-    protected void initView() { setTitle("");
+    protected void initView() {
+        setTitle("");
         mSearchActionView = new SearchActionView(mContext);
         ActionBar bar = this.getSupportActionBar();
         bar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);

+ 52 - 0
app_modular/appworks/src/main/java/com/uas/appworks/adapter/B2bBusinessListAdapter.java

@@ -28,6 +28,7 @@ public class B2bBusinessListAdapter extends BaseMultiItemQuickAdapter<B2BBusines
         addItemType(B2BBusinessListBean.PURCHASE_ORDER_LIST, R.layout.layout_list_purchase_order);
         addItemType(B2BBusinessListBean.CUSTOMER_INQUIRY_LIST, R.layout.layout_list_customer_inquiry);
         addItemType(B2BBusinessListBean.PUBLIC_INQUIRY_LIST, R.layout.layout_list_public_inquiry);
+        addItemType(B2BBusinessListBean.COMPANY_BUSINESS_LIST, R.layout.layout_list_public_inquiry);
     }
 
     @Override
@@ -43,10 +44,61 @@ public class B2bBusinessListAdapter extends BaseMultiItemQuickAdapter<B2BBusines
                 case B2BBusinessListBean.PUBLIC_INQUIRY_LIST:
                     bindPublicInquiry(baseViewHolder, b2BBusinessListBean);
                     break;
+                case B2BBusinessListBean.COMPANY_BUSINESS_LIST:
+                    bindCompanyBusiness(baseViewHolder, b2BBusinessListBean);
+                    break;
             }
         }
     }
 
+    private void bindCompanyBusiness(BaseViewHolder holder, B2BBusinessListBean b2BBusinessListBean) {
+        holder.setText(R.id.list_public_inquiry_company_tv, b2BBusinessListBean.getCompanyName());
+        holder.setText(R.id.list_public_inquiry_bill_date_tv, b2BBusinessListBean.getBillDate());
+        holder.setText(R.id.list_public_inquiry_product_name_tv, b2BBusinessListBean.getProductName());
+        holder.setText(R.id.list_public_inquiry_product_model_tv, b2BBusinessListBean.getProductModel());
+        holder.setText(R.id.list_public_inquiry_product_specification_tv, b2BBusinessListBean.getProductSpecification());
+        holder.setText(R.id.list_public_inquiry_product_amount_tv, b2BBusinessListBean.getProductAmount());
+        holder.setText(R.id.list_public_inquiry_product_brand_tv, b2BBusinessListBean.getProductBrand());
+        holder.setText(R.id.list_public_inquiry_expiry_date_tv, b2BBusinessListBean.getExpiryDate());
+
+        mSpanUtils = new SpanUtils();
+        SpannableStringBuilder stringBuilder = mSpanUtils.append(mContext.getString(R.string.str_remain))
+                .append(b2BBusinessListBean.getRemainTime() + "").setForegroundColor(Color.RED)
+                .setBold().setFontSize(DisplayUtil.sp2px(mContext, 20))
+                .append(mContext.getString(R.string.str_days)).create();
+        if (stringBuilder != null) {
+            holder.setText(R.id.list_public_inquiry_remaintime_tv, stringBuilder);
+        }
+
+        String billState = b2BBusinessListBean.getBillState();
+        if (billState != null) {
+            switch (billState) {
+                case Constants.FLAG.STATE_COMPANY_BUSINESS_TODO:
+                    setCompanyBtn(holder, true, false, false);
+                    break;
+                case Constants.FLAG.STATE_COMPANY_BUSINESS_DONE:
+                    setCompanyBtn(holder, false, true, false);
+                    break;
+                case Constants.FLAG.STATE_COMPANY_BUSINESS_INVALID:
+                    setCompanyBtn(holder, false, false, true);
+                    break;
+                default:
+                    setCompanyBtn(holder, false, false, false);
+                    break;
+            }
+        } else {
+            setCompanyBtn(holder, false, false, false);
+        }
+
+    }
+
+    private void setCompanyBtn(BaseViewHolder holder, boolean b1, boolean b2, boolean b3) {
+        holder.setVisible(R.id.list_public_inquiry_offer_quotation_btn, b1);
+        holder.setVisible(R.id.list_public_inquiry_done_btn, b2);
+        holder.setVisible(R.id.list_public_inquiry_invalid_btn, b3);
+    }
+
+
     private void bindPublicInquiry(BaseViewHolder holder, B2BBusinessListBean b2BBusinessListBean) {
         holder.setText(R.id.list_public_inquiry_company_tv, b2BBusinessListBean.getCompanyName());
         holder.setText(R.id.list_public_inquiry_bill_date_tv, b2BBusinessListBean.getBillDate());

+ 1 - 0
app_modular/appworks/src/main/java/com/uas/appworks/model/bean/B2BBusinessListBean.java

@@ -12,6 +12,7 @@ public class B2BBusinessListBean implements MultiItemEntity {
     public static final int PURCHASE_ORDER_LIST = 2;//客户采购订单
     public static final int CUSTOMER_INQUIRY_LIST = 3;//客户询价单
     public static final int PUBLIC_INQUIRY_LIST = 4;//公共询价
+    public static final int COMPANY_BUSINESS_LIST = 5;//公司商机
 
     private int mItemType = -1;
     private String mId;//单据id

BIN
app_modular/appworks/src/main/res/drawable-hdpi/ic_b2b_header_company.png


BIN
app_modular/appworks/src/main/res/drawable-xhdpi/ic_b2b_header_company.png


BIN
app_modular/appworks/src/main/res/drawable-xxhdpi/ic_b2b_header_company.png


+ 41 - 0
app_modular/appworks/src/main/res/layout/activity_b2b_business_main.xml

@@ -215,6 +215,47 @@
                     android:overScrollMode="never"
                     android:scrollbars="none" />
 
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="4dp"
+                    android:layout_marginTop="8dp"
+                    android:padding="6dp">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="@string/str_company_business_list"
+                        android:textColor="@color/black" />
+
+                    <View
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_gravity="center_vertical"
+                        android:layout_marginLeft="6dp"
+                        android:layout_marginRight="6dp"
+                        android:layout_weight="1"
+                        android:background="@drawable/shape_horizontal_dotted_line"
+                        android:layerType="software" />
+
+                    <TextView
+                        android:id="@+id/b2b_business_main_company_business_all_tv"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginRight="8dp"
+                        android:drawablePadding="4dp"
+                        android:drawableRight="@drawable/ic_b2b_all_list"
+                        android:text="@string/all"
+                        android:textColor="@color/titleBlue" />
+                </LinearLayout>
+
+                <android.support.v7.widget.RecyclerView
+                    android:id="@+id/b2b_business_main_company_business_rv"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:overScrollMode="never"
+                    android:scrollbars="none" />
+
                 <LinearLayout
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"

+ 28 - 0
app_modular/appworks/src/main/res/layout/activity_company_business_list.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<com.scwang.smartrefresh.layout.SmartRefreshLayout
+    android:id="@+id/b2b_list_refreshlayout"
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    app:srlFixedHeaderViewId="@+id/tab_viewpager_tab_ll">
+
+    <com.scwang.smartrefresh.layout.header.ClassicsHeader
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        app:srlAccentColor="@android:color/darker_gray" />
+
+    <android.support.v7.widget.RecyclerView
+        android:id="@+id/b2b_list_rv"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="#f3f3f3"
+        android:overScrollMode="never"
+        android:scrollbars="none" />
+
+
+    <com.scwang.smartrefresh.layout.footer.ClassicsFooter
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        app:srlAccentColor="@android:color/darker_gray" />
+</com.scwang.smartrefresh.layout.SmartRefreshLayout>

+ 9 - 9
app_modular/appworks/src/main/res/layout/layout_list_public_inquiry.xml

@@ -54,11 +54,10 @@
 
                         <TextView
                             style="@style/b2b_business_item_caption"
-                            android:text="@string/str_product_name"
-                            />
+                            android:text="@string/str_product_brand" />
 
                         <TextView
-                            android:id="@+id/list_public_inquiry_product_name_tv"
+                            android:id="@+id/list_public_inquiry_product_brand_tv"
                             style="@style/b2b_business_item_value"
                             tools:text="2018-01-21" />
                     </LinearLayout>
@@ -71,10 +70,11 @@
 
                         <TextView
                             style="@style/b2b_business_item_caption"
-                            android:text="@string/str_product_model" />
+                            android:text="@string/str_product_name"
+                            />
 
                         <TextView
-                            android:id="@+id/list_public_inquiry_product_model_tv"
+                            android:id="@+id/list_public_inquiry_product_name_tv"
                             style="@style/b2b_business_item_value"
                             tools:text="2018-01-21" />
                     </LinearLayout>
@@ -87,10 +87,10 @@
 
                         <TextView
                             style="@style/b2b_business_item_caption"
-                            android:text="@string/str_product_specification" />
+                            android:text="@string/str_product_model" />
 
                         <TextView
-                            android:id="@+id/list_public_inquiry_product_specification_tv"
+                            android:id="@+id/list_public_inquiry_product_model_tv"
                             style="@style/b2b_business_item_value"
                             tools:text="2018-01-21" />
                     </LinearLayout>
@@ -103,10 +103,10 @@
 
                         <TextView
                             style="@style/b2b_business_item_caption"
-                            android:text="@string/str_product_brand" />
+                            android:text="@string/str_product_specification" />
 
                         <TextView
-                            android:id="@+id/list_public_inquiry_product_brand_tv"
+                            android:id="@+id/list_public_inquiry_product_specification_tv"
                             style="@style/b2b_business_item_value"
                             tools:text="2018-01-21" />
                     </LinearLayout>

+ 1 - 0
app_modular/appworks/src/main/res/values-en/strings.xml

@@ -183,4 +183,5 @@
     <string name="caption_inquiry_date">询价日期:</string>
     <string name="str_remain">剩余</string>
     <string name="str_days">天</string>
+    <string name="str_company_business_list">公司商机</string>
 </resources>

+ 1 - 0
app_modular/appworks/src/main/res/values-zh-rCN/strings.xml

@@ -182,4 +182,5 @@
     <string name="caption_inquiry_date">询价日期:</string>
     <string name="str_remain">剩余</string>
     <string name="str_days">天</string>
+    <string name="str_company_business_list">公司商机</string>
 </resources>

+ 1 - 0
app_modular/appworks/src/main/res/values-zh-rTW/strings.xml

@@ -182,4 +182,5 @@
     <string name="caption_inquiry_date">询价日期:</string>
     <string name="str_remain">剩余</string>
     <string name="str_days">天</string>
+    <string name="str_company_business_list">公司商机</string>
 </resources>

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

@@ -215,6 +215,7 @@
     <string name="caption_inquiry_date">询价日期:</string>
     <string name="str_remain">剩余</string>
     <string name="str_days">天</string>
+    <string name="str_company_business_list">公司商机</string>
 
 
 </resources>