Browse Source

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

# Conflicts:
#	WeiChat/version.properties
Arison 8 years ago
parent
commit
6cf1a4f623

+ 3 - 3
WeiChat/version.properties

@@ -1,5 +1,5 @@
-#Thu Feb 01 18:00:24 CST 2018
-debugName=328
+#Fri Feb 02 16:51:21 CST 2018
+debugName=360
 versionName=613
 versionName=613
-debugCode=328
+debugCode=360
 versionCode=152
 versionCode=152

+ 38 - 10
app_modular/appbooking/src/main/java/com/modular/booking/activity/services/BServiceAddActivity.java

@@ -14,6 +14,7 @@ import android.widget.Button;
 import android.widget.EditText;
 import android.widget.EditText;
 import android.widget.ImageView;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.LinearLayout;
+import android.widget.ListView;
 import android.widget.RadioButton;
 import android.widget.RadioButton;
 import android.widget.RadioGroup;
 import android.widget.RadioGroup;
 import android.widget.RelativeLayout;
 import android.widget.RelativeLayout;
@@ -47,6 +48,7 @@ import com.core.utils.ToastUtil;
 import com.core.utils.helper.AvatarHelper;
 import com.core.utils.helper.AvatarHelper;
 import com.core.widget.NScrollerGridView;
 import com.core.widget.NScrollerGridView;
 import com.core.widget.view.Activity.SelectActivity;
 import com.core.widget.view.Activity.SelectActivity;
+import com.core.widget.view.ListViewInScroller;
 import com.core.widget.view.SwitchView;
 import com.core.widget.view.SwitchView;
 import com.core.widget.view.selectcalendar.SelectCalendarActivity;
 import com.core.widget.view.selectcalendar.SelectCalendarActivity;
 import com.core.xmpp.model.AddAttentionResult;
 import com.core.xmpp.model.AddAttentionResult;
@@ -57,10 +59,13 @@ import com.me.network.app.http.rx.ResultSubscriber;
 import com.modular.booking.R;
 import com.modular.booking.R;
 import com.modular.booking.activity.utils.GridSelectActivity;
 import com.modular.booking.activity.utils.GridSelectActivity;
 import com.modular.booking.activity.utils.GridSelectDateActivity;
 import com.modular.booking.activity.utils.GridSelectDateActivity;
+import com.modular.booking.activity.utils.ShoppingCart;
 import com.modular.booking.adapter.ItemFoodStateAdapter;
 import com.modular.booking.adapter.ItemFoodStateAdapter;
+import com.modular.booking.adapter.ItemFoodsDishlistAdapter;
 import com.modular.booking.model.SBListModel;
 import com.modular.booking.model.SBListModel;
 import com.modular.booking.model.SBMenuModel;
 import com.modular.booking.model.SBMenuModel;
 import com.modular.booking.model.SeatsStateModel;
 import com.modular.booking.model.SeatsStateModel;
+import com.modular.booking.model.ShoppingEntity;
 import com.modular.booking.widget.AddSubUtils;
 import com.modular.booking.widget.AddSubUtils;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
@@ -74,19 +79,21 @@ import de.hdodenhof.circleimageview.CircleImageView;
 import static com.common.data.JSONUtil.getJSONArray;
 import static com.common.data.JSONUtil.getJSONArray;
 
 
 public class BServiceAddActivity extends OABaseActivity implements View.OnClickListener {
 public class BServiceAddActivity extends OABaseActivity implements View.OnClickListener {
+  
     private Button submit_btn;
     private Button submit_btn;
+    
     private EditText et_book_notes, et_book_phone, et_book_name;//预约人的备注、电话、姓名
     private EditText et_book_notes, et_book_phone, et_book_name;//预约人的备注、电话、姓名
     //餐饮
     //餐饮
     private TextView tv_food_times, tv_food_rooms, tv_food_peoples;//用餐时间、需要包厢、用餐人数
     private TextView tv_food_times, tv_food_rooms, tv_food_peoples;//用餐时间、需要包厢、用餐人数
-    //  美容美发
+    //美容美发
     private TextView tv_hair_times, tv_hair_rooms;//服务时间、服务项目
     private TextView tv_hair_times, tv_hair_rooms;//服务时间、服务项目
-    //  运动
+    //运动
     private TextView tv_sport_time, tv_sport_rooms, tv_sport_peoples;//运动时间、运动项目、运动人数
     private TextView tv_sport_time, tv_sport_rooms, tv_sport_peoples;//运动时间、运动项目、运动人数
-    //  医院挂号
+    //医院挂号
     private TextView tv_hospital_rooms, tag_hospital_doctor, tv_hospital_time;//科室、医生、时段
     private TextView tv_hospital_rooms, tag_hospital_doctor, tv_hospital_time;//科室、医生、时段
-    //  会所
+    //会所
     private TextView tv_club_technician, tv_club_time, tv_club_peoples;//技师、时间、人数
     private TextView tv_club_technician, tv_club_time, tv_club_peoples;//技师、时间、人数
-    //  KTV
+    //KTV
     private TextView tv_ktv_times, tv_ktv_rooms, tv_ktv_peoples;//时间、房间、人数
     private TextView tv_ktv_times, tv_ktv_rooms, tv_ktv_peoples;//时间、房间、人数
     //抬头信息
     //抬头信息
     private CircleImageView iv_header;
     private CircleImageView iv_header;
@@ -116,6 +123,11 @@ public class BServiceAddActivity extends OABaseActivity implements View.OnClickL
     private RelativeLayout notes_rl;
     private RelativeLayout notes_rl;
     private LinearLayout ll_seats_panel;
     private LinearLayout ll_seats_panel;
     private RelativeLayout food_seats_rl;
     private RelativeLayout food_seats_rl;
+    private RelativeLayout food_dishs_rl;
+
+    ItemFoodsDishlistAdapter itemFoodsDishlistAdapter;
+    ListViewInScroller mDishList;
+    private TextView tv_food_dishs;
 
 
     @Override
     @Override
     protected void onCreate(Bundle savedInstanceState) {
     protected void onCreate(Bundle savedInstanceState) {
@@ -182,6 +194,10 @@ public class BServiceAddActivity extends OABaseActivity implements View.OnClickL
          gvZSeats=(NScrollerGridView)findViewById(R.id.gvZSeats);
          gvZSeats=(NScrollerGridView)findViewById(R.id.gvZSeats);
         tvDSeatsTitle=(TextView)findViewById(R.id.tvDSeatsTitle);
         tvDSeatsTitle=(TextView)findViewById(R.id.tvDSeatsTitle);
          gvDSeats=(NScrollerGridView)findViewById(R.id.gvDSeats);
          gvDSeats=(NScrollerGridView)findViewById(R.id.gvDSeats);
+        food_dishs_rl=findViewById(R.id.food_dishs_rl);
+
+        mDishList=findViewById(R.id.lv_dish);
+        tv_food_dishs=findViewById(R.id.tv_food_dishs);
 
 
         tvSeatsLeft=findViewById(R.id.tvSeatsLeft);
         tvSeatsLeft=findViewById(R.id.tvSeatsLeft);
         tvSeatsRight=findViewById(R.id.tvSeatsRight);
         tvSeatsRight=findViewById(R.id.tvSeatsRight);
@@ -194,12 +210,12 @@ public class BServiceAddActivity extends OABaseActivity implements View.OnClickL
         submit_btn.setOnClickListener(this);
         submit_btn.setOnClickListener(this);
         et_book_name.setText(CommonUtil.getName());
         et_book_name.setText(CommonUtil.getName());
         et_book_phone.setText(MyApplication.getInstance().mLoginUser.getTelephone());
         et_book_phone.setText(MyApplication.getInstance().mLoginUser.getTelephone());
-
-
+        
         tv_sub.setOnClickListener(this);
         tv_sub.setOnClickListener(this);
         tv_title.setOnClickListener(this);
         tv_title.setOnClickListener(this);
+        food_dishs_rl.setOnClickListener(this);
 
 
-        addSubUtils = (AddSubUtils) findViewById(R.id.add_sub);
+        addSubUtils = findViewById(R.id.add_sub);
         addSubUtils.setBuyMax(999)       // 最大购买数,默认为int的最大值
         addSubUtils.setBuyMax(999)       // 最大购买数,默认为int的最大值
                 .setInventory(999)       // 库存,默认为int的最大值
                 .setInventory(999)       // 库存,默认为int的最大值
                 .setCurrentNumber(1)    // 设置当前数,默认为1
                 .setCurrentNumber(1)    // 设置当前数,默认为1
@@ -446,17 +462,21 @@ public class BServiceAddActivity extends OABaseActivity implements View.OnClickL
 
 
 
 
     private final int FOOD_ROOMS = 1;
     private final int FOOD_ROOMS = 1;
-
+    
     private final int TIME_SELECT = 11//时间选择(包含时间段、时间点)
     private final int TIME_SELECT = 11//时间选择(包含时间段、时间点)
             , NUMBER_SELECT = 12//人数选择(1~10以上)
             , NUMBER_SELECT = 12//人数选择(1~10以上)
             , SERVICE_SELECT = 13//服务项目
             , SERVICE_SELECT = 13//服务项目
             , MAN_SELECT = 14//医生选择
             , MAN_SELECT = 14//医生选择
+            ,DISHS_SELECT=15//菜品选择
             ;
             ;
 
 
     @Override
     @Override
     public void onClick(View v) {
     public void onClick(View v) {
         int id = v.getId();
         int id = v.getId();
-        if (id == R.id.tv_title) {
+        if(id==R.id. food_dishs_rl){
+            startActivityForResult(new Intent(BServiceAddActivity.this,DishSelectActivity.class),DISHS_SELECT);
+            
+        }else if (id == R.id.tv_title) {
             //简介
             //简介
 //            ToastMessage("简介");
 //            ToastMessage("简介");
             try {
             try {
@@ -760,6 +780,14 @@ public class BServiceAddActivity extends OABaseActivity implements View.OnClickL
 //                    }
 //                    }
 //                }
 //                }
                 break;
                 break;
+            case DISHS_SELECT:
+                List<ShoppingEntity>  shoppingEntities=  ShoppingCart.getInstance().getShoppingList();
+                LogUtil.d(TAG,"data:"+JSON.toJSONString(shoppingEntities));
+                itemFoodsDishlistAdapter=new ItemFoodsDishlistAdapter(mContext,shoppingEntities);
+                mDishList.setAdapter(itemFoodsDishlistAdapter);
+                
+                CommonUtil.textSpanForStyle(tv_food_dishs,"合计: "+ShoppingCart.getInstance().getTotalQuantity()+"份 ¥"+ShoppingCart.getInstance().getTotalPrice(),ShoppingCart.getInstance().getTotalQuantity()+"份 ¥"+ShoppingCart.getInstance().getTotalPrice(),ct.getResources().getColor(R.color.blue_seats_num));
+                break;
         }
         }
         if (tvMessage != null && tv != null) {
         if (tvMessage != null && tv != null) {
             if (tv == tv_hospital_rooms) {
             if (tv == tv_hospital_rooms) {

+ 1 - 1
app_modular/appbooking/src/main/java/com/modular/booking/activity/services/BServicesActivity.java

@@ -115,8 +115,8 @@ public class BServicesActivity extends OABaseActivity implements View.OnClickLis
         bar.setBackgroundDrawable(drawBg);
         bar.setBackgroundDrawable(drawBg);
         bar.setCustomView(view);
         bar.setCustomView(view);
 
 
-        mListView = (PullToRefreshListView) findViewById(R.id.mListView);
 
 
+        mListView = (PullToRefreshListView) findViewById(R.id.mListView);
         initHeader();
         initHeader();
         mListAdapter = new ItemBserviceListAdapter(mContext, modelList);
         mListAdapter = new ItemBserviceListAdapter(mContext, modelList);
         mListView.setAdapter(mListAdapter);
         mListView.setAdapter(mListAdapter);

+ 72 - 7
app_modular/appbooking/src/main/java/com/modular/booking/activity/services/DishSelectActivity.java

@@ -1,18 +1,27 @@
 package com.modular.booking.activity.services;
 package com.modular.booking.activity.services;
 
 
+import android.content.Intent;
+import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.os.Bundle;
+import android.os.Parcelable;
+import android.support.v7.app.ActionBar;
+import android.view.LayoutInflater;
 import android.view.View;
 import android.view.View;
 import android.widget.AbsListView;
 import android.widget.AbsListView;
 import android.widget.AdapterView;
 import android.widget.AdapterView;
 import android.widget.Button;
 import android.widget.Button;
+import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.LinearLayout;
+import android.widget.RelativeLayout;
 import android.widget.TextView;
 import android.widget.TextView;
 
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONArray;
 import com.common.LogUtil;
 import com.common.LogUtil;
+import com.common.data.ListUtils;
 import com.core.base.OABaseActivity;
 import com.core.base.OABaseActivity;
 import com.core.widget.CustomerListView;
 import com.core.widget.CustomerListView;
+import com.core.widget.DrawableCenterTextView;
 import com.core.widget.PinnedSectionListView;
 import com.core.widget.PinnedSectionListView;
 import com.flipboard.bottomsheet.BottomSheetLayout;
 import com.flipboard.bottomsheet.BottomSheetLayout;
 import com.me.network.app.http.HttpClient;
 import com.me.network.app.http.HttpClient;
@@ -43,7 +52,7 @@ import rx.android.schedulers.AndroidSchedulers;
 public class DishSelectActivity extends OABaseActivity {
 public class DishSelectActivity extends OABaseActivity {
     
     
     public static final String TAG = "DishSelectActivity";
     public static final String TAG = "DishSelectActivity";
-    private CircleImageView mCircleImage;
+    private CircleImageView iv_header;
     private TextView tv_title;
     private TextView tv_title;
     private TextView tv_sub;
     private TextView tv_sub;
     private BottomSheetLayout  mBottmSheetLayout;
     private BottomSheetLayout  mBottmSheetLayout;
@@ -53,7 +62,16 @@ public class DishSelectActivity extends OABaseActivity {
 
 
     private ShoppingCartPanel mShoppingCartPanel;
     private ShoppingCartPanel mShoppingCartPanel;
 
 
-    private  Button bt_bottom;
+    private Button bt_bottom;
+    private ImageView max_img;
+    private ImageView mBackImageView;
+    private DrawableCenterTextView mSearchTv;
+    private RelativeLayout mRelativeTop;
+    private Drawable drawBg;
+
+    private ImageView ivShopCar;
+    private TextView tvShopSure;
+    private TextView tvTotalPrice;
     
     
     private List<ProductCategory> productCategories=new ArrayList<>();
     private List<ProductCategory> productCategories=new ArrayList<>();
     List<ProductCategory> productAllCategorys=new ArrayList<>();
     List<ProductCategory> productAllCategorys=new ArrayList<>();
@@ -72,26 +90,58 @@ public class DishSelectActivity extends OABaseActivity {
     }
     }
     
     
     private void initView(){
     private void initView(){
+        View view = LayoutInflater.from(ct).inflate(R.layout.action_book_service, null);
+        mBackImageView = (ImageView) view.findViewById(R.id.book_service_back);
+        mSearchTv = (DrawableCenterTextView) view.findViewById(R.id.book_service_et);
+        mRelativeTop = (RelativeLayout) view.findViewById(R.id.book_service_action);
+        ActionBar bar = this.getSupportActionBar();
+        bar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
+        drawBg = getResources().getDrawable(R.color.antionbarcolor);
+        bar.setBackgroundDrawable(drawBg);
+        bar.setCustomView(view);
+        
         mShoppingCartPanel = new ShoppingCartPanel(this);
         mShoppingCartPanel = new ShoppingCartPanel(this);
-        getSupportActionBar().setTitle("选菜");
         lv_product_category= findViewById(R.id.lv_product_category);
         lv_product_category= findViewById(R.id.lv_product_category);
         mBottmSheetLayout=findViewById(R.id.bottom_sheet_layout);
         mBottmSheetLayout=findViewById(R.id.bottom_sheet_layout);
         lv_product=findViewById(R.id.lv_dish_product);
         lv_product=findViewById(R.id.lv_dish_product);
-//        ll_bottom=findViewById(R.id.ll_bottom);
+        ll_bottom=findViewById(R.id.ll_bottom);
         bt_bottom=findViewById(R.id.bt_bottom);
         bt_bottom=findViewById(R.id.bt_bottom);
+        iv_header =findViewById(R.id.iv_header);
+        max_img = findViewById(R.id.max_img);
+        tv_title =findViewById(R.id.tv_title);
+        tv_sub =findViewById(R.id.tv_sub);
+        ivShopCar=findViewById(R.id.ivShopCar);
+        tvShopSure=findViewById(R.id.tvShopSure);
+        tvTotalPrice=findViewById(R.id.tvTotalPrice);
+        
         itemDishCategoryListAdapter=new ItemDishCategoryListAdapter(DishSelectActivity.this,productCategories);
         itemDishCategoryListAdapter=new ItemDishCategoryListAdapter(DishSelectActivity.this,productCategories);
         lv_product_category.setAdapter( itemDishCategoryListAdapter);
         lv_product_category.setAdapter( itemDishCategoryListAdapter);
         lv_product_category.setSelection(0);
         lv_product_category.setSelection(0);
         
         
         
         
         itemDishPinnedListAdapter=new ItemDishPinnedListAdapter(mContext,productAllCategorys);
         itemDishPinnedListAdapter=new ItemDishPinnedListAdapter(mContext,productAllCategorys);
+        itemDishPinnedListAdapter.setAnimTargetView(ivShopCar);
         lv_product.setAdapter(itemDishPinnedListAdapter);
         lv_product.setAdapter(itemDishPinnedListAdapter);
 
 
-//        lv_product_category.setItemChecked(0,true);
+   
+
     }
     }
     private boolean isClickTrigger=true;
     private boolean isClickTrigger=true;
     private void initEvent(){
     private void initEvent(){
-        bt_bottom.setOnClickListener(new View.OnClickListener() {
+        tvShopSure.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                //先确保购物车不为空
+                if (!ListUtils.isEmpty(ShoppingCart.getInstance().getShoppingList())) {
+                    setResult(0x01,new Intent().putParcelableArrayListExtra("data", (ArrayList<? extends Parcelable>) ShoppingCart.getInstance().getShoppingList()));
+                    finish();
+                }else{
+                    ToastMessage("您的购物车是空的哦");
+                }
+            }
+        });
+        
+        ll_bottom.setOnClickListener(new View.OnClickListener() {
             @Override
             @Override
             public void onClick(View view) {
             public void onClick(View view) {
                 showShoppingCartPanel();
                 showShoppingCartPanel();
@@ -237,13 +287,28 @@ public class DishSelectActivity extends OABaseActivity {
     Subscription mSubscription;
     Subscription mSubscription;
 
 
     public void onShoppingCartChange(Object o) {
     public void onShoppingCartChange(Object o) {
-      //  refreshBottomUi();
+        refreshBottomUi();
         LogUtil.d(TAG,"o:"+o.toString());
         LogUtil.d(TAG,"o:"+o.toString());
         mShoppingCartPanel.refreshPanel();
         mShoppingCartPanel.refreshPanel();
         itemDishCategoryListAdapter.notifyDataSetChanged();
         itemDishCategoryListAdapter.notifyDataSetChanged();
        itemDishPinnedListAdapter.notifyDataSetChanged();
        itemDishPinnedListAdapter.notifyDataSetChanged();
     }
     }
 
 
+    private void refreshBottomUi() {
+        ShoppingCart shoppingCart = ShoppingCart.getInstance();
+        int totalCount = shoppingCart.getTotalQuantity();
+        double totalPrice = shoppingCart.getTotalPrice();
+        if (totalCount>0) {
+            tvTotalPrice.setText("共¥" + totalPrice);
+            ivShopCar.setBackgroundResource(R.drawable.icon_shop_car);
+            ivShopCar.setImageDrawable(getResources().getDrawable(R.drawable.icon_shop_car));
+        }else{
+            tvTotalPrice.setText(getString(R.string.tv_shop_empty) );
+            ivShopCar.setBackgroundResource(R.drawable.icon_shop_empty);
+            ivShopCar.setImageDrawable(getResources().getDrawable(R.drawable.icon_shop_empty));
+        }
+    }
+
     @Override
     @Override
     protected void onDestroy() {
     protected void onDestroy() {
         super.onDestroy();
         super.onDestroy();

+ 4 - 4
app_modular/appbooking/src/main/java/com/modular/booking/activity/utils/ShoppingCart.java

@@ -49,8 +49,8 @@ public class ShoppingCart {
             ShoppingEntity entity = ShoppingEntity.initWithProduct(product);
             ShoppingEntity entity = ShoppingEntity.initWithProduct(product);
             mShoppingList.put(id, entity);
             mShoppingList.put(id, entity);
 //            sendChangeEvent();
 //            sendChangeEvent();
-//            RxBus.getInstance().send(
-//                    new EventMessage(DishSelectActivity.TAG));
+            RxBus.getInstance().send(
+                    new EventMessage(DishSelectActivity.TAG));
             return true;
             return true;
         } else if (mBusinessId.equals(product.getBusinessId())) {
         } else if (mBusinessId.equals(product.getBusinessId())) {
             ShoppingEntity entity = mShoppingList.containsKey(id) ? mShoppingList.get(id) : null;
             ShoppingEntity entity = mShoppingList.containsKey(id) ? mShoppingList.get(id) : null;
@@ -61,8 +61,8 @@ public class ShoppingCart {
             }
             }
             mShoppingList.put(id, entity);
             mShoppingList.put(id, entity);
 //            sendChangeEvent();
 //            sendChangeEvent();
-//            RxBus.getInstance().send(
-//                    new EventMessage(DishSelectActivity.TAG));
+            RxBus.getInstance().send(
+                    new EventMessage(DishSelectActivity.TAG));
             return true;
             return true;
         }
         }
         return false;
         return false;

+ 53 - 19
app_modular/appbooking/src/main/java/com/modular/booking/adapter/ItemDishPinnedListAdapter.java

@@ -82,24 +82,36 @@ public class ItemDishPinnedListAdapter extends BaseAdapter implements PinnedSect
         
         
        ProductCategory productCategory=productCategories.get(position);
        ProductCategory productCategory=productCategories.get(position);
        if (productCategory.getType()==ProductCategory.SECTION){
        if (productCategory.getType()==ProductCategory.SECTION){
-           convertView = layoutInflater.inflate(
-                   R.layout.item_dish_list_head, null);
-           TextView title=convertView.findViewById(R.id.txt_title);
-           title.setText(productCategory.getName());
+           ItemHeaderHolder viewHolder;
+           if (convertView==null){
+               convertView = layoutInflater.inflate(
+                       R.layout.item_dish_list_head, null);
+               viewHolder=new ItemHeaderHolder(convertView);
+               convertView.setTag(viewHolder);
+           }else{
+               viewHolder= (ItemHeaderHolder) convertView.getTag();
+           }
+          viewHolder.title.setText(productCategory.getName());
        }else if(productCategory.getType()==ProductCategory.ITEM){
        }else if(productCategory.getType()==ProductCategory.ITEM){
-           convertView = layoutInflater.inflate(
-          R.layout.item_dish_list, null);
-          final Product product=productCategory.getProduct();
+           ItemViewHolder viewHolder;
+           if (convertView==null){
+               convertView = layoutInflater.inflate(
+                       R.layout.item_dish_list, null);
+               viewHolder=new ItemViewHolder( convertView);
+               convertView.setTag(viewHolder);
+           }else{
+               viewHolder= (ItemViewHolder) convertView.getTag();
+           }
+       
+            final Product product=productCategory.getProduct();
            int quantity = ShoppingCart.getInstance().getQuantityForProduct(product);
            int quantity = ShoppingCart.getInstance().getQuantityForProduct(product);
-          ImageView img_product_photo=convertView.findViewById(R.id.img_product_photo);
-          AvatarHelper.getInstance().display("http://p0.meituan.net/deal/__16971854__3919079.jpg@380w_214h_1e_1c",img_product_photo,true);
-          TextView  txt_product_name=convertView.findViewById(R.id.txt_product_name);
-          TextView  txt_product_month_sales=convertView.findViewById(R.id.txt_product_month_sales);
-          TextView  txt_product_price =convertView.findViewById(R.id.txt_product_price);
-          ShoppingCountView shoppingCountView=convertView.findViewById(R.id.shopping_count_view);
-          shoppingCountView.setAnimTargetView(mAnimTargetView);
-          shoppingCountView.setShoppingCount(quantity);
-          shoppingCountView.setOnShoppingClickListener(new ShoppingCountView.ShoppingClickListener() {
+      
+           AvatarHelper.getInstance().display("http://p0.meituan.net/deal/__16971854__3919079.jpg@380w_214h_1e_1c",  viewHolder. img_product_photo,true);
+        
+           LogUtil.d("ShopCar","---item----"+position);
+           viewHolder. shoppingCountView.setShoppingCount(quantity);
+          // viewHolder. shoppingCountView.setAnimTargetView(mAnimTargetView);
+           viewHolder. shoppingCountView.setOnShoppingClickListener(new ShoppingCountView.ShoppingClickListener() {
               @Override
               @Override
               public void onAddClick(int num) {
               public void onAddClick(int num) {
                   if (!ShoppingCart.getInstance().add(product)) {
                   if (!ShoppingCart.getInstance().add(product)) {
@@ -116,11 +128,33 @@ public class ItemDishPinnedListAdapter extends BaseAdapter implements PinnedSect
                   LogUtil.d("ShopCar", JSON.toJSONString(ShoppingCart.getInstance().getShoppingList()));
                   LogUtil.d("ShopCar", JSON.toJSONString(ShoppingCart.getInstance().getShoppingList()));
               }
               }
           });
           });
-          txt_product_name.setText(productCategory.getProduct().getName());
-          txt_product_month_sales.setText("月售0");
-          txt_product_price.setText("¥"+productCategory.getProduct().getUnitItems().get(0).getPrice());
+           viewHolder.  txt_product_name.setText(productCategory.getProduct().getName());
+           viewHolder.  txt_product_month_sales.setText("月售0");
+           viewHolder.  txt_product_price.setText("¥"+productCategory.getProduct().getUnitItems().get(0).getPrice());
        }
        }
         
         
         return convertView;
         return convertView;
     }
     }
+    
+    class ItemHeaderHolder{
+        TextView title;
+        public ItemHeaderHolder(View convertView) {
+          title=convertView.findViewById(R.id.txt_title);
+        }
+    }
+    
+    class ItemViewHolder{
+        ImageView img_product_photo;
+        TextView  txt_product_name;
+        TextView  txt_product_month_sales;
+        TextView  txt_product_price;
+        ShoppingCountView shoppingCountView;
+        public ItemViewHolder(View convertView) {
+            img_product_photo=convertView.findViewById(R.id.img_product_photo);
+            txt_product_name=convertView.findViewById(R.id.txt_product_name);
+            txt_product_month_sales=convertView.findViewById(R.id.txt_product_month_sales);
+            txt_product_price =convertView.findViewById(R.id.txt_product_price);
+            shoppingCountView=convertView.findViewById(R.id.shopping_count_view);
+        }
+    }
 }
 }

+ 75 - 0
app_modular/appbooking/src/main/java/com/modular/booking/adapter/ItemFoodsDishlistAdapter.java

@@ -0,0 +1,75 @@
+package com.modular.booking.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.core.app.MyApplication;
+import com.modular.booking.R;
+import com.modular.booking.model.ShoppingEntity;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ItemFoodsDishlistAdapter extends BaseAdapter {
+
+    private List<ShoppingEntity> objects = new ArrayList<ShoppingEntity>();
+
+    private Context context;
+    private LayoutInflater layoutInflater;
+
+    public ItemFoodsDishlistAdapter(Context context,List<ShoppingEntity> data) {
+        this.context = context;
+        this.objects=data;
+        this.layoutInflater = LayoutInflater.from(context);
+    }
+    
+    @Override
+    public int getCount() {
+        return objects.size();
+    }
+
+    @Override
+    public ShoppingEntity getItem(int position) {
+        return objects.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (convertView == null) {
+            convertView = layoutInflater.inflate(R.layout.item_foods_dishlist, null);
+            convertView.setTag(new ViewHolder(convertView));
+        }
+        initializeViews((ShoppingEntity)getItem(position), (ViewHolder) convertView.getTag());
+        return convertView;
+    }
+
+    private void initializeViews(ShoppingEntity object, ViewHolder holder) {
+        holder.tvDishName.setText(object.getName());
+        holder.tvDishNum.setText(MyApplication.getInstance().getString(R.string.label_price, object.getUnitPrice())+"/份");
+        holder.tvDishPrice.setText(""+object.getQuantity());
+    }
+
+    protected class ViewHolder {
+        private ImageView ivDish;
+        private TextView tvDishName;
+        private TextView tvDishNum;
+        private TextView tvDishPrice;
+
+        public ViewHolder(View view) {
+            ivDish = (ImageView) view.findViewById(R.id.iv_dish);
+            tvDishName = (TextView) view.findViewById(R.id.tv_dish_name);
+            tvDishNum = (TextView) view.findViewById(R.id.tv_dish_num);
+            tvDishPrice = (TextView) view.findViewById(R.id.tv_dish_price);
+        }
+    }
+}

+ 1 - 1
app_modular/appbooking/src/main/java/com/modular/booking/adapter/LayoutShoppingCartItemAdapter.java

@@ -47,7 +47,7 @@ public class LayoutShoppingCartItemAdapter extends BaseAdapter {
     public void setItems(List<ShoppingEntity> items) {
     public void setItems(List<ShoppingEntity> items) {
         objects.clear();
         objects.clear();
         objects.addAll(items);
         objects.addAll(items);
-      notifyDataSetChanged();
+        notifyDataSetChanged();
     }
     }
 
 
     @Override
     @Override

+ 48 - 1
app_modular/appbooking/src/main/res/layout/activity_bservice_add.xml

@@ -410,7 +410,7 @@
             android:id="@+id/ll_food"
             android:id="@+id/ll_food"
             android:layout_width="match_parent"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
-            android:visibility="gone"
+         
             android:orientation="vertical">
             android:orientation="vertical">
 
 
             <RelativeLayout
             <RelativeLayout
@@ -505,6 +505,53 @@
                     android:layout_alignParentRight="true"
                     android:layout_alignParentRight="true"
                     android:layout_centerVertical="true" />
                     android:layout_centerVertical="true" />
             </RelativeLayout>
             </RelativeLayout>
+
+            <RelativeLayout
+                android:id="@+id/food_dishs_rl"
+                style="@style/item_menu">
+
+                <TextView
+                    android:id="@+id/tag_food_dishs"
+                    style="@style/item_menu_tag"
+                    android:gravity="center_vertical"
+                    android:text="@string/tv_foods_dish"
+                    android:textColor="@color/hintColor" />
+
+                <TextView
+                    android:id="@+id/tv_food_dishs"
+                    style="@style/item_menu_input"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+
+                    android:layout_toRightOf="@id/tag_food_dishs"
+                    android:layout_toLeftOf="@+id/sv_food_dishs"
+                    android:drawableRight="@drawable/oa_next"
+                    android:contentDescription="@string/service_food_rooms"
+                    android:hint="@string/common_select_not_must"
+
+                    android:textColor="@color/hintColor" />
+                <com.core.widget.view.SwitchView
+                    android:id="@+id/sv_food_dishs"
+                    android:layout_width="40dp"
+                    android:layout_height="25dp"
+                    android:visibility="gone"
+                    android:layout_alignParentRight="true"
+                    android:layout_centerVertical="true" />
+            </RelativeLayout>
+
+            <RelativeLayout
+                android:id="@+id/food_dishs_list_rl"
+                style="@style/item_menu"
+                android:layout_height="wrap_content">
+                <com.core.widget.view.ListViewInScroller
+                    android:id="@+id/lv_dish"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:scrollbars="none">
+                </com.core.widget.view.ListViewInScroller>
+            </RelativeLayout>
+            
+            
             <RelativeLayout
             <RelativeLayout
                 android:id="@+id/food_seats_rl"
                 android:id="@+id/food_seats_rl"
                 android:visibility="gone"
                 android:visibility="gone"

+ 11 - 6
app_modular/appbooking/src/main/res/layout/activity_dish_select.xml

@@ -4,14 +4,15 @@
     android:layout_height="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical"
     android:orientation="vertical"
     android:background="#EDEDED">
     android:background="#EDEDED">
-  <!--  <include layout="@layout/include_add_top"
+    <include layout="@layout/include_add_top"
         android:id="@+id/dish_layout_top"
         android:id="@+id/dish_layout_top"
-        ></include>-->
+        ></include>
 <!-- android:layout_below="@+id/dish_layout_top"-->
 <!-- android:layout_below="@+id/dish_layout_top"-->
     <com.flipboard.bottomsheet.BottomSheetLayout
     <com.flipboard.bottomsheet.BottomSheetLayout
         android:id="@+id/bottom_sheet_layout"
         android:id="@+id/bottom_sheet_layout"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_height="match_parent"
+        android:layout_below="@+id/dish_layout_top"
         android:layout_marginBottom="50dp">
         android:layout_marginBottom="50dp">
     <LinearLayout
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_width="match_parent"
@@ -36,9 +37,10 @@
         android:id="@+id/bt_bottom"
         android:id="@+id/bt_bottom"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="50dp"
         android:layout_height="50dp"
+        android:visibility="gone"
         android:layout_alignParentBottom="true" />
         android:layout_alignParentBottom="true" />
     <!--底部购物车布局-->
     <!--底部购物车布局-->
- <!--   <FrameLayout
+    <FrameLayout
         android:id="@+id/rl_bottom"
         android:id="@+id/rl_bottom"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
@@ -53,15 +55,17 @@
             android:layout_gravity="bottom"
             android:layout_gravity="bottom"
             android:layout_height="50dp"
             android:layout_height="50dp"
             android:weightSum="3">
             android:weightSum="3">
-            <TextView
+            <TextView 
+            android:id="@+id/tvTotalPrice"
             android:layout_width="wrap_content"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginLeft="70dp"
             android:layout_marginLeft="70dp"
             android:textColor="@color/gray_light" 
             android:textColor="@color/gray_light" 
             android:layout_gravity="center_vertical"
             android:layout_gravity="center_vertical"
             android:layout_weight="2"
             android:layout_weight="2"
-            android:text="您的购物车空空如洗哦"/>
+            android:text="@string/tv_shop_empty"/>
             <TextView
             <TextView
+                android:id="@+id/tvShopSure"
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_weight="1"
                 android:layout_weight="1"
@@ -72,11 +76,12 @@
                 android:text="选好了"/>
                 android:text="选好了"/>
         </LinearLayout>
         </LinearLayout>
         <ImageView
         <ImageView
+            android:id="@+id/ivShopCar"
             android:layout_width="60dp"
             android:layout_width="60dp"
             android:layout_height="60dp"
             android:layout_height="60dp"
             android:layout_gravity="bottom"
             android:layout_gravity="bottom"
             android:layout_marginLeft="7dp"
             android:layout_marginLeft="7dp"
             android:layout_marginBottom="7dp"
             android:layout_marginBottom="7dp"
             android:src="@drawable/icon_shop_empty"/>
             android:src="@drawable/icon_shop_empty"/>
-    </FrameLayout>-->
+    </FrameLayout>
 </RelativeLayout>
 </RelativeLayout>

+ 33 - 29
app_modular/appbooking/src/main/res/layout/include_add_top.xml

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:orientation="vertical"
     android:layout_width="match_parent"
     android:layout_width="match_parent"
-    android:layout_height="wrap_content">
+    android:layout_height="wrap_content"
+    android:orientation="vertical">
     <!--抬头信息-->
     <!--抬头信息-->
     <RelativeLayout
     <RelativeLayout
         android:layout_width="match_parent"
         android:layout_width="match_parent"
@@ -16,43 +16,47 @@
             android:layout_height="match_parent"
             android:layout_height="match_parent"
             android:alpha="0.5"
             android:alpha="0.5"
             android:scaleType="fitXY" />
             android:scaleType="fitXY" />
+
         <ImageView
         <ImageView
             android:id="@+id/shadow_img"
             android:id="@+id/shadow_img"
-            android:background="#80000000"
             android:layout_width="match_parent"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:layout_height="match_parent"
+            android:background="#80000000"
             android:scaleType="fitXY" />
             android:scaleType="fitXY" />
-<com.xzjmyk.pm.activity.view.shadow.ShadowLayout
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:layout_alignParentLeft="true"
-    android:layout_alignParentStart="true"
-    android:layout_centerVertical="true"
-    android:layout_marginLeft="12dp"
-    android:layout_marginStart="12dp"
-    app:sl_shadowRadius="4dp"
-    app:sl_shadowColor="#AA000000"
-    app:sl_dx="2dp"
-    app:sl_dy="2dp"
-    android:id="@+id/sl_header"
-    app:sl_cornerRadius="50dp">
-        <de.hdodenhof.circleimageview.CircleImageView
-            android:id="@+id/iv_header"
-            android:layout_width="55dp"
-            android:layout_height="55dp"
-         
-            android:background="@null"
-            android:src="@drawable/defaultpic">
-            
-        </de.hdodenhof.circleimageview.CircleImageView>
-</com.xzjmyk.pm.activity.view.shadow.ShadowLayout>
+
+        <com.xzjmyk.pm.activity.view.shadow.ShadowLayout
+            android:id="@+id/sl_header"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignParentLeft="true"
+            android:layout_alignParentStart="true"
+            android:layout_centerVertical="true"
+            android:layout_marginLeft="12dp"
+            android:layout_marginStart="12dp"
+            app:sl_cornerRadius="50dp"
+            app:sl_dx="2dp"
+            app:sl_dy="2dp"
+            app:sl_shadowColor="#AA000000"
+            app:sl_shadowRadius="4dp">
+
+            <de.hdodenhof.circleimageview.CircleImageView
+                android:id="@+id/iv_header"
+                android:layout_width="55dp"
+                android:layout_height="55dp"
+
+                android:background="@null"
+                android:src="@drawable/defaultpic">
+
+            </de.hdodenhof.circleimageview.CircleImageView>
+        </com.xzjmyk.pm.activity.view.shadow.ShadowLayout>
+
         <LinearLayout
         <LinearLayout
             android:layout_width="wrap_content"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:layout_centerVertical="true"
             android:layout_centerVertical="true"
-            android:gravity="center_vertical"
             android:layout_marginLeft="7dp"
             android:layout_marginLeft="7dp"
             android:layout_toRightOf="@+id/sl_header"
             android:layout_toRightOf="@+id/sl_header"
+            android:gravity="center_vertical"
             android:orientation="vertical">
             android:orientation="vertical">
 
 
             <TextView
             <TextView
@@ -61,8 +65,8 @@
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:drawableLeft="@drawable/icon_detail"
                 android:drawableLeft="@drawable/icon_detail"
                 android:drawablePadding="3dp"
                 android:drawablePadding="3dp"
-                android:gravity="center_vertical"
                 android:elevation="2dp"
                 android:elevation="2dp"
+                android:gravity="center_vertical"
                 android:text="********"
                 android:text="********"
                 android:textColor="@color/white"
                 android:textColor="@color/white"
                 android:textSize="20sp"
                 android:textSize="20sp"

+ 45 - 0
app_modular/appbooking/src/main/res/layout/item_foods_dishlist.xml

@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="horizontal" 
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:layout_weight="4">
+<LinearLayout
+    android:layout_width="0dp"
+    android:layout_height="match_parent"
+    android:layout_weight="2"
+    android:orientation="horizontal">
+    <ImageView
+        android:id="@+id/iv_dish"
+        android:layout_marginLeft="8dp"
+        android:layout_marginTop="@dimen/dp_4"
+        android:layout_marginBottom="@dimen/dp_4"
+        android:layout_marginRight="@dimen/dp_4"
+        android:layout_width="40dp"
+        android:layout_height="40dp" 
+        android:layout_gravity="center"
+        android:src="@drawable/defaultpic"/>
+    <TextView
+        android:id="@+id/tv_dish_name"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content" 
+        android:layout_gravity="center"
+        android:text="*****"/>
+</LinearLayout>
+    
+    <TextView
+        android:id="@+id/tv_dish_num"
+        android:layout_weight="1"
+        android:layout_width="0dp"
+        android:text="*****"
+        android:gravity="center"
+        android:layout_height="match_parent" />
+    
+    <TextView
+        android:id="@+id/tv_dish_price"
+        android:layout_weight="1"
+        android:layout_width="0dp"
+        android:text="*****"
+        android:gravity="center"
+        android:layout_height="match_parent" />
+</LinearLayout>

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

@@ -40,6 +40,7 @@
     <string name="booking_serivce_teacher">特聘导师</string>
     <string name="booking_serivce_teacher">特聘导师</string>
     <string name="booking_serivce_technician">特聘技师</string>
     <string name="booking_serivce_technician">特聘技师</string>
     <string name="book_shopcart_clear">清空</string>
     <string name="book_shopcart_clear">清空</string>
+    <string name="tv_foods_dish">点菜</string>
 
 
 
 
     <string-array name="booking_reject">
     <string-array name="booking_reject">

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

@@ -40,6 +40,7 @@
     <string name="booking_serivce_teacher">特聘导师</string>
     <string name="booking_serivce_teacher">特聘导师</string>
     <string name="booking_serivce_technician">特聘技师</string>
     <string name="booking_serivce_technician">特聘技师</string>
     <string name="book_shopcart_clear">清空</string>
     <string name="book_shopcart_clear">清空</string>
+    <string name="tv_foods_dish">点菜</string>
 
 
 
 
     <string-array name="booking_reject">
     <string-array name="booking_reject">

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

@@ -40,6 +40,7 @@
     <string name="booking_serivce_teacher">特聘导师</string>
     <string name="booking_serivce_teacher">特聘导师</string>
     <string name="booking_serivce_technician">特聘技师</string>
     <string name="booking_serivce_technician">特聘技师</string>
     <string name="book_shopcart_clear">清空</string>
     <string name="book_shopcart_clear">清空</string>
+    <string name="tv_foods_dish">点菜</string>
 
 
 
 
     <string-array name="booking_reject">
     <string-array name="booking_reject">

+ 2 - 0
app_modular/appbooking/src/main/res/values/strings.xml

@@ -53,4 +53,6 @@
     <string name="label_price">¥%1$.1f</string>
     <string name="label_price">¥%1$.1f</string>
     <string name="dialog_clear_shopping_cart_title">是否清空购物车?</string>
     <string name="dialog_clear_shopping_cart_title">是否清空购物车?</string>
     <string name="dialog_clear_shopping_cart_message">你确认清空购物车?一旦清空将不可恢复</string>
     <string name="dialog_clear_shopping_cart_message">你确认清空购物车?一旦清空将不可恢复</string>
+    <string name="tv_shop_empty">您的购物车空空如洗哦</string>
+    <string name="tv_foods_dish">点菜</string>
 </resources>
 </resources>