diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c976461..0e1d566 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -173,6 +173,11 @@ android:configChanges="orientation|screenSize|keyboardHidden" android:exported="false" android:screenOrientation="portrait" /> + { private void initView(HomeEntity data) { setText(binding.tvTodoCount, data.getTodoCount().toString()); setText(binding.userNameTv, data.getUserInfo().getUsername()); - setText(binding.userDepartmentTv, data.getUserInfo().getOrganization() + " - " + data.getUserInfo().getDepartmental()); + setText(binding.userDepartmentTv, data.getUserInfo().getDepartmental()); + // setText(binding.userDepartmentTv, data.getUserInfo().getOrganization() + " - " + data.getUserInfo().getDepartmental()); setText(binding.userTelTv, data.getUserInfo().getPhone() + " " + data.getUserInfo().getNo()); GlideLoader.loadCircle(binding.userHeadIv, data.getUserInfo().getHeadPic()); funcAdapter.setNewData(data.getFunction()); diff --git a/app/src/main/java/com/tairui/gov_affairs_cloud/ui/land/AddInspectionActivity.java b/app/src/main/java/com/tairui/gov_affairs_cloud/ui/land/AddInspectionActivity.java index 2b1e67c..d52c661 100644 --- a/app/src/main/java/com/tairui/gov_affairs_cloud/ui/land/AddInspectionActivity.java +++ b/app/src/main/java/com/tairui/gov_affairs_cloud/ui/land/AddInspectionActivity.java @@ -1,14 +1,52 @@ package com.tairui.gov_affairs_cloud.ui.land; +import java.util.ArrayList; +import java.util.List; + +import org.greenrobot.eventbus.EventBus; + +import com.chad.library.adapter.base.BaseQuickAdapter; +import com.chad.library.adapter.base.BaseViewHolder; +import com.google.gson.JsonArray; +import com.kongzue.dialogx.dialogs.BottomMenu; +import com.kongzue.dialogx.dialogs.PopMenu; +import com.kongzue.dialogx.dialogs.PopTip; +import com.kongzue.dialogx.interfaces.OnMenuButtonClickListener; +import com.kongzue.dialogx.interfaces.OnMenuItemSelectListener; +import com.kongzue.dialogx.util.ItemDivider; +import com.rxjava.rxlife.RxLife; +import com.tairui.gov_affairs_cloud.R; import com.tairui.gov_affairs_cloud.base.BaseActivity; import com.tairui.gov_affairs_cloud.databinding.ActivityAddInspectionBinding; +import com.tairui.gov_affairs_cloud.entity.Api; +import com.tairui.gov_affairs_cloud.entity.EventConstant; +import com.tairui.gov_affairs_cloud.entity.EventMessage; +import com.tairui.gov_affairs_cloud.http.OnError; +import com.tairui.gov_affairs_cloud.ui.land.entity.DictDataEntity; +import com.tairui.gov_affairs_cloud.ui.land.entity.GridMemberEntity; +import com.tairui.gov_affairs_cloud.util.ArrayUtil; +import com.tairui.gov_affairs_cloud.util.DensityUtils; import com.tairui.gov_affairs_cloud.util.SingleClickListener; import android.os.Bundle; +import android.text.TextUtils; import android.view.View; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import rxhttp.RxHttp; public class AddInspectionActivity extends BaseActivity { + private List membersData; + private List selectMembersData; + private List multiSelectMenuText; + private int[] cacheSelectMenuIndexArray; + private List selectMenuIndexArray = new ArrayList<>(); + private MemberAdapter memberAdapter; + private List typeData; + private DictDataEntity selectType; + @Override protected Class getBindingClass() { return ActivityAddInspectionBinding.class; @@ -20,7 +58,10 @@ public class AddInspectionActivity extends BaseActivity menus = new ArrayList<>(); + for (DictDataEntity item : typeData) { + menus.add(item.getDictLabel()); + } + PopMenu.show(binding.tvType, menus) + .setBackgroundColorRes(R.color.white) + .setWidth(DensityUtils.dp2px(mContext, 100)) + .setOnMenuItemClickListener((dialog, text, index) -> { + selectType = typeData.get(index); + setText(binding.tvType, selectType.getDictLabel()); + return false; + }).setItemDivider(new ItemDivider(15, 15, 1)); + } + + private void getInspectionTypeData() { + RxHttp.get(Api.INSPECTION_TYPE) + .asResponseList(DictDataEntity.class) + .as(RxLife.asOnMain(this)) + .subscribe(data -> { + typeData = data; + }, (OnError) error -> showToast(error.getErrorMsg())); + } + + private void getMemberList() { + RxHttp.get(Api.GRID_MEMBER) + .asResponse(GridMemberEntity.class) + .as(RxLife.asOnMain(this)) + .subscribe(data -> { + membersData = data.getMemberList(); + multiSelectMenuText = new ArrayList<>(); + for (int i = 0; i < membersData.size(); i++) { + multiSelectMenuText.add(membersData.get(i).getMemberName()); + } + }, (OnError) error -> showToast(error.getErrorMsg())); + } + + private void showMemeberDialog() { + BottomMenu.show(multiSelectMenuText).setTitle("请选择任务成员") + .setOnMenuItemClickListener(new OnMenuItemSelectListener() { + @Override + public void onMultiItemSelect(BottomMenu dialog, CharSequence[] text, int[] indexArray) { + cacheSelectMenuIndexArray = indexArray; + } + }).setOkButton("确定", (OnMenuButtonClickListener) (dialog, v) -> { + if (cacheSelectMenuIndexArray.length > 3) { + showError("最多允许选择3名任务成员"); + } else if (cacheSelectMenuIndexArray.length <= 0) { + showError("至少选择1名任务成员"); + } else { + selectMenuIndexArray.clear(); + selectMembersData = new ArrayList<>(); + for (int i : cacheSelectMenuIndexArray) { + selectMenuIndexArray.add(i); + selectMembersData.add(membersData.get(i)); + } + cacheSelectMenuIndexArray = new int[1]; + memberAdapter.setNewData(selectMembersData); + } + return false; + }).setSelection(selectMenuIndexArray); + } + + private void checkSubmit() { + String taskCode = binding.inputTaskCode.getText().toString().trim(); + if (TextUtils.isEmpty(taskCode)) { + showError("任务编号不能为空"); + return; + } + String taskName = binding.inputTaskName.getText().toString().trim(); + if (TextUtils.isEmpty(taskName)) { + showError("任务名称不能为空"); + return; + } + if (ArrayUtil.isEmpty(selectMembersData)) { + showError("任务成员不能为空"); + return; + } + if (selectType == null) { + showError("请选择任务类型"); + return; + } + String taskTarget = binding.inputTaskTarget.getText().toString().trim(); + if (TextUtils.isEmpty(taskTarget)) { + showError("任务对象不能为空"); + return; + } + String taskNotes = binding.inputTaskNotes.getText().toString().trim(); + JsonArray memeberIds = new JsonArray(); + for (GridMemberEntity.MemberListEntity selectMembersDatum : selectMembersData) { + memeberIds.add(selectMembersDatum.getId()); + } + showLoading(); + RxHttp.postJson(Api.INSPECTION_ADD) + .add("taskCode", taskCode) + .add("taskName", taskName) + .add("taskUserIds", memeberIds) + .add("inspectionTypeCode", selectType.getDictValue()) + .add("inspectionTarget", taskTarget) + .add("notes", taskNotes) + .asResponse(Boolean.class) + .as(RxLife.asOnMain(this)) + .subscribe(data -> { + hideLoading(); + PopTip.show("土地巡查信息新增成功").iconSuccess(); + EventBus.getDefault().post(new EventMessage(EventConstant.REFRESH_LIST)); + binding.btnSubmit.postDelayed(() -> finish(), 1000); + }, (OnError) error -> { + PopTip.show(error.getErrorMsg()).iconError(); + hideLoading(); + }); + } + + private class MemberAdapter extends BaseQuickAdapter { + + public MemberAdapter() { + super(R.layout.item_select_member); + } + + @Override + protected void convert(@NonNull BaseViewHolder holder, GridMemberEntity.MemberListEntity entity) { + holder.setText(R.id.tvName, entity.getMemberName()); + holder.addOnClickListener(R.id.btnDelete); + } } } diff --git a/app/src/main/java/com/tairui/gov_affairs_cloud/ui/land/InspectionListActivity.java b/app/src/main/java/com/tairui/gov_affairs_cloud/ui/land/InspectionListActivity.java index ffaa700..cfa2656 100644 --- a/app/src/main/java/com/tairui/gov_affairs_cloud/ui/land/InspectionListActivity.java +++ b/app/src/main/java/com/tairui/gov_affairs_cloud/ui/land/InspectionListActivity.java @@ -134,6 +134,12 @@ public class InspectionListActivity extends BaseActivity memberList; + @SerializedName("landList") + private List landList; + + public Object getGridMemberInfo() { + return gridMemberInfo; + } + + public void setGridMemberInfo(Object gridMemberInfo) { + this.gridMemberInfo = gridMemberInfo; + } + + public List getMemberList() { + return memberList; + } + + public void setMemberList(List memberList) { + this.memberList = memberList; + } + + public List getLandList() { + return landList; + } + + public void setLandList(List landList) { + this.landList = landList; + } + + public static class MemberListEntity { + @SerializedName("gridId") + private String gridId; + @SerializedName("memberName") + private String memberName; + @SerializedName("adminFlag") + private String adminFlag; + @SerializedName("phone") + private String phone; + @SerializedName("id") + private String id; + @SerializedName("status") + private String status; + @SerializedName("gridName") + private Object gridName; + @SerializedName("gridAreaName") + private Object gridAreaName; + @SerializedName("gridAreaCode") + private Object gridAreaCode; + + public String getGridId() { + return gridId; + } + + public void setGridId(String gridId) { + this.gridId = gridId; + } + + public String getMemberName() { + return memberName; + } + + public void setMemberName(String memberName) { + this.memberName = memberName; + } + + public String getAdminFlag() { + return adminFlag; + } + + public void setAdminFlag(String adminFlag) { + this.adminFlag = adminFlag; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Object getGridName() { + return gridName; + } + + public void setGridName(Object gridName) { + this.gridName = gridName; + } + + public Object getGridAreaName() { + return gridAreaName; + } + + public void setGridAreaName(Object gridAreaName) { + this.gridAreaName = gridAreaName; + } + + public Object getGridAreaCode() { + return gridAreaCode; + } + + public void setGridAreaCode(Object gridAreaCode) { + this.gridAreaCode = gridAreaCode; + } + } + + public static class LandListEntity { + @SerializedName("id") + private String id; + @SerializedName("landName") + private String landName; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getLandName() { + return landName; + } + + public void setLandName(String landName) { + this.landName = landName; + } + } +} diff --git a/app/src/main/java/com/tairui/gov_affairs_cloud/ui/login/LoginActivity.java b/app/src/main/java/com/tairui/gov_affairs_cloud/ui/login/LoginActivity.java index 7e1cd61..9c00618 100644 --- a/app/src/main/java/com/tairui/gov_affairs_cloud/ui/login/LoginActivity.java +++ b/app/src/main/java/com/tairui/gov_affairs_cloud/ui/login/LoginActivity.java @@ -3,6 +3,7 @@ package com.tairui.gov_affairs_cloud.ui.login; import com.google.gson.JsonObject; import com.orhanobut.hawk.Hawk; import com.rxjava.rxlife.RxLife; +import com.tairui.gov_affairs_cloud.BuildConfig; import com.tairui.gov_affairs_cloud.base.BaseActivity; import com.tairui.gov_affairs_cloud.databinding.ActivityLoginBinding; import com.tairui.gov_affairs_cloud.entity.Api; @@ -30,6 +31,10 @@ public class LoginActivity extends BaseActivity { // if (Hawk.contains(Constant.LOGIN_USER_NAME)) { // setText(binding.inputUserName, Hawk.get(Constant.LOGIN_USER_NAME)); // } + if (BuildConfig.DEBUG) { + setText(binding.inputUserName, "admin"); + setText(binding.inputUserPass, "admin123"); + } } @Override diff --git a/app/src/main/java/com/tairui/gov_affairs_cloud/ui/my/MyFragment.java b/app/src/main/java/com/tairui/gov_affairs_cloud/ui/my/MyFragment.java index e38502e..f63b036 100644 --- a/app/src/main/java/com/tairui/gov_affairs_cloud/ui/my/MyFragment.java +++ b/app/src/main/java/com/tairui/gov_affairs_cloud/ui/my/MyFragment.java @@ -76,7 +76,8 @@ public class MyFragment extends BaseFragment { private void initView(UserInfoEntity data) { setText(binding.tvTodoCount, data.getTodoCount().toString()); setText(binding.userNameTv, data.getUsername()); - setText(binding.userDepartmentTv, data.getOrganization() + " - " + data.getDepartmental()); + // setText(binding.userDepartmentTv, data.getOrganization() + " - " + data.getDepartmental()); + setText(binding.userDepartmentTv, data.getDepartmental()); setText(binding.userTelTv, data.getPhone() + " " + data.getNo()); GlideLoader.loadCircle(binding.userHeadIv, data.getHeadPic()); } diff --git a/app/src/main/java/com/tairui/gov_affairs_cloud/ui/workspace/WorkSpaceFragment.java b/app/src/main/java/com/tairui/gov_affairs_cloud/ui/workspace/WorkSpaceFragment.java index dbe5a14..35bda67 100644 --- a/app/src/main/java/com/tairui/gov_affairs_cloud/ui/workspace/WorkSpaceFragment.java +++ b/app/src/main/java/com/tairui/gov_affairs_cloud/ui/workspace/WorkSpaceFragment.java @@ -102,15 +102,15 @@ public class WorkSpaceFragment extends BaseFragment { funcs.add(itemFunc); itemFunc = new WorkSpaceEntity.FuncsEntity(); - itemFunc.setId(2); - itemFunc.setName("网格信息"); - itemFunc.setIcon(R.mipmap.ic_workspace_func_2); + itemFunc.setId(6); + itemFunc.setName("土地信息"); + itemFunc.setIcon(R.mipmap.ic_workspace_func_6); funcs.add(itemFunc); itemFunc = new WorkSpaceEntity.FuncsEntity(); - itemFunc.setId(3); - itemFunc.setName("种植计划"); - itemFunc.setIcon(R.mipmap.ic_workspace_func_3); + itemFunc.setId(2); + itemFunc.setName("网格信息"); + itemFunc.setIcon(R.mipmap.ic_workspace_func_2); funcs.add(itemFunc); // itemFunc = new WorkSpaceEntity.FuncsEntity(); @@ -119,24 +119,18 @@ public class WorkSpaceFragment extends BaseFragment { // itemFunc.setIcon(R.mipmap.ic_workspace_func_4); // funcs.add(itemFunc); - itemFunc = new WorkSpaceEntity.FuncsEntity(); - itemFunc.setId(5); - itemFunc.setName("土地违规"); - itemFunc.setIcon(R.mipmap.ic_workspace_func_5); - funcs.add(itemFunc); - - itemFunc = new WorkSpaceEntity.FuncsEntity(); - itemFunc.setId(6); - itemFunc.setName("土地信息"); - itemFunc.setIcon(R.mipmap.ic_workspace_func_6); - funcs.add(itemFunc); - itemFunc = new WorkSpaceEntity.FuncsEntity(); itemFunc.setId(7); itemFunc.setName("土地巡查"); itemFunc.setIcon(R.mipmap.ic_workspace_func_7); funcs.add(itemFunc); + itemFunc = new WorkSpaceEntity.FuncsEntity(); + itemFunc.setId(5); + itemFunc.setName("土地案件"); + itemFunc.setIcon(R.mipmap.ic_workspace_func_5); + funcs.add(itemFunc); + item.setFuncs(funcs); workSpaceEntities.add(item); @@ -180,6 +174,12 @@ public class WorkSpaceFragment extends BaseFragment { itemFunc.setIcon(R.mipmap.ic_workspace_func_14); funcs.add(itemFunc); + itemFunc = new WorkSpaceEntity.FuncsEntity(); + itemFunc.setId(3); + itemFunc.setName("种植计划"); + itemFunc.setIcon(R.mipmap.ic_workspace_func_3); + funcs.add(itemFunc); + item.setFuncs(funcs); workSpaceEntities.add(item); @@ -251,42 +251,42 @@ public class WorkSpaceFragment extends BaseFragment { item.setFuncs(funcs); workSpaceEntities.add(item); -// item = new WorkSpaceEntity(); -// item.setName("农业产品监测"); -// funcs = new ArrayList<>(); -// -// itemFunc = new WorkSpaceEntity.FuncsEntity(); -// itemFunc.setId(24); -// itemFunc.setName("田间监测"); -// itemFunc.setIcon(R.mipmap.ic_workspace_func_24); -// funcs.add(itemFunc); -// -// itemFunc = new WorkSpaceEntity.FuncsEntity(); -// itemFunc.setId(25); -// itemFunc.setName("水质监测"); -// itemFunc.setIcon(R.mipmap.ic_workspace_func_25); -// funcs.add(itemFunc); -// -// itemFunc = new WorkSpaceEntity.FuncsEntity(); -// itemFunc.setId(26); -// itemFunc.setName("病虫害监测"); -// itemFunc.setIcon(R.mipmap.ic_workspace_func_26); -// funcs.add(itemFunc); -// -// itemFunc = new WorkSpaceEntity.FuncsEntity(); -// itemFunc.setId(27); -// itemFunc.setName("环境监测"); -// itemFunc.setIcon(R.mipmap.ic_workspace_func_27); -// funcs.add(itemFunc); -// -// itemFunc = new WorkSpaceEntity.FuncsEntity(); -// itemFunc.setId(28); -// itemFunc.setName("产量预测"); -// itemFunc.setIcon(R.mipmap.ic_workspace_func_28); -// funcs.add(itemFunc); -// -// item.setFuncs(funcs); -// workSpaceEntities.add(item); + // item = new WorkSpaceEntity(); + // item.setName("农业产品监测"); + // funcs = new ArrayList<>(); + // + // itemFunc = new WorkSpaceEntity.FuncsEntity(); + // itemFunc.setId(24); + // itemFunc.setName("田间监测"); + // itemFunc.setIcon(R.mipmap.ic_workspace_func_24); + // funcs.add(itemFunc); + // + // itemFunc = new WorkSpaceEntity.FuncsEntity(); + // itemFunc.setId(25); + // itemFunc.setName("水质监测"); + // itemFunc.setIcon(R.mipmap.ic_workspace_func_25); + // funcs.add(itemFunc); + // + // itemFunc = new WorkSpaceEntity.FuncsEntity(); + // itemFunc.setId(26); + // itemFunc.setName("病虫害监测"); + // itemFunc.setIcon(R.mipmap.ic_workspace_func_26); + // funcs.add(itemFunc); + // + // itemFunc = new WorkSpaceEntity.FuncsEntity(); + // itemFunc.setId(27); + // itemFunc.setName("环境监测"); + // itemFunc.setIcon(R.mipmap.ic_workspace_func_27); + // funcs.add(itemFunc); + // + // itemFunc = new WorkSpaceEntity.FuncsEntity(); + // itemFunc.setId(28); + // itemFunc.setName("产量预测"); + // itemFunc.setIcon(R.mipmap.ic_workspace_func_28); + // funcs.add(itemFunc); + // + // item.setFuncs(funcs); + // workSpaceEntities.add(item); return workSpaceEntities; } diff --git a/app/src/main/res/layout/activity_add_inspection.xml b/app/src/main/res/layout/activity_add_inspection.xml index 59038d0..76b1bea 100644 --- a/app/src/main/res/layout/activity_add_inspection.xml +++ b/app/src/main/res/layout/activity_add_inspection.xml @@ -108,7 +108,7 @@ android:layout_gravity="end|center_vertical" android:background="@color/transparent" android:gravity="end|center_vertical" - android:hint="请输入" + android:hint="请输入" android:textColor="@color/color_txt_black" android:textColorHint="@color/color_txt_label" android:textSize="16sp" /> @@ -123,6 +123,7 @@ + android:gravity="top|left" + android:hint="给AI智能助手发消息..." + android:textColor="@color/color_txt_black" + android:textColorHint="@color/color_txt_label" + android:textSize="16sp" /> + + + + + + + diff --git a/app/src/main/res/mipmap-xxhdpi/ic_cancel_gray.png b/app/src/main/res/mipmap-xxhdpi/ic_cancel_gray.png new file mode 100644 index 0000000..82a5d94 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_cancel_gray.png differ