Kaynağa Gözat

1.作业功能修改图标
2.增加公告功能
3.增加修改头像功能

mq 5 yıl önce
ebeveyn
işleme
75aff9b601
31 değiştirilmiş dosya ile 678 ekleme ve 201 silme
  1. 1 0
      app/src/main/java/com/unis/sxzcl/base/BaseFragment.java
  2. 21 4
      app/src/main/java/com/unis/sxzcl/ui/announce/AnnounceDetailFragment.java
  3. 16 2
      app/src/main/java/com/unis/sxzcl/ui/announce/AnnounceListAdapter.java
  4. 32 19
      app/src/main/java/com/unis/sxzcl/ui/announce/AnnounceListFragment.java
  5. 3 2
      app/src/main/java/com/unis/sxzcl/ui/basic/BasicFragment.java
  6. 27 1
      app/src/main/java/com/unis/sxzcl/ui/basic/PersonDetailFragment.java
  7. 9 11
      app/src/main/java/com/unis/sxzcl/ui/basic/PersonFrameFragment.java
  8. 4 4
      app/src/main/java/com/unis/sxzcl/ui/basic/PolicyListFragment.java
  9. 64 72
      app/src/main/java/com/unis/sxzcl/ui/home/HomeFragment.java
  10. 1 1
      app/src/main/java/com/unis/sxzcl/ui/home/MainActivity.java
  11. 69 9
      app/src/main/java/com/unis/sxzcl/ui/user/UserFragment.java
  12. 5 5
      model/src/main/java/com/unis/model/bean/WorkModule.java
  13. 1 3
      app/src/main/java/com/unis/sxzcl/ui/work_module/WorkModuleAdapter.java
  14. 0 2
      app/src/main/java/com/unis/sxzcl/ui/work_module/WorkModuleFragment.java
  15. 15 15
      model/src/main/java/com/unis/model/WorkbenchModel.java
  16. 27 0
      app/src/main/java/com/unis/sxzcl/util/MyCompressHelper.java
  17. 12 17
      app/src/main/java/com/unis/sxzcl/widget/banner/TopLineAdapter.java
  18. 1 1
      app/src/main/res/layout/base_title_bar.xml
  19. 45 2
      app/src/main/res/layout/fragment_accounce_detail.xml
  20. 20 7
      app/src/main/res/layout/item_list_announce.xml
  21. 10 3
      app/src/main/res/layout/item_work_module.xml
  22. BIN
      icon/src/main/res/drawable-xhdpi/ic_model_clgl.png
  23. BIN
      icon/src/main/res/drawable-xhdpi/ic_model_jbxx.png
  24. BIN
      icon/src/main/res/drawable-xhdpi/ic_model_slzl.png
  25. 0 10
      model/src/main/java/com/unis/model/MyStringCallback.java
  26. 1 1
      model/src/main/java/com/unis/model/NoticeModel.java
  27. 1 1
      model/src/main/java/com/unis/model/ProcessModel.java
  28. 5 0
      model/src/main/java/com/unis/model/UrlPath.java
  29. 47 6
      model/src/main/java/com/unis/model/UserModel.java
  30. 233 3
      model/src/main/java/com/unis/model/bean/AnnounceBean.java
  31. 8 0
      version_info.json

+ 1 - 0
app/src/main/java/com/unis/sxzcl/base/BaseFragment.java

@@ -84,6 +84,7 @@ public abstract class BaseFragment<T extends ViewBinding> extends Fragment {
84 84
     @Override
85 85
     public void onDestroyView() {
86 86
         super.onDestroyView();
87
+        hideProgress();
87 88
         active = false;
88 89
     }
89 90
 

+ 21 - 4
app/src/main/java/com/unis/sxzcl/ui/announce/AnnounceDetailFragment.java

@@ -1,15 +1,17 @@
1 1
 package com.unis.sxzcl.ui.announce;
2 2
 
3
+import android.os.Bundle;
3 4
 import android.view.LayoutInflater;
4 5
 import android.view.ViewGroup;
5 6
 
6 7
 import com.tencent.smtt.sdk.WebSettings;
8
+import com.unis.model.bean.AnnounceBean;
7 9
 import com.unis.sxzcl.base.BaseFragment;
8 10
 import com.unis.sxzcl.databinding.FragmentAccounceDetailBinding;
9 11
 import com.xyxsbj.mylibrary.tool.HtmlUtil;
12
+import com.xyxsbj.mylibrary.tool.ToastTool;
10 13
 
11 14
 /**
12
- *
13 15
  * 包名: com.unis.sxzcl.ui.announce
14 16
  * 类名: AnnounceDetailFragment
15 17
  * 作用描述:
@@ -22,14 +24,17 @@ import com.xyxsbj.mylibrary.tool.HtmlUtil;
22 24
  */
23 25
 public class AnnounceDetailFragment extends BaseFragment<FragmentAccounceDetailBinding> {
24 26
 
27
+    private AnnounceBean mBean;
28
+
25 29
     @Override
26 30
     protected FragmentAccounceDetailBinding getViewBinding(LayoutInflater inflater, ViewGroup container) {
27
-        return FragmentAccounceDetailBinding.inflate(inflater,container,false);
31
+        return FragmentAccounceDetailBinding.inflate(inflater, container, false);
28 32
     }
29 33
 
30 34
     @Override
31 35
     protected void init() {
32
-        mBinding.bar.setLeftClickListener(v -> onBack());
36
+        mBinding.bar.setTitle("公告")
37
+                .setLeftClickListener(v -> onBack());
33 38
 
34 39
         //初始化webview
35 40
         WebSettings settings = mBinding.webView.getSettings();
@@ -42,7 +47,19 @@ public class AnnounceDetailFragment extends BaseFragment<FragmentAccounceDetailB
42 47
 
43 48
     @Override
44 49
     protected void onFirstShow() {
45
-        mBinding.webView.loadDataWithBaseURL(null, HtmlUtil.getHtmlData(content), "text/html", "utf-8", null);
50
+        Bundle bundle = getArguments();
51
+        String data = bundle.getString("data", null);
52
+        if (data == null) {
53
+            ToastTool.showLong("没有参数");
54
+            onBack();
55
+            return;
56
+        }
57
+        mBean = getGson().fromJson(data, AnnounceBean.class);
58
+        mBinding.tvTitle.setText(mBean.getTitle());
59
+        mBinding.tvSource.setText(mBean.getPublishOrgName());
60
+        mBinding.tvTime.setText(mBean.getPublishTime());
61
+
62
+        mBinding.webView.loadDataWithBaseURL(null, HtmlUtil.getHtmlData(mBean.getContent()), "text/html", "utf-8", null);
46 63
     }
47 64
 
48 65
     private String content = "<div id=\"u144\" class=\"ax_default _文本段落\" data-label=\"左手交易手续费,右手项目上币费,在疯狂增\">\n" +

+ 16 - 2
app/src/main/java/com/unis/sxzcl/ui/announce/AnnounceListAdapter.java

@@ -1,6 +1,8 @@
1 1
 package com.unis.sxzcl.ui.announce;
2 2
 
3
+import android.text.Html;
3 4
 import android.view.View;
5
+import android.widget.TextView;
4 6
 
5 7
 import com.chad.library.adapter.base.BaseQuickAdapter;
6 8
 import com.chad.library.adapter.base.module.LoadMoreModule;
@@ -11,7 +13,6 @@ import com.unis.sxzcl.R;
11 13
 import org.jetbrains.annotations.NotNull;
12 14
 
13 15
 /**
14
- *
15 16
  * 包名: com.unis.sxzcl.ui.announce
16 17
  * 类名: AnnounceListAdapter
17 18
  * 作用描述:
@@ -32,8 +33,21 @@ public class AnnounceListAdapter extends BaseQuickAdapter<AnnounceBean, BaseView
32 33
     @Override
33 34
     protected void convert(@NotNull BaseViewHolder holder, AnnounceBean item) {
34 35
 
36
+        holder.setText(R.id.tv_title, item.getTitle());
37
+
38
+        TextView tvContent = holder.getView(R.id.tv_content);
39
+        // 内容超出20个字截取
40
+        String content = item.getContent();
41
+//        if (content != null && content.length() > 20)
42
+//            content = item.getContent().substring(0, 20) + "...";
43
+        tvContent.setText(Html.fromHtml(content, null, null));
44
+
45
+        holder.setText(R.id.tv_source, item.getPublishOrgName());
46
+        holder.setText(R.id.tv_time, item.getPublishTime());
47
+
35 48
         //未读标记的显示/隐藏
36
-        holder.getView(R.id.v_flag).setVisibility(item.isRead ? View.INVISIBLE : View.VISIBLE);
49
+        boolean state = item.getReadStatus() == null ? false : item.getReadStatus();
50
+        holder.getView(R.id.v_flag).setVisibility(state ? View.INVISIBLE : View.VISIBLE);
37 51
     }
38 52
 
39 53
 }

+ 32 - 19
app/src/main/java/com/unis/sxzcl/ui/announce/AnnounceListFragment.java

@@ -1,14 +1,18 @@
1 1
 package com.unis.sxzcl.ui.announce;
2 2
 
3
-import android.os.Handler;
3
+import android.os.Bundle;
4 4
 import android.view.LayoutInflater;
5 5
 import android.view.ViewGroup;
6 6
 
7
+import com.unis.model.AnnounceModel;
8
+import com.unis.model.DataCallback;
7 9
 import com.unis.model.bean.AnnounceBean;
8 10
 import com.unis.sxzcl.R;
9 11
 import com.unis.sxzcl.base.BaseListFragment;
10 12
 import com.unis.sxzcl.databinding.FragmentBaseListTitleBinding;
11 13
 
14
+import java.util.List;
15
+
12 16
 /**
13 17
  * 包名: com.unis.sxzcl.ui.announce
14 18
  * 类名: AnnounceListFragment
@@ -48,7 +52,10 @@ public class AnnounceListFragment extends BaseListFragment<FragmentBaseListTitle
48 52
 
49 53
         mAdapter = new AnnounceListAdapter();
50 54
         mAdapter.setOnItemClickListener((adapter, view, position) -> {
51
-            navigation(R.id.announceDetailFragment);
55
+            AnnounceBean item = mAdapter.getData().get(position);
56
+            Bundle bundle = new Bundle();
57
+            bundle.putString("data", getGson().toJson(item));
58
+            navigation(R.id.announceDetailFragment, bundle);
52 59
         });
53 60
 
54 61
         initBaseListView(mBinding.refreshLayout, mBinding.recyclerView, mAdapter, true);
@@ -59,26 +66,32 @@ public class AnnounceListFragment extends BaseListFragment<FragmentBaseListTitle
59 66
         onRefresh();
60 67
     }
61 68
 
69
+    private int page = 1;
70
+
62 71
     private void getData(boolean refresh) {
63
-        new Handler().postDelayed(() -> {
64
-//            //大于30到结尾
65
-//            if (mAdapter.getData().size() == 20) {
66
-//                loadEnd();
67
-//                return;
68
-//            }
69
-            if (refresh) {
70
-                mAdapter.getData().clear();
71
-                mAdapter.notifyDataSetChanged();
72
-            }
72
+        if (refresh) page = 1;
73
+        else page++;
74
+        AnnounceModel.get().getList(page, new DataCallback<List<AnnounceBean>>() {
75
+            @Override
76
+            public void onSuccess(List<AnnounceBean> data) {
77
+                if (!isActive()) return;
73 78
 
74
-            //模拟数据
75
-            mAdapter.addData(new AnnounceBean(false));
76
-            mAdapter.addData(new AnnounceBean(true));
77
-            mAdapter.addData(new AnnounceBean(true));
78
-            mAdapter.addData(new AnnounceBean(true));
79
+                if (page == 1) mAdapter.setList(data);
80
+                else mAdapter.addData(data);
79 81
 
80
-            loadEnd();
81
-        }, 500);
82
+                if (data.size() == 0) loadEnd();
83
+                else loadComplete();
84
+
85
+            }
86
+
87
+            @Override
88
+            public void onError(String error) {
89
+                super.onError(error);
90
+                if (!isActive()) return;
91
+                loadError();
92
+            }
93
+        });
82 94
     }
83 95
 
96
+
84 97
 }

+ 3 - 2
app/src/main/java/com/unis/sxzcl/ui/basic/BasicFragment.java

@@ -26,7 +26,8 @@ import java.util.List;
26 26
  */
27 27
 public class BasicFragment extends BaseFragment<FragmentBaseTabPagerBinding> {
28 28
 
29
-    private List<String> mTabs = Arrays.asList("人员结构", "政策制度");
29
+//    private List<String> mTabs = Arrays.asList("人员结构", "政策制度");
30
+    private List<String> mTabs = Arrays.asList("人员结构");
30 31
     private List<Fragment> mFragments;
31 32
 
32 33
     @Override
@@ -50,7 +51,7 @@ public class BasicFragment extends BaseFragment<FragmentBaseTabPagerBinding> {
50 51
     private void initFragment() {
51 52
         mFragments = new ArrayList<>();
52 53
         mFragments.add(new PersonFrameFragment());
53
-        mFragments.add(new PolicyListFragment());
54
+//        mFragments.add(new PolicyListFragment());
54 55
     }
55 56
 
56 57
     @Override

+ 27 - 1
app/src/main/java/com/unis/sxzcl/ui/basic/PersonDetailFragment.java

@@ -16,6 +16,10 @@ import com.unis.sxzcl.databinding.FragmentPersonDetailBinding;
16 16
 import com.unis.sxzcl.util.CallUtils;
17 17
 import com.xyxsbj.mylibrary.tool.ETTool;
18 18
 import com.xyxsbj.mylibrary.tool.ToastTool;
19
+import com.yanzhenjie.album.Album;
20
+import com.yanzhenjie.album.api.widget.Widget;
21
+
22
+import java.util.ArrayList;
19 23
 
20 24
 /**
21 25
  * 包名: com.unis.sxzcl.ui.basic
@@ -31,6 +35,7 @@ import com.xyxsbj.mylibrary.tool.ToastTool;
31 35
 public class PersonDetailFragment extends BaseFragment<FragmentPersonDetailBinding> {
32 36
 
33 37
     private String mId, mHouseId;
38
+    private String mHeadImg;
34 39
 
35 40
     public static PersonDetailFragment newFragment(boolean showTitle, String id, String houseId) {
36 41
         Bundle bundle = new Bundle();
@@ -63,6 +68,10 @@ public class PersonDetailFragment extends BaseFragment<FragmentPersonDetailBindi
63 68
             CallUtils.callPhone(getContext(), phone);
64 69
         });
65 70
 
71
+        mBinding.ivShow.setOnClickListener(v -> {
72
+            if (mHeadImg == null) return;
73
+            showBigImg(mHeadImg);
74
+        });
66 75
     }
67 76
 
68 77
     @Override
@@ -95,8 +104,10 @@ public class PersonDetailFragment extends BaseFragment<FragmentPersonDetailBindi
95 104
 
96 105
             mBinding.bar.setTitle(data.getUname());
97 106
 
107
+            mHeadImg = UrlPath.image_host + data.getPheadPortrait();
108
+
98 109
             Glide.with(getContext())
99
-                    .load(UrlPath.image_host + data.getPheadPortrait())
110
+                    .load(mHeadImg)
100 111
                     .placeholder(R.drawable.ic_img_loading)
101 112
                     .error(R.drawable.ic_user_empty)
102 113
                     .into(mBinding.ivShow);
@@ -116,5 +127,20 @@ public class PersonDetailFragment extends BaseFragment<FragmentPersonDetailBindi
116 127
         }
117 128
     };
118 129
 
130
+    private void showBigImg(String title, ArrayList<String> list) {
131
+        Widget widget = Widget.newLightBuilder(getContext())
132
+                .title(title).build();
133
+        Album.gallery(getContext())
134
+                .checkedList(list)
135
+                .widget(widget)
136
+                .start();
137
+    }
138
+
139
+    private void showBigImg(String path) {
140
+        ArrayList<String> list = new ArrayList<>();
141
+        list.add(path);
142
+        showBigImg("头像", list);
143
+    }
144
+
119 145
 
120 146
 }

+ 9 - 11
app/src/main/java/com/unis/sxzcl/ui/basic/PersonFrameFragment.java

@@ -34,6 +34,7 @@ import java.util.List;
34 34
 public class PersonFrameFragment extends BaseListFragment<FragmentBaseListBinding> implements MultiListAdapter.Callback {
35 35
 
36 36
     private MultiListAdapter mAdapter;
37
+    private MultiDepotBean mDepot;
37 38
 
38 39
 
39 40
     @Override
@@ -51,6 +52,12 @@ public class PersonFrameFragment extends BaseListFragment<FragmentBaseListBindin
51 52
 
52 53
     @Override
53 54
     protected void onFirstShow() {
55
+        mDepot = DepotModel.get().getSelectDepot();
56
+        if (mDepot == null) {
57
+            ToastTool.showLong("请先选择库");
58
+            onBack();
59
+            return;
60
+        }
54 61
         onRefresh();
55 62
     }
56 63
 
@@ -65,26 +72,17 @@ public class PersonFrameFragment extends BaseListFragment<FragmentBaseListBindin
65 72
         }
66 73
     }
67 74
 
68
-
69 75
     @Override
70 76
     public void onRefreshData() {
71
-
72 77
         getData();
73 78
     }
74 79
 
75 80
     public void getData() {
76
-        MultiDepotBean depot = DepotModel.get().getSelectDepot();
77
-        if (depot == null) {
78
-            ToastTool.showLong("请先选择库");
79
-            onBack();
80
-            return;
81
-        }
82
-        showProgress("正在加载...", false);
83
-        UserModel.get().getPersonTree(depot.depotCode.toString(), new DataCallback<List<PersonTreeBean>>() {
81
+
82
+        UserModel.get().getPersonTree(mDepot.depotCode.toString(), new DataCallback<List<PersonTreeBean>>() {
84 83
             @Override
85 84
             public void onSuccess(List<PersonTreeBean> data) {
86 85
                 if (!isActive()) return;
87
-                hideProgress();
88 86
 
89 87
                 List<BaseNode> list = new ArrayList<>();
90 88
                 int index = 0;

+ 4 - 4
app/src/main/java/com/unis/sxzcl/ui/basic/PolicyListFragment.java

@@ -70,10 +70,10 @@ public class PolicyListFragment extends BaseListFragment<FragmentBaseListBinding
70 70
             }
71 71
 
72 72
             //模拟数据
73
-            mAdapter.addData(new AnnounceBean(false));
74
-            mAdapter.addData(new AnnounceBean(true));
75
-            mAdapter.addData(new AnnounceBean(true));
76
-            mAdapter.addData(new AnnounceBean(true));
73
+            mAdapter.addData(new AnnounceBean());
74
+            mAdapter.addData(new AnnounceBean());
75
+            mAdapter.addData(new AnnounceBean());
76
+            mAdapter.addData(new AnnounceBean());
77 77
 
78 78
             loadEnd();
79 79
         }, 500);

+ 64 - 72
app/src/main/java/com/unis/sxzcl/ui/home/HomeFragment.java

@@ -1,7 +1,6 @@
1 1
 package com.unis.sxzcl.ui.home;
2 2
 
3 3
 import android.os.Bundle;
4
-import android.os.Handler;
5 4
 import android.view.LayoutInflater;
6 5
 import android.view.View;
7 6
 import android.view.ViewGroup;
@@ -9,11 +8,13 @@ import android.view.ViewGroup;
9 8
 import com.bumptech.glide.Glide;
10 9
 import com.github.mikephil.charting.data.BarEntry;
11 10
 import com.github.mikephil.charting.data.PieEntry;
11
+import com.unis.model.AnnounceModel;
12 12
 import com.unis.model.DataCallback;
13 13
 import com.unis.model.NoticeModel;
14 14
 import com.unis.model.ProcessModel;
15 15
 import com.unis.model.UrlPath;
16 16
 import com.unis.model.UserModel;
17
+import com.unis.model.bean.AnnounceBean;
17 18
 import com.unis.model.bean.UserBean;
18 19
 import com.unis.model.event.TodoEvent;
19 20
 import com.unis.sxzcl.R;
@@ -61,11 +62,7 @@ public class HomeFragment extends BaseFragment<FragmentHomeBinding> {
61 62
         EventBus.getDefault().register(this);
62 63
         mBinding.vStatus.setHeight(getStatusHeight());
63 64
 
64
-        initRefreshView(mBinding.refreshLayout, () -> {
65
-            // TODO: 2020/11/10 刷新数据
66
-            new Handler().postDelayed(() -> mBinding.refreshLayout.setRefreshing(false), 500);
67
-            onTodoEvent(new TodoEvent());
68
-        });
65
+        initRefreshView(mBinding.refreshLayout, this::getData);
69 66
 
70 67
         mBinding.ivNotice.setOnClickListener(v -> {
71 68
             // 通知
@@ -103,9 +100,6 @@ public class HomeFragment extends BaseFragment<FragmentHomeBinding> {
103 100
         // 初始化轮播图
104 101
         initBanner();
105 102
 
106
-        // 初始化标签
107
-        initNotice();
108
-
109 103
     }
110 104
 
111 105
     @Override
@@ -116,7 +110,12 @@ public class HomeFragment extends BaseFragment<FragmentHomeBinding> {
116 110
 
117 111
     @Override
118 112
     protected void onFirstShow() {
119
-//        getRole();
113
+        getData();
114
+    }
115
+
116
+
117
+    // 获取数据
118
+    private void getData() {
120 119
         getHouseStatus();
121 120
         getFoodType();
122 121
         getStorageStatus();
@@ -130,10 +129,12 @@ public class HomeFragment extends BaseFragment<FragmentHomeBinding> {
130 129
                 .error(R.drawable.ic_user_empty)
131 130
                 .into(mBinding.ivUser);
132 131
 
133
-        onTodoEvent(new TodoEvent());
134
-
132
+        getTodoCount();
133
+        getNoticeCount();
134
+        getAnnounceList();
135 135
     }
136 136
 
137
+
137 138
     /**
138 139
      * 初始化轮播图
139 140
      */
@@ -146,60 +147,6 @@ public class HomeFragment extends BaseFragment<FragmentHomeBinding> {
146 147
         mBannerUtils.setImagesResId(list);
147 148
     }
148 149
 
149
-    /**
150
-     * 初始化标签
151
-     */
152
-    private void initNotice() {
153
-
154
-        List<String> bannerData = new ArrayList<>();
155
-        for (int i = 0; i < 9; i++) {
156
-            bannerData.add("这是一条公告");
157
-        }
158
-        mBinding.announceBanner.setAdapter(new TopLineAdapter(bannerData))
159
-                .isAutoLoop(true)
160
-                .setOrientation(Banner.VERTICAL)
161
-                .setUserInputEnabled(false)
162
-//                .setLoopTime(2000)
163
-                .setPageTransformer(new ZoomOutPageTransformer())
164
-                .setOnBannerListener((data, position) -> {
165
-                    // 公告
166
-                    navigation(R.id.announceListFragment);
167
-                })
168
-        ;
169
-
170
-    }
171
-
172
-
173
-    /**
174
-     * 获取工作台数据
175
-     */
176
-//    private void getRole() {
177
-//        String role = UserModel.get().getRole();// 获取角色
178
-//        if (role == null) return;
179
-//        //获取工作台数据
180
-//        switch (role) {
181
-//            case UserModel.Role.TYPE_FGS:
182
-//                getHouseStatus();
183
-//                getFoodType();
184
-//                getStorageStatus();
185
-////                WorkbenchModel.get().getFgsList(workbenchCallback);
186
-//                break;
187
-//            case UserModel.Role.TYPE_KLD:
188
-//                getHouseStatus();
189
-//                getFoodType();
190
-//                getStorageStatus();
191
-////                WorkbenchModel.get().getKzList(workbenchCallback);
192
-//                break;
193
-//            case UserModel.Role.TYPE_BGY:
194
-//                mBinding.layoutCompany.setVisibility(View.GONE);
195
-//                mBinding.layoutCount.setVisibility(View.GONE);
196
-//                mBinding.layoutHouseStatus.setVisibility(View.GONE);
197
-//                mBinding.layoutFoodType.setVisibility(View.GONE);
198
-//                mBinding.layoutStorageStatus.setVisibility(View.GONE);
199
-//                mWorkbenchAdapter.addData(WorkbenchModel.get().mHomeList);
200
-//                break;
201
-//        }
202
-//    }
203 150
     private void getHouseStatus() {
204 151
         if (mPieChartHouseStatus == null)
205 152
             mPieChartHouseStatus = new MyPieChart(mBinding.pieHouseStatus);
@@ -238,14 +185,26 @@ public class HomeFragment extends BaseFragment<FragmentHomeBinding> {
238 185
     }
239 186
 
240 187
 
188
+    /**
189
+     * 收到消息 刷新待办数量
190
+     *
191
+     * @param event
192
+     */
241 193
     @Subscribe(threadMode = ThreadMode.MAIN)
242 194
     public void onTodoEvent(TodoEvent event) {
243
-        // 待办事项数量
244
-        ProcessModel.get().getTodoSize(new DataCallback<Integer>() {
195
+        getTodoCount();
196
+    }
197
+
198
+    /**
199
+     * 获取待办数量
200
+     */
201
+    private void getTodoCount() {
202
+        ProcessModel.get().getTodoCount(new DataCallback<Integer>() {
245 203
             @Override
246 204
             public void onSuccess(Integer data) {
247
-                if (!isActive())return;
205
+                if (!isActive()) return;
248 206
 
207
+                mBinding.refreshLayout.setRefreshing(false);
249 208
                 if ((int) data == 0) {
250 209
                     mBinding.tvTodoCount.setVisibility(View.GONE);
251 210
                     return;
@@ -254,12 +213,16 @@ public class HomeFragment extends BaseFragment<FragmentHomeBinding> {
254 213
                 mBinding.tvTodoCount.setText(data + "");
255 214
             }
256 215
         });
216
+    }
257 217
 
258
-        // 通知数量
259
-        NoticeModel.get().getNoticeSize(new DataCallback<Integer>() {
218
+    /**
219
+     * 获取通知数量
220
+     */
221
+    private void getNoticeCount() {
222
+        NoticeModel.get().getNoticeCount(new DataCallback<Integer>() {
260 223
             @Override
261 224
             public void onSuccess(Integer data) {
262
-                if (!isActive())return;
225
+                if (!isActive()) return;
263 226
 
264 227
                 if ((int) data == 0) {
265 228
                     mBinding.tvNoticeCount.setVisibility(View.GONE);
@@ -271,4 +234,33 @@ public class HomeFragment extends BaseFragment<FragmentHomeBinding> {
271 234
         });
272 235
     }
273 236
 
237
+    /**
238
+     * 获取公告列表
239
+     * 获取第一页的公告进行轮播
240
+     */
241
+    private void getAnnounceList() {
242
+        AnnounceModel.get().getList(1, new DataCallback<List<AnnounceBean>>() {
243
+            @Override
244
+            public void onSuccess(List<AnnounceBean> data) {
245
+                if (!isActive()) return;
246
+
247
+                if (data.size() == 0) return;
248
+
249
+                //  展示公告轮播
250
+                mBinding.announceBanner.setAdapter(new TopLineAdapter(data))
251
+                        .isAutoLoop(true)
252
+                        .setOrientation(Banner.VERTICAL)
253
+                        .setUserInputEnabled(false)
254
+//                .setLoopTime(2000)
255
+                        .setPageTransformer(new ZoomOutPageTransformer())
256
+                        .setOnBannerListener((item, position) -> {
257
+                            // 公告
258
+                            navigation(R.id.announceListFragment);
259
+                        })
260
+                ;
261
+            }
262
+        });
263
+    }
264
+
265
+
274 266
 }

+ 1 - 1
app/src/main/java/com/unis/sxzcl/ui/home/MainActivity.java

@@ -57,7 +57,7 @@ public class MainActivity extends BaseActivity<ActivityMainBinding> {
57 57
                 BasicModel.get().getHouseDictionary();
58 58
                 BasicModel.get().getPersonDictionary();
59 59
             }
60
-        }, 2000);
60
+        }, 1000);
61 61
 
62 62
     }
63 63
 

+ 69 - 9
app/src/main/java/com/unis/sxzcl/ui/user/UserFragment.java

@@ -17,12 +17,18 @@ import com.unis.model.event.LoginOutEvent;
17 17
 import com.unis.sxzcl.R;
18 18
 import com.unis.sxzcl.base.BaseFragment;
19 19
 import com.unis.sxzcl.databinding.FragmentUserBinding;
20
+import com.unis.sxzcl.util.MyCompressHelper;
21
+import com.xyxsbj.mylibrary.tool.ToastTool;
20 22
 import com.xyxsbj.mylibrary.tool.VersionTool;
21 23
 import com.yanzhenjie.album.Album;
22 24
 import com.yanzhenjie.album.api.widget.Widget;
23 25
 
24 26
 import org.greenrobot.eventbus.EventBus;
25 27
 
28
+import java.io.File;
29
+import java.util.HashMap;
30
+import java.util.Map;
31
+
26 32
 import static com.unis.model.UrlPath.image_host;
27 33
 
28 34
 /**
@@ -38,6 +44,8 @@ import static com.unis.model.UrlPath.image_host;
38 44
  */
39 45
 public class UserFragment extends BaseFragment<FragmentUserBinding> {
40 46
 
47
+    private UserBean mUser;
48
+
41 49
     @Override
42 50
     protected FragmentUserBinding getViewBinding(LayoutInflater inflater, ViewGroup container) {
43 51
         return FragmentUserBinding.inflate(inflater, container, false);
@@ -80,18 +88,18 @@ public class UserFragment extends BaseFragment<FragmentUserBinding> {
80 88
         loadUpdate();
81 89
 
82 90
         //展示用户信息
83
-        UserBean user = UserModel.get().getUser();
84
-        if (user == null) return;
91
+        mUser = UserModel.get().getUser();
92
+        if (mUser == null) return;
85 93
         Glide.with(getContext())
86
-                .load(image_host + user.getPheadPortrait())
94
+                .load(image_host + mUser.getPheadPortrait())
87 95
                 .placeholder(R.drawable.ic_img_loading)
88 96
                 .error(R.drawable.ic_user_empty)
89 97
                 .into(mBinding.ivHead);
90
-        mBinding.tvLoginName.setText(user.getUname());
91
-        mBinding.tvName.setText(user.getPersonnelName());
92
-        mBinding.tvCompany.setText(user.getCompanyName());
93
-        mBinding.tvDepartment.setText(user.getDepotName());
94
-        mBinding.tvPost.setText(user.getPpost());
98
+        mBinding.tvLoginName.setText(mUser.getUname());
99
+        mBinding.tvName.setText(mUser.getPersonnelName());
100
+        mBinding.tvCompany.setText(mUser.getCompanyName());
101
+        mBinding.tvDepartment.setText(mUser.getDepotName());
102
+        mBinding.tvPost.setText(mUser.getPpost());
95 103
     }
96 104
 
97 105
     /**
@@ -147,7 +155,8 @@ public class UserFragment extends BaseFragment<FragmentUserBinding> {
147 155
                             .error(R.drawable.ic_user_empty)
148 156
                             .into(mBinding.ivHead);
149 157
                     //图片压缩
150
-//                    mNewHead = MyCompressHelper.get(getContext()).compressToFile(new File(result.get(0).getPath()));
158
+                    File newHead = MyCompressHelper.get(getContext()).compressToFile(new File(result.get(0).getPath()));
159
+                    uploadImage(newHead);
151 160
                 }).start();
152 161
     }
153 162
 
@@ -179,4 +188,55 @@ public class UserFragment extends BaseFragment<FragmentUserBinding> {
179 188
             }
180 189
         });
181 190
     }
191
+
192
+    /**
193
+     * 上传图片
194
+     */
195
+    public void uploadImage(File file) {
196
+        if (file == null) return;
197
+        showProgress("正在上传图片...", false);
198
+        UserModel.get().uploadFile(file, new DataCallback<String>() {
199
+            @Override
200
+            public void onSuccess(String data) {
201
+                if (!isActive()) return;
202
+                if (data != null) {
203
+                    update(data);
204
+                }
205
+            }
206
+
207
+            @Override
208
+            public void onError(String error) {
209
+                super.onError(error);
210
+                if (!isActive()) return;
211
+                hideProgress();
212
+            }
213
+        });
214
+    }
215
+
216
+    /**
217
+     * 修改头像
218
+     */
219
+    public void update(String headImg) {
220
+        Map<String, Object> map = new HashMap<>();
221
+        map.put("pheadPortrait", headImg);
222
+        map.put("pid", mUser.getPersonnelId());
223
+        showProgress("正在修改信息...", false);
224
+        UserModel.get().update(map, new DataCallback<String>() {
225
+            @Override
226
+            public void onSuccess(String data) {
227
+                if (!isActive()) return;
228
+                hideProgress();
229
+                ToastTool.showLong("头像修改成功!");
230
+            }
231
+
232
+            @Override
233
+            public void onError(String error) {
234
+                super.onError(error);
235
+                if (!isActive()) return;
236
+                hideProgress();
237
+            }
238
+        });
239
+    }
240
+
241
+
182 242
 }

+ 5 - 5
model/src/main/java/com/unis/model/bean/WorkModule.java

@@ -1,4 +1,4 @@
1
-package com.unis.model.bean;
1
+package com.unis.sxzcl.ui.work_module;
2 2
 
3 3
 /**
4 4
  * 包名: com.unis.model
@@ -20,9 +20,9 @@ public class WorkModule {
20 20
     private String title;
21 21
 
22 22
     //图标
23
-    private String img;
23
+    private int img;
24 24
 
25
-    public WorkModule(String title, String img) {
25
+    public WorkModule(String title, int img) {
26 26
         this.title = title;
27 27
         this.img = img;
28 28
     }
@@ -43,11 +43,11 @@ public class WorkModule {
43 43
         this.title = title;
44 44
     }
45 45
 
46
-    public String getImg() {
46
+    public int getImg() {
47 47
         return img;
48 48
     }
49 49
 
50
-    public void setImg(String img) {
50
+    public void setImg(int img) {
51 51
         this.img = img;
52 52
     }
53 53
 }

+ 1 - 3
app/src/main/java/com/unis/sxzcl/ui/work_module/WorkModuleAdapter.java

@@ -9,10 +9,8 @@ import com.chad.library.adapter.base.viewholder.BaseViewHolder;
9 9
 import com.unis.model.DataCallback;
10 10
 import com.unis.model.DepotModel;
11 11
 import com.unis.model.HouseModel;
12
-import com.unis.model.WorkbenchModel;
13 12
 import com.unis.model.bean.HouseListBean;
14 13
 import com.unis.model.bean.MultiDepotBean;
15
-import com.unis.model.bean.WorkModule;
16 14
 import com.unis.sxzcl.R;
17 15
 import com.unis.sxzcl.widget.BottomMultipleListDialog;
18 16
 import com.unis.sxzcl.widget.MultipleBean;
@@ -54,7 +52,7 @@ public class WorkModuleAdapter extends BaseQuickAdapter<WorkModule, BaseViewHold
54 52
         holder.setText(R.id.tv_title, item.getTitle());
55 53
 
56 54
         Glide.with(getContext())
57
-                .load(R.mipmap.ic_launcher)
55
+                .load(item.getImg())
58 56
                 .placeholder(R.drawable.ic_img_loading)
59 57
                 .error(R.drawable.no_banner)
60 58
                 .into((ImageView) holder.getView(R.id.iv_show));

+ 0 - 2
app/src/main/java/com/unis/sxzcl/ui/work_module/WorkModuleFragment.java

@@ -9,9 +9,7 @@ import androidx.recyclerview.widget.GridLayoutManager;
9 9
 import androidx.recyclerview.widget.LinearLayoutManager;
10 10
 
11 11
 import com.unis.model.DepotModel;
12
-import com.unis.model.WorkbenchModel;
13 12
 import com.unis.model.bean.MultiDepotBean;
14
-import com.unis.model.bean.WorkModule;
15 13
 import com.unis.model.event.SelectDepotEvent;
16 14
 import com.unis.sxzcl.R;
17 15
 import com.unis.sxzcl.base.BaseListFragment;

+ 15 - 15
model/src/main/java/com/unis/model/WorkbenchModel.java

@@ -1,6 +1,6 @@
1
-package com.unis.model;
1
+package com.unis.sxzcl.ui.work_module;
2 2
 
3
-import com.unis.model.bean.WorkModule;
3
+import com.unis.sxzcl.R;
4 4
 
5 5
 import java.util.Arrays;
6 6
 import java.util.HashMap;
@@ -71,9 +71,9 @@ public class WorkbenchModel {
71 71
     /******************* 主功能列表 ********************/
72 72
 
73 73
     public List<WorkModule> mHomeList = Arrays.asList(
74
-            new WorkModule(TYPE_JBXX, ""),
75
-            new WorkModule(TYPE_SLZL, ""),
76
-            new WorkModule(TYPE_CLGL, "")
74
+            new WorkModule(TYPE_JBXX, R.drawable.ic_model_jbxx),
75
+            new WorkModule(TYPE_SLZL, R.drawable.ic_model_slzl),
76
+            new WorkModule(TYPE_CLGL, R.drawable.ic_model_clgl)
77 77
 //            new WorkModule(TYPE_YJGL, ""),
78 78
 //            new WorkModule(TYPE_SSSB, ""),
79 79
 //            new WorkModule(TYPE_AQSC, ""),
@@ -87,28 +87,28 @@ public class WorkbenchModel {
87 87
     public Map<String, List<WorkModule>> mChildMap = new HashMap() {
88 88
         {
89 89
             put(TYPE_SLZL, Arrays.asList(
90
-                    new WorkModule(TYPE_CFXX, "")
90
+                    new WorkModule(TYPE_CFXX, R.mipmap.ic_launcher)
91 91
 //                    new WorkModule(TYPE_RKZL, ""),
92 92
 //                    new WorkModule(TYPE_KCZL, ""),
93 93
 //                    new WorkModule(TYPE_CKZL, "")
94 94
             ));
95 95
             put(TYPE_CLGL, Arrays.asList(
96
-                    new WorkModule(TYPE_LQJC, ""),
97
-                    new WorkModule(TYPE_JXTF, "")
96
+                    new WorkModule(TYPE_LQJC, R.mipmap.ic_launcher),
97
+                    new WorkModule(TYPE_JXTF, R.mipmap.ic_launcher)
98 98
 //                    new WorkModule(TYPE_XZGL, "")
99 99
             ));
100 100
             put(TYPE_YJGL, Arrays.asList(
101
-                    new WorkModule(TYPE_YJCG, ""),
102
-                    new WorkModule(TYPE_YJBG, ""),
103
-                    new WorkModule(TYPE_YJLY, "")
101
+                    new WorkModule(TYPE_YJCG, R.mipmap.ic_launcher),
102
+                    new WorkModule(TYPE_YJBG, R.mipmap.ic_launcher),
103
+                    new WorkModule(TYPE_YJLY, R.mipmap.ic_launcher)
104 104
             ));
105 105
             put(TYPE_SSSB, Arrays.asList(
106
-                    new WorkModule(TYPE_SSGL, ""),
107
-                    new WorkModule(TYPE_SBGL, "")
106
+                    new WorkModule(TYPE_SSGL, R.mipmap.ic_launcher),
107
+                    new WorkModule(TYPE_SBGL, R.mipmap.ic_launcher)
108 108
             ));
109 109
             put(TYPE_KWGL, Arrays.asList(
110
-                    new WorkModule(TYPE_ZCGL, ""),
111
-                    new WorkModule(TYPE_WTGL, "")
110
+                    new WorkModule(TYPE_ZCGL, R.mipmap.ic_launcher),
111
+                    new WorkModule(TYPE_WTGL, R.mipmap.ic_launcher)
112 112
             ));
113 113
         }
114 114
     };

+ 27 - 0
app/src/main/java/com/unis/sxzcl/util/MyCompressHelper.java

@@ -0,0 +1,27 @@
1
+package com.unis.sxzcl.util;
2
+
3
+import android.content.Context;
4
+
5
+import com.nanchen.compresshelper.CompressHelper;
6
+
7
+/**
8
+ * 包名: com.bskapp.bskapp.util
9
+ * 类名: MyCompressHelper
10
+ * 作用描述:
11
+ * 创建人: mQ
12
+ * 创建时间: 2020/8/28 16:16
13
+ * 更新人:
14
+ * 更新时间: 2020/8/28 16:16
15
+ * 更新说明:
16
+ * 版本号: 1.0
17
+ */
18
+public class MyCompressHelper {
19
+
20
+    public static CompressHelper get(Context context) {
21
+        return new CompressHelper.Builder(context)
22
+                .setMaxHeight(1920.0f)//最大高度
23
+                .setMaxWidth(1920.0f)//最大宽度
24
+                .setQuality(80)//质量
25
+                .build();
26
+    }
27
+}

+ 12 - 17
app/src/main/java/com/unis/sxzcl/widget/banner/TopLineAdapter.java

@@ -2,10 +2,12 @@ package com.unis.sxzcl.widget.banner;
2 2
 
3 3
 import android.view.View;
4 4
 import android.view.ViewGroup;
5
+import android.widget.TextView;
5 6
 
6 7
 import androidx.annotation.NonNull;
7 8
 import androidx.recyclerview.widget.RecyclerView;
8 9
 
10
+import com.unis.model.bean.AnnounceBean;
9 11
 import com.unis.sxzcl.R;
10 12
 import com.youth.banner.adapter.BannerAdapter;
11 13
 import com.youth.banner.util.BannerUtils;
@@ -14,7 +16,6 @@ import java.util.List;
14 16
 
15 17
 
16 18
 /**
17
- *
18 19
  * 包名: com.unis.sxzcl.widget.banner
19 20
  * 类名: TopLineAdapter
20 21
  * 作用描述: 纵向轮播适配器
@@ -25,10 +26,10 @@ import java.util.List;
25 26
  * 更新说明:
26 27
  * 版本号: 1.0
27 28
  */
28
-public class TopLineAdapter extends BannerAdapter<String, TopLineAdapter.TopLineHolder> {
29
+public class TopLineAdapter extends BannerAdapter<AnnounceBean, TopLineAdapter.TopLineHolder> {
29 30
 
30
-    public TopLineAdapter(List<String> mDatas) {
31
-        super(mDatas);
31
+    public TopLineAdapter(List<AnnounceBean> list) {
32
+        super(list);
32 33
     }
33 34
 
34 35
     @Override
@@ -37,25 +38,19 @@ public class TopLineAdapter extends BannerAdapter<String, TopLineAdapter.TopLine
37 38
     }
38 39
 
39 40
     @Override
40
-    public void onBindView(TopLineHolder holder, String data, int position, int size) {
41
-//        holder.message.setText(data.title);
42
-//        if (data.viewType==1) {
43
-//            holder.source.setText("1号店");
44
-//        }else if (data.viewType==2) {
45
-//            holder.source.setText("淘宝头条");
46
-//        }else if (data.viewType==3) {
47
-//            holder.source.setText("京东快报");
48
-//        }
41
+    public void onBindView(TopLineHolder holder, AnnounceBean data, int position, int size) {
42
+        holder.tvTitle.setText(data.getTitle());
43
+        holder.tvTime.setText(data.getPublishTime());
49 44
     }
50 45
 
51 46
     class TopLineHolder extends RecyclerView.ViewHolder {
52
-//        public TextView message;
53
-//////        public TextView source;
47
+        public TextView tvTitle;
48
+        public TextView tvTime;
54 49
 
55 50
         public TopLineHolder(@NonNull View view) {
56 51
             super(view);
57
-//            message=view.findViewById(R.id.message);
58
-//            source=view.findViewById(R.id.source);
52
+            tvTitle = view.findViewById(R.id.tv_title);
53
+            tvTime = view.findViewById(R.id.tv_time);
59 54
         }
60 55
     }
61 56
 }

+ 1 - 1
app/src/main/res/layout/base_title_bar.xml

@@ -56,7 +56,7 @@
56 56
         android:gravity="center"
57 57
         android:minHeight="48dp"
58 58
         android:textColor="@android:color/white"
59
-        android:textSize="?attr/textSizeXXXX"
59
+        android:textSize="?attr/textSizeXXXXX"
60 60
         android:textStyle="bold" />
61 61
 
62 62
 </RelativeLayout>

+ 45 - 2
app/src/main/res/layout/fragment_accounce_detail.xml

@@ -3,17 +3,60 @@
3 3
     xmlns:app="http://schemas.android.com/apk/res-auto"
4 4
     android:layout_width="match_parent"
5 5
     android:layout_height="match_parent"
6
+    android:background="@color/colorWhite"
6 7
     android:orientation="vertical">
7 8
 
8 9
     <com.unis.sxzcl.widget.BaseTitleBar
9 10
         android:id="@+id/bar"
10 11
         android:layout_width="match_parent"
12
+        android:layout_height="wrap_content" />
13
+
14
+    <TextView
15
+        android:id="@+id/tv_title"
16
+        android:layout_width="wrap_content"
17
+        android:layout_height="wrap_content"
18
+        android:layout_gravity="center"
19
+        android:layout_marginLeft="16dp"
20
+        android:layout_marginTop="8dp"
21
+        android:layout_marginRight="16dp"
22
+        android:text="标题"
23
+        android:textColor="@color/colorTheme"
24
+        android:textSize="?attr/textSizeXXXX" />
25
+
26
+    <LinearLayout
27
+        android:layout_width="match_parent"
11 28
         android:layout_height="wrap_content"
12
-        app:barTitle="公告" />
29
+        android:layout_marginLeft="16dp"
30
+        android:layout_marginTop="8dp"
31
+        android:layout_marginRight="16dp"
32
+        android:layout_marginBottom="8dp">
33
+
34
+        <TextView
35
+            android:id="@+id/tv_source"
36
+            android:layout_width="wrap_content"
37
+            android:layout_height="wrap_content"
38
+            android:text="公司"
39
+            android:textColor="@color/colorText99"
40
+            android:textSize="?attr/textSizeX" />
41
+
42
+        <View
43
+            android:layout_width="0dp"
44
+            android:layout_height="match_parent"
45
+            android:layout_weight="1" />
46
+
47
+        <TextView
48
+            android:id="@+id/tv_time"
49
+            android:layout_width="wrap_content"
50
+            android:layout_height="wrap_content"
51
+            android:text="时间"
52
+            android:textColor="@color/colorText99"
53
+            android:textSize="?attr/textSizeX" />
54
+    </LinearLayout>
13 55
 
14 56
     <androidx.core.widget.NestedScrollView
15 57
         android:layout_width="match_parent"
16
-        android:layout_height="match_parent">
58
+        android:layout_height="match_parent"
59
+        android:scrollbars="vertical">
17 60
 
18 61
         <com.tencent.smtt.sdk.WebView
19 62
             android:id="@+id/web_view"

+ 20 - 7
app/src/main/res/layout/item_list_announce.xml

@@ -18,28 +18,39 @@
18 18
 
19 19
     <TextView
20 20
         android:id="@+id/tv_title"
21
-        style="@style/text_title"
21
+        android:layout_width="match_parent"
22
+        android:layout_height="wrap_content"
22 23
         android:layout_marginTop="16dp"
23 24
         android:layout_marginRight="16dp"
24 25
         android:layout_toRightOf="@id/v_flag"
25
-        android:text="粮食局发布《关于认真做好秋粮收购工作的通知》" />
26
+        android:text="标题"
27
+        android:textColor="@color/colorText33"
28
+        android:textSize="?attr/textSizeXX" />
26 29
 
27 30
     <TextView
28 31
         android:id="@+id/tv_content"
29
-        style="@style/text_content"
32
+        android:layout_width="match_parent"
33
+        android:layout_height="wrap_content"
30 34
         android:layout_below="@id/tv_title"
31 35
         android:layout_alignLeft="@id/tv_title"
32 36
         android:layout_marginTop="8dp"
33 37
         android:layout_marginRight="16dp"
34
-        android:text="目前,夏粮和早稻收购工作已基本结束,秋粮收购工作即将全面展开。为认真贯彻落实国务院第194次常务会议精神,切..." />
38
+        android:ellipsize="end"
39
+        android:maxLines="3"
40
+        android:text="内容"
41
+        android:textColor="@color/colorText55"
42
+        android:textSize="?attr/textSizeXX" />
35 43
 
36 44
     <TextView
37 45
         android:id="@+id/tv_source"
38
-        style="@style/text_accent"
46
+        android:layout_width="wrap_content"
47
+        android:layout_height="wrap_content"
39 48
         android:layout_below="@id/tv_content"
40 49
         android:layout_alignLeft="@id/tv_content"
41 50
         android:layout_marginTop="8dp"
42
-        android:text="总经办" />
51
+        android:text="公司"
52
+        android:textColor="@color/colorText99"
53
+        android:textSize="?attr/textSizeX" />
43 54
 
44 55
     <TextView
45 56
         android:id="@+id/tv_time"
@@ -48,6 +59,8 @@
48 59
         android:layout_alignParentRight="true"
49 60
         android:layout_marginRight="16dp"
50 61
         android:layout_marginBottom="16dp"
51
-        android:text="2020-12-12 11:00" />
62
+        android:text="时间"
63
+        android:textColor="@color/colorText99"
64
+        android:textSize="?attr/textSizeX" />
52 65
 
53 66
 </RelativeLayout>

+ 10 - 3
app/src/main/res/layout/item_work_module.xml

@@ -7,12 +7,20 @@
7 7
     android:orientation="horizontal">
8 8
 
9 9
     <LinearLayout
10
-        android:layout_width="0dp"
10
+        android:layout_width="match_parent"
11 11
         android:layout_height="match_parent"
12
-        android:layout_weight="1"
13 12
         android:gravity="center_horizontal"
14 13
         android:orientation="vertical">
15 14
 
15
+        <View
16
+            android:layout_width="match_parent"
17
+            android:layout_height="40dp" />
18
+
19
+        <View
20
+            android:layout_width="match_parent"
21
+            android:layout_height="0dp"
22
+            android:layout_weight="1" />
23
+
16 24
         <LinearLayout
17 25
             android:layout_width="match_parent"
18 26
             android:layout_height="wrap_content">
@@ -26,7 +34,6 @@
26 34
                 android:id="@+id/iv_show"
27 35
                 android:layout_width="0dp"
28 36
                 android:layout_height="wrap_content"
29
-                android:layout_marginTop="40dp"
30 37
                 android:layout_weight="1.5"
31 38
                 android:adjustViewBounds="true"
32 39
                 android:src="@drawable/no_banner" />

BIN
icon/src/main/res/drawable-xhdpi/ic_model_clgl.png


BIN
icon/src/main/res/drawable-xhdpi/ic_model_jbxx.png


BIN
icon/src/main/res/drawable-xhdpi/ic_model_slzl.png


+ 0 - 10
model/src/main/java/com/unis/model/MyStringCallback.java

@@ -30,16 +30,6 @@ public abstract class MyStringCallback extends StringCallback {
30 30
     @Override
31 31
     public void onStart(Request<String, ? extends Request> request) {
32 32
         super.onStart(request);
33
-//        String headToken = UserModel.get().getHeadToken();
34
-//        if (headToken != null) {
35
-//            request.headers("Authorization", headToken);
36
-//
37
-//            HttpUrl httpUrl = HttpUrl.parse(UrlPath.host);
38
-//            Cookie.Builder builder = new Cookie.Builder();
39
-//            Cookie cookieToken = builder.name("Token").value(headToken).domain(httpUrl.host()).build();
40
-//            CookieStore cookieStore = OkGo.getInstance().getCookieJar().getCookieStore();
41
-//            cookieStore.saveCookie(httpUrl, cookieToken);
42
-//        }
43 33
     }
44 34
 
45 35
     protected abstract void onSuccessResult(Response<String> response) throws JSONException;

+ 1 - 1
model/src/main/java/com/unis/model/NoticeModel.java

@@ -77,7 +77,7 @@ public class NoticeModel {
77 77
     /**
78 78
      * 获取通知列表
79 79
      */
80
-    public void getNoticeSize(final DataCallback<Integer> callback) {
80
+    public void getNoticeCount(final DataCallback<Integer> callback) {
81 81
         Map<String, Object> condition = new HashMap<>();
82 82
         condition.put("readStatus", false);
83 83
         Map<String, Object> map = new HashMap<>();

+ 1 - 1
model/src/main/java/com/unis/model/ProcessModel.java

@@ -305,7 +305,7 @@ public class ProcessModel {
305 305
     /**
306 306
      * 待处理 数量
307 307
      */
308
-    public void getTodoSize(final DataCallback<Integer> callBack) {
308
+    public void getTodoCount(final DataCallback<Integer> callBack) {
309 309
         Gson gson = new Gson();
310 310
         Map<String, Object> map = new HashMap<>();
311 311
         map.put("pageIndex", 1);

+ 5 - 0
model/src/main/java/com/unis/model/UrlPath.java

@@ -19,6 +19,8 @@ public class UrlPath {
19 19
 
20 20
     //图片地址
21 21
     public static final String image_host = host + "/api/csc-szls-system-manage/minio/preViewPicture/";
22
+    // 上传图片
23
+    public static final String upload_file = host + "/api/csc-szls-system-manage//minio/testupload";
22 24
 
23 25
     //版本信息
24 26
     public static final String version_info = host + "/apk/version_info.json";
@@ -59,10 +61,13 @@ public class UrlPath {
59 61
     public static final String person_detail = host + "/api/csc-szls-system-manage/sysPersonnel/authority/getById";
60 62
     // 人员详情 仓房id
61 63
     public static final String person_detail_by_house = host + "/api/csc-szls-system-manage/sysPersonnel/authority/getByWarehouseId";
64
+    // 修改人员信息
65
+    public static final String person_update = host + "/api/csc-szls-system-manage/sysPersonnel/authority_button/update";
62 66
     // 人员字典
63 67
     public static final String person_dictionary = host + "/api/csc-szls-system-manage/user/authority/getAll";
64 68
 
65 69
 
70
+
66 71
     /****************** 部门 ******************/
67 72
     // 部门字典
68 73
     public static final String department_dictionary = host + "/api/csc-szls-system-manage/sysDepartment/authority/getAllMAP";

+ 47 - 6
model/src/main/java/com/unis/model/UserModel.java

@@ -8,6 +8,7 @@ import com.lzy.okgo.OkGo;
8 8
 import com.lzy.okgo.cookie.store.CookieStore;
9 9
 import com.lzy.okgo.model.Response;
10 10
 import com.lzy.okgo.request.GetRequest;
11
+import com.lzy.okgo.request.PostRequest;
11 12
 import com.lzy.okgo.request.base.Request;
12 13
 import com.unis.model.bean.LoginBean;
13 14
 import com.unis.model.bean.UserBean;
@@ -18,6 +19,7 @@ import com.xyxsbj.mylibrary.tool.SPTool;
18 19
 
19 20
 import org.json.JSONException;
20 21
 
22
+import java.io.File;
21 23
 import java.lang.annotation.Retention;
22 24
 import java.lang.annotation.RetentionPolicy;
23 25
 import java.util.HashMap;
@@ -120,17 +122,11 @@ public class UserModel {
120 122
                         Cookie cookieToken = builder.name("Token").value(tokenType + "%20" + accessToken).domain(httpUrl.host()).build();
121 123
                         CookieStore cookieStore = OkGo.getInstance().getCookieJar().getCookieStore();
122 124
                         cookieStore.saveCookie(httpUrl, cookieToken);
123
-//                        cookieStore.saveCookie(httpUrl, cookie2);
124 125
 
125 126
                         CookieStore store = OkGo.getInstance().getCookieJar().getCookieStore();
126 127
                         List<Cookie> allCookie = store.getAllCookie();
127 128
                         LogTool.i("所有cookie如下:" + allCookie.toString());
128 129
 
129
-                        // 添加请求头
130
-//                        HttpHeaders headers = new HttpHeaders();
131
-//                        headers.put("Authorization", token);
132
-//                        OkGo.getInstance().init(BaseApp.getApp()).addCommonHeaders(headers);
133
-
134 130
                         if (callBack != null)
135 131
                             callBack.onSuccess(bean);
136 132
                     }
@@ -270,5 +266,50 @@ public class UserModel {
270 266
         });
271 267
     }
272 268
 
269
+    /**
270
+     * 图片上传
271
+     *
272
+     * @param file
273
+     * @param callback
274
+     */
275
+    public void uploadFile(File file, final DataCallback<String> callback) {
276
+        PostRequest<String> request = OkGo.post(UrlPath.upload_file);
277
+        request.params("file", file);
278
+        request.execute(new MyStringCallback() {
279
+            @Override
280
+            protected void onSuccessResult(Response<String> response) throws JSONException {
281
+                callback.onSuccess(getDataJson(response));
282
+            }
283
+
284
+            @Override
285
+            public void onError(Response<String> response) {
286
+                super.onError(response);
287
+                callback.onError(getErrorMsg(response));
288
+            }
289
+        });
290
+
291
+    }
292
+
293
+    /**
294
+     * 修改用户信息
295
+     */
296
+    public void update(Map<String, Object> userMap, final DataCallback<String> callback) {
297
+
298
+        PostRequest<String> request = OkGo.post(UrlPath.person_update);
299
+        request.upJson(new Gson().toJson(userMap));
300
+        request.execute(new MyStringCallback() {
301
+            @Override
302
+            protected void onSuccessResult(Response<String> response) throws JSONException {
303
+                callback.onSuccess(null);
304
+            }
305
+
306
+            @Override
307
+            public void onError(Response<String> response) {
308
+                super.onError(response);
309
+                callback.onError(getErrorMsg(response));
310
+            }
311
+        });
312
+    }
313
+
273 314
 
274 315
 }

Dosya farkı çok büyük olduğundan ihmal edildi
+ 233 - 3
model/src/main/java/com/unis/model/bean/AnnounceBean.java


+ 8 - 0
version_info.json

@@ -1,6 +1,14 @@
1 1
 {
2 2
   "info": [
3 3
     {
4
+      "versionName": "1.5",
5
+      "versionCode": 5,
6
+      "content": "1.作业功能修改图标\n2.增加公告列表与相亲\n3.增加修改头像功能",
7
+      "fileName": "sxzcl_release_1.4_4.apk",
8
+      "must": true,
9
+      "time": "2020-12-26"
10
+    },
11
+    {
4 12
       "versionName": "1.4",
5 13
       "versionCode": 4,
6 14
       "content": "1.修改桌面图标、页面字体、颜色样式等\n2.修改登录页\n3.等待动画调整\n4.修改部分bug\n5.完善仓房信息\n6.完善保管员信息\n7.解决登录bug",