瀏覽代碼

Merge branch 'draft' of https://gitlab.com/Arisono/SkWeiChat-Baidu into uu_v2.0

SpringBoots 8 年之前
父節點
當前提交
9d9fc5eedd

+ 15 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/MainActivity.java

@@ -80,6 +80,7 @@ import com.xzjmyk.pm.activity.util.DateFormatUtil;
 import com.xzjmyk.pm.activity.util.DisplayUtil;
 import com.xzjmyk.pm.activity.util.PermissionUtil;
 import com.xzjmyk.pm.activity.util.PreferenceUtils;
+import com.xzjmyk.pm.activity.util.QSearchPpwindowUtils;
 import com.xzjmyk.pm.activity.util.TimeUtils;
 import com.xzjmyk.pm.activity.view.DivideRadioGroup;
 import com.xzjmyk.pm.activity.volley.ArrayResult;
@@ -603,7 +604,20 @@ public class MainActivity extends BaseActivity implements NetWorkObservable.NetW
         }
         handler.post(runnable);
 
+        hiQuickSearch();
     }
+
+    private void hiQuickSearch() {
+        if (CommonUtil.isReleaseVersion()) return;
+        if (MainActivity.class == null) return;
+        handler.postDelayed(new Runnable() {
+            @Override
+            public void run() {
+                QSearchPpwindowUtils.qSearchWindows(MainActivity.this);
+            }
+        },4000);
+    }
+
     public class MyRunnable implements Runnable {
 
         @Override
@@ -676,6 +690,7 @@ public class MainActivity extends BaseActivity implements NetWorkObservable.NetW
         });
     }
 
+
     /**
      * 设置页面的透明度
      * 兼容华为手机(在个别华为手机上 设置透明度会不成功)
@@ -838,9 +853,6 @@ public class MainActivity extends BaseActivity implements NetWorkObservable.NetW
     @Override
     protected void onStop() {
         super.onStop();
-        saveOfflineTime();
-
-
     }
 
     private void saveOfflineTime() {

+ 9 - 5
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/AppWebViewActivity.java

@@ -11,7 +11,6 @@ import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.erp.activity.oa.ApprovalActivity;
 import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
-import com.xzjmyk.pm.activity.util.PreferenceUtils;
 
 /**
  * Created by Bitliker on 2017/7/28.
@@ -28,7 +27,6 @@ public class AppWebViewActivity extends WebViewLoadActivity {
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
         if (item.getItemId() == R.id.returnOld) {
-            PreferenceUtils.putBoolean("newapproval", true);
             Intent intent = new Intent(ct, ApprovalActivity.class);
             intent.putExtra("title", getIntent().getStringExtra("p"));
             int nodeId = getNodeId();
@@ -45,12 +43,18 @@ public class AppWebViewActivity extends WebViewLoadActivity {
     private int getNodeId() {
         int nodeId = -1;
         try {
-            LogUtil.i("url=" + url);
+
             if (!StringUtils.isEmpty(url)) {
                 String[] urls = url.split("nodeId=");
                 if (urls != null && urls.length > 1) {
-                    String node = urls[1].split("&")[0];
-                    nodeId = Integer.valueOf(node);
+                    String message = urls[1];
+                    int endItem = urls[1].indexOf("%");
+                    if (endItem < 0)
+                        endItem = urls[1].indexOf("&");
+                    if (endItem > 0) {
+                        message = message.substring(0, endItem);
+                    }
+                    nodeId = Integer.valueOf(message);
                 }
             }
         } catch (Exception e) {

+ 10 - 9
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/message/ProcessMsgActivity.java

@@ -32,6 +32,7 @@ import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.helper.AvatarHelper;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
+import com.xzjmyk.pm.activity.ui.erp.activity.AppWebViewActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.oa.ApprovalActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.setting.ComApprovalUtil;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
@@ -360,14 +361,14 @@ public class ProcessMsgActivity extends BaseActivity implements View.OnClickList
                 LogUtil.i("url="+url);
                 String master = model.master == null ? CommonUtil.getSharedPreferences(ct, "erp_master") : model.master;
                 if (CommonUtil.isReleaseVersion()) {
-                    CommonUtil.loadWebView(ct, url, title, master, null, null);
-//                    Intent intent = new Intent(ct, AppWebViewActivity.class);
-//                    intent.putExtra("url", url);
-//                    intent.putExtra("p", title);
-//                    intent.putExtra("master", master);
-//                    intent.putExtra("nodeid", Integer.valueOf(model.JP_NODEID));
-//                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-//                    startActivity(intent);
+//                    CommonUtil.loadWebView(ct, url, title, master, null, null);
+                    Intent intent = new Intent(ct, AppWebViewActivity.class);
+                    intent.putExtra("url", url);
+                    intent.putExtra("p", title);
+                    intent.putExtra("master", master);
+                    intent.putExtra("nodeid", Integer.valueOf(model.JP_NODEID));
+                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+                    startActivity(intent);
                 } else {
                     Intent intent = new Intent(ct, ApprovalActivity.class);
                     intent.putExtra("imid", d_imids);
@@ -580,7 +581,7 @@ public class ProcessMsgActivity extends BaseActivity implements View.OnClickList
                     }
                     ;
 //                    model.status.setText(jp_status);
-                    model.status.setTextColor(getResources().getColor(R.color.new_waitting_approvel));
+                    model.status.setTextColor(getResources().getColor(R.color.approvaling));
                     model.status.setText("等待我审批");
                     model.JP_NODEID = JP_NODEID;
                     model.typecode = jp_typecode;

+ 10 - 10
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/ApprovalActivity.java

@@ -42,11 +42,11 @@ import com.xzjmyk.pm.activity.ui.erp.presenter.ApprovaPresenter;
 import com.xzjmyk.pm.activity.ui.erp.presenter.imp.IApproval;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
-import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.OACheckUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.OAConfig;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.RecognizerDialogUtil;
+import com.xzjmyk.pm.activity.util.DisplayUtil;
 import com.xzjmyk.pm.activity.util.PreferenceUtils;
 
 import java.util.ArrayList;
@@ -74,10 +74,9 @@ public class ApprovalActivity extends OABaseActivity implements IApproval, Appro
         if (item.getItemId() == R.id.oa_approval_set && mAdapter != null && !ListUtils.isEmpty(mAdapter.getApprovals())) {
             mPresenter.trun2SetActivity(this, mAdapter.getApprovals());
         } else if (item.getItemId() == R.id.returnOld) {
-            PreferenceUtils.putBoolean("newapproval", false);
             Intent intent = new Intent(ct, AppWebViewActivity.class);
             String title = getIntent().getStringExtra("title");
-            String url = mPresenter.getUrl(title);
+            String url = mPresenter.getUrl(findViewById(R.id.takeOverTV).getVisibility() == View.VISIBLE ? "jsps/mobile/jprocand.jsp?nodeId=" : "", title);
             intent.putExtra("url", url);
             intent.putExtra("p", title);
             intent.putExtra("master", CommonUtil.getMaster());
@@ -138,7 +137,6 @@ public class ApprovalActivity extends OABaseActivity implements IApproval, Appro
         findViewById(R.id.disagreeTV).setOnClickListener(this);
         findViewById(R.id.agreeTV).setOnClickListener(this);
         findViewById(R.id.takeOverTV).setOnClickListener(this);
-
         String title = getIntent().getStringExtra("title");
         opinionET.addTextChangedListener(new EditChangeListener() {
             @Override
@@ -312,7 +310,6 @@ public class ApprovalActivity extends OABaseActivity implements IApproval, Appro
     }
 
     private void showCommonWordsIV() {
-        LogUtil.i("showCommonWordsIV");
         final PopupWindow window = new PopupWindow(ct);
         View view = LayoutInflater.from(ct).inflate(R.layout.item_list_pop, null);
         window.setContentView(view);
@@ -320,9 +317,11 @@ public class ApprovalActivity extends OABaseActivity implements IApproval, Appro
         final String[] messages = {"非常好", "(赞)", "再接再厉", "加油"};
         contentLV.setAdapter(new PopListAdapter(messages));
         window.setTouchable(true);
+        window.setBackgroundDrawable(ct.getResources().getDrawable(R.drawable.pop_round_bg));
         window.getContentView().measure(0, 0);
-        window.setHeight(window.getContentView().getMeasuredHeight() + 150);
-        window.setWidth(window.getContentView().getMeasuredWidth());
+        window.setHeight(DisplayUtil.dip2px(this, 190));
+        window.setWidth(DisplayUtil.dip2px(this, 85));
+        window.setAnimationStyle(R.style.MenuAnimationFade);
         window.setOutsideTouchable(false);
         window.setFocusable(true);
         //获取需要在其上方显示的控件的位置信息
@@ -335,7 +334,8 @@ public class ApprovalActivity extends OABaseActivity implements IApproval, Appro
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                 String message = messages[position];
-                opinionET.setText(OACheckUtil.getIntagerByText(opinionET) + message);
+                opinionET.setText(OACheckUtil.getText(opinionET) + message);
+                window.dismiss();
             }
         });
     }
@@ -366,9 +366,9 @@ public class ApprovalActivity extends OABaseActivity implements IApproval, Appro
         public View getView(int position, View convertView, ViewGroup parent) {
             ViewHolder holder = null;
             if (convertView == null) {
-                convertView = LayoutInflater.from(ct).inflate(R.layout.item_simple_text, null);
+                convertView = LayoutInflater.from(ct).inflate(R.layout.item_pop_list, null);
                 holder = new ViewHolder();
-                holder.tv_text = (TextView) convertView.findViewById(R.id.tv_text);
+                holder.tv_text = (TextView) convertView.findViewById(R.id.tv_item_name);
                 convertView.setTag(holder);
             } else {
                 holder = (ViewHolder) convertView.getTag();

+ 8 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/oa/ApprovalAdapter.java

@@ -212,10 +212,10 @@ public class ApprovalAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
 
     private void bindTAGView(TagViewHolder holder, final int position) {
         String name = approvals.get(position).getCaption();
-        if (approvals.get(position).getType() == Approval.ENCLOSURE) {
+        if (approvals.get(position).getType() == Approval.ENCLOSURE) {//附件列表
             holder.line.setVisibility(View.GONE);
             holder.padding.setVisibility(View.GONE);
-            holder.nameTv.setText(Html.fromHtml("<u>" + name + "</u>"));
+            holder.nameTv.setText(Html.fromHtml("&nbsp&nbsp&nbsp&nbsp&nbsp " + "<u>" + name + "</u>"));
             holder.nameTv.setOnClickListener(new View.OnClickListener() {
                 @Override
                 public void onClick(View v) {
@@ -230,6 +230,11 @@ public class ApprovalAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
                 } else {
                     holder.line.setVisibility(View.GONE);
                     holder.padding.setVisibility(View.VISIBLE);
+                    if (name.trim().equals("附件")) {
+                        holder.nameTv.setTextColor(ct.getResources().getColor(R.color.text_normal));
+                    } else {
+                        holder.nameTv.setTextColor(ct.getResources().getColor(R.color.titleBlue));
+                    }
                 }
             }
             holder.nameTv.setText(name);
@@ -324,7 +329,7 @@ public class ApprovalAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
             } else {
                 setViewShowAble(true, holder.valueTv);
                 setViewShowAble(false, holder.valueEt, holder.valueWeb);
-                holder.valueTv.setText(approval.getValues());
+                holder.valueTv.setText(Html.fromHtml(approval.getValues()));
             }
         }
     }

+ 3 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/model/oa/Approval.java

@@ -137,11 +137,11 @@ public class Approval {
      * @return 输入类型:0字符输入  1.数字输入  2.日期输入选择  3.下拉选择  4.多选选择
      */
     public int inputType() {
-        if (dfType.equals("N"))
+        if (isDftypeEQ("floatcolumn8", "N"))
             return 1;
-        else if ("D".equals(dfType) || "DT".equals(dfType)) {
+        else if (isDftypeEQ("DT", "D")) {
             return 2;
-        } else if ("C".equals(dfType) || "YN".equals(dfType) || "B".equals(dfType)) {
+        } else if (isDftypeEQ("C", "YN", "B")) {
             return 3;
         }
         return 0;

+ 29 - 18
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/ApprovaPresenter.java

@@ -119,10 +119,12 @@ public class ApprovaPresenter implements OnHttpResultListener {
         }
     }
 
-    public String getUrl(String title) {
+    public String getUrl(String baseUrl, String title) {
+        if (StringUtils.isEmpty(baseUrl))
+            baseUrl = "jsps/mobile/process.jsp?nodeId=";
         LogUtil.i("title=" + title);
         String endStatus = (StringUtils.isEmpty(title) || title.equals(OACheckUtil.getString(R.string.title_approval)) ? "" : "%26_do=1");
-        return "jsps/mobile/process.jsp?nodeId=" + record.nodeId + endStatus;
+        return baseUrl + record.nodeId + endStatus;
     }
 
     public void initLoad() {
@@ -144,10 +146,10 @@ public class ApprovaPresenter implements OnHttpResultListener {
     }
 
     public void loadProcessUpdate(String nodeLog, List<Approval> approvals) {
-        StringBuilder points = new StringBuilder();
-        if (!inputAllPoints(points, approvals))
+        StringBuilder pointsBuilder = new StringBuilder();
+        if (!inputAllPoints(pointsBuilder, approvals))
             return;
-        chchePoints = points.toString();
+        chchePoints = pointsBuilder.toString();
         LogUtil.i("chchePoints=" + chchePoints);
         String url = "common/processUpdate.action";
         Map<String, Object> param = new HashMap<>();
@@ -310,7 +312,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
         Map<String, Object> param = new HashMap<>();
         param.put("caller", record.caller);
         param.put("id", record.id);
-//        param.put("isprocess", 1);
+        param.put("isprocess", 1);
         Request.Bulider bulider = new Request.Bulider()
                 .setUrl(url)
                 .setWhat(LOAD_FORMAND_GRIDDATA)
@@ -639,8 +641,10 @@ public class ApprovaPresenter implements OnHttpResultListener {
                 String caller = null;
                 JSONArray otherGriddata = null;
                 JSONArray otherGridconfigs = null;
+                String name = null;
                 for (int i = 0; i < othergrids.size(); i++) {
                     o = othergrids.getJSONObject(i);
+                    name = OACheckUtil.getJson2Text(o, "name");
                     caller = OACheckUtil.getJson2Text(o, "caller");
                     otherGriddata = OACheckUtil.getJsonArray(o, "griddata");
                     otherGridconfigs = OACheckUtil.getJsonArray(o, "gridconfigs");
@@ -649,8 +653,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
                             //获取到单个明细表单
                             final List<Approval> detailedApproval = formandGriddata(otherGriddata.getJSONObject(j), otherGridconfigs, caller, false);
                             Approval approval = new Approval(Approval.TAG);
-                            approval.setCaption(getString(R.string.subtabulation) + " " + (i + 1) + " " +
-                                    getString(R.string.serial_number) + (j + 1));
+                            approval.setCaption(name + " " + getString(R.string.serial_number) + (j + 1));
                             detailedApproval.add(0, approval);
                             detailedList.addAll(detailedApproval);
                         }
@@ -682,9 +685,9 @@ public class ApprovaPresenter implements OnHttpResultListener {
             String type = getJson2Text(config, "FD_TYPE", "DG_TYPE");
             //添加类型
             approval.setDfType(type);
-            int isdefault = OACheckUtil.getJsonIntager(config, "MFD_ISDEFAULT", "MDG_ISDEFAULT");
+//            int isdefault = OACheckUtil.getJsonIntager(config, "MFD_ISDEFAULT", "MDG_ISDEFAULT");
             int appwidth = OACheckUtil.getJsonIntager(config, "FD_APPWIDTH", "DG_APPWIDTH");
-            if (isMain && caption.equals("附件")) {
+            if (isMain && approval.isDftypeEQ("MF")) {
                 final String fb_attach = valueKey;
                 OAHttpHelper.getInstance().post(new Runnable() {
                     @Override
@@ -694,12 +697,12 @@ public class ApprovaPresenter implements OnHttpResultListener {
                 });
             }
             //获取Id
-            if (!StringUtils.isEmpty(caption) && caption.equals("ID")) {
+            if (!StringUtils.isEmpty(caption) && (caption.equals("ID") || caption.equals("id"))) {
                 idTag = valueKey;
                 id = OACheckUtil.getJsonIntager(data, valueKey);
             }
-            if (isdefault != -1
-                    || approval.isDftypeEQ("H")
+            if (approval.isDftypeEQ("H")
+//                    || isdefault != -1
                     || appwidth == 0
                     || (!isMain && OACheckUtil.getJsonIntager(config, "DG_WIDTH") == 0)
                     || OACheckUtil.isEmpty(valueKey)
@@ -960,8 +963,12 @@ public class ApprovaPresenter implements OnHttpResultListener {
                                 approval.getDatas().add(new Approval.Data(v, v));
                         }
                     }
-                    if (!StringUtils.isEmpty(neer))
+                    if (!StringUtils.isEmpty(neer)) {
                         approval.setMustInput(neer.startsWith("Y"));
+                        if (neer.contains("@A")) {
+                            approval.setDfType("@A");
+                        }
+                    }
                 }
                 if (datas != null && datas.length > 0) {
                     for (String data : datas) {
@@ -1014,12 +1021,10 @@ public class ApprovaPresenter implements OnHttpResultListener {
     //判断要点
     private boolean inputAllPoints(StringBuilder customDes, List<Approval> approvals) {
         if (!ListUtils.isEmpty(approvals)) {
-            LogUtil.i("show Presenter pointsList .....");
             for (Approval approval : approvals) {
                 if (approval.getType() == Approval.POINTS) {
                     if (approval.isMustInput() && StringUtils.isEmpty(approval.getValues())) {
                         String message = OACheckUtil.getString(R.string.approval_points) + " " + approval.getCaption() + " " + OACheckUtil.getString(R.string.is_must_input);
-                        LogUtil.i("message=" + message);
                         iApproval.showToast(message, R.color.load_submit);
                         return false;
                     }
@@ -1030,7 +1035,12 @@ public class ApprovaPresenter implements OnHttpResultListener {
                             iApproval.showToast(message, R.color.load_submit);
                             return false;
                         }
-                        customDes.append(approval.getCaption() + "(" + approval.getValues() + ");");
+                        if (approval.isDftypeEQ("@A")) {
+                            customDes.append(approval.getCaption() + "(" + approval.getValues() + ")" + "@A@;");
+                        } else {
+                            customDes.append(approval.getCaption() + "(" + approval.getValues() + ");");
+                        }
+
                     }
                 }
             }
@@ -1060,11 +1070,12 @@ public class ApprovaPresenter implements OnHttpResultListener {
             if (formstore == null)
                 return false;
             formStore.putAll(formstore);
+
             for (List<Approval> details : detailList) {
                 Map<String, Object> param = putItem2Params(details);
                 if (param == null)
                     return false;
-                if (param.isEmpty()) continue;
+                if (param.isEmpty() || param.keySet().size() <= 1) continue;
                 params.add(param);
             }
         }

+ 171 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/util/QSearchPpwindowUtils.java

@@ -0,0 +1,171 @@
+package com.xzjmyk.pm.activity.util;
+
+import android.app.Activity;
+import android.os.Handler;
+import android.os.Message;
+import android.util.DisplayMetrics;
+import android.util.Log;
+import android.view.Gravity;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.WindowManager;
+import android.widget.PopupWindow;
+import android.widget.Toast;
+
+import com.alibaba.fastjson.JSON;
+import com.iflytek.cloud.RecognizerResult;
+import com.iflytek.cloud.SpeechError;
+import com.iflytek.cloud.ui.RecognizerDialogListener;
+import com.xzjmyk.pm.activity.MyApplication;
+import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.audio.voicerecognition.JsonParser;
+import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.Constants;
+import com.xzjmyk.pm.activity.ui.erp.util.JsonValidator;
+import com.xzjmyk.pm.activity.ui.erp.util.oa.RecognizerDialogUtil;
+
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+/**
+ * Created by FANGlh on 2017/8/4.
+ * function:
+ */
+
+public class QSearchPpwindowUtils{
+
+    public QSearchPpwindowUtils() {
+    }
+
+    public static void qSearchWindows(final Activity activity){
+        final boolean[] isqSearch = {true};
+        View contentView = LayoutInflater.from(activity).inflate(R.layout.judge_qsearch_window, null);
+        DisplayMetrics dm = MyApplication.getInstance().getResources().getDisplayMetrics();
+        int w_screen = dm.widthPixels;
+        int h_screen = dm.heightPixels;
+        w_screen = DisplayUtil.dip2px(activity, 250);
+        h_screen = DisplayUtil.dip2px(activity, 100);
+        final PopupWindow  popupWindow = new PopupWindow(contentView, w_screen, h_screen, true);
+        popupWindow.setTouchable(true);
+        popupWindow.setOutsideTouchable(false);
+        // 如果不设置PopupWindow的背景,无论是点击外部区域还是Back键都无法dismiss弹框
+        popupWindow.setBackgroundDrawable( MyApplication.getInstance().getResources().getDrawable(R.drawable.pop_round_bg));
+        // 设置好参数之后再show
+        popupWindow.showAtLocation(contentView, Gravity.CENTER, 0, 0);
+        setbg(activity,popupWindow,0.4f);
+        contentView.findViewById(R.id.no_tv).setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                popupWindow.dismiss();  //不进行快速搜索
+                isqSearch[0] = false;
+            }
+        });
+        new android.os.Handler().postDelayed(new Runnable() {
+            @Override
+            public void run() {
+                if (isqSearch[0]){
+                    RecognizerDialogUtil.showRecognizerDialog(activity,new RecognizerDialogListener() {
+                        @Override
+                        public void onResult(RecognizerResult recognizerResult, boolean b) {
+                            String text = JsonParser.parseIatResult(recognizerResult.getResultString());
+                            if (!StringUtils.isEmpty(text)){
+                                handlerQSearch(activity,CommonUtil.getPlaintext(text));  //处理好的语音进行刷选判断逻辑
+                            }
+                        }
+                        @Override
+                        public void onError(SpeechError speechError) {}
+                    });
+                    popupWindow.dismiss();
+                }
+            }
+        },6000);
+    }
+
+    private static void handlerQSearch(Activity activity,String text) {
+        Toast.makeText(activity,text,Toast.LENGTH_LONG).show();
+        Log.i("handlerQSearch",text+"");
+
+        if (text.contains("预约")){
+            String url =   "common/attach/change.action";
+            Map<String,Object> params = new HashMap<>();
+            params.put("table","FeePlease");
+            params.put("update","fb_attach='"+""+"'");
+            params.put("condition","fp_id = ");
+            params.put("type","删除附件");
+
+            CommonHttp(activity,url,params);
+        }
+    }
+    private static void CommonHttp(Activity activity, String url, Map<String, Object> params) {
+        String comurl = com.xzjmyk.pm.activity.ui.erp.util.Constants.getAppBaseUrl(activity) + url;
+        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(activity, "sessionId"));
+        ViewUtil.httpSendRequest(activity, comurl, params, cHandler, headers, 0x01, null, null, "get");
+    }
+
+
+    private static Handler cHandler = new Handler(){
+        @Override
+        public void handleMessage(Message msg) {
+            super.handleMessage(msg);
+            String result = msg.getData().getString("result");
+            switch(msg.what){
+                case 0x01:
+                    if (!StringUtils.isEmpty(result)){
+                        Log.i("0x01result", result);
+                    }
+                    break;
+                case 0x02:
+                    break;
+                case 0x03:
+                    break;
+                case 0x04:
+                    break;
+                case 0x05:
+                    break;
+                case 0x06:
+                    break;
+                case 0x07:
+                    break;
+                case Constants.APP_SOCKETIMEOUTEXCEPTION:
+                    if (new JsonValidator().validate(result)) {
+                        ToastMessage(JSON.parseObject(result).getString("exceptionInfo"));
+                    } else {
+                        ToastMessage(result);
+                    }
+                    break;
+            }
+        }
+    };
+    public static void ToastMessage(String message) {
+        ViewUtil.ToastMessage(MyApplication.getInstance(), message);
+    }
+    private  static void setbg(final Activity activity , PopupWindow popupWindow, float alpha) {
+        setBackgroundAlpha(activity, alpha);
+        if (popupWindow == null) return;
+        popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
+            @Override
+            public void onDismiss() {
+                setBackgroundAlpha(activity, 1f);
+            }
+        });
+    }
+    /**
+     * 设置页面的透明度
+     * 兼容华为手机(在个别华为手机上 设置透明度会不成功)
+     *
+     * @param bgAlpha 透明度   1表示不透明
+     */
+    public static void setBackgroundAlpha(Activity activity, float bgAlpha) {
+        WindowManager.LayoutParams lp = activity.getWindow().getAttributes();
+        lp.alpha = bgAlpha;
+        if (bgAlpha == 1) {
+            activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);//不移除该Flag的话,在有视频的页面上的视频会出现黑屏的bug
+        } else {
+            activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);//此行代码主要是解决在华为手机上半透明效果无效的bug
+        }
+        activity.getWindow().setAttributes(lp);
+    }
+}

+ 2 - 19
WeiChat/src/main/res/layout/activity_approval.xml

@@ -81,7 +81,7 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_above="@id/operationLL"
-        android:layout_marginBottom="10dp"
+        android:layout_marginBottom="@dimen/paddingApp"
         android:layout_marginTop="@dimen/paddingApp"
         android:background="@color/base_bg">
 
@@ -136,6 +136,7 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_above="@id/opinionRL"
+        android:background="@color/base_bg"
         android:focusableInTouchMode="true">
 
         <android.support.v7.widget.RecyclerView
@@ -148,22 +149,4 @@
             android:background="@color/base_bg"
             android:focusableInTouchMode="false"/>
     </RelativeLayout>
-    <LinearLayout
-        android:background="@color/bg_main"
-        android:id="@+id/cWll"
-        android:layout_width="100dp"
-        android:layout_height="wrap_content"
-        android:orientation="vertical"
-        android:layout_alignParentRight="true"
-        android:layout_above="@+id/opinionRL"
-        android:layout_marginRight="10dp"
-        android:visibility="gone"
-        >
-        <ListView
-            android:id="@+id/cWlist"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:dividerHeight="1dp">
-        </ListView>
-    </LinearLayout>
 </RelativeLayout>

+ 1 - 1
WeiChat/src/main/res/layout/item_approval_node.xml

@@ -13,7 +13,7 @@
     <RelativeLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:padding="8dp">
+        android:padding="@dimen/paddingApp">
 
         <ImageView
             android:id="@+id/statusIV"

+ 1 - 0
WeiChat/src/main/res/layout/item_approval_points.xml

@@ -7,6 +7,7 @@
     <LinearLayout
         android:id="@+id/context_ll"
         style="@style/approvalStyle"
+        android:paddingLeft="@dimen/paddingApp"
         android:layout_width="match_parent"
         android:layout_height="wrap_content">
 

+ 3 - 2
WeiChat/src/main/res/layout/item_approval_rv.xml

@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
               style="@style/approvalStyle"
+              android:paddingLeft="@dimen/paddingApp"
               android:layout_width="match_parent"
               android:layout_height="wrap_content">
 
@@ -9,14 +10,14 @@
         style="@style/approvalItemStyle"
         android:layout_width="0dp"
         android:layout_marginRight="10dp"
+        android:layout_height="wrap_content"
         android:layout_weight="1"/>
 
     <FrameLayout
         android:id="@+id/valuesFl"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
-        android:layout_marginRight="10dp"
-        android:layout_weight="2">
+        android:layout_weight="3">
 
         <EditText
             android:id="@+id/valueEt"

+ 1 - 2
WeiChat/src/main/res/layout/item_approval_title.xml

@@ -10,12 +10,11 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:background="@color/base_bg"
-        android:padding="10dp">
+        android:padding="@dimen/paddingApp">
 
         <com.xzjmyk.pm.activity.ui.erp.view.CircleImageView
             android:id="@+id/handIv"
             android:layout_width="50dp"
-
             android:layout_height="50dp"/>
 
         <ImageView

+ 41 - 0
WeiChat/src/main/res/layout/judge_qsearch_window.xml

@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="250dp"
+    android:layout_height="100dp"
+    android:orientation="vertical"
+    android:layout_gravity="center"
+    android:background="@drawable/pop_round_bg">
+
+
+   <!-- <TextView
+        android:padding="5dp"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center"
+        android:text="即将进行语音快速搜索,请在语音框出来后说中文"
+        android:textColor="@color/black"
+        android:textSize="15sp"/>-->
+    <TextView
+        android:padding="5dp"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center"
+        android:text="即将进行语音快速搜索,请在语音框出来后说“预约” "
+        android:textColor="@color/black"
+        android:textSize="15sp"/>
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="0.3dp"
+        android:background="@color/button_invalid"/>
+    <TextView
+        android:id="@+id/no_tv"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="2"
+        android:gravity="center"
+        android:textColor="@color/blue"
+        android:text="下次进入再说"
+        android:minHeight="45dp"
+        android:textSize="15sp"/>
+
+</LinearLayout>