Explorar o código

提交代码保存
1.隐藏CRm2.0功能
2.修复个别bug
3.修正个别翻译

Bitliker %!s(int64=8) %!d(string=hai) anos
pai
achega
5b04d7aea3

+ 3 - 4
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/contact/ContactFragment.java

@@ -59,6 +59,7 @@ import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.AutoErpService;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.CommonInterface;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.CompanyHandlerInfoUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.oa.OAConfig;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.http.OAHttpHelper;
 import com.xzjmyk.pm.activity.ui.erp.view.CustomProgressDialog;
 import com.xzjmyk.pm.activity.ui.message.ChatActivity;
@@ -144,11 +145,9 @@ public class ContactFragment extends EasyFragment implements View.OnClickListene
     public boolean onOptionsItemSelected(MenuItem item) {
         if (item.getItemId() == R.id.search) {
             if (!isB2b) {
-                if (CommonUtil.isReleaseVersion())
-                    startActivity(new Intent(getActivity(), UserSearchActivity.class));
-                else
+                if (OAConfig.canShowCrm2_0())
                     startActivity(new Intent(getActivity(), AddContactsActivity.class));
-
+                else startActivity(new Intent(getActivity(), UserSearchActivity.class));
             } else {
                 showPopupWindow();
             }

+ 26 - 26
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/contact/MyFriendActivity.java

@@ -272,33 +272,33 @@ public class MyFriendActivity extends BaseActivity implements RecognizerDialogLi
     List<Friend> friends;//临时变量
 
     private void loadData() {
-        if (isPeculiar) loadContactByERpNet();
-        else
-            new Thread(new Runnable() {
-                @Override
-                public void run() {
-                    long startTime = System.currentTimeMillis();
-                    if (mLoginUserId == null)
-                        mLoginUserId = MyApplication.getInstance().mLoginUser.getUserId();
-                    if (isPeculiar) {
-                        friends = FriendDao.getInstance().getFriends(mLoginUserId, "clickNum", 10);
-                    } else
-                        friends = FriendDao.getInstance().getFriends(mLoginUserId);
-                    if (friends != null)
-                        Log.i("wang", "friends size()=" + friends.size());
-                    long delayTime = 200 - (startTime - System.currentTimeMillis());// 保证至少200ms的刷新过程
-                    if (delayTime < 0) {
-                        delayTime = 0;
-                    }
-                    getFriendByErp(friends);
-                    mHandler.postDelayed(new Runnable() {
-                        @Override
-                        public void run() {
-                            handlerFriends(friends);
-                        }
-                    }, delayTime);
+//        if (isPeculiar) loadContactByERpNet();
+//        else
+        new Thread(new Runnable() {
+            @Override
+            public void run() {
+                long startTime = System.currentTimeMillis();
+                if (mLoginUserId == null)
+                    mLoginUserId = MyApplication.getInstance().mLoginUser.getUserId();
+                if (isPeculiar) {
+                    friends = FriendDao.getInstance().getFriends(mLoginUserId, "clickNum", 10);
+                } else
+                    friends = FriendDao.getInstance().getFriends(mLoginUserId);
+                if (friends != null)
+                    Log.i("wang", "friends size()=" + friends.size());
+                long delayTime = 200 - (startTime - System.currentTimeMillis());// 保证至少200ms的刷新过程
+                if (delayTime < 0) {
+                    delayTime = 0;
                 }
-            }).start();
+                getFriendByErp(friends);
+                mHandler.postDelayed(new Runnable() {
+                    @Override
+                    public void run() {
+                        handlerFriends(friends);
+                    }
+                }, delayTime);
+            }
+        }).start();
     }
 
     private void getFriendByRep(EmployeesEntity e, Friend friend) {

+ 0 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/AddBusinessActivity.java

@@ -59,7 +59,6 @@ public class AddBusinessActivity extends OABaseActivity implements View.OnClickL
     private TextView company_add_tv;
     @ViewInject(R.id.remark_tv)
     private TextView remark_tv;
-
     @ViewInject(R.id.business_stage_tv)
     private TextView business_stage_tv;//商机阶段
     @ViewInject(R.id.business_Library_tv)

+ 3 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessActivity.java

@@ -34,6 +34,7 @@ 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.StringUtils;
+import com.xzjmyk.pm.activity.ui.erp.util.oa.OAConfig;
 import com.xzjmyk.pm.activity.ui.erp.view.ListViewInScroller;
 import com.xzjmyk.pm.activity.util.DateFormatUtil;
 import com.xzjmyk.pm.activity.util.DisplayUtil;
@@ -142,10 +143,9 @@ public class BusinessActivity extends BaseActivity implements View.OnClickListen
     public void onClick(View v) {
         switch (v.getId()) {
             case R.id.bt_create:
-                if (CommonUtil.isBiteman())
-                    startActivity(new Intent(this, BusinessAddActivity.class));
-                else
+                if (OAConfig.canShowCrm2_0() && !CommonUtil.isBiteman())
                     startActivity(new Intent(this, AddBusinessActivity.class));
+                else startActivity(new Intent(this, BusinessAddActivity.class));
                 break;
             case R.id.bt_qiang:
                 startActivity(new Intent(this, BusinessDetailActivty.class).putExtra("bt_type", 1));

+ 2 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessDetailInfoActivity.java

@@ -53,6 +53,7 @@ import com.xzjmyk.pm.activity.ui.erp.util.OACheckUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.PopupWindowHelper;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.baidu.OnGetDrivingRouteResult;
+import com.xzjmyk.pm.activity.ui.erp.util.oa.OAConfig;
 import com.xzjmyk.pm.activity.util.DisplayUtil;
 import com.xzjmyk.pm.activity.util.TimeUtils;
 import com.xzjmyk.pm.activity.util.ToastUtil;
@@ -177,7 +178,7 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
 
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
-        if (type == 0&&!CommonUtil.isBiteman())
+        if (type == 0 && OAConfig.canShowCrm2_0() && !CommonUtil.isBiteman())
             getMenuInflater().inflate(R.menu.menu_delete_edit, menu);
         return super.onCreateOptionsMenu(menu);
     }

+ 5 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/ClientActivity.java

@@ -47,6 +47,7 @@ import com.xzjmyk.pm.activity.ui.erp.activity.oa.OAActivity;
 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.oa.OAConfig;
 import com.xzjmyk.pm.activity.ui.erp.view.MyMarkerView;
 import com.xzjmyk.pm.activity.util.DateFormatUtil;
 import com.xzjmyk.pm.activity.util.DisplayUtil;
@@ -1073,10 +1074,11 @@ public class ClientActivity extends BaseActivity implements View.OnClickListener
                             startActivity(new Intent(ClientActivity.this, ContactManAddActivity.class));
                             break;*/
                         case 0:
-                            if (CommonUtil.isBiteman())
-                                startActivity(new Intent(ClientActivity.this, BusinessAddActivity.class));
-                            else
+                            if (OAConfig.canShowCrm2_0() && !CommonUtil.isBiteman())
                                 startActivity(new Intent(ClientActivity.this, AddBusinessActivity.class));
+                            else
+                                startActivity(new Intent(ClientActivity.this, BusinessAddActivity.class));
+
                             break;
                         case 1:
                             startActivity(new Intent(ClientActivity.this, CustomerAddActivity.class));

+ 13 - 12
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/OAActivity.java

@@ -55,6 +55,7 @@ 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.CommonInterface;
+import com.xzjmyk.pm.activity.ui.erp.util.oa.OAConfig;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.OAHttpUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.http.OAHttpHelper;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.http.OnHttpResultListener;
@@ -192,9 +193,9 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
         } else if (item.getItemId() == R.id.add_item) {
             if (isCrm) {//从客户
                 Intent intent = null;
-                if (CommonUtil.isReleaseVersion() || isB2b)
-                    intent = new Intent(ct, VisitReportAddActivity.class);
-                else intent = new Intent(ct, AddVisitReportActivity.class);
+                if (OAConfig.canShowCrm2_0())
+                    intent = new Intent(ct, AddVisitReportActivity.class);
+                else intent = new Intent(ct, VisitReportAddActivity.class);
                 startActivityForResult(intent, 0x20);
             } else
                 showPopupWindow(getWindow().findViewById(R.id.add_item));
@@ -242,7 +243,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
                     if (StringUtils.isInclude(e.getHandler(), otherName))
                         filterModels.add(e);
                 }
-                Set<Integer> filterTasks = util.getTaskList(curDate,filterModels);
+                Set<Integer> filterTasks = util.getTaskList(curDate, filterModels);
                 setDateToListener(filterTasks);
                 setAdapterBeans(filterModels);
             }
@@ -315,7 +316,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
                     }
                     startActivityForResult(intent, isMe ? 0x20 : 0x21);
                 } else if (e.isVisitRecord()) {
-                    intent = new Intent(ct, CommonUtil.isReleaseVersion() || isB2b ? VisitReportAddActivity.class : AddVisitReportActivity.class);
+                    intent = new Intent(ct, OAConfig.canShowCrm2_0() ? AddVisitReportActivity.class : VisitReportAddActivity.class);
                     intent.putExtra("type", 2);
                     String chche = object.containsKey("status") ? object.getString("status") == null ? "" : object.getString("status") : "";
                     boolean me = (isMe && !"已拜访".equals(chche) && !"".equals(chche));
@@ -325,7 +326,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
                     startActivityForResult(intent, isMe ? 0x20 : 0x21);
                 } else if (e.isMission()) {
                     if (util.isMissionOk(e)) {//外勤计划
-                        intent = new Intent(ct, CommonUtil.isReleaseVersion() || isB2b ? VisitReportAddActivity.class : AddVisitReportActivity.class);
+                        intent = new Intent(ct, OAConfig.canShowCrm2_0() ? AddVisitReportActivity.class : VisitReportAddActivity.class);
                         intent.putExtra("type", 3);
                         intent.putExtra("isOutplan", true);
                         intent.putExtra("isMe", isMe);//可以提交拜访报告
@@ -592,8 +593,8 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
     }
 
     private synchronized void handlerDataInThread(final JSONObject jsonObject, final String date) throws Exception {
-        meModels = util.getModelByJSON(jsonObject, "me", true);
-        otherModels = util.getModelByJSON(jsonObject, "other", false);
+        meModels = util.getModelByJSON(jsonObject, "me", isCrm, true);
+        otherModels = util.getModelByJSON(jsonObject, "other", isCrm, false);
         meInt = util.getTaskList(curDate, meModels);
         otherInt = util.getTaskList(curDate, otherModels);
         OAHttpHelper.getInstance().post(new Runnable() {
@@ -744,10 +745,10 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
                             intent.putExtra("type", 1);
                             break;
                         case 2:
-                            //TODO 测试
-                            if (CommonUtil.isReleaseVersion() || isB2b)
-                                intent = new Intent(ct, VisitReportAddActivity.class);
-                            else intent = new Intent(ct, AddVisitReportActivity.class);
+                            if (OAConfig.canShowCrm2_0())
+                                intent = new Intent(ct, AddVisitReportActivity.class);
+                            else intent = new Intent(ct, VisitReportAddActivity.class);
+
                             break;
                         default:
                             String caller = (String) menusMap.get(position).get("item_caller");

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/oa/AddBusinessAdapter.java

@@ -85,7 +85,7 @@ public class AddBusinessAdapter extends BaseAdapter {
                 notifyDataSetChanged();
             }
         });
-        holder.delete_tv.setVisibility(position==0?View.GONE:View.VISIBLE);
+        holder.delete_tv.setVisibility(position == 0 ? View.GONE : View.VISIBLE);
         return convertView;
     }
 

+ 11 - 11
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/AttendanceFragment.java

@@ -100,7 +100,6 @@ public class AttendanceFragment extends EasyFragment implements OnHttpResultList
     private void initView() {
         newHHmm = TimeUtils.long2str(System.currentTimeMillis(), "HH:mm");
         date_tv.setText(TimeUtils.long2str(System.currentTimeMillis(), "yyyy年MM月"));
-
         loadByNet(TimeUtils.long2str(System.currentTimeMillis(), "yyyyMM"));
         View emptyView = LayoutInflater.from(ct).inflate(R.layout.erp_empty_view, null);
         day_lv.setEmptyView(emptyView);
@@ -231,15 +230,16 @@ public class AttendanceFragment extends EasyFragment implements OnHttpResultList
         l1.setText("应该出勤 " + getNull(object, "ychuqin") + " 天");
         r1.setText("实际出勤 " + getNull(object, "achuqin") + " 天");
         l2.setText("正常打卡 " + getNull(object, "nday") + " 天");
-        r2.setText("实际工时 " + getNull(object, "atime") + " 小时/天");
-        l3.setText("迟到    " + getNull(object, "latecount") + " 次");
-        r3.setText("早退    " + getNull(object, "earlycount") + " 次");
-        l4.setText("旷工    " + getNull(object, "noncount") + " 次");
-        r4.setText("补卡    " + getNull(object, "qjdaty") + " 次");
+        r2.setText(getString(R.string.sign_actualtime) + "    " + getNull(object, "atime") + " " + getString(R.string.sign_hour_day));
+        l3.setText(getString(R.string.sign_late) + "  " + getNull(object, "latecount") + " " + getString(R.string.sign_Times));
+        r3.setText(getString(R.string.sign_leave) + "  " + getNull(object, "earlycount") + " " + getString(R.string.sign_Times));
+        l4.setText(getString(R.string.sign_Absenteeism) + "  " + getNull(object, "noncount") + " " + getString(R.string.sign_Times));
         l5.setText("请假    " + getNull(object, "qjdaty") + " 天");
-        r5.setText("加班    " + getNull(object, "qjdaty") + " 次/2小时");
+        r5.setText("加班    " + getNull(object, "overtime") + " 次/2小时");
         l6.setText("出差    " + getNull(object, "outdays") + " 天");
-        r6.setText("外勤签到" + getNull(object, "outcount") + " 天/3次");
+        r6.setText(getString(R.string.oaoutplan_title) + " " + getNull(object, "outcount") + " 天/3次");
+
+        r4.setText("补卡    " + getNull(object, "signcard") + " " + getString(R.string.sign_Times));
     }
 
     private void setDate2Adapter(ArrayList<WorkModel> models) {
@@ -343,13 +343,13 @@ public class AttendanceFragment extends EasyFragment implements OnHttpResultList
 
         private void initItemView(ViewHoder hoder, int position) {
             WorkModel model = models.get(position);
-            hoder.title_tv.setText("班次" + (position + 1) + " " + model.getWorkTime() + "-" + model.getOffTime());
+            hoder.title_tv.setText(getString(R.string.sign_flights) + (position + 1) + " " + model.getWorkTime() + "-" + model.getOffTime());
             hoder.work_tv.setText(StringUtils.isEmpty(model.getWorkSignin()) ? "" : model.getWorkSignin());
             hoder.off_tv.setText(StringUtils.isEmpty(model.getOffSignin()) ? "" : model.getOffSignin());
             String workTag = "";
             if (StringUtils.isEmpty(model.getWorkSignin())) {
                 if (newHHmm.compareTo(model.getWorkend()) > 0)
-                    workTag = "缺勤";
+                    workTag = getString(R.string.sign_Absenteeism);
             } else {
                 if (model.getWorkSignin().compareTo(model.getWorkTime()) > 0 && model.getWorkSignin().compareTo(model.getWorkend()) <= 0)
                     workTag = getLastTime(model.getWorkSignin(), model.getWorkTime(), true);
@@ -370,7 +370,7 @@ public class AttendanceFragment extends EasyFragment implements OnHttpResultList
             float distance = Math.abs((lastTime - thisTime) / 1000);//秒
             int h = (int) (distance / 3600);
             int m = (int) (distance % 3600) / 60;
-            return (isWork ? "迟到" : "早退") + h + "小时" + m + "分钟";
+            return (isWork ? getString(R.string.sign_late) : getString(R.string.sign_leave)) + h + getString(R.string.hour) + m + getString(R.string.minute);
         }
 
         class ViewHoder {

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

@@ -201,7 +201,7 @@ public class OAModel {
         return TimeUtils.s_long_2_str(time);
     }
 
-    private    long getTime(long... times) {
+    private long getTime(long... times) {
         if (times == null) return 0;
         for (long e : times) if (e != 0) return e;
         return 0;

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/net/ViewUtil.java

@@ -254,7 +254,7 @@ public class ViewUtil {
             if (method.equals("get")) {
                 result = hClient.sendGetRequest(url, params);
             }
-            if (method.equals("post")) {
+            if (method.equals("post"))  {
                 result = hClient.sendPostRequest(url, params);
             }
         } catch (Exception e) {

+ 3 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/OAPresenter.java

@@ -47,7 +47,7 @@ public class OAPresenter implements OnHttpResultListener {
     private long curDate;//当前日期
     private OAHttpUtil util = new OAHttpUtil();
     private ArrayList<Map<String, Object>> menusMap = null;
-
+    private boolean isCrm=false;
 
     public OAPresenter(IOAView ioaView, Intent intent) {
         if (ioaView == null)
@@ -176,8 +176,8 @@ public class OAPresenter implements OnHttpResultListener {
     private void handlerSuccess(int what, JSONObject object, Bundle bundle) throws Exception {
         switch (what) {
             case LOAD_SCHEDULE:
-                meModels = util.getModelByJSON(object, "me", true);
-                otherModels = util.getModelByJSON(object, "other", false);
+                meModels = util.getModelByJSON(object, "me",isCrm, true);
+                otherModels = util.getModelByJSON(object, "other",isCrm, false);
                 showModel(true);
                 break;
             case LOAD_SUBORD:

+ 4 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/oa/OAConfig.java

@@ -24,5 +24,8 @@ public class OAConfig {
     public static int latetime = 0;    //迟到时间(在该时间内不算迟到)
     public static int nonclass = 90;     //矿工时间
 
-
+    /*是否显示Crm2.0功能*/
+    public static boolean canShowCrm2_0() {
+        return false;
+    }
 }

+ 8 - 8
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/oa/OAHttpUtil.java

@@ -30,23 +30,23 @@ public class OAHttpUtil {
         Set<Integer> taskList = new HashSet<>();
         if (ListUtils.isEmpty(models)) return taskList;
         for (OAModel e : models) {
-            if (TimeUtils.s_long_2_str(curDate.getTime()).equals(e.getFilterTime())) {
-                int day = e.getDay();
-                if (day != -1)
-                    taskList.add(day);
-            }
+            int day = e.getDay();
+            if (day != -1)
+                taskList.add(day);
         }
         return taskList;
     }
 
     /*获取OAmodel列表*/
-    public List<OAModel> getModelByJSON(JSONObject object, String key, boolean isMe) throws Exception {
+    public List<OAModel> getModelByJSON(JSONObject object, String key, boolean isCrm, boolean isMe) throws Exception {
         List<OAModel> models = new ArrayList<>();
         if (StringUtils.isEmpty(key)) return models;
         JSONObject o = OACheckUtil.getJSONObject(object, key);
         if (o == null) return models;
-        models.addAll(getModelByJSON(o, isMe, OAModel.OA_TYPE_TASK, "schedule", "task"));//添加任务日程
-        models.addAll(getModelByJSON(o, isMe, OAModel.OA_TYPE_MISSION, "outPlan", "outplan"));//外勤计划
+        if (!isCrm) {
+            models.addAll(getModelByJSON(o, isMe, OAModel.OA_TYPE_TASK, "schedule", "task"));//添加任务日程
+            models.addAll(getModelByJSON(o, isMe, OAModel.OA_TYPE_MISSION, "outPlan", "outplan"));//外勤计划
+        }
         models.addAll(getModelByJSON(o, isMe, OAModel.OA_TYPE_RECORD, "visitRecord"));//拜访报告
         return models;
     }

+ 3 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/view/ChatContentView.java

@@ -836,9 +836,9 @@ public class ChatContentView extends PullDownListView implements OnMediaStateCha
                             Bitmap bitmap = ImageLoader.getInstance().getMemoryCache().get(filePath);
                             if (bitmap == null || bitmap.isRecycled()) {
                                 bitmap = ThumbnailUtils.createVideoThumbnail(filePath, Thumbnails.MINI_KIND);
-                                if (filePath == null || bitmap == null){
-    
-                                }else{
+                                if (filePath == null || bitmap == null) {
+
+                                } else {
                                     ImageLoader.getInstance().getMemoryCache().put(filePath, bitmap);
                                 }
                             }

+ 0 - 19
WeiChat/src/main/res/values-en/strings.xml

@@ -1237,25 +1237,6 @@
     <string name = "remove_blacklist_prompt"> Are you sure you want to remove the blacklist? </string>
     <string name = "add_blacklist_prompt"> Are you sure you want to add a blacklist? </string>
     <string name = "add_blacklist_succ"> add blacklist success </string>
-    <string name="is_must_input">is required</string>
 
-    <string name="contect_is_much">联系人为必填项</string>
-    <string name="context_is_much">拜访内容为必填项</string>
-    <string name="times">时段</string>
-    <string name="create_addree">创建地点</string>
-    <string name="over_latetime">严重迟到</string>
-    <string name="work_signin">上班打卡</string>
-    <string name="unwork_signin">下班打卡</string>
-    <string name="hour">小时</string>
-    <string name="add_work_times">+新增上班时段</string>
-    <string name="all_work_time">合计工时</string>
-    <string name="two_hour_before">上班前2个小时</string>
-    <string name="earliest_work_signin_time">最早上班签到时间</string>
-    <string name="mobile_signcard">申诉班次</string>
-    <string name="mobile_mac">手机mac地址</string>
-    <string name="mobile_change_name">变更理由</string>
-    <string name="input_reason">请填写理由</string>
-    <string name="change_signin_ok">申诉成功!</string>
-    <string name="personnel">人员</string>
     <string name="not_message_and_add">没有找到数据,请点击右上角的+进行添加</string>
 </resources>