Browse Source

提交分类: 功能开发;
提交内容: B2B商务详情页对接短信
当前版本: 测试版本6.1.1
是否冲突: 否

raomeng 8 years ago
parent
commit
724f899be4
21 changed files with 424 additions and 125 deletions
  1. 2 2
      WeiChat/build.gradle
  2. 3 3
      WeiChat/version.properties
  3. 2 0
      app_core/common/src/main/java/com/core/app/Constants.java
  4. 12 0
      app_core/common/src/main/java/com/core/utils/CommonUtil.java
  5. 4 2
      app_core/network/src/main/java/com/me/network/app/http/HttpRequest.java
  6. 11 11
      app_modular/appworks/src/main/java/com/uas/appworks/activity/B2BBusinessMainActivity.java
  7. 61 24
      app_modular/appworks/src/main/java/com/uas/appworks/activity/CustomerInquiryDetailActivity.java
  8. 8 8
      app_modular/appworks/src/main/java/com/uas/appworks/activity/CustomerInquiryListActivity.java
  9. 95 7
      app_modular/appworks/src/main/java/com/uas/appworks/activity/PublicInquiryDetailActivity.java
  10. 4 4
      app_modular/appworks/src/main/java/com/uas/appworks/activity/PurchaseOrderListActivity.java
  11. 17 4
      app_modular/appworks/src/main/java/com/uas/appworks/adapter/B2BQuotePriceAdapter.java
  12. 15 9
      app_modular/appworks/src/main/java/com/uas/appworks/adapter/B2bBusinessListAdapter.java
  13. 29 27
      app_modular/appworks/src/main/java/com/uas/appworks/fragment/B2BBusinessListFragment.java
  14. 37 0
      app_modular/appworks/src/main/java/com/uas/appworks/model/bean/B2BAttachBean.java
  15. 18 0
      app_modular/appworks/src/main/java/com/uas/appworks/model/bean/B2BBusinessListBean.java
  16. 1 0
      app_modular/appworks/src/main/res/layout/layout_list_b2b_account.xml
  17. 65 0
      app_modular/appworks/src/main/res/layout/layout_list_customer_inquiry.xml
  18. 10 6
      app_modular/appworks/src/main/res/values-en/strings.xml
  19. 10 6
      app_modular/appworks/src/main/res/values-zh-rCN/strings.xml
  20. 10 6
      app_modular/appworks/src/main/res/values-zh-rTW/strings.xml
  21. 10 6
      app_modular/appworks/src/main/res/values/strings.xml

+ 2 - 2
WeiChat/build.gradle

@@ -120,7 +120,7 @@ android {
         flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
     }
 
-    applicationVariants.all { variant ->
+    /*applicationVariants.all { variant ->
         variant.outputs.each { output ->
             def outputFile = output.outputFile
             def fileName
@@ -142,7 +142,7 @@ android {
                 output.outputFile = new File(outputFile.parent, fileName)
             }
         }
-    }
+    }*/
 }
 
 dependencies {

+ 3 - 3
WeiChat/version.properties

@@ -1,5 +1,5 @@
-#Mon Jan 22 16:12:34 CST 2018
-debugName=548
+#Tue Jan 23 10:51:07 CST 2018
+debugName=567
 versionName=625
-debugCode=548
+debugCode=567
 versionCode=164

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

@@ -17,6 +17,7 @@ public class Constants {
         String url = "";
         if (BaseConfig.isDebug()) {
             url = IM_BASE_URL_TEST;
+            url = IM_BASE_URL;
         } else {
             url = IM_BASE_URL;
         }
@@ -493,6 +494,7 @@ public class Constants {
         String STATE_CUSTOMER_INQUIRY_END = "end";
         String STATE_CUSTOMER_INQUIRY_REFUSED = "refused";
         String STATE_CUSTOMER_INQUIRY_INVALID = "invalid";
+        String STATE_CUSTOMER_INQUIRY_ABANDONED = "abandoned";
 
         String STATE_PUBLIC_INQUIRY_DONE = "public_done";
         String STATE_PUBLIC_INQUIRY_TODO = "public_todo";

+ 12 - 0
app_core/common/src/main/java/com/core/utils/CommonUtil.java

@@ -1202,4 +1202,16 @@ public class CommonUtil {
         List<T> dest = (List<T>) in.readObject();
         return dest;
     }
+
+
+    /**
+     * double值小数点后为0则不显示,保留四位小数
+     *
+     * @param v
+     * @return
+     */
+    public static String doubleFormat(double v) {
+        DecimalFormat decimalFormat = new DecimalFormat("###.####");
+        return decimalFormat.format(v);
+    }
 }

+ 4 - 2
app_core/network/src/main/java/com/me/network/app/http/HttpRequest.java

@@ -77,7 +77,7 @@ public class HttpRequest {
 
             @Override
             public void onFailure(Object t) {
-                String failMsg = "";
+                String failMsg = "系统错误";
                 if (t != null) {
                     String result = t.toString();
                     try {
@@ -87,7 +87,9 @@ public class HttpRequest {
                             failMsg = result;
                         }
                     } catch (Exception e) {
-                        failMsg = result;
+                        if (result.length() < 20) {
+                            failMsg = result;
+                        }
                     }
                 }
                 try {

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

@@ -20,6 +20,7 @@ import com.common.LogUtil;
 import com.common.data.DateFormatUtil;
 import com.common.data.JSONUtil;
 import com.core.app.Constants;
+import com.core.app.MyApplication;
 import com.core.base.activity.BaseMVPActivity;
 import com.core.utils.CommonUtil;
 import com.core.utils.SpanUtils;
@@ -208,10 +209,8 @@ public class B2BBusinessMainActivity extends BaseMVPActivity<WorkPlatPresenter>
                     showLoading(null);
 
                     Map<String, Object> params = new HashMap<>();
-                    //        params.put("en_uu", mEnuu);
-                    params.put("en_uu", 10041559);
-                    //        params.put("user_tel", MyApplication.getInstance().mLoginUser.getTelephone());
-                    params.put("user_tel", "15671616315");
+                    params.put("en_uu", mB2BCompanyBean.getEnuu());
+                    params.put("user_tel", MyApplication.getInstance().mLoginUser.getTelephone());
                     params.put("id", mPublicInquiryBeans.get(position).getId());
 
                     HttpRequest.getInstance().sendRequest("http://218.17.158.219:24000/",
@@ -294,10 +293,8 @@ public class B2BBusinessMainActivity extends BaseMVPActivity<WorkPlatPresenter>
         showLoading(null);
 
         Map<String, Object> params = new HashMap<>();
-//        params.put("en_uu", mB2BCompanyBean.getEnuu());
-        params.put("en_uu", 10041559);
-//        params.put("user_tel", MyApplication.getInstance().mLoginUser.getTelephone());
-        params.put("user_tel", "15671616315");
+        params.put("en_uu", mB2BCompanyBean.getEnuu());
+        params.put("user_tel", MyApplication.getInstance().mLoginUser.getTelephone());
         params.put("_state", "");
         params.put("page", 1);
         params.put("size", 3);
@@ -344,6 +341,7 @@ public class B2BBusinessMainActivity extends BaseMVPActivity<WorkPlatPresenter>
             if (b2BBusinessListBean != null) {
                 b2BBusinessListBean.setBillState(Constants.FLAG.STATE_CUSTOMER_INQUIRY_DONE);
             }
+            mCustomerInquiryAdapter.notifyDataSetChanged();
         } else if (requestCode == REQUEST_PUBLIC_DETAIL
                 && resultCode == Constants.FLAG.RESULT_PUBLIC_INQUIRY) {
             /*B2BBusinessListBean b2BBusinessListBean = mPublicInquiryBeans.get(mSelectPosition);
@@ -481,6 +479,8 @@ public class B2BBusinessMainActivity extends BaseMVPActivity<WorkPlatPresenter>
                 }
                 if (productObject != null) {
                     b2BBusinessListBean.setMaterialNum(JSONUtil.getText(productObject, "code"));
+                    b2BBusinessListBean.setMaterialName(JSONUtil.getText(productObject, "title"));
+                    b2BBusinessListBean.setMaterialSpec(JSONUtil.getText(productObject, "spec"));
                 }
                 long date = contentObject.getLongValue("date");
                 if (date != 0) {
@@ -541,13 +541,13 @@ public class B2BBusinessMainActivity extends BaseMVPActivity<WorkPlatPresenter>
                 if (orderItems == null || orderItems.size() == 0) {
                     b2BBusinessListBean.setMoney("0");
                 } else {
-                    long money = 0;
+                    double money = 0;
                     for (int j = 0; j < orderItems.size(); j++) {
                         JSONObject orderItem = orderItems.getJSONObject(j);
-                        long amount = JSONUtil.getLong(orderItem, "amount");
+                        double amount = JSONUtil.getDouble(orderItem, "amount");
                         money += amount;
                     }
-                    b2BBusinessListBean.setMoney(money + "");
+                    b2BBusinessListBean.setMoney(CommonUtil.doubleFormat(money));
                 }
                 String end = JSONUtil.getText(contentObject, "end");
                 if (!TextUtils.isEmpty(end) && "1".equals(end)) {

+ 61 - 24
app_modular/appworks/src/main/java/com/uas/appworks/activity/CustomerInquiryDetailActivity.java

@@ -15,6 +15,7 @@ import com.alibaba.fastjson.annotation.JSONField;
 import com.common.LogUtil;
 import com.common.data.JSONUtil;
 import com.core.app.Constants;
+import com.core.app.MyApplication;
 import com.core.base.activity.BaseMVPActivity;
 import com.core.utils.CommonUtil;
 import com.me.network.app.base.HttpCallback;
@@ -42,6 +43,7 @@ import java.util.Map;
 public class CustomerInquiryDetailActivity extends BaseMVPActivity<WorkPlatPresenter> implements View.OnClickListener, HttpCallback {
     private final int CUSTOMER_INQUIRY_REPLY = 0x14;
     private final int CUSTOMER_INQUIRY_DETAIL = 0x15;
+    private final int PUBLIC_INQUIRY_DETAIL = 0x16;
 
     private RecyclerView mDataRecyclerView, mQuoteRecyclerView;
     private ImageView mAddImageView;
@@ -99,12 +101,11 @@ public class CustomerInquiryDetailActivity extends BaseMVPActivity<WorkPlatPrese
                             JSONObject detailObject = JSON.parseObject(mJson);
                             JSONObject inquiryObject = detailObject.getJSONObject("inquiry");
                             String checked = JSONUtil.getText(inquiryObject, "checked");
-                            long endDate = inquiryObject.getLongValue("endDate");
-                            long currentDate = System.currentTimeMillis();
-                            if ("1".equals(checked) || currentDate > endDate) {
-                                initEditable(false, View.GONE);
-                            } else {
+                            String overdue = JSONUtil.getText(inquiryObject, "overdue");
+                            if (!"1".equals(checked) || "0".equals(overdue)) {
                                 initEditable(true, View.VISIBLE);
+                            } else {
+                                initEditable(false, View.GONE);
                             }
                         } else {
                             initEditable(false, View.GONE);
@@ -126,10 +127,17 @@ public class CustomerInquiryDetailActivity extends BaseMVPActivity<WorkPlatPrese
                         getSupportActionBar().setTitle(R.string.str_invalid);
                         initEditable(false, View.GONE);
                         break;
+                    case Constants.FLAG.STATE_CUSTOMER_INQUIRY_ABANDONED:
+                        getSupportActionBar().setTitle(R.string.str_abandoned);
+                        initEditable(false, View.GONE);
+                        break;
                     case Constants.FLAG.STATE_PUBLIC_INQUIRY_TODO:
                         getSupportActionBar().setTitle(R.string.str_wait_quoted);
                         initEditable(true, View.VISIBLE);
                         break;
+                    default:
+                        initEditable(false, View.GONE);
+                        break;
                 }
             }
         }
@@ -160,6 +168,29 @@ public class CustomerInquiryDetailActivity extends BaseMVPActivity<WorkPlatPrese
         if (mJson != null && JSONUtil.validate(mJson)) {
             initDetailData(mJson);
         } else {
+            showLoading(null);
+
+            Map<String, Object> params = new HashMap<>();
+            params.put("en_uu", mEnuu);
+            params.put("user_tel", MyApplication.getInstance().mLoginUser.getTelephone());
+            params.put("id", mId);
+            params.put("itemId", mId);
+
+            String host = "http://192.168.253.102:8090/platform-b2b/";
+            String url = "mobile/sale/inquiry/" + mId + "/info";
+            int flag = CUSTOMER_INQUIRY_DETAIL;
+            if (Constants.FLAG.STATE_PUBLIC_INQUIRY_TODO.equals(mState)) {
+                host = "http://218.17.158.219:24000/";
+                url = "inquiry/sale/publicInquiry/detail";
+                flag = PUBLIC_INQUIRY_DETAIL;
+            }
+            HttpRequest.getInstance().sendRequest(host
+                    , new HttpParams.Builder()
+                            .url(url)
+                            .method(Method.GET)
+                            .flag(flag)
+                            .setHeaders(new HashMap<String, Object>())
+                            .setParams(params).build(), this);
 
         }
     }
@@ -192,8 +223,8 @@ public class CustomerInquiryDetailActivity extends BaseMVPActivity<WorkPlatPrese
                 String title = JSONUtil.getText(productObject, "title");
                 String spec = JSONUtil.getText(productObject, "spec");
                 String code = JSONUtil.getText(productObject, "code");
-                material = title + (TextUtils.isEmpty(spec) ? "" : ("," + spec)
-                        + (TextUtils.isEmpty(code) ? "" : ("," + code)));//物料
+                material = title + (TextUtils.isEmpty(spec) ? "" : (",\n" + spec)
+                        + (TextUtils.isEmpty(code) ? "" : (",\n" + code)));//物料
             }
 
             String currency = JSONUtil.getText(detailObject, "currency");//币别
@@ -321,10 +352,8 @@ public class CustomerInquiryDetailActivity extends BaseMVPActivity<WorkPlatPrese
             String repliesJson = JSON.toJSONString(replies);
 
             Map<String, Object> params = new HashMap<>();
-//        params.put("en_uu", mEnuu);
-            params.put("en_uu", 10041559);
-//        params.put("user_tel", MyApplication.getInstance().mLoginUser.getTelephone());
-            params.put("user_tel", "15671616315");
+            params.put("en_uu", mEnuu);
+            params.put("user_tel", MyApplication.getInstance().mLoginUser.getTelephone());
             params.put("inquiryItemId", mId);
             params.put("replies", repliesJson);
             params.put("leadtime", leadtime);
@@ -358,19 +387,26 @@ public class CustomerInquiryDetailActivity extends BaseMVPActivity<WorkPlatPrese
         if (flag == CUSTOMER_INQUIRY_REPLY) {
             getSupportActionBar().setTitle(R.string.str_quoted_price);
             toast(getString(R.string.quote_success));
+            String publicId = "";
             if (Constants.FLAG.STATE_PUBLIC_INQUIRY_TODO.equals(mState)) {
                 setResult(Constants.FLAG.RESULT_PUBLIC_INQUIRY);
                 initEditable(false, View.GONE);
+                if (JSONUtil.validate(result)) {
+                    JSONObject publicObject = JSON.parseObject(result);
+                    publicId = JSONUtil.getText(publicObject, "content");
+                }
             } else {
                 setResult(Constants.FLAG.RESULT_CUSTOMER_INQUIRY);
             }
 
             Map<String, Object> params = new HashMap<>();
-//        params.put("en_uu", mEnuu);
-            params.put("en_uu", 10041559);
-//        params.put("user_tel", MyApplication.getInstance().mLoginUser.getTelephone());
-            params.put("user_tel", "15671616315");
-            params.put("itemId", mId);
+            params.put("en_uu", mEnuu);
+            params.put("user_tel", MyApplication.getInstance().mLoginUser.getTelephone());
+            if (Constants.FLAG.STATE_PUBLIC_INQUIRY_TODO.equals(mState)) {
+                params.put("itemId", publicId);
+            } else {
+                params.put("itemId", mId);
+            }
 
             String url = "mobile/sale/inquiry/" + mId + "/info";
             String host = "http://192.168.253.102:8090/platform-b2b/";
@@ -388,9 +424,10 @@ public class CustomerInquiryDetailActivity extends BaseMVPActivity<WorkPlatPrese
         } else if (flag == CUSTOMER_INQUIRY_DETAIL) {
             hideLoading();
 
-            if (Constants.FLAG.STATE_PUBLIC_INQUIRY_TODO.equals(mState)) {
-
-            } else if (result != null && JSONUtil.validate(result)) {
+            if (result != null && JSONUtil.validate(result)
+                    && (Constants.FLAG.STATE_CUSTOMER_INQUIRY_TODO.equals(mState)
+                    || Constants.FLAG.STATE_CUSTOMER_INQUIRY_DONE.equals(mState)
+                    || Constants.FLAG.STATE_PUBLIC_INQUIRY_TODO.equals(mState))) {
                 JSONObject contentObject = JSON.parseObject(result);
                 JSONObject inquiryObject = contentObject.getJSONObject("inquiry");
                 String checked = JSONUtil.getText(inquiryObject, "checked");
@@ -406,11 +443,11 @@ public class CustomerInquiryDetailActivity extends BaseMVPActivity<WorkPlatPrese
             }
             initDetailData(result);
 
-            if (Constants.FLAG.STATE_PUBLIC_INQUIRY_TODO.equals(mState)) {
-                setResult(Constants.FLAG.RESULT_PUBLIC_INQUIRY);
-            } else {
-                setResult(Constants.FLAG.RESULT_CUSTOMER_INQUIRY);
-            }
+        } else if (flag == PUBLIC_INQUIRY_DETAIL) {
+            hideLoading();
+
+            initEditable(true, View.VISIBLE);
+            initDetailData(result);
         }
     }
 

+ 8 - 8
app_modular/appworks/src/main/java/com/uas/appworks/activity/CustomerInquiryListActivity.java

@@ -36,7 +36,7 @@ public class CustomerInquiryListActivity extends BaseMVPActivity<WorkPlatPresent
     private List<String> mTitleStrings;
     private SearchActionView mSearchActionView;
 
-    private B2BBusinessListFragment mAllFragment, mWaitQuotedFragment, mQuotedPriceFragment, mQuotationAdoptedFragment, mExpiredFragment;
+    private B2BBusinessListFragment mAllFragment, mWaitQuotedFragment, mQuotedPriceFragment, mQuotationAdoptedFragment, mInvalidFragment;
 
     @Override
     protected int getLayout() {
@@ -59,7 +59,7 @@ public class CustomerInquiryListActivity extends BaseMVPActivity<WorkPlatPresent
         mWaitQuotedFragment = new B2BBusinessListFragment();
         mQuotedPriceFragment = new B2BBusinessListFragment();
         mQuotationAdoptedFragment = new B2BBusinessListFragment();
-        mExpiredFragment = new B2BBusinessListFragment();
+        mInvalidFragment = new B2BBusinessListFragment();
 
         mAllFragment.setListType(B2BBusinessListBean.CUSTOMER_INQUIRY_LIST);
         mWaitQuotedFragment.setListType(B2BBusinessListBean.CUSTOMER_INQUIRY_LIST);
@@ -68,22 +68,22 @@ public class CustomerInquiryListActivity extends BaseMVPActivity<WorkPlatPresent
         mQuotedPriceFragment.setListState(Constants.FLAG.STATE_CUSTOMER_INQUIRY_DONE);
         mQuotationAdoptedFragment.setListType(B2BBusinessListBean.CUSTOMER_INQUIRY_LIST);
         mQuotationAdoptedFragment.setListState(Constants.FLAG.STATE_CUSTOMER_INQUIRY_AGREED);
-        mExpiredFragment.setListType(B2BBusinessListBean.CUSTOMER_INQUIRY_LIST);
-        mExpiredFragment.setListState(Constants.FLAG.STATE_CUSTOMER_INQUIRY_END);
+        mInvalidFragment.setListType(B2BBusinessListBean.CUSTOMER_INQUIRY_LIST);
+        mInvalidFragment.setListState(Constants.FLAG.STATE_CUSTOMER_INQUIRY_INVALID);
 
         mFragments = new ArrayList<>();
         mFragments.add(mAllFragment);
         mFragments.add(mWaitQuotedFragment);
         mFragments.add(mQuotedPriceFragment);
         mFragments.add(mQuotationAdoptedFragment);
-        mFragments.add(mExpiredFragment);
+        mFragments.add(mInvalidFragment);
 
         mTitleStrings = new ArrayList<>();
         mTitleStrings.add(getString(R.string.all));
         mTitleStrings.add(getString(R.string.str_wait_quoted));
         mTitleStrings.add(getString(R.string.str_quoted_price));
         mTitleStrings.add(getString(R.string.str_adopted));
-        mTitleStrings.add(getString(R.string.str_expired));
+        mTitleStrings.add(getString(R.string.str_invalid));
         mTabViewpagerAdapter = new TabViewpagerAdapter(this, mFragments, mTitleStrings, getSupportFragmentManager());
 
         mViewPager.setOffscreenPageLimit(mFragments.size() - 1);
@@ -111,7 +111,7 @@ public class CustomerInquiryListActivity extends BaseMVPActivity<WorkPlatPresent
                     mWaitQuotedFragment.getListData(1, text);
                     mQuotedPriceFragment.getListData(1, text);
                     mQuotationAdoptedFragment.getListData(1, text);
-                    mExpiredFragment.getListData(1, text);
+                    mInvalidFragment.getListData(1, text);
                 } else {
                     toast(R.string.networks_out);
                 }
@@ -127,7 +127,7 @@ public class CustomerInquiryListActivity extends BaseMVPActivity<WorkPlatPresent
                     mWaitQuotedFragment.getListData(1, text);
                     mQuotedPriceFragment.getListData(1, text);
                     mQuotationAdoptedFragment.getListData(1, text);
-                    mExpiredFragment.getListData(1, text);
+                    mInvalidFragment.getListData(1, text);
                 } else {
                     toast(R.string.networks_out);
                 }

+ 95 - 7
app_modular/appworks/src/main/java/com/uas/appworks/activity/PublicInquiryDetailActivity.java

@@ -1,27 +1,35 @@
 package com.uas.appworks.activity;
 
+import android.Manifest;
 import android.content.Intent;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
 
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.common.LogUtil;
 import com.common.data.DateFormatUtil;
 import com.common.data.JSONUtil;
+import com.common.data.StringUtil;
+import com.core.app.AppConstant;
 import com.core.app.Constants;
+import com.core.app.MyApplication;
 import com.core.base.activity.BaseMVPActivity;
 import com.core.utils.CommonUtil;
+import com.core.utils.OpenFilesUtils;
+import com.core.utils.ToastUtil;
+import com.core.widget.CustomProgressDialog;
 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.uas.appworks.R;
 import com.uas.appworks.adapter.B2BDetailListAdapter;
+import com.uas.appworks.model.bean.B2BAttachBean;
 import com.uas.appworks.model.bean.B2BDetailListBean;
 import com.uas.appworks.presenter.WorkPlatPresenter;
 
+import java.io.File;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -50,6 +58,8 @@ public class PublicInquiryDetailActivity extends BaseMVPActivity<WorkPlatPresent
 
     @Override
     protected void initView() {
+        getSupportActionBar().setTitle(R.string.title_quoted_price);
+
         mEnuu = CommonUtil.getSharedPreferences(mContext, Constants.CACHE.B2B_BUSINESS_ENUU);
 
         mInquiryRecyclerView = $(R.id.public_inquiry_detail_inquiry_information_rv);
@@ -94,10 +104,8 @@ public class PublicInquiryDetailActivity extends BaseMVPActivity<WorkPlatPresent
             showLoading(null);
 
             Map<String, Object> params = new HashMap<>();
-//        params.put("en_uu", mEnuu);
-            params.put("en_uu", 10041559);
-//        params.put("user_tel", MyApplication.getInstance().mLoginUser.getTelephone());
-            params.put("user_tel", "15671616315");
+            params.put("en_uu", mEnuu);
+            params.put("user_tel", MyApplication.getInstance().mLoginUser.getTelephone());
             params.put("id", mId);
 
             HttpRequest.getInstance().sendRequest("http://218.17.158.219:24000/",
@@ -127,8 +135,6 @@ public class PublicInquiryDetailActivity extends BaseMVPActivity<WorkPlatPresent
             unit = JSONUtil.getText(productObject, "unit");
         }
         if (inquiryObject != null) {
-            //附件
-            JSONArray attachsArray = inquiryObject.getJSONArray("attachs");
 
             inquiryId = JSONUtil.getText(inquiryObject, "code");
             long endDate = inquiryObject.getLongValue("endDate");
@@ -141,6 +147,32 @@ public class PublicInquiryDetailActivity extends BaseMVPActivity<WorkPlatPresent
                 inquiryCompany = JSONUtil.getText(enterpriseObject, "enName");
             }
 
+            //附件
+            /*JSONArray attachsArray = inquiryObject.getJSONArray("attachs");
+            if (attachsArray != null && attachsArray.size() > 0) {
+                SpanUtils spanUtils = new SpanUtils();
+                for (int i = 0; i < attachsArray.size(); i++) {
+                    final B2BAttachBean b2BAttachBean = new B2BAttachBean();
+
+                    JSONObject attachObject = attachsArray.getJSONObject(i);
+                    String name = JSONUtil.getText(attachObject, "name");
+                    String path = JSONUtil.getText(attachObject, "path");
+                    long size = attachObject.getLongValue("size");
+
+                    b2BAttachBean.setName(name);
+                    b2BAttachBean.setPath(path);
+                    b2BAttachBean.setSize(size);
+
+                    spanUtils.append(name + ((i == (attachsArray.size() - 1)) ? "" : "\n")).setUnderline()
+                            .setForegroundColor(getResources().getColor(R.color.titleBlue)).setClickSpan(new ClickableSpan() {
+                        @Override
+                        public void onClick(View view) {
+                            gotoReadEnclosure(b2BAttachBean);
+                        }
+                    });
+                }
+                attachs = spanUtils.create().toString();
+            }*/
         }
 
         mInquiryListBeans.add(createB2BDetailListBean(B2BDetailListBean.TYPE_DETAIL_TEXT_WHITE, getString(R.string.public_inquiry_id), inquiryId, "", "询价编号", ""));
@@ -217,4 +249,60 @@ public class PublicInquiryDetailActivity extends BaseMVPActivity<WorkPlatPresent
             toast(failStr);
         }
     }
+
+    private void gotoReadEnclosure(B2BAttachBean attach) {
+        String url = attach.getPath();
+        final CustomProgressDialog progressDialog = CustomProgressDialog.createDialog(ct);
+        progressDialog.setTitile("正在预览");
+        progressDialog.setMessage("正在生成附件预览,请勿关闭程序");
+        if (!StringUtil.isEmpty(attach.getName())) {
+            if (isImage(attach.getName())) {
+                Intent intent = new Intent("com.modular.tool.SingleImagePreviewActivity");
+                intent.putExtra(AppConstant.EXTRA_IMAGE_URI, url);
+                ct.startActivity(intent);
+            } else {
+                OpenFilesUtils.downLoadFile(url, attach.getName(), new OpenFilesUtils.OnFileLoadListener() {
+                    @Override
+                    public void onLoadIng(int progress, int allProgress) {
+                        if (progressDialog != null) {
+                            progressDialog.show();
+                        }
+                    }
+
+                    @Override
+                    public void onSuccess(final File file) {
+                        if (progressDialog != null)
+                            progressDialog.dismiss();
+                        try {
+                            requestPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE, new Runnable() {
+                                @Override
+                                public void run() {
+                                    OpenFilesUtils.openCommonFils(ct, file);
+                                }
+                            }, new Runnable() {
+                                @Override
+                                public void run() {
+                                    toast(R.string.not_system_permission);
+                                }
+                            });
+                        } catch (Exception e) {
+
+                        }
+                    }
+
+                    @Override
+                    public void onFailure(String exception) {
+                        LogUtil.i("exception=" + exception);
+                        ToastUtil.showToast(ct, exception);
+                    }
+                });
+            }
+        }
+    }
+
+    private boolean isImage(String name) {
+        return name.toUpperCase().endsWith("jpeg".toUpperCase())
+                || name.toUpperCase().endsWith("jpg".toUpperCase())
+                || name.toUpperCase().endsWith("png".toUpperCase());
+    }
 }

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

@@ -60,23 +60,23 @@ public class PurchaseOrderListActivity extends BaseMVPActivity {
         mSettledFragment = new B2BBusinessListFragment();
 
         mAllFragment.setListType(B2BBusinessListBean.PURCHASE_ORDER_LIST);
-        mRepliedFragment.setListType(B2BBusinessListBean.PURCHASE_ORDER_LIST);
-        mRepliedFragment.setListState(Constants.FLAG.STATE_PURCHASE_ORDER_DONE);
         mWaitReplyFragment.setListType(B2BBusinessListBean.PURCHASE_ORDER_LIST);
         mWaitReplyFragment.setListState(Constants.FLAG.STATE_PURCHASE_ORDER_TODO);
+        mRepliedFragment.setListType(B2BBusinessListBean.PURCHASE_ORDER_LIST);
+        mRepliedFragment.setListState(Constants.FLAG.STATE_PURCHASE_ORDER_DONE);
         mSettledFragment.setListType(B2BBusinessListBean.PURCHASE_ORDER_LIST);
         mSettledFragment.setListState(Constants.FLAG.STATE_PURCHASE_ORDER_END);
 
         mFragments = new ArrayList<>();
         mFragments.add(mAllFragment);
-        mFragments.add(mRepliedFragment);
         mFragments.add(mWaitReplyFragment);
+        mFragments.add(mRepliedFragment);
         mFragments.add(mSettledFragment);
 
         mTitleStrings = new ArrayList<>();
         mTitleStrings.add(getString(R.string.all));
-        mTitleStrings.add(getString(R.string.str_have_replied));
         mTitleStrings.add(getString(R.string.str_wait_for_reply));
+        mTitleStrings.add(getString(R.string.str_have_replied));
         mTitleStrings.add(getString(R.string.str_case_closed));
         mTabViewpagerAdapter = new TabViewpagerAdapter(this, mFragments, mTitleStrings, getSupportFragmentManager());
 

+ 17 - 4
app_modular/appworks/src/main/java/com/uas/appworks/adapter/B2BQuotePriceAdapter.java

@@ -75,6 +75,13 @@ public class B2BQuotePriceAdapter extends RecyclerView.Adapter<B2BQuotePriceAdap
             holder.mAmountTextView.setVisibility(View.GONE);
             holder.mPriceTextView.setVisibility(View.GONE);
 
+            if (holder.mAmountEditText.getTag() instanceof TextWatcher) {
+                holder.mAmountEditText.removeTextChangedListener((TextWatcher) holder.mAmountEditText.getTag());
+            }
+            if (holder.mPriceEditText.getTag() instanceof TextWatcher) {
+                holder.mPriceEditText.removeTextChangedListener((TextWatcher) holder.mPriceEditText.getTag());
+            }
+
             holder.mAmountEditText.setText(b2BQuotePriceBean.getAmount());
             holder.mPriceEditText.setText(b2BQuotePriceBean.getPrice());
             holder.mDeleteImageView.setOnClickListener(new View.OnClickListener() {
@@ -89,7 +96,7 @@ public class B2BQuotePriceAdapter extends RecyclerView.Adapter<B2BQuotePriceAdap
                 }
             });
 
-            holder.mAmountEditText.addTextChangedListener(new TextWatcher() {
+            TextWatcher amountTextWatcher = new TextWatcher() {
                 @Override
                 public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
 
@@ -105,9 +112,9 @@ public class B2BQuotePriceAdapter extends RecyclerView.Adapter<B2BQuotePriceAdap
                     String s = editable.toString();
                     b2BQuotePriceBean.setAmount(s);
                 }
-            });
+            };
 
-            holder.mPriceEditText.addTextChangedListener(new TextWatcher() {
+            TextWatcher priceTextWatcher = new TextWatcher() {
                 @Override
                 public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
 
@@ -123,7 +130,13 @@ public class B2BQuotePriceAdapter extends RecyclerView.Adapter<B2BQuotePriceAdap
                     String s = editable.toString();
                     b2BQuotePriceBean.setPrice(s);
                 }
-            });
+            };
+
+            holder.mAmountEditText.addTextChangedListener(amountTextWatcher);
+            holder.mAmountEditText.setTag(amountTextWatcher);
+
+            holder.mPriceEditText.addTextChangedListener(priceTextWatcher);
+            holder.mPriceEditText.setTag(priceTextWatcher);
         } else {
             holder.mAmountEditText.setVisibility(View.GONE);
             holder.mPriceEditText.setVisibility(View.GONE);

+ 15 - 9
app_modular/appworks/src/main/java/com/uas/appworks/adapter/B2bBusinessListAdapter.java

@@ -81,45 +81,51 @@ public class B2bBusinessListAdapter extends BaseMultiItemQuickAdapter<B2BBusines
         holder.setText(R.id.list_customer_inquiry_bill_date_tv, b2BBusinessListBean.getBillDate());
         holder.setText(R.id.list_customer_inquiry_bill_num_tv, b2BBusinessListBean.getBillNum());
         holder.setText(R.id.list_customer_inquiry_material_num_tv, b2BBusinessListBean.getMaterialNum());
+        holder.setText(R.id.list_customer_inquiry_material_name_tv, b2BBusinessListBean.getMaterialName());
+        holder.setText(R.id.list_customer_inquiry_material_spec_tv, b2BBusinessListBean.getMaterialSpec());
         holder.setText(R.id.list_customer_inquiry_expiry_date_tv, b2BBusinessListBean.getExpiryDate());
 
         String billState = b2BBusinessListBean.getBillState();
         if (billState != null) {
             switch (billState) {
                 case Constants.FLAG.STATE_CUSTOMER_INQUIRY_TODO:
-                    setCustomerBtn(holder, true, false, false, false, false, false);
+                    setCustomerBtn(holder, true, false, false, false, false, false, false);
                     break;
                 case Constants.FLAG.STATE_CUSTOMER_INQUIRY_DONE:
-                    setCustomerBtn(holder, false, true, false, false, false, false);
+                    setCustomerBtn(holder, false, true, false, false, false, false, false);
                     break;
                 case Constants.FLAG.STATE_CUSTOMER_INQUIRY_AGREED:
-                    setCustomerBtn(holder, false, false, true, false, false, false);
+                    setCustomerBtn(holder, false, false, true, false, false, false, false);
                     break;
                 case Constants.FLAG.STATE_CUSTOMER_INQUIRY_END:
-                    setCustomerBtn(holder, false, false, false, true, false, false);
+                    setCustomerBtn(holder, false, false, false, true, false, false, false);
                     break;
                 case Constants.FLAG.STATE_CUSTOMER_INQUIRY_REFUSED:
-                    setCustomerBtn(holder, false, false, false, false, true, false);
+                    setCustomerBtn(holder, false, false, false, false, true, false, false);
                     break;
                 case Constants.FLAG.STATE_CUSTOMER_INQUIRY_INVALID:
-                    setCustomerBtn(holder, false, false, false, false, false, true);
+                    setCustomerBtn(holder, false, false, false, false, false, true, false);
+                    break;
+                case Constants.FLAG.STATE_CUSTOMER_INQUIRY_ABANDONED:
+                    setCustomerBtn(holder, false, false, false, false, false, false, true);
                     break;
                 default:
-                    setCustomerBtn(holder, false, false, false, false, false, false);
+                    setCustomerBtn(holder, false, false, false, false, false, false, false);
                     break;
             }
         } else {
-            setCustomerBtn(holder, false, false, false, false, false, false);
+            setCustomerBtn(holder, false, false, false, false, false, false, false);
         }
     }
 
-    private void setCustomerBtn(BaseViewHolder holder, boolean b1, boolean b2, boolean b3, boolean b4, boolean b5, boolean b6) {
+    private void setCustomerBtn(BaseViewHolder holder, boolean b1, boolean b2, boolean b3, boolean b4, boolean b5, boolean b6, boolean b7) {
         holder.setVisible(R.id.list_customer_inquiry_wait_quoted_btn, b1);
         holder.setVisible(R.id.list_customer_inquiry_quoted_price_btn, b2);
         holder.setVisible(R.id.list_customer_inquiry_quotation_adopted_btn, b3);
         holder.setVisible(R.id.list_customer_inquiry_expired_btn, b4);
         holder.setVisible(R.id.list_customer_inquiry_quotation_unadopted_btn, b5);
         holder.setVisible(R.id.list_customer_inquiry_invalid_btn, b6);
+        holder.setVisible(R.id.list_customer_inquiry_abandoned_btn, b7);
     }
 
     private void bindPurchaseOrder(BaseViewHolder holder, B2BBusinessListBean b2BBusinessListBean) {

+ 29 - 27
app_modular/appworks/src/main/java/com/uas/appworks/fragment/B2BBusinessListFragment.java

@@ -17,6 +17,7 @@ import com.common.LogUtil;
 import com.common.data.DateFormatUtil;
 import com.common.data.JSONUtil;
 import com.core.app.Constants;
+import com.core.app.MyApplication;
 import com.core.base.activity.BaseMVPActivity;
 import com.core.base.fragment.BaseMVPFragment;
 import com.core.utils.CommonUtil;
@@ -91,7 +92,7 @@ public class B2BBusinessListFragment extends BaseMVPFragment<WorkPlatPresenter>
                 break;
             default:
                 mListUrl = "mobile/sale/orders/info/search";
-
+                break;
         }
     }
 
@@ -158,10 +159,8 @@ public class B2BBusinessListFragment extends BaseMVPFragment<WorkPlatPresenter>
                             showLoading(null);
 
                             Map<String, Object> params = new HashMap<>();
-                            //        params.put("en_uu", mEnuu);
-                            params.put("en_uu", 10041559);
-                            //        params.put("user_tel", MyApplication.getInstance().mLoginUser.getTelephone());
-                            params.put("user_tel", "15671616315");
+                            params.put("en_uu", mEnuu);
+                            params.put("user_tel", MyApplication.getInstance().mLoginUser.getTelephone());
                             params.put("id", data.get(position).getId());
 
                             HttpRequest.getInstance().sendRequest("http://218.17.158.219:24000/",
@@ -251,10 +250,8 @@ public class B2BBusinessListFragment extends BaseMVPFragment<WorkPlatPresenter>
         mKeyWord = keyWord;
 
         Map<String, Object> params = new HashMap<>();
-//        params.put("en_uu", mEnuu);
-        params.put("en_uu", 10041559);
-//        params.put("user_tel", MyApplication.getInstance().mLoginUser.getTelephone());
-        params.put("user_tel", "15671616315");
+        params.put("en_uu", mEnuu);
+        params.put("user_tel", MyApplication.getInstance().mLoginUser.getTelephone());
         params.put("_state", mListState);
         params.put("page", mPageIndex);
         params.put("size", mPageSize);
@@ -451,32 +448,37 @@ public class B2BBusinessListFragment extends BaseMVPFragment<WorkPlatPresenter>
                 }
                 if (productObject != null) {
                     b2BBusinessListBean.setMaterialNum(JSONUtil.getText(productObject, "code"));
+                    b2BBusinessListBean.setMaterialName(JSONUtil.getText(productObject, "title"));
+                    b2BBusinessListBean.setMaterialSpec(JSONUtil.getText(productObject, "spec"));
                 }
                 long date = contentObject.getLongValue("date");
                 if (date != 0) {
                     b2BBusinessListBean.setBillDate(DateFormatUtil.long2Str(date, DateFormatUtil.YMD));
                 }
                 String invalid = JSONUtil.getText(contentObject, "invalid");
-                if ("1".equals(invalid)) {
-                    b2BBusinessListBean.setBillState(Constants.FLAG.STATE_CUSTOMER_INQUIRY_INVALID);
-                } else {
-                    String overdue = JSONUtil.getText(contentObject, "overdue");
+                String status = JSONUtil.getText(contentObject, "status");
+                String overdue = JSONUtil.getText(contentObject, "overdue");
+                String agreed = JSONUtil.getText(contentObject, "agreed");
+
+                if ("314".equals(status)) {
+                    b2BBusinessListBean.setBillState(Constants.FLAG.STATE_CUSTOMER_INQUIRY_ABANDONED);
+                } else if ("200".equals(status)) {
                     if ("1".equals(overdue)) {
                         b2BBusinessListBean.setBillState(Constants.FLAG.STATE_CUSTOMER_INQUIRY_END);
                     } else {
-                        String agreed = JSONUtil.getText(contentObject, "agreed");
-                        if ("1".equals(agreed)) {
-                            b2BBusinessListBean.setBillState(Constants.FLAG.STATE_CUSTOMER_INQUIRY_AGREED);
-                        } else if ("0".equals(agreed)) {
-                            b2BBusinessListBean.setBillState(Constants.FLAG.STATE_CUSTOMER_INQUIRY_REFUSED);
+                        b2BBusinessListBean.setBillState(Constants.FLAG.STATE_CUSTOMER_INQUIRY_TODO);
+                    }
+                } else if ("201".equals(status)) {
+                    if ("1".equals(agreed)) {
+                        if ("1".equals(invalid)) {
+                            b2BBusinessListBean.setBillState(Constants.FLAG.STATE_CUSTOMER_INQUIRY_INVALID);
                         } else {
-                            String status = JSONUtil.getText(contentObject, "status");
-                            if ("200".equals(status)) {
-                                b2BBusinessListBean.setBillState(Constants.FLAG.STATE_CUSTOMER_INQUIRY_TODO);
-                            } else if ("201".equals(status)) {
-                                b2BBusinessListBean.setBillState(Constants.FLAG.STATE_CUSTOMER_INQUIRY_DONE);
-                            }
+                            b2BBusinessListBean.setBillState(Constants.FLAG.STATE_CUSTOMER_INQUIRY_AGREED);
                         }
+                    } else if ("0".equals(agreed)) {
+                        b2BBusinessListBean.setBillState(Constants.FLAG.STATE_CUSTOMER_INQUIRY_REFUSED);
+                    } else {
+                        b2BBusinessListBean.setBillState(Constants.FLAG.STATE_CUSTOMER_INQUIRY_DONE);
                     }
                 }
 
@@ -510,13 +512,13 @@ public class B2BBusinessListFragment extends BaseMVPFragment<WorkPlatPresenter>
                 if (orderItems == null || orderItems.size() == 0) {
                     b2BBusinessListBean.setMoney("0");
                 } else {
-                    long money = 0;
+                    double money = 0;
                     for (int j = 0; j < orderItems.size(); j++) {
                         JSONObject orderItem = orderItems.getJSONObject(j);
-                        long amount = JSONUtil.getLong(orderItem, "amount");
+                        double amount = JSONUtil.getDouble(orderItem, "amount");
                         money += amount;
                     }
-                    b2BBusinessListBean.setMoney(money + "");
+                    b2BBusinessListBean.setMoney(CommonUtil.doubleFormat(money));
                 }
                 String end = JSONUtil.getText(contentObject, "end");
                 if (!TextUtils.isEmpty(end) && "1".equals(end)) {

+ 37 - 0
app_modular/appworks/src/main/java/com/uas/appworks/model/bean/B2BAttachBean.java

@@ -0,0 +1,37 @@
+package com.uas.appworks.model.bean;
+
+/**
+ * @author RaoMeng
+ * @describe B2B附件实体
+ * @date 2018/1/23 11:13
+ */
+
+public class B2BAttachBean {
+    private String mName;
+    private String mPath;
+    private long mSize;
+
+    public String getName() {
+        return mName;
+    }
+
+    public void setName(String name) {
+        mName = name;
+    }
+
+    public String getPath() {
+        return mPath;
+    }
+
+    public void setPath(String path) {
+        mPath = path;
+    }
+
+    public long getSize() {
+        return mSize;
+    }
+
+    public void setSize(long size) {
+        mSize = size;
+    }
+}

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

@@ -19,6 +19,8 @@ public class B2BBusinessListBean implements MultiItemEntity {
     private String mBillDate;//单据日期
     private String mBillNum;//单据编号
     private String mMaterialNum;//物料编号
+    private String mMaterialName;//物料名称
+    private String mMaterialSpec;//物料规格
     private String mMoney;//金额
     private String mBillState;//单据状态
     private String mExpiryDate;//截止日期
@@ -78,6 +80,22 @@ public class B2BBusinessListBean implements MultiItemEntity {
         mMaterialNum = materialNum;
     }
 
+    public String getMaterialName() {
+        return mMaterialName;
+    }
+
+    public void setMaterialName(String materialName) {
+        mMaterialName = materialName;
+    }
+
+    public String getMaterialSpec() {
+        return mMaterialSpec;
+    }
+
+    public void setMaterialSpec(String materialSpec) {
+        mMaterialSpec = materialSpec;
+    }
+
     public String getMoney() {
         return mMoney;
     }

+ 1 - 0
app_modular/appworks/src/main/res/layout/layout_list_b2b_account.xml

@@ -10,6 +10,7 @@
         android:id="@+id/list_b2b_account_cb"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
+        android:paddingLeft="6dp"
         android:button="@drawable/selector_b2b_account"
         tools:text="深圳市优软科技有限公司" />
 </LinearLayout>

+ 65 - 0
app_modular/appworks/src/main/res/layout/layout_list_customer_inquiry.xml

@@ -87,6 +87,56 @@
                 tools:text="2018-01-21" />
         </LinearLayout>
 
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="6dp"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <TextView
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:text="@string/str_material_name"
+                android:textSize="14sp" />
+
+            <TextView
+                android:id="@+id/list_customer_inquiry_material_name_tv"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="4dp"
+                android:layout_weight="3"
+                android:textColor="@color/black"
+                android:textSize="14sp"
+                tools:text="2018-01-21" />
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="6dp"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <TextView
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:text="@string/str_material_spec"
+                android:textSize="14sp" />
+
+            <TextView
+                android:id="@+id/list_customer_inquiry_material_spec_tv"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="4dp"
+                android:layout_weight="3"
+                android:textColor="@color/black"
+                android:textSize="14sp"
+                tools:text="2018-01-21" />
+        </LinearLayout>
+
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
@@ -204,4 +254,19 @@
         android:textColor="@color/b2b_btn_end"
         android:visibility="gone" />
 
+    <TextView
+        android:id="@+id/list_customer_inquiry_abandoned_btn"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignParentBottom="true"
+        android:layout_alignParentRight="true"
+        android:background="@drawable/shape_b2b_end_bg"
+        android:paddingBottom="4dp"
+        android:paddingLeft="8dp"
+        android:paddingRight="8dp"
+        android:paddingTop="4dp"
+        android:text="@string/str_abandoned"
+        android:textColor="@color/b2b_btn_end"
+        android:visibility="gone" />
+
 </RelativeLayout>

+ 10 - 6
app_modular/appworks/src/main/res/values-en/strings.xml

@@ -66,15 +66,15 @@
     <string name="str_wait_for_reply">待回复</string>
     <string name="str_have_replied">已回复</string>
     <string name="str_case_closed">已结案</string>
-    <string name="str_expiry_date">截止日期</string>
+    <string name="str_expiry_date">截止日期</string>
     <string name="str_quotation_adopted">报价已采纳</string>
     <string name="str_expired">已过期</string>
     <string name="str_quoted_price">已报价</string>
-    <string name="str_product_name">产品名称</string>
-    <string name="str_product_model">产品型号</string>
-    <string name="str_product_specification">产品规格</string>
-    <string name="str_product_amount">数量</string>
-    <string name="str_product_brand">品牌</string>
+    <string name="str_product_name">产品名称</string>
+    <string name="str_product_model">产品型号</string>
+    <string name="str_product_specification">产品规格</string>
+    <string name="str_product_amount">数量</string>
+    <string name="str_product_brand">品牌</string>
     <string name="str_offer_quotation">我要报价</string>
     <string name="please_select_company">请选择以下企业登录</string>
     <string name="binded_company">已绑定企业</string>
@@ -118,4 +118,8 @@
     <string name="customer_inquiry_leadtime">交货周期</string>
     <string name="customer_inquiry_min_order">最小起订</string>
     <string name="customer_inquiry_min_pack">最小包装</string>
+    <string name="str_abandoned">已作废</string>
+    <string name="title_quoted_price">已转报价</string>
+    <string name="str_material_name">物料名称:</string>
+    <string name="str_material_spec">物料规格:</string>
 </resources>

+ 10 - 6
app_modular/appworks/src/main/res/values-zh-rCN/strings.xml

@@ -65,15 +65,15 @@
     <string name="str_wait_for_reply">待回复</string>
     <string name="str_have_replied">已回复</string>
     <string name="str_case_closed">已结案</string>
-    <string name="str_expiry_date">截止日期</string>
+    <string name="str_expiry_date">截止日期</string>
     <string name="str_quotation_adopted">报价已采纳</string>
     <string name="str_expired">已过期</string>
     <string name="str_quoted_price">已报价</string>
-    <string name="str_product_name">产品名称</string>
-    <string name="str_product_model">产品型号</string>
-    <string name="str_product_specification">产品规格</string>
-    <string name="str_product_amount">数量</string>
-    <string name="str_product_brand">品牌</string>
+    <string name="str_product_name">产品名称</string>
+    <string name="str_product_model">产品型号</string>
+    <string name="str_product_specification">产品规格</string>
+    <string name="str_product_amount">数量</string>
+    <string name="str_product_brand">品牌</string>
     <string name="str_offer_quotation">我要报价</string>
     <string name="please_select_company">请选择以下企业登录</string>
     <string name="binded_company">已绑定企业</string>
@@ -117,4 +117,8 @@
     <string name="customer_inquiry_leadtime">交货周期</string>
     <string name="customer_inquiry_min_order">最小起订</string>
     <string name="customer_inquiry_min_pack">最小包装</string>
+    <string name="str_abandoned">已作废</string>
+    <string name="title_quoted_price">已转报价</string>
+    <string name="str_material_name">物料名称:</string>
+    <string name="str_material_spec">物料规格:</string>
 </resources>

+ 10 - 6
app_modular/appworks/src/main/res/values-zh-rTW/strings.xml

@@ -65,15 +65,15 @@
     <string name="str_wait_for_reply">待回复</string>
     <string name="str_have_replied">已回复</string>
     <string name="str_case_closed">已结案</string>
-    <string name="str_expiry_date">截止日期</string>
+    <string name="str_expiry_date">截止日期</string>
     <string name="str_quotation_adopted">报价已采纳</string>
     <string name="str_expired">已过期</string>
     <string name="str_quoted_price">已报价</string>
-    <string name="str_product_name">产品名称</string>
-    <string name="str_product_model">产品型号</string>
-    <string name="str_product_specification">产品规格</string>
-    <string name="str_product_amount">数量</string>
-    <string name="str_product_brand">品牌</string>
+    <string name="str_product_name">产品名称</string>
+    <string name="str_product_model">产品型号</string>
+    <string name="str_product_specification">产品规格</string>
+    <string name="str_product_amount">数量</string>
+    <string name="str_product_brand">品牌</string>
     <string name="str_offer_quotation">我要报价</string>
     <string name="please_select_company">请选择以下企业登录</string>
     <string name="binded_company">已绑定企业</string>
@@ -117,4 +117,8 @@
     <string name="customer_inquiry_leadtime">交货周期</string>
     <string name="customer_inquiry_min_order">最小起订</string>
     <string name="customer_inquiry_min_pack">最小包装</string>
+    <string name="str_abandoned">已作废</string>
+    <string name="title_quoted_price">已转报价</string>
+    <string name="str_material_name">物料名称</string>
+    <string name="str_material_spec">物料规格</string>
 </resources>

+ 10 - 6
app_modular/appworks/src/main/res/values/strings.xml

@@ -97,15 +97,15 @@
     <string name="str_wait_for_reply">待回复</string>
     <string name="str_have_replied">已回复</string>
     <string name="str_case_closed">已结案</string>
-    <string name="str_expiry_date">截止日期</string>
+    <string name="str_expiry_date">截止日期</string>
     <string name="str_quotation_adopted">报价已采纳</string>
     <string name="str_expired">已过期</string>
     <string name="str_quoted_price">已报价</string>
-    <string name="str_product_name">产品名称</string>
-    <string name="str_product_model">产品型号</string>
-    <string name="str_product_specification">产品规格</string>
-    <string name="str_product_amount">数量</string>
-    <string name="str_product_brand">品牌</string>
+    <string name="str_product_name">产品名称</string>
+    <string name="str_product_model">产品型号</string>
+    <string name="str_product_specification">产品规格</string>
+    <string name="str_product_amount">数量</string>
+    <string name="str_product_brand">品牌</string>
     <string name="str_offer_quotation">我要报价</string>
     <string name="please_select_company">请选择以下企业登录</string>
     <string name="binded_company">已绑定企业</string>
@@ -149,6 +149,10 @@
     <string name="customer_inquiry_leadtime">交货周期</string>
     <string name="customer_inquiry_min_order">最小起订</string>
     <string name="customer_inquiry_min_pack">最小包装</string>
+    <string name="str_abandoned">已作废</string>
+    <string name="title_quoted_price">已转报价</string>
+    <string name="str_material_name">物料名称:</string>
+    <string name="str_material_spec">物料规格:</string>
 
 
 </resources>