Browse Source

11:26 新增View
是图点击后显示逻辑修改通IOS,明细列表类型字段过长显示优化

FANGLH 8 years ago
parent
commit
89a97a24d4

+ 39 - 25
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/ExpenseReimbursementActivity.java

@@ -239,6 +239,7 @@ public class ExpenseReimbursementActivity extends BaseActivity implements View.O
                     if (!StringUtils.isEmpty(result)){
                         Log.i("0x09result", result);
                         costFormModel_list.remove(cd_table_position);
+                        selected_detailsData.remove(cd_table_position);
                         if (costFormModel_list.size() == 0){
                             detail_table_ll.setVisibility(View.GONE);
                         }
@@ -1071,41 +1072,53 @@ public class ExpenseReimbursementActivity extends BaseActivity implements View.O
         btn_sure.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                closePopupWindow();
                 if (ListUtils.isEmpty(selected_detailsData))  return;
-
-                for (int i = 0; i < selected_detailsData.size(); i++) {
-                    costFormModel = new CostFormModel();
-                    costFormModel.setCost_type(selected_detailsData.get(i));
-                    for (int j = 0;j< mAddCost_list.size();j++){
-                        if (selected_detailsData.get(i).equals(mAddCost_list.get(j).getFcs_itemname())){
-                            mAddCost_list.remove(j);
+                Log.i("selected_detailsData",selected_detailsData.toString()+"ss");
+                if (ListUtils.isEmpty(costFormModel_list)){
+                    for (int i = 0; i < selected_detailsData.size(); i++) {
+                        costFormModel = new CostFormModel();
+                        costFormModel.setCost_type(selected_detailsData.get(i));
+                        costFormModel_list.add(costFormModel);
+
+                        if (i == (selected_detailsData.size()-1)){
+                            dtAdapter.setModels(costFormModel_list);
+                            dtAdapter.notifyDataSetChanged();
+                            detail_table_ll.setVisibility(View.VISIBLE);
+                            Log.i("costFormModel_list", JSON.toJSONString(costFormModel_list)+"tlt");
                         }
                     }
-                    costFormModel_list.add(costFormModel);
-                    if (i == (selected_detailsData.size()-1)){
-                        dtAdapter.setModels(costFormModel_list);
-                        dtAdapter.notifyDataSetChanged();
-                        detail_table_ll.setVisibility(View.VISIBLE);
-                        Log.i("costFormModel_list", JSON.toJSONString(costFormModel_list)+"tlt");
+                }else {
+                    for (int i = 0; i < selected_detailsData.size(); i++) {
+                        if (!JSON.toJSONString(costFormModel_list).contains(selected_detailsData.get(i))){
+                            costFormModel = new CostFormModel();
+                            costFormModel.setCost_type(selected_detailsData.get(i));
+                            costFormModel_list.add(costFormModel);
+                        }
+
+                        if (i == (selected_detailsData.size()-1)){
+                            for(int j = 0;j<costFormModel_list.size();j++){
+                                if (!selected_detailsData.contains(costFormModel_list.get(j).getCost_type())){
+                                    costFormModel_list.remove(j);
+                                }
+
+                                if (j == costFormModel_list.size() -1){
+                                    dtAdapter.setModels(costFormModel_list);
+                                    dtAdapter.notifyDataSetChanged();
+                                    detail_table_ll.setVisibility(View.VISIBLE);
+                                    Log.i("costFormModel_list", JSON.toJSONString(costFormModel_list)+"tlt");
+                                }
+                            }
+                        }
+
                     }
+
                 }
-                selected_detailsData.clear();
+                closePopupWindow();
             }
         });
     }
 
     private void initAddDatas() {
-//        if (!ListUtils.isEmpty(selected_detailsData)) selected_detailsData.clear();
-//        //TODO 接口返回
-//        if (initDetailDatas_initialization) return;
-//        for (int i = 0; i < 22; i++) {
-//            detailsData.add("明细" + i);
-//            initDetailDatas_initialization = true;
-//            Log.i("initDetailDatas","false");
-//        }
-//        Log.i("initDetailDatas","initDetailDatas_initialization");
-
         if (ListUtils.isEmpty(mAddCost_list)) return;
         gAdapter.setmAddCostBean_list(mAddCost_list);
         gAdapter.notifyDataSetChanged();
@@ -1247,6 +1260,7 @@ public class ExpenseReimbursementActivity extends BaseActivity implements View.O
                                         cd_table_position = position;
                                         doDeleteCostDetailshttp(position);
                                     }else {
+                                        selected_detailsData.remove(position);
                                         models.remove(position);
                                         if (ListUtils.isEmpty(models)) {
                                             detail_table_ll.setVisibility(View.GONE);

+ 4 - 1
WeiChat/src/main/res/layout/expense_details_table_item.xml

@@ -21,7 +21,10 @@
             android:layout_weight="2"
             android:paddingLeft="10dp"
             android:layout_gravity="center_vertical"
-            android:textColor="@color/text_main"/>
+            android:textColor="@color/text_main"
+            android:singleLine="true"
+            android:ellipsize="end"
+            />
         <View
             style="@style/expense_table_v_1dp"/>