Browse Source

设备管理录入表单页添加扫码入口

FANGLH 7 years ago
parent
commit
037d58995d

+ 3 - 2
app_core/common/src/main/res/menu/menu_signin_set.xml

@@ -2,8 +2,9 @@
 <menu xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto">
     <item
-        android:id="@+id/oa_signin_set"
-        android:title="编辑模板"
+        android:id="@+id/oa_scan"
+        android:title="扫一扫"
+        android:icon="@drawable/xlist"
         app:showAsAction="always" />
     <item
         android:id="@+id/oa_leave"

+ 42 - 0
app_modular/appworks/src/main/java/com/uas/appworks/CRM/erp/activity/DeviceDataFormAddActivity.java

@@ -28,6 +28,7 @@ import android.widget.RelativeLayout;
 import android.widget.TextView;
 import android.widget.Toast;
 
+import com.afollestad.materialdialogs.MaterialDialog;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -38,6 +39,7 @@ import com.common.data.ListUtils;
 import com.common.data.RegexUtil;
 import com.common.data.StringUtil;
 import com.core.app.Constants;
+import com.core.app.MyApplication;
 import com.core.base.SupportToolBarActivity;
 import com.core.base.view.AndroidBug5497Workaround;
 import com.core.model.SelectBean;
@@ -60,6 +62,8 @@ import com.uas.appworks.OA.erp.model.form.GroupData;
 import com.uas.appworks.R;
 import com.uas.appworks.activity.DeviceQueryActivity;
 import com.uas.appworks.model.Device;
+import com.uuzuche.lib_zxing.activity.CaptureActivity;
+import com.uuzuche.lib_zxing.activity.CodeUtils;
 
 import java.text.DecimalFormat;
 import java.text.ParseException;
@@ -783,6 +787,9 @@ public class DeviceDataFormAddActivity extends SupportToolBarActivity implements
             }
             startActivity(new Intent(ct, DeviceQueryActivity.class).putExtra(Constants.FLAG.DEVICE_CALLER, caller)
                     .putExtra(Constants.FLAG.DEVICE_CLASS, dc_class).putExtra(Constants.FLAG.DEVICE_WHICH_PAGE, Constants.FLAG.DEVICE_FROM_COMMON));
+        }else if(item.getItemId() == R.id.oa_scan){
+            Intent i = new Intent(DeviceDataFormAddActivity.this,CaptureActivity.class);
+            startActivityForResult(i,1212);
         }
         return super.onOptionsItemSelected(item);
     }
@@ -948,7 +955,26 @@ public class DeviceDataFormAddActivity extends SupportToolBarActivity implements
             mAdapter.notifyDataSetChanged();
         }
     }
+    private void showDialog(String message) {
+        if (StringUtil.isEmpty(message)) return;
+        new MaterialDialog.Builder(ct)
+                .title(R.string.app_dialog_title)
+                .content(message)
+                .positiveText(MyApplication.getInstance().getString(R.string.app_dialog_ok))
+                .autoDismiss(false)
+                .callback(new MaterialDialog.ButtonCallback() {
+                    @Override
+                    public void onPositive(MaterialDialog dialog) {
+                        dialog.dismiss();
 
+                    }
+
+                    @Override
+                    public void onNegative(MaterialDialog dialog) {
+                        dialog.dismiss();
+                    }
+                }).show();
+    }
 
     /**
      * @desc:调转界面返回参数数据
@@ -956,6 +982,21 @@ public class DeviceDataFormAddActivity extends SupportToolBarActivity implements
      */
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        if (data != null) {
+            if (requestCode == 1212 && resultCode == Activity.RESULT_OK) {
+                Bundle bundle = data.getExtras();
+                if (bundle != null) {
+                    if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_SUCCESS) {
+                        String result = bundle.getString(CodeUtils.RESULT_STRING);
+                        Log.d("scanurl", result);
+//                        ToastUtil.showToast(ct, result);
+                        startActivityForResult(new Intent(ct, ScanDetailActivity.class).putExtra("decode", result), 0x22);
+                    }
+                }
+            } else if (requestCode == 0x22) {
+                showDialog(data.getStringExtra("data"));
+            }
+        }
         if (mAdapter != null) mAdapter.setIsProtectState(true);
         switch (resultCode) {
             case 0x20:
@@ -1064,6 +1105,7 @@ public class DeviceDataFormAddActivity extends SupportToolBarActivity implements
             }
         }
 
+
     }
 
     private void paseSelectDbFind(JSONObject object) throws Exception {