|
|
@@ -5,6 +5,9 @@ import android.os.Bundle;
|
|
|
import android.support.v7.widget.LinearLayoutManager;
|
|
|
import android.support.v7.widget.RecyclerView;
|
|
|
import android.text.TextUtils;
|
|
|
+import android.view.Menu;
|
|
|
+import android.view.MenuInflater;
|
|
|
+import android.view.MenuItem;
|
|
|
import android.view.View;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
@@ -21,6 +24,8 @@ import com.modular.apputils.R;
|
|
|
import com.modular.apputils.activity.BillInputActivity;
|
|
|
import com.modular.apputils.adapter.BillListAdapter;
|
|
|
import com.modular.apputils.listener.OnSmartHttpListener;
|
|
|
+import com.modular.apputils.model.BillConfig;
|
|
|
+import com.modular.apputils.model.BillListConfig;
|
|
|
import com.modular.apputils.model.BillListGroupModel;
|
|
|
import com.modular.apputils.network.Parameter;
|
|
|
import com.modular.apputils.network.Tags;
|
|
|
@@ -29,6 +34,7 @@ import com.module.recyclerlibrary.ui.refresh.BaseRefreshLayout;
|
|
|
import com.module.recyclerlibrary.ui.refresh.EmptyRecyclerView;
|
|
|
import com.module.recyclerlibrary.ui.refresh.simlpe.SimpleRefreshLayout;
|
|
|
|
|
|
+import java.io.Serializable;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
|
|
|
@@ -36,26 +42,45 @@ public class BIllListFragment extends ViewPagerLazyFragment {
|
|
|
private final int PAGE_SIZE = 20;
|
|
|
private final int LOAD_LIST_DATA = 0x11;
|
|
|
|
|
|
- private boolean isMe;
|
|
|
- private String mCaller;
|
|
|
- private String mCondition;
|
|
|
+ private BillListConfig billConfig;
|
|
|
+
|
|
|
private int mPageIndex = 1;
|
|
|
private RecyclerView mRecyclerView;
|
|
|
-
|
|
|
+ private Class mDetailsClass;
|
|
|
private UUHttpHelper mUUHttpHelper;
|
|
|
private SimpleRefreshLayout mRefreshLayout;
|
|
|
|
|
|
|
|
|
- public static BIllListFragment newInstance(boolean isMe,String mCaller, String mCondition) {
|
|
|
+ public static BIllListFragment newInstance(BillListConfig billConfig, Class mDetailsClass) {
|
|
|
Bundle args = new Bundle();
|
|
|
BIllListFragment fragment = new BIllListFragment();
|
|
|
- args.putString("mCaller", mCaller);
|
|
|
- args.putBoolean("isMe", isMe);
|
|
|
- args.putString("mCondition", mCondition);
|
|
|
+ args.putParcelable("billConfig", billConfig);
|
|
|
+ args.putSerializable("mDetailsClass", mDetailsClass);
|
|
|
fragment.setArguments(args);
|
|
|
return fragment;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
|
|
|
+ inflater.inflate(R.menu.search, menu);
|
|
|
+ super.onCreateOptionsMenu(menu, inflater);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean onOptionsItemSelected(MenuItem item) {
|
|
|
+ if (R.id.search == item.getItemId()) {
|
|
|
+ startActivity(new Intent("com.modular.work.crm3_0.activity.BillSearchActivity")
|
|
|
+ .putExtra(Constants.Intents.CALLER, billConfig.getCaller())
|
|
|
+ .putExtra(Constants.Intents.DETAILS_CLASS, mDetailsClass)
|
|
|
+ .putExtra(Constants.Intents.MY_DOIT, billConfig.isMe())
|
|
|
+ .putExtra(Constants.Intents.CONDITION, billConfig.getCondition())
|
|
|
+ .putStringArrayListExtra(Constants.Intents.FIELD_CONFIG, fieldConfig)
|
|
|
+ .putExtra(Constants.Intents.CONFIG, billConfig)
|
|
|
+ .putExtra(Constants.Intents.TITLE, getActivity().getTitle())
|
|
|
+ );
|
|
|
+ }
|
|
|
+ return super.onOptionsItemSelected(item);
|
|
|
+ }
|
|
|
@Override
|
|
|
protected int inflateLayoutId() {
|
|
|
return R.layout.common_refreshlayout_recycler;
|
|
|
@@ -71,9 +96,11 @@ public class BIllListFragment extends ViewPagerLazyFragment {
|
|
|
private void initView() {
|
|
|
Bundle args = getArguments();
|
|
|
if (args != null) {
|
|
|
- mCondition = args.getString("mCondition");
|
|
|
- mCaller = args.getString("mCaller");
|
|
|
- isMe = args.getBoolean("isMe",false);
|
|
|
+ billConfig = args.getParcelable("billConfig");
|
|
|
+ Serializable mSerializable= args.getSerializable("mDetailsClass");
|
|
|
+ if (mSerializable!=null&& mSerializable instanceof Class){
|
|
|
+ mDetailsClass= (Class) mSerializable;
|
|
|
+ }
|
|
|
}
|
|
|
findViewById(R.id.mSearchView).setVisibility(View.GONE);
|
|
|
mRefreshLayout = findViewById(R.id.mRefreshLayout);
|
|
|
@@ -101,8 +128,8 @@ public class BIllListFragment extends ViewPagerLazyFragment {
|
|
|
}
|
|
|
mUUHttpHelper.requestCompanyHttp(new Parameter.Builder()
|
|
|
.record(LOAD_LIST_DATA)
|
|
|
- .addParams("caller", mCaller)
|
|
|
- .addParams("condition", mCondition)
|
|
|
+ .addParams("caller", billConfig.getCaller())
|
|
|
+ .addParams("condition", billConfig.getCondition())
|
|
|
.mode(Method.GET)
|
|
|
.addParams("page", mPageIndex)
|
|
|
.addParams("pageSize", PAGE_SIZE)
|
|
|
@@ -146,41 +173,53 @@ public class BIllListFragment extends ViewPagerLazyFragment {
|
|
|
int index = -1;
|
|
|
for (int i = 0; i < listdata.size(); i++) {
|
|
|
List<BillListGroupModel.BillListField> billListFields = null;
|
|
|
+ List<BillListGroupModel.BillListField> hideBillListFields = null;
|
|
|
BillListGroupModel groupModel = new BillListGroupModel();
|
|
|
JSONObject data = listdata.getJSONObject(i);
|
|
|
int id = JSONUtil.getInt(data, keyField);
|
|
|
String status = JSONUtil.getText(data, "cu_auditstatus");
|
|
|
-
|
|
|
+ int showNum = 0;
|
|
|
for (int j = 0; j < columns.size(); j++) {
|
|
|
JSONObject column = columns.getJSONObject(j);
|
|
|
- if (JSONUtil.getInt(column, "width") > 0) {
|
|
|
- if (billListFields == null) {
|
|
|
- billListFields = new ArrayList<>();
|
|
|
- index++;
|
|
|
- }
|
|
|
- String caption = JSONUtil.getText(column, "caption");
|
|
|
- String dataIndex = JSONUtil.getText(column, "dataIndex");
|
|
|
- String values = JSONUtil.getText(data, dataIndex);
|
|
|
- if (!TextUtils.isEmpty(dataIndex) && i == 0) {
|
|
|
- fieldConfig.add(dataIndex);
|
|
|
- }
|
|
|
-
|
|
|
- BillListGroupModel.BillListField billListField = new BillListGroupModel.BillListField();
|
|
|
- billListField.setId(id);
|
|
|
- billListField.setStatus(status);
|
|
|
- billListField.setCaption(caption);
|
|
|
- billListField.setField(dataIndex);
|
|
|
- billListField.setValue(values);
|
|
|
- billListField.setGroupIndex(index);
|
|
|
- groupModel.setGroupIndex(index);
|
|
|
+ if (billListFields == null) {
|
|
|
+ billListFields = new ArrayList<>();
|
|
|
+ index++;
|
|
|
+ }
|
|
|
+ String caption = JSONUtil.getText(column, "caption");
|
|
|
+ String dataIndex = JSONUtil.getText(column, "dataIndex");
|
|
|
+ String values = JSONUtil.getText(data, dataIndex);
|
|
|
+ if (!TextUtils.isEmpty(dataIndex) && i == 0) {
|
|
|
+ fieldConfig.add(dataIndex);
|
|
|
+ }
|
|
|
+ if ("状态".equals(caption)){
|
|
|
+ status= values;
|
|
|
+ }
|
|
|
+ BillListGroupModel.BillListField billListField = new BillListGroupModel.BillListField();
|
|
|
+ billListField.setCaption(caption);
|
|
|
+ billListField.setField(dataIndex);
|
|
|
+ billListField.setValue(values);
|
|
|
+ billListField.setGroupIndex(index);
|
|
|
+ groupModel.setGroupIndex(index);
|
|
|
+ if (JSONUtil.getInt(column, "width") > 0 && (billConfig.getShowItemNum() <= 0 || billConfig.getShowItemNum() >showNum)) {
|
|
|
billListFields.add(billListField);
|
|
|
+ showNum++;
|
|
|
+ } else {
|
|
|
+ if (hideBillListFields==null){
|
|
|
+ hideBillListFields=new ArrayList<>();
|
|
|
+ }
|
|
|
+ hideBillListFields.add(billListField);
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
+ groupModel.setId(id);
|
|
|
+ groupModel.setStatus(status);
|
|
|
if (!ListUtils.isEmpty(billListFields)) {
|
|
|
groupModel.setBillFields(billListFields);
|
|
|
+ if (!ListUtils.isEmpty(hideBillListFields)) {
|
|
|
+ groupModel.setHideBillFields(hideBillListFields);
|
|
|
+ }
|
|
|
groupModels.add(groupModel);
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
setAdapter(groupModels);
|
|
|
@@ -193,9 +232,9 @@ public class BIllListFragment extends ViewPagerLazyFragment {
|
|
|
if (mListAdapter == null) {
|
|
|
mListAdapter = new BillListAdapter(ct, groupModels, new BillListAdapter.OnAdapterListener() {
|
|
|
@Override
|
|
|
- public void onClick(BillListGroupModel.BillListField field) {
|
|
|
+ public void onClick(BillListGroupModel mBillListGroupModel) {
|
|
|
if (mOnBillListListener != null) {
|
|
|
- mOnBillListListener.itemClick(isMe,field.getId(), mCaller, mCondition, field);
|
|
|
+ mOnBillListListener.itemClick(billConfig, mBillListGroupModel.getId(), mBillListGroupModel);
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
@@ -229,7 +268,9 @@ public class BIllListFragment extends ViewPagerLazyFragment {
|
|
|
}
|
|
|
|
|
|
public interface OnBillListListener {
|
|
|
- void itemClick(boolean isMe,int id, String mCaller, String mCondition, BillListGroupModel.BillListField field);
|
|
|
+ void itemClick(BillListConfig billConfig, int formId, BillListGroupModel mBillListGroupModel);
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|