Browse Source

Merge branch 'feature_raomeng' of https://gitlab.com/Arisono/SkWeiChat-Baidu into developer

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

+ 2 - 2
WeiChat/version.properties

@@ -1,5 +1,5 @@
-#Wed Nov 22 14:28:31 CST 2017
+#Fri Nov 24 08:54:18 CST 2017
 debugName=1
 versionName=618
-debugCode=56
+debugCode=86
 versionCode=118

+ 2 - 1
app_core/common/src/main/java/com/core/net/http/ViewUtil.java

@@ -1035,7 +1035,8 @@ public class ViewUtil {
                                     String password) {
         mdProcessDialog.setContent(MyApplication.getInstance().getString(R.string.login_progress_erp));
         //url = url + "mobile/login.action";
-        url ="https://218.17.158.219:9443/cc/mobile/login.action";
+       // url ="https://218.17.158.219:9443/cc/mobile/login.action";
+        url="http://192.168.253.6/uas_dev/mobile/login.action";
         Map<String, String> params = new HashMap<String, String>();
         params.put("username", username);
         params.put("password", password);

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

@@ -95,8 +95,8 @@ public class CommonUtil {
         }
         String baseUrl = getSharedPreferences(ct, "erp_baseurl");
       //   return baseUrl;
-      //  return "http://192.168.253.29:8080/ERP/";
-        return "https://218.17.158.219:9443/cc/";
+        return "http://192.168.253.6/uas_dev/";
+      //  return "https://218.17.158.219:9443/cc/";
     }
 
     /**

+ 19 - 0
app_core/common/src/main/res/layout/listitem_form_edit.xml

@@ -36,4 +36,23 @@
             android:layout_marginRight="10dp"
             android:hint="@string/common_input" />
     </LinearLayout>
+    <LinearLayout
+        android:id="@+id/select_img_layout"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:background="@color/white"
+        android:visibility="gone"
+        android:padding="10dp">
+
+        <com.core.widget.view.MyGridView
+            android:id="@+id/grid_view"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:gravity="center"
+            android:horizontalSpacing="3dp"
+            android:listSelector="#00000000"
+            android:numColumns="4"
+            android:stretchMode="columnWidth"
+            android:verticalSpacing="3dp" />
+    </LinearLayout>
 </LinearLayout>

+ 1 - 1
app_core/network/src/main/java/com/me/network/app/http/impl/RetrofitImpl.java

@@ -117,7 +117,7 @@ public class RetrofitImpl extends HttpBase {
             } else {
                 File file = (File) object;
                 //其中参数“file”和服务器接收的参数 一一对应,保证多文件上传唯一key不变
-                builder.addFormDataPart("businessImage", file.getName(), RequestBody.create(null, file));
+                builder.addFormDataPart("file", file.getName(), RequestBody.create(null, file));
             }
         }
         //创建RequestBody

+ 59 - 10
app_modular/appbooking/src/main/res/layout/activity_bservice_add.xml

@@ -52,7 +52,7 @@
                     android:id="@+id/tv_title"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:drawableRight="@drawable/icon_detail"
+                    android:drawableLeft="@drawable/icon_detail"
                     android:gravity="center_vertical"
                     android:text="********"
                     android:textColor="@color/black"
@@ -63,7 +63,7 @@
                     android:id="@+id/tv_sub"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:drawableRight="@drawable/icon_map"
+                    android:drawableLeft="@drawable/icon_map"
                     android:gravity="center_vertical"
                     android:text="********"
                     android:textColor="@color/black"
@@ -458,13 +458,13 @@
             </RelativeLayout>
         </LinearLayout>
 
-        <!--餐饮-->
+        <!--餐饮 android:visibility="gone"-->
         <LinearLayout
             android:id="@+id/ll_food"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:orientation="vertical"
-            android:visibility="gone">
+            >
 
             <RelativeLayout
                 android:id="@+id/food_peoples_rl"
@@ -528,21 +528,31 @@
                     android:text="@string/service_food_rooms"
                     android:textColor="@color/hintColor" />
 
+            </RelativeLayout>
+            <RelativeLayout
+                android:id="@+id/food_seats_rl"
+                style="@style/item_menu">
+
+                <TextView
+                    android:id="@+id/tag_food_seats"
+                    style="@style/item_menu_tag"
+                    android:gravity="center_vertical"
+                    android:text="桌位余量"
+                    android:textColor="@color/hintColor" />
+
                 <TextView
-                    android:id="@+id/tv_food_rooms"
+                    android:id="@+id/tv_food_seats"
                     style="@style/item_menu_input"
                     android:layout_width="290dp"
                     android:layout_alignParentEnd="true"
                     android:layout_alignParentRight="true"
                     android:layout_alignParentTop="true"
-                    android:layout_toRightOf="@id/tag_food_rooms"
-                    android:contentDescription="@string/service_food_rooms"
+                    android:layout_toRightOf="@id/tag_food_seats"
                     android:drawableRight="@drawable/oa_next"
                     android:hint="@string/common_select"
-                    android:text="否"
+                    android:text="仅限1桌"
                     android:textColor="@color/hintColor" />
             </RelativeLayout>
-
         </LinearLayout>
 
         <View
@@ -579,6 +589,31 @@
 
             </RelativeLayout>
 
+            <RelativeLayout
+                android:id="@+id/sex_rl"
+                style="@style/item_menu">
+
+                <TextView
+                    android:id="@+id/tag_book_sex"
+                    style="@style/item_menu_tag"
+                    android:layout_alignParentLeft="true"
+                    android:layout_alignParentStart="true"
+                    android:layout_alignParentTop="true"
+                    android:gravity="center_vertical"
+                    android:text="性别" />
+
+                <EditText
+                    android:id="@+id/et_book_sex"
+                    style="@style/item_menu_input"
+                    android:layout_width="110dp"
+                    android:drawableLeft="@drawable/icon_tel"
+                    android:drawablePadding="2dp"
+                    android:ellipsize="end"
+                    android:hint="@string/common_input2"
+                    android:inputType="phone"
+                    android:textColor="#0CB88C" />
+
+            </RelativeLayout>
             <RelativeLayout
                 android:id="@+id/phone_rl"
                 style="@style/item_menu">
@@ -604,7 +639,6 @@
                     android:textColor="#0CB88C" />
 
             </RelativeLayout>
-
             <RelativeLayout
                 android:id="@+id/notes_rl"
                 style="@style/item_menu">
@@ -652,4 +686,19 @@
                 android:textSize="@dimen/text_main" />
         </RelativeLayout>
     </LinearLayout>
+
+    <TextView
+        android:id="@+id/tv_food_rooms"
+        style="@style/item_menu_input"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_alignParentEnd="true"
+        android:layout_alignParentRight="true"
+        android:layout_alignParentTop="true"
+        android:layout_toRightOf="@id/tag_food_rooms"
+        android:contentDescription="@string/service_food_rooms"
+        android:drawableRight="@drawable/oa_next"
+        android:hint="@string/common_select"
+        android:text="否"
+        android:textColor="@color/hintColor" />
 </ScrollView>

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

@@ -25,7 +25,7 @@
     <string name="service_hair_rooms">服务项目</string>
 
     <string name="service_food_times">用餐时间</string>
-    <string name="service_food_rooms">需要包间</string>
+    <string name="service_food_rooms">包房预订</string>
     <string name="service_food_peoples">用餐人数</string>
     
     <!--预约功能-->

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

@@ -25,7 +25,7 @@
     <string name="service_hair_rooms">服务项目</string>
 
     <string name="service_food_times">用餐时间</string>
-    <string name="service_food_rooms">需要包间</string>
+    <string name="service_food_rooms">包房预订</string>
     <string name="service_food_peoples">用餐人数</string>
     
     <!--预约功能-->

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

@@ -26,7 +26,7 @@
     <string name="service_hair_rooms">服务项目</string>
 
     <string name="service_food_times">用餐时间</string>
-    <string name="service_food_rooms">需要包间</string>
+    <string name="service_food_rooms">包房预订</string>
     <string name="service_food_peoples">用餐人数</string>
 
     <!--预约功能-->

+ 181 - 5
app_modular/appworks/src/main/java/com/uas/appworks/activity/CommonDataFormActivity.java

@@ -4,6 +4,7 @@ import android.app.Activity;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
+import android.net.Uri;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
@@ -24,6 +25,7 @@ import android.widget.EditText;
 import android.widget.LinearLayout;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
+import android.widget.Toast;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
@@ -35,6 +37,7 @@ import com.common.data.ListUtils;
 import com.common.data.RegexUtil;
 import com.common.data.StringUtil;
 import com.common.preferences.PreferenceUtils;
+import com.common.ui.CameraUtil;
 import com.core.app.AppConfig;
 import com.core.app.Constants;
 import com.core.app.MyApplication;
@@ -42,13 +45,21 @@ import com.core.base.BaseActivity;
 import com.core.model.SelectBean;
 import com.core.net.http.ViewUtil;
 import com.core.utils.CommonUtil;
+import com.core.utils.ToastUtil;
+import com.core.utils.pictureselector.ComPictureAdapter;
 import com.core.utils.time.wheel.DateTimePicker;
+import com.core.widget.view.Activity.ImgFileListActivity;
 import com.core.widget.view.Activity.SelectActivity;
 import com.core.widget.view.ListViewInScroller;
+import com.core.widget.view.MyGridView;
 import com.core.widget.view.model.SelectAimModel;
 import com.core.widget.view.selectcalendar.SelectCalendarActivity;
 import com.core.widget.view.selectcalendar.bean.Data;
 import com.lidroid.xutils.ViewUtils;
+import com.me.network.app.http.HttpClient;
+import com.me.network.app.http.Method;
+import com.me.network.app.http.rx.ResultListener;
+import com.me.network.app.http.rx.ResultSubscriber;
 import com.modular.apputils.utils.PopupWindowHelper;
 import com.uas.appworks.OA.erp.activity.CommonDocDetailsActivity;
 import com.uas.appworks.OA.erp.activity.form.DataFormFieldActivity;
@@ -56,6 +67,7 @@ import com.uas.appworks.OA.erp.activity.form.FormListSelectActivity;
 import com.uas.appworks.OA.erp.model.form.GroupData;
 import com.uas.appworks.R;
 
+import java.io.File;
 import java.text.DecimalFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -118,6 +130,7 @@ public class CommonDataFormActivity extends BaseActivity implements View.OnClick
     private int va_id;
     private String mServeId;
 
+    private String sessionId;
     private Handler mHandler = new Handler() {
 
         @Override
@@ -132,6 +145,7 @@ public class CommonDataFormActivity extends BaseActivity implements View.OnClick
                     if (StringUtil.isEmpty(result)) return;
                     LogUtil.prinlnLongMsg("result:", result);
                     JSONArray forms = JSON.parseObject(result).getJSONObject("data").getJSONArray("formdetail");
+                    sessionId=JSON.parseObject(result).getString("sessionId");
                     grids = JSON.parseObject(result).getJSONObject("data").getJSONArray("gridetail");
                     //主表分组
                     HashSet<String> set = new HashSet<String>();
@@ -573,7 +587,8 @@ public class CommonDataFormActivity extends BaseActivity implements View.OnClick
         }
     };
     private int currentGroupId;//当前点击的分组
-
+    private ArrayList mPhotoList = new ArrayList<String>();
+    
     private void updateItemAdd() {
         if (ll_item_add != null) {
             if (caller.equals("FeePlease!CCSQ") || caller.equals("Workovertime")) {
@@ -1086,13 +1101,17 @@ public class CommonDataFormActivity extends BaseActivity implements View.OnClick
                     break;
                 case TYPE_ITEM:
                     ViewModel model;
+                   LinearLayout select_img_layout;
+                    MyGridView grid_view;
                     if (true) {
-                        convertView = inflater.inflate(R.layout.listitem_businessless_edit, parent, false);
+                        convertView = inflater.inflate(R.layout.listitem_form_edit, parent, false);
                         model = new ViewModel();
                         model.text = (TextView) convertView.findViewById(R.id.tv_less_key);
                         model.editText = (EditText) convertView.findViewById(R.id.tv_less_value);
                         model.ll_moment = (LinearLayout) convertView.findViewById(R.id.ll_moment);
                         model.editText.setBackgroundResource(R.color.transparent);
+                        grid_view=(MyGridView)convertView.findViewById(R.id.grid_view);
+                        select_img_layout= (LinearLayout) convertView.findViewById(R.id.select_img_layout);
                         convertView.setTag(model);
                     } else {
                         //缓存问题
@@ -1120,6 +1139,20 @@ public class CommonDataFormActivity extends BaseActivity implements View.OnClick
                         model.editText.setFocusable(false);
                         model.editText.setHint("请选择(必选)");
                     }
+                    //附件上传
+                    if (data.getType().equals("FF")){
+                        model.editText.setKeyListener(null);
+                        model.editText.setFocusable(false);
+                        model.editText.setHint("请上传(必选)");
+                  
+
+                        cAdapter = new ComPictureAdapter(mContext);
+                        cAdapter.setmPhotoList(mPhotoList);
+                        cAdapter.setMaxSiz(9);
+                        grid_view.setAdapter(cAdapter);
+                        select_img_layout.setVisibility(View.VISIBLE);
+                    }
+                    
                     if (data.isEditing()) {
                         model.editText.setEnabled(true);
                     } else {
@@ -1255,7 +1288,12 @@ public class CommonDataFormActivity extends BaseActivity implements View.OnClick
                                 }
 
                             }
-
+                            
+                            //上传附件
+                            if(data.getType().equals("FF")){
+                                showSelectPictureDialog();
+                            }
+                                
 
                         }
                     });
@@ -1463,9 +1501,27 @@ public class CommonDataFormActivity extends BaseActivity implements View.OnClick
             case 0x21://多选
                 if (data == null) return;
                 ArrayList<SelectBean> muliData = data.getParcelableArrayListExtra("data");
-                LogUtil.d("HttpLogs", "muliData:" + JSON.toJSONString(muliData));
                 int id = data.getIntExtra("id", 0);
+                LogUtil.d("HttpLogs", "muliData:" + JSON.toJSONString(muliData));
+                LogUtil.d("HttpLogs","多选项:"+mAdapter.getmListData().get(0).getDatas().get(id - 1).getFd_logictype());
+                String fd_logictype=mAdapter.getmListData().get(0).getDatas().get(id - 1).getFd_logictype();
                 if (requestCode == id && resultCode == 0x21) {//多选框
+                    StringBuilder values = new StringBuilder("");
+                    String logicArray[]=fd_logictype.split(";");
+                    for (int i = 0; i <logicArray.length ; i++) {
+                       String logicName= logicArray[i];
+                       String isSelected="0";
+                        for (int j = 0; j <muliData.size(); j++) {
+                         String selectName=   muliData.get(j).getName();
+                         if (selectName.equals(logicName)){
+                             isSelected="1";
+                         }
+                        }
+                        values.append(isSelected+";");
+                    }
+                    
+                    LogUtil.d("HttpLogs","values:"+values.toString());
+                    
                     StringBuilder str = new StringBuilder("");
                     if (!ListUtils.isEmpty(muliData)) {
                         for (int i = 0; i < muliData.size(); i++) {
@@ -1478,8 +1534,9 @@ public class CommonDataFormActivity extends BaseActivity implements View.OnClick
 
                         }
                     }
-                    LogUtil.d(str.toString());
+                    LogUtil.d("HttpLogs","vaules:CN:"+str.toString());
                     mAdapter.getmListData().get(0).getDatas().get(id - 1).setValue(str.toString());
+                    mAdapter.getmListData().get(0).getDatas().get(id - 1).setDisplayValue(values.toString());
                     //Toast.makeText(ct, "下拉项:" + datas.get(id - 1).getName() + "返回值:" + str.toString(), Toast.LENGTH_LONG).show();
                     // mAdapter.get
                     mAdapter.notifyDataSetChanged();
@@ -1498,6 +1555,38 @@ public class CommonDataFormActivity extends BaseActivity implements View.OnClick
                 break;
         }
 
+        if (requestCode == 0x01 && resultCode == 0x02 && data != null) {
+            mPhotoList.addAll(data.getStringArrayListExtra("files"));
+            Log.i("files0x01", data.getStringArrayListExtra("files").toString());
+            Log.i("mPhotoList", mPhotoList.toString());
+            doImageFiltering(mPhotoList);
+            uploadFile();
+//            mAdapter.notifyDataSetInvalidated();
+        }
+
+        if (requestCode == REQUEST_CODE_CAPTURE_PHOTO) {// 拍照返回
+            if (resultCode == Activity.RESULT_OK) {
+                if (mNewPhotoUri != null) {
+                    mPhotoList.add(mNewPhotoUri.getPath());
+                    cAdapter.notifyDataSetInvalidated();
+                    uploadFile();
+                } else {
+                    ToastUtil.showToast(this, R.string.c_take_picture_failed);
+                }
+            }
+        } else if (requestCode == REQUEST_CODE_PICK_PHOTO) {// 选择一张图片,然后立即调用裁减
+            if (resultCode == Activity.RESULT_OK) {
+                if (data != null && data.getData() != null) {
+                    LogUtil.d("uri:", JSON.toJSONString(data.getData()));
+                    String path = CameraUtil.getImagePathFromUri(this, data.getData());
+                    mPhotoList.add(path);
+                    uploadFile();
+                    cAdapter.notifyDataSetInvalidated();
+                } else {
+                    ToastUtil.showToast(this, R.string.c_photo_album_failed);
+                }
+            }
+        }
     }
 
     private void parseResultByField(Intent data) {
@@ -2484,4 +2573,91 @@ public class CommonDataFormActivity extends BaseActivity implements View.OnClick
 //            selectApprovers(text);
 //        }
     }
+
+
+
+    private void showSelectPictureDialog() {
+        String[] items = new String[]{getString(R.string.c_take_picture), getString(R.string.c_photo_album)};
+        android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(this).setSingleChoiceItems(items, 0,
+                new DialogInterface.OnClickListener() {
+                    @Override
+                    public void onClick(DialogInterface dialog, int which) {
+                        if (which == 0) {
+                            try {
+                                takePhoto();
+                            } catch (Exception e) {
+                                String message = e.getMessage();
+                                if (!StringUtil.isEmpty(message) && message.contains("Permission")) {
+                                    ToastUtil.showToast(ct, R.string.not_system_permission);
+                                }
+                            }
+                        } else {
+//                            selectPhoto();
+                            Intent intent = new Intent();
+                            intent.putExtra("MAX_SIZE", 9);
+                            intent.putExtra("CURRENT_SIZE", mPhotoList == null ? 0 : mPhotoList.size());
+                            intent.setClass(ct, ImgFileListActivity.class);
+                            startActivityForResult(intent, 0x01);
+                        }
+                        dialog.dismiss();
+                    }
+                });
+        builder.show();
+    }
+
+    private static final int REQUEST_CODE_CAPTURE_PHOTO = 1;// 拍照
+    private static final int REQUEST_CODE_PICK_PHOTO = 2;// 图库
+    private static Uri mNewPhotoUri;// 拍照和图库 获得图片的URI
+    ComPictureAdapter cAdapter;
+    private void takePhoto() throws Exception {
+        mNewPhotoUri = CameraUtil.getOutputMediaFileUri(mContext, MyApplication.getInstance().mLoginUser.getUserId(), CameraUtil.MEDIA_TYPE_IMAGE);
+        LogUtil.d("uri:" + mNewPhotoUri);
+        if (mNewPhotoUri != null) {
+            CameraUtil.captureImage(CommonDataFormActivity.this,
+                    mNewPhotoUri, 
+                    REQUEST_CODE_CAPTURE_PHOTO);
+        } else {
+            ToastUtil.showToast(this, "uri is null");
+        }
+    }
+
+    private void doImageFiltering(ArrayList<String> mPhotoList) {
+        for (int i = 0; i < mPhotoList.size(); i++) {
+            File file = new File(mPhotoList.get(i).toString());
+            if (!file.isFile()) {
+//                mPhotoList.remove(i);
+                Toast.makeText(ct, "第" + (i + 1) + "张图片格式不对,可能会上传失败,建议更换", Toast.LENGTH_LONG).show();
+            }
+            if (i == mPhotoList.size() - 1) {
+                mAdapter.notifyDataSetInvalidated();
+            }
+        }
+    }
+    
+    
+    //上传文件
+    public void uploadFile(){
+          HttpClient httpClient=new HttpClient.Builder(CommonUtil.getAppBaseUrl(mContext)).build();
+          LogUtil.d("HttpLogs","path:"+mPhotoList.get(0).toString()+" sessionId:"+sessionId);
+          httpClient.Api().uploads(new HttpClient.Builder()
+                  .url("api/serve/uploadAttach.action")
+                  .add("master",CommonUtil.getSharedPreferences(mContext,"erp_master"))
+                  .add("file", new File(mPhotoList.get(0).toString()))   .add("access_token","12321")
+                  .add("sessionId", sessionId)
+                  .add("client_type","cc")
+                  .header("Cookie", "JSESSIONID=" + sessionId)
+                  .header("sessionId", sessionId)
+                  .method(Method.POST)
+                  .build(),new ResultSubscriber<Object>(new ResultListener<Object>() {
+
+              @Override
+              public void onResponse(Object o) {
+              LogUtil.d("HttpLogs","o:"+o.toString());
+              }
+          }));
+          
+        
+    }
+    
+    
 }