Browse Source

添加通用单据可以删除操作

Bitliker 7 years ago
parent
commit
cb3b85af79

BIN
app_modular/apputils/src/main/res/drawable-hdpi/ic_menu_delete.png


BIN
app_modular/apputils/src/main/res/drawable-xhdpi/ic_menu_delete.png


BIN
app_modular/apputils/src/main/res/drawable-xxhdpi/ic_menu_delete.png


+ 20 - 0
app_modular/apputils/src/main/res/menu/meun_data_from.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto">
+
+    <item
+        android:id="@+id/deleteIt"
+        android:icon="@drawable/ic_menu_delete"
+        android:title="@string/delete"
+        app:showAsAction="always" />
+    <item
+        android:id="@+id/oa_signin_set"
+        android:title="编辑模板"
+        app:showAsAction="always" />
+    <item
+        android:id="@+id/oa_leave"
+        android:icon="@drawable/xlist"
+        android:title="查看列表"
+        app:showAsAction="always" />
+
+</menu>

+ 71 - 11
app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/activity/form/DataFormDetailActivity.java

@@ -24,6 +24,7 @@ import android.widget.ImageView;
 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;
@@ -95,6 +96,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
     private DataAdapter mAdapter;
 
     private final int load_success = 2;
+    private final int DELETE_DOC_REQUEST = 43;
     //    private ArrayList<Data> datas = new ArrayList<Data>();
     private ArrayList<GroupData> mDatas = new ArrayList<>();//适配器装载数据
     private ArrayList<GroupData> mDatasNet = new ArrayList<>();//网络数据
@@ -129,6 +131,12 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
             String result = msg.getData().getString("result");
             progressDialog.dismiss();
             switch (msg.what) {
+                case DELETE_DOC_REQUEST:
+                    ToastUtil.showToast(ct, R.string.delete_all_succ);
+                    formid = 0;
+                    supportInvalidateOptionsMenu();
+                    loadData(formid);
+                    break;
                 case load_success:
                     if (!ListUtils.isEmpty(mDatas)) mDatas.clear();
                     if (!ListUtils.isEmpty(mDatasNet)) mDatasNet.clear();
@@ -186,7 +194,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                                 if (TextUtils.isEmpty(data.getValue()) && !TextUtils.isEmpty(fd_defaultvalue)) {
                                     data.setValue(fd_defaultvalue);
                                 }
-                                String type=items.getString("fd_type");
+                                String type = items.getString("fd_type");
                                 if (!TextUtils.isEmpty(type) && type.equals("D")) {
                                     data.setValue(DateFormatUtil.getStrDate4Date(new Date(), "yyyy-MM-dd HH:mm:ss"));
                                 }
@@ -560,12 +568,23 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                     }
                     break;
                 case Constants.APP_SOCKETIMEOUTEXCEPTION:
+                    LogUtil.i("gong","result="+result);
                     btn_update.setEnabled(true);
                     click_btn.setEnabled(true);
-                    if (JSONUtil.validate(result)) {
-                        ToastMessage(JSON.parseObject(result).getString("exceptionInfo"));
-                    } else {
-                        ToastMessage(result);
+                    if (!TextUtils.isEmpty(result)){
+                        if (JSONUtil.validate(result)) {
+                            ToastMessage(JSON.parseObject(result).getString("exceptionInfo"));
+
+                        } else {
+                            ToastMessage(result);
+                        }
+                        if (!result.contains("时间段有重复")){
+                            Toast.makeText(ct,result,Toast.LENGTH_SHORT).show();
+                            //TODO 错误时候向列表走
+                            toDataFormList();
+                            FormListSelectActivity.reload = true;
+                            finish();
+                        }
                     }
                     break;
 
@@ -742,7 +761,19 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
 
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
-        getMenuInflater().inflate(R.menu.menu_signin_set, menu);
+        getMenuInflater().inflate(R.menu.meun_data_from, menu);
+        try {
+            MenuItem deleteIt = menu.getItem(0);
+            if (deleteIt != null && deleteIt.getItemId() == R.id.deleteIt) {
+                if (formid > 0) {
+                    deleteIt.setVisible(true);
+                } else {
+                    deleteIt.setVisible(false);
+                }
+            }
+        } catch (Exception e) {
+
+        }
         return super.onCreateOptionsMenu(menu);
     }
 
@@ -759,7 +790,6 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                         fields.add(group.getDatas().get(j));
                     }
                 }
-
             }
             for (int i = 0; i < mDatas.size(); i++) {
                 GroupData group = mDatas.get(i);
@@ -776,14 +806,13 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                             .putExtra("caller", caller),
                     0x25);
         } else if (item.getItemId() == R.id.oa_leave) {
-            startActivity(new Intent(mContext, FormListSelectActivity.class)
-                    .putExtra("caller", caller)
-                    .putExtra("statusKey", statusKey)//传状态key
-                    .putExtra("title", getToolBarTitle().toString()));
+            toDataFormList();
             if (formid != 0) {
                 FormListSelectActivity.reload = true;
                 finish();
             }
+        } else if (R.id.deleteIt == item.getItemId()) {
+            deleteDataForm(caller, formid);
         } else if (item.getItemId() == android.R.id.home) {
             if ("在录入".equals(status)) {
                 FormListSelectActivity.reload = false;
@@ -794,6 +823,14 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
         return super.onOptionsItemSelected(item);
     }
 
+    private void toDataFormList() {
+        startActivity(new Intent(mContext, FormListSelectActivity.class)
+                .putExtra("caller", caller)
+                .putExtra("statusKey", statusKey)//传状态key
+                .putExtra("title", getToolBarTitle().toString()));
+
+    }
+
     private void loadData(int id) {
         progressDialog.show();
         if (!CommonUtil.isNetWorkConnected(mContext)) {
@@ -2514,6 +2551,29 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
         ViewUtil.httpSendRequest(ct, url, param, mHandler, headers, 0x16, null, null, "post");
     }
 
+    /**
+     * 新加接口,删除
+     *
+     * @param mCaller
+     * @param mkeyValue
+     */
+    private void deleteDataForm(String mCaller, int mkeyValue) {
+        progressDialog.show();
+        HashMap<String, Object> params = new HashMap<>();
+        params.put("caller", mCaller);
+        params.put("id", mkeyValue);
+        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
+        String url = "";
+        if ("ExtraWork$".equals(mCaller)) {
+            url = CommonUtil.getSharedPreferences(ct, "erp_baseurl") + "/hr/attendance/deleteExtraWork.action";
+            ViewUtil.httpSendRequest(this, url, params, mHandler, headers, DELETE_DOC_REQUEST, null, null, "post");
+        } else {
+            url = CommonUtil.getSharedPreferences(ct, "erp_baseurl") + "/mobile/commondelete.action";
+            ViewUtil.httpSendRequest(this, url, params, mHandler, headers, DELETE_DOC_REQUEST, null, null, "get");
+        }
+    }
+
     private void sendToSelect(String noid, JSONArray data) {
         this.noid = noid;
         ArrayList<SelectBean> beans = new ArrayList<>();