通知公告

This commit is contained in:
itgaojian163 2020-04-07 17:57:04 +08:00
parent 37041c7ce7
commit 9441797236
37 changed files with 1125 additions and 292 deletions

Binary file not shown.

View File

@ -1 +1 @@
[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0.0","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}]
[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":3,"versionName":"1.0.2","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}]

View File

@ -150,10 +150,8 @@ public class LoginActivity extends BaseActivity {
/**
* 登录
* TODO 跳转测试页面
*/
private void login() {
// startActivity(new Intent(this, MainActivity.class));
if (checkUserInputInfo()) {
String userName = mEtUserPhone.getText().toString().trim();
String pwd = mEtUserPwd.getText().toString().trim();

View File

@ -93,7 +93,6 @@ public class MainActivity extends BaseActivity {
TextView mTvOnline;
private String[] permissions = new String[]{
PermissionConstants.STORAGE,
PermissionConstants.LOCATION,
PermissionConstants.PHONE,
PermissionConstants.MICROPHONE,
};
@ -318,7 +317,6 @@ public class MainActivity extends BaseActivity {
startActivity(new Intent(MainActivity.this, UserActivity.class));
break;
case R.id.tv_rule://签到规则
break;
}
}

View File

@ -138,6 +138,7 @@ public class EnterCompanyInfoActivity extends BaseActivity {
private String mSelArea5Id = "";// 社区
private String mTraitId = "";//风险特点ID
private String mTraitPId = "";//风险特点父ID
private String companyName = "";//企业名称
private String regisAddress = "";//注册地址
private String detailAddress = "";//详细地址

View File

@ -215,6 +215,13 @@ public class CounterCheckOptionsActivity extends BaseActivity {
List<OptionsSubmitBean.HiddenDangerReportsBean> items = new ArrayList<>();
for (int i = 0; i < data.size(); i++) {
Options o = data.get(i);
if (o.getIsMust() == 1) {
if (o.getState() == EmStateCheck.NORMAL) {
mMProgressDialog.dismiss();
ToastUtils.showShort("检查项中存在未检查的必查项目");
return;
}
}
OptionsSubmitBean.HiddenDangerReportsBean bean = new OptionsSubmitBean.HiddenDangerReportsBean();
bean.setCheckItemId(o.getId());
String photoIds = "";

View File

@ -97,7 +97,13 @@ public class CheckOptionsActivity extends BaseActivity {
mOptions = new ArrayList<>();
mAdapter = new OptionsAdapter(this, mOptions);
mRlvOptions.setAdapter(mAdapter);
mRlvOptions.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false));
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false) {
@Override
public boolean canScrollVertically() {
return false;
}
};
mRlvOptions.setLayoutManager(linearLayoutManager);
mAdapter.addSelectPhotoListener((bean, options, i, type) -> {
mCurrentOptions = options;
if (type == 1) {
@ -179,6 +185,13 @@ public class CheckOptionsActivity extends BaseActivity {
List<OptionsSubmitBean.HiddenDangerReportsBean> items = new ArrayList<>();
for (int i = 0; i < data.size(); i++) {
Options o = data.get(i);
if (o.getIsMust() == 1) {
if (o.getState() == EmStateCheck.NORMAL) {
mMProgressDialog.dismiss();
ToastUtils.showShort("检查项中存在未检查的必查项目");
return;
}
}
OptionsSubmitBean.HiddenDangerReportsBean bean = new OptionsSubmitBean.HiddenDangerReportsBean();
bean.setCheckItemId(o.getId());
String photoIds = "";
@ -319,6 +332,7 @@ public class CheckOptionsActivity extends BaseActivity {
o.setId(checkOptionsbeans.get(i).getCheckItemId());
o.setTitle(checkOptionsbeans.get(i).getSummaryJoinByCheckItemId());
o.setPhotos(mPhotos);
o.setIsMust(checkOptionsbeans.get(i).getType());
mOptions.add(o);
}
mAdapter.setData(mOptions);

View File

@ -2,6 +2,7 @@ package com.sucstepsoft.txrealtimelocation.activitys.issue;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
@ -29,6 +30,8 @@ public class HistoryDetialActivity extends BaseActivity {
private Unbinder mBind;
private List<HistoryMissionBean> mDatas = new ArrayList<>();
private MissionDetailAdapter mAdapter;
private Disposable mDis;
@Override
protected int setLayoutId() {
@ -40,9 +43,13 @@ public class HistoryDetialActivity extends BaseActivity {
public void initData() {
mBind = ButterKnife.bind(this);
mTvBaseTitle.setText("详情");
refreshView(STATE_LOAD_LOADING);
String cId = getIntent().getStringExtra("cId");
getDetail(cId);
MissionDetailAdapter adapter = new MissionDetailAdapter(mActivity, mDatas);
mAdapter = new MissionDetailAdapter(mActivity, mDatas);
mRlvDetail.setLayoutManager(new LinearLayoutManager(mActivity));
mRlvDetail.setAdapter(mAdapter);
}
private void getDetail(String cid) {
@ -51,20 +58,26 @@ public class HistoryDetialActivity extends BaseActivity {
.getHistoryDetail(cid, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<HistoryMissionBean>() {
.subscribe(new Observer<List<HistoryMissionBean>>() {
@Override
public void onSubscribe(Disposable d) {
mDis = d;
}
@Override
public void onNext(HistoryMissionBean historyMissionBean) {
public void onNext(List<HistoryMissionBean> beans) {
if (beans != null && beans.size() > 0) {
refreshView(STATE_LOAD_SUCCESS);
mDatas = beans;
mAdapter.setData(mDatas);
} else {
refreshView(STATE_LOAD_EMPTY);
}
}
@Override
public void onError(Throwable e) {
refreshView(STATE_LOAD_ERROR);
}
@Override
@ -77,6 +90,9 @@ public class HistoryDetialActivity extends BaseActivity {
@Override
protected void onDestroy() {
super.onDestroy();
if (mDis != null && !mDis.isDisposed()) {
mDis.dispose();
}
mBind.unbind();
}
}

View File

@ -17,6 +17,7 @@ public class Options {
private String title;
private EmStateCheck state = EmStateCheck.NORMAL;//检查状态 normal 未检查 check合格 uncheck不合格
private int rectify = 4;//立即整改-4,限期整改-5 不配合-6
private int isMust = 1;//1 必查 2选查
//整改期限
// 当场整改
// 当天整改
@ -72,4 +73,12 @@ public class Options {
public void setState(EmStateCheck state) {
this.state = state;
}
public int getIsMust() {
return isMust;
}
public void setIsMust(int isMust) {
this.isMust = isMust;
}
}

View File

@ -39,6 +39,11 @@ public class OptionsAdapter extends BaseRecyclerAdapter<Options, OptionsHolder>
@Override
public void bindHolder(OptionsHolder oHolder, int i) {
if (mData.get(i).getIsMust() == 1) {
oHolder.mIvIsMust.setVisibility(View.VISIBLE);
} else {
oHolder.mIvIsMust.setVisibility(View.GONE);
}
oHolder.mScvOptions.setCheckState(mData.get(i).getState());
oHolder.mScvOptions.setOnClickListener(v -> {
EmStateCheck state = oHolder.mScvOptions.getViewState();

View File

@ -4,6 +4,7 @@ import android.support.annotation.NonNull;
import android.support.v7.widget.AppCompatSpinner;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
@ -27,6 +28,7 @@ public class OptionsHolder extends RecyclerView.ViewHolder {
public RadioGroup mRg;
public LinearLayout mLlSp;
public RadioButton mRbNow;
public ImageView mIvIsMust;
public OptionsHolder(@NonNull View itemView) {
super(itemView);
@ -38,5 +40,6 @@ public class OptionsHolder extends RecyclerView.ViewHolder {
mRg = itemView.findViewById(R.id.rg_term);
mRbNow = itemView.findViewById(R.id.rb_now);
mLlSp = itemView.findViewById(R.id.ll_sp);
mIvIsMust = itemView.findViewById(R.id.iv_must);
}
}

View File

@ -1,5 +1,7 @@
package com.sucstepsoft.txrealtimelocation.activitys.lawlib;
import android.content.Intent;
import android.support.v7.widget.LinearLayoutManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
@ -7,30 +9,38 @@ import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;
import com.jcodecraeer.xrecyclerview.ProgressStyle;
import com.jcodecraeer.xrecyclerview.XRecyclerView;
import com.sucstepsoft.cm_utils.constant.PathConfig;
import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity;
import com.sucstepsoft.cm_utils.utils.ToastUtils;
import com.sucstepsoft.cm_utils.utils.UserLgUtils;
import com.sucstepsoft.txrealtimelocation.R;
import com.sucstepsoft.txrealtimelocation.activitys.notice.NoticeDetailActivity;
import com.sucstepsoft.txrealtimelocation.adapters.NewNoticeAdapter;
import com.sucstepsoft.txrealtimelocation.beans.NoticeBean;
import com.sucstepsoft.txrealtimelocation.net.LocationApiService;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
public class LawLibActivity extends BaseActivity {
@BindView(R.id.et_law_name)
EditText mEtLawName;
@BindView(R.id.btn_search)
Button mBtnSearch;
@BindView(R.id.pb_loading)
ProgressBar mPbLoading;
@BindView(R.id.iv_empty)
ImageView mIvEmpty;
@BindView(R.id.tv_error_hint)
TextView mTvErrorHint;
private List<NoticeBean.RowsBean> mDatas;
private NewNoticeAdapter mAdapter;
private int mCurPage = 1;
private Disposable mDisposable;
@BindView(R.id.xlv_com_lib)
XRecyclerView mXlvComLib;
private Unbinder mBind;
private int mCurrentPage = 1;
@Override
protected int setLayoutId() {
@ -40,56 +50,129 @@ public class LawLibActivity extends BaseActivity {
@Override
public void initData() {
mBind = ButterKnife.bind(this);
refreshView(STATE_LOAD_SUCCESS);
mTvBaseTitle.setText("法律法规");
reStateView(STATE_LOAD_LOADING);
getLawList(mCurrentPage);
refreshView(STATE_LOAD_LOADING);
mDatas = new ArrayList<>();
mAdapter = new NewNoticeAdapter(mActivity, mDatas);
LinearLayoutManager layoutManager = new LinearLayoutManager(mActivity);
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
mXlvComLib.setLayoutManager(layoutManager);
mXlvComLib.setAdapter(mAdapter);
mAdapter.addOnItemClickListener(bean -> showIssueDetail(bean));
mXlvComLib.setNoMore(true);
mXlvComLib.setRefreshProgressStyle(ProgressStyle.BallGridBeat);
mXlvComLib.setLoadingMoreProgressStyle(ProgressStyle.Pacman);
mXlvComLib.setLoadingListener(new XRecyclerView.LoadingListener() {
@Override
public void onRefresh() {
refresh();
}
@Override
public void onLoadMore() {
loadMore();
}
});
getNewsList(1);
}
private void getLawList(int currentPage) {
/**
* 显示详情
*
* @param bean
*/
private void showIssueDetail(NoticeBean.RowsBean bean) {
Intent intent = new Intent();
intent.putExtra("id", bean.getArticleContentId());
intent.setClass(mActivity, NoticeDetailActivity.class);
startActivity(intent);
}
private void getLawListByName(int currentPage) {
/**
* 待下派
*/
private void getNewsList(int page) {
mCurPage = page;
RetrofitManager.getInstance()
.create(LocationApiService.class)
.getNoticeListById(PathConfig.LAW_TYPE_ID, page + "", UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<NoticeBean>() {
@Override
public void onSubscribe(Disposable d) {
mDisposable = d;
}
@Override
public void onNext(NoticeBean newsListBean) {
if (newsListBean != null && newsListBean.getRows() != null && newsListBean.getRows().size() > 0) {
++mCurPage;
if (page == 1) {
mDatas.clear();
mDatas.addAll(newsListBean.getRows());
} else {
mDatas.addAll(newsListBean.getRows());
}
mAdapter.notifyDataSetChanged();
mXlvComLib.refreshComplete();
if (mDatas.size() >= newsListBean.getTotal()) {
mXlvComLib.loadMoreComplete();
mXlvComLib.setNoMore(true);
} else {
mXlvComLib.loadMoreComplete();
mXlvComLib.setNoMore(false);
}
refreshView(STATE_LOAD_SUCCESS);
} else {
if (page > 1) {
mXlvComLib.loadMoreComplete();
mXlvComLib.setNoMore(true);
} else {
//无数据
mXlvComLib.refreshComplete();
mXlvComLib.setNoMore(true);
refreshView(STATE_LOAD_EMPTY);
}
}
}
@Override
public void onError(Throwable e) {
e.printStackTrace();
if (mXlvComLib != null) {
mXlvComLib.refreshComplete();
mXlvComLib.loadMoreComplete();
}
refreshView(STATE_LOAD_ERROR);
// ToastUtils.showShort("数据加载失败,请稍后重试");
}
@Override
public void onComplete() {
}
});
}
private void reStateView(int state) {
switch (state) {
case STATE_LOAD_LOADING:
mTvErrorHint.setVisibility(View.VISIBLE);
mTvErrorHint.setText("数据加载中...");
mIvEmpty.setVisibility(View.GONE);
mXlvComLib.setVisibility(View.GONE);
mPbLoading.setVisibility(View.VISIBLE);
break;
case STATE_LOAD_SUCCESS:
mTvErrorHint.setVisibility(View.GONE);
mIvEmpty.setVisibility(View.GONE);
mXlvComLib.setVisibility(View.VISIBLE);
mPbLoading.setVisibility(View.GONE);
break;
case STATE_LOAD_ERROR:
mTvErrorHint.setVisibility(View.VISIBLE);
mTvErrorHint.setText("数据加载失败,请稍后重试");
mIvEmpty.setVisibility(View.VISIBLE);
mXlvComLib.setVisibility(View.GONE);
mPbLoading.setVisibility(View.GONE);
break;
case STATE_LOAD_EMPTY:
mTvErrorHint.setVisibility(View.VISIBLE);
mTvErrorHint.setText("未找到相关内容");
mIvEmpty.setVisibility(View.VISIBLE);
mXlvComLib.setVisibility(View.GONE);
mPbLoading.setVisibility(View.GONE);
break;
}
private void refresh() {
getNewsList(1);
}
private void loadMore() {
getNewsList(mCurPage);
}
@Override
protected void onDestroy() {
if (mDisposable != null && !mDisposable.isDisposed()) {
mDisposable.dispose();
}
if (mBind != null) {
mBind.unbind();
}
super.onDestroy();
mBind.unbind();
}
}

View File

@ -399,15 +399,7 @@ public class UserActivity extends BaseActivity {
*/
private void doLoginApp(String name, String pwd, ProgressDialog dialog) {
String md5Pwd = EncryptUtils.encryptMD5ToStringTimes(pwd, 3);
TelephonyManager manager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
ToastUtils.showShort("未授权");
return;
}
String deviceId = manager.getDeviceId();
if (TextUtils.isEmpty(deviceId)) {
deviceId = getDeviceId();
}
String deviceId = getDeviceId();
LoginUser info = new LoginUser();
info.setAppVersion(AppUtils.getAppVersionCode());
info.setAppId(PathConfig.APP_VERSION_ID);
@ -566,13 +558,11 @@ public class UserActivity extends BaseActivity {
* 退出登录
*/
private void loginOut() {
Intent intent = new Intent();
intent.setAction(PathConfig.ACTION_STOP_LOCATION);
sendBroadcast(intent);
GlobalProvider.save(mActivity, "isUpload", "12");
GlobalProvider.save(mActivity, "token", "");
// Intent intent = new Intent();
// intent.setAction(PathConfig.ACTION_STOP_LOCATION);
// sendBroadcast(intent);
UserLgUtils.setPassword("");
// exitLocationService();
UserLgUtils.setCheckRemember(false);
reStartApp();
}

View File

@ -179,15 +179,7 @@ public class UserInfoActivity extends BaseActivity {
*/
private void doLoginApp(String name, String pwd, ProgressDialog dialog) {
String md5Pwd = EncryptUtils.encryptMD5ToStringTimes(pwd, 3);
TelephonyManager manager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
ToastUtils.showShort("未授权");
return;
}
String deviceId = manager.getDeviceId();
if (TextUtils.isEmpty(deviceId)) {
deviceId = getDeviceId();
}
String deviceId = getDeviceId();
LoginUser info = new LoginUser();
info.setAppVersion(AppUtils.getAppVersionCode());
info.setAppId(PathConfig.APP_VERSION_ID);

View File

@ -1,17 +1,31 @@
package com.sucstepsoft.txrealtimelocation.activitys.notice;
import android.app.Activity;
import android.content.Intent;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.view.ViewPager;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.text.TextUtils;
import com.jcodecraeer.xrecyclerview.ProgressStyle;
import com.jcodecraeer.xrecyclerview.XRecyclerView;
import com.sucstepsoft.cm_utils.constant.PathConfig;
import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity;
import com.sucstepsoft.cm_utils.core.widget.xtablayout.XTabLayout;
import com.sucstepsoft.cm_utils.utils.ToastUtils;
import com.sucstepsoft.cm_utils.utils.UserLgUtils;
import com.sucstepsoft.txrealtimelocation.R;
import com.sucstepsoft.txrealtimelocation.adapters.NewNoticeAdapter;
import com.sucstepsoft.txrealtimelocation.adapters.NoticeAdapter;
import com.sucstepsoft.txrealtimelocation.beans.NewsListBean;
import com.sucstepsoft.txrealtimelocation.beans.NoticeBean;
import com.sucstepsoft.txrealtimelocation.fragments.mine.NewsFragment;
import com.sucstepsoft.txrealtimelocation.net.LocationApiService;
import java.util.ArrayList;
import java.util.List;
@ -19,20 +33,23 @@ import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
/**
* createTime:2019-8-6
* 通知公告
*/
public class NoticeActivity extends BaseActivity {
@BindView(R.id.xtl_tabs)
XTabLayout mTablayout;
@BindView(R.id.vp_content)
ViewPager mVpContent;
@BindView(R.id.xlv_notice)
XRecyclerView mRlvNotices;
private List<NoticeBean.RowsBean> mDatas;
private NewNoticeAdapter mAdapter;
private int mCurPage = 1;
private Unbinder mBind;
private String[] mTitles = new String[]{"通知公告", "全民宣传", "每日通报"};
private List<Fragment> mFragments = new ArrayList<>();
private Disposable mDisposable;
@Override
protected int setLayoutId() {
@ -43,62 +60,127 @@ public class NoticeActivity extends BaseActivity {
public void initData() {
mBind = ButterKnife.bind(this);
mTvBaseTitle.setText("通知公告");
refreshView(STATE_LOAD_SUCCESS);
// 通知公告notice全民宣传propaganda每日通报daily
String type = getIntent().getStringExtra("type");
NewsFragment noticeFragment = new NewsFragment();
Bundle bundle = new Bundle();
bundle.putString("type", "notice");
noticeFragment.setArguments(bundle);
NewsFragment publicFragment = new NewsFragment();
Bundle bundle1 = new Bundle();
bundle1.putString("type", "propaganda");
publicFragment.setArguments(bundle1);
NewsFragment avisoFragment = new NewsFragment();
Bundle bundle2 = new Bundle();
bundle2.putString("type", "daily");
avisoFragment.setArguments(bundle2);
mFragments.add(noticeFragment);
mFragments.add(publicFragment);
mFragments.add(avisoFragment);
VpNoticeAdapter adapter = new VpNoticeAdapter(getSupportFragmentManager());
mVpContent.setAdapter(adapter);
mTablayout.setxTabDisplayNum(3);
mTablayout.setupWithViewPager(mVpContent);
if (!TextUtils.isEmpty(type)) {
mVpContent.setCurrentItem(2);
}
refreshView(STATE_LOAD_LOADING);
mDatas = new ArrayList<>();
mAdapter = new NewNoticeAdapter(mActivity, mDatas);
LinearLayoutManager layoutManager = new LinearLayoutManager(mActivity);
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
mRlvNotices.setLayoutManager(layoutManager);
mRlvNotices.setAdapter(mAdapter);
mAdapter.addOnItemClickListener(bean -> showIssueDetail(bean));
mRlvNotices.setNoMore(true);
mRlvNotices.setRefreshProgressStyle(ProgressStyle.BallGridBeat);
mRlvNotices.setLoadingMoreProgressStyle(ProgressStyle.Pacman);
mRlvNotices.setLoadingListener(new XRecyclerView.LoadingListener() {
@Override
public void onRefresh() {
refresh();
}
@Override
public void onLoadMore() {
loadMore();
}
});
getNewsList(1);
}
/**
* 显示详情
*
* @param bean
*/
private void showIssueDetail(NoticeBean.RowsBean bean) {
Intent intent = new Intent();
intent.putExtra("id", bean.getArticleContentId());
intent.setClass(mActivity, NoticeDetailActivity.class);
startActivity(intent);
}
/**
* 待下派
*/
private void getNewsList(int page) {
mCurPage = page;
RetrofitManager.getInstance()
.create(LocationApiService.class)
.getNoticeListById(PathConfig.NOTICE_TYPE_ID, page + "", UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<NoticeBean>() {
@Override
public void onSubscribe(Disposable d) {
mDisposable = d;
}
@Override
public void onNext(NoticeBean newsListBean) {
if (newsListBean != null && newsListBean.getRows() != null && newsListBean.getRows().size() > 0) {
++mCurPage;
if (page == 1) {
mDatas.clear();
mDatas.addAll(newsListBean.getRows());
} else {
mDatas.addAll(newsListBean.getRows());
}
mAdapter.notifyDataSetChanged();
mRlvNotices.refreshComplete();
if (mDatas.size() >= newsListBean.getTotal()) {
mRlvNotices.loadMoreComplete();
mRlvNotices.setNoMore(true);
} else {
mRlvNotices.loadMoreComplete();
mRlvNotices.setNoMore(false);
}
refreshView(STATE_LOAD_SUCCESS);
} else {
if (page > 1) {
mRlvNotices.loadMoreComplete();
mRlvNotices.setNoMore(true);
} else {
//无数据
mRlvNotices.refreshComplete();
mRlvNotices.setNoMore(true);
refreshView(STATE_LOAD_EMPTY);
}
}
}
@Override
public void onError(Throwable e) {
e.printStackTrace();
if (mRlvNotices != null) {
mRlvNotices.refreshComplete();
mRlvNotices.loadMoreComplete();
}
refreshView(STATE_LOAD_ERROR);
ToastUtils.showShort("数据加载失败,请稍后重试");
}
@Override
public void onComplete() {
}
});
}
private void refresh() {
getNewsList(1);
}
private void loadMore() {
getNewsList(mCurPage);
}
@Override
protected void onDestroy() {
if (mDisposable != null && !mDisposable.isDisposed()) {
mDisposable.dispose();
}
if (mBind != null) {
mBind.unbind();
}
super.onDestroy();
}
private class VpNoticeAdapter extends FragmentStatePagerAdapter {
public VpNoticeAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int i) {
return mFragments.get(i);
}
@Override
public int getCount() {
return mFragments.size();
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return mTitles[position];
}
}
}

View File

@ -2,6 +2,8 @@ package com.sucstepsoft.txrealtimelocation.activitys.notice;
import android.graphics.Bitmap;
import android.os.Build;
import android.text.TextUtils;
import android.view.TextureView;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewParent;
@ -13,16 +15,25 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.ZoomButtonsController;
import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity;
import com.sucstepsoft.cm_utils.utils.ToastUtils;
import com.sucstepsoft.cm_utils.utils.UserLgUtils;
import com.sucstepsoft.txrealtimelocation.R;
import com.sucstepsoft.txrealtimelocation.beans.NewsListBean;
import com.sucstepsoft.txrealtimelocation.beans.NoticeBean;
import com.sucstepsoft.txrealtimelocation.beans.NoticeDetailBean;
import com.sucstepsoft.txrealtimelocation.net.LocationApiService;
import java.lang.reflect.Method;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
/**
* 通知公告-详情
@ -50,23 +61,71 @@ public class NoticeDetailActivity extends BaseActivity {
public void initData() {
mBind = ButterKnife.bind(this);
mTvBaseTitle.setText("详情");
refreshView(STATE_LOAD_SUCCESS);
NewsListBean.RowsBean bean = (NewsListBean.RowsBean) getIntent().getSerializableExtra("bean");
if (bean != null) {
setDataToView(bean);
refreshView(STATE_LOAD_LOADING);
String id = getIntent().getStringExtra("id");
if (!TextUtils.isEmpty(id)) {
setDataToView(id);
} else {
ToastUtils.showShort("数据有误");
finish();
}
}
private void setDataToView(NewsListBean.RowsBean bean) {
mTvNoticeTitle.setText(bean.getNewsTitle());
mTvNoticeGator.setText(bean.getNewsAuthor());
mTvNoticeTime.setText(bean.getNewsTime());
content = bean.getNewsContent();
wvContent = new WebView(getApplicationContext());
initWebView();
private void setDataToView(String id) {
getNoticeDetail(id);
}
private void getNoticeDetail(String articleContentId) {
RetrofitManager.getInstance()
.create(LocationApiService.class)
.getNoticeDetailById(articleContentId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<NoticeDetailBean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(NoticeDetailBean noticeDetailBean) {
if (noticeDetailBean != null) {
refreshView(STATE_LOAD_SUCCESS);
mTvNoticeTitle.setText(noticeDetailBean.getTitle());
String source = "";
if (!TextUtils.isEmpty(noticeDetailBean.getAuthor())) {
source = noticeDetailBean.getAuthor();
}
if (!TextUtils.isEmpty(noticeDetailBean.getSource())) {
source = noticeDetailBean.getSource();
}
if (TextUtils.isEmpty(source)) {
mTvNoticeGator.setVisibility(View.GONE);
} else {
mTvNoticeGator.setVisibility(View.VISIBLE);
mTvNoticeGator.setText(source);
}
mTvNoticeTime.setText(noticeDetailBean.getPublishDate());
content = noticeDetailBean.getContent();
wvContent = new WebView(getApplicationContext());
initWebView();
} else {
refreshView(STATE_LOAD_EMPTY);
}
}
@Override
public void onError(Throwable e) {
refreshView(STATE_LOAD_ERROR);
}
@Override
public void onComplete() {
}
});
}
/**

View File

@ -40,6 +40,11 @@ public class CounterCheckOptionsAdapter extends BaseRecyclerAdapter<Options, Cou
@Override
public void bindHolder(CounterCheckOptionHolder oHolder, int i) {
if (mData.get(i).getIsMust() == 1) {
oHolder.mIvIsMust.setVisibility(View.VISIBLE);
} else {
oHolder.mIvIsMust.setVisibility(View.GONE);
}
oHolder.mScvOptions.setCheckState(mData.get(i).getState());
oHolder.mScvOptions.setOnClickListener(v -> {
EmStateCheck state = oHolder.mScvOptions.getViewState();

View File

@ -9,9 +9,7 @@ import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter;
import com.sucstepsoft.txrealtimelocation.R;
import com.sucstepsoft.txrealtimelocation.adapters.holders.HistroyHolder;
import com.sucstepsoft.txrealtimelocation.beans.CounterCheckListBean;
import com.sucstepsoft.txrealtimelocation.beans.HistoryMissionBean;
import java.lang.invoke.LambdaConversionException;
import java.util.List;
/**
@ -47,5 +45,6 @@ public class HistoryMissionAdapter extends BaseRecyclerAdapter<CounterCheckListB
} else {
holder.mTvState.setText("完成");
}
holder.mTvTime.setText("检查日期:" + bean.getGmtCreate());
}
}

View File

@ -1,12 +1,22 @@
package com.sucstepsoft.txrealtimelocation.adapters;
import android.content.Context;
import android.content.Intent;
import android.support.v7.widget.GridLayoutManager;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.sucstepsoft.cm_utils.core.retrofit_net.BaseUrlApi;
import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter;
import com.sucstepsoft.txrealtimelocation.adapters.holders.HistroyHolder;
import com.sucstepsoft.cm_utils.core.widget.base.BaseShowPhotoAdapter;
import com.sucstepsoft.txrealtimelocation.R;
import com.sucstepsoft.txrealtimelocation.activitys.common.PhotoActivity;
import com.sucstepsoft.txrealtimelocation.adapters.holders.MissionDetailHolder;
import com.sucstepsoft.txrealtimelocation.beans.HistoryMissionBean;
import java.util.ArrayList;
import java.util.List;
/**
@ -15,20 +25,70 @@ import java.util.List;
* 邮箱: itgaojian@163.com
* 描述:
*/
public class MissionDetailAdapter extends BaseRecyclerAdapter<HistoryMissionBean, HistroyHolder> {
public class MissionDetailAdapter extends BaseRecyclerAdapter<HistoryMissionBean, MissionDetailHolder> {
public MissionDetailAdapter(Context ctx, List<HistoryMissionBean> list) {
super(ctx, list);
}
@Override
public HistroyHolder createHolder(ViewGroup parent, int viewType) {
return null;
public MissionDetailHolder createHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(mContext).inflate(R.layout.item_mission_detail, parent, false);
return new MissionDetailHolder(itemView);
}
@Override
public void bindHolder(HistroyHolder holder, int i) {
public void bindHolder(MissionDetailHolder holder, int i) {
holder.mTvName.setText(mData.get(i).getNameJoinByCheckItemId());
switch (mData.get(i).getCheckResult()) {
case 1:
holder.mTvCheckType.setText("检查合格");
holder.mTvDay.setVisibility(View.GONE);
break;
case 2:
holder.mTvCheckType.setText("立即整改");
holder.mTvDay.setVisibility(View.GONE);
break;
case 3:
holder.mTvCheckType.setText("限期整改");
holder.mTvDay.setVisibility(View.VISIBLE);
holder.mTvDay.setText(mData.get(i).getRectificationDays() + "");
break;
case 4:
holder.mTvCheckType.setText("企业不配合");
holder.mTvDay.setVisibility(View.GONE);
break;
case 0:
default:
holder.mTvCheckType.setText("未检查");
holder.mTvDay.setVisibility(View.GONE);
break;
}
if (!TextUtils.isEmpty(mData.get(i).getScenePhotos())) {
holder.mRlvPhotos.setVisibility(View.VISIBLE);
List<String> photos = new ArrayList<>();
String[] split = mData.get(i).getScenePhotos().split(",");
for (int j = 0; j < split.length; j++) {
if (!TextUtils.isEmpty(split[j])) {
photos.add(BaseUrlApi.BASE_IMG_URL + split[j]);
}
}
BaseShowPhotoAdapter adapter = new BaseShowPhotoAdapter(mContext, photos);
GridLayoutManager manager = new GridLayoutManager(mContext, 4) {
@Override
public boolean canScrollVertically() {
return false;
}
};
holder.mRlvPhotos.setLayoutManager(manager);
holder.mRlvPhotos.setAdapter(adapter);
adapter.addOnItemClickListener(url -> {
Intent intent = new Intent(mContext, PhotoActivity.class);
intent.putExtra("imgUrls", new ArrayList<>(adapter.getData()));
mContext.startActivity(intent);
});
} else {
holder.mRlvPhotos.setVisibility(View.GONE);
}
}
}

View File

@ -0,0 +1,39 @@
package com.sucstepsoft.txrealtimelocation.adapters;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter;
import com.sucstepsoft.txrealtimelocation.R;
import com.sucstepsoft.txrealtimelocation.adapters.holders.NoticeHolder;
import com.sucstepsoft.txrealtimelocation.beans.NewsListBean;
import com.sucstepsoft.txrealtimelocation.beans.NoticeBean;
import java.util.List;
/**
* 作者: Adam
* 日期: 2019/8/13 - 10:29
* 邮箱: itgaojian@163.com
* 描述:
*/
public class NewNoticeAdapter extends BaseRecyclerAdapter<NoticeBean.RowsBean, NoticeHolder> {
public NewNoticeAdapter(Context ctx, List<NoticeBean.RowsBean> list) {
super(ctx, list);
}
@Override
public NoticeHolder createHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(mContext).inflate(R.layout.item_notice, parent, false);
return new NoticeHolder(itemView);
}
@Override
public void bindHolder(NoticeHolder noticeHolder, int i) {
noticeHolder.mTvTitle.setText(mData.get(i).getTitle());
noticeHolder.mTvTime.setText(mData.get(i).getPublishDate());
noticeHolder.mTvPub.setText(mData.get(i).getSummaryJoinByArticleCategoryId());
}
}

View File

@ -4,6 +4,7 @@ import android.support.annotation.NonNull;
import android.support.v7.widget.AppCompatSpinner;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
@ -27,6 +28,8 @@ public class CounterCheckOptionHolder extends RecyclerView.ViewHolder {
public RadioGroup mRg;
public LinearLayout mLlSp;
public RadioButton mRbNow;
public ImageView mIvIsMust;
public CounterCheckOptionHolder(@NonNull View itemView) {
super(itemView);
mTvTitle = itemView.findViewById(R.id.tv_title);
@ -37,6 +40,7 @@ public class CounterCheckOptionHolder extends RecyclerView.ViewHolder {
mRg = itemView.findViewById(R.id.rg_term);
mRbNow = itemView.findViewById(R.id.rb_now);
mLlSp = itemView.findViewById(R.id.ll_sp);
mIvIsMust = itemView.findViewById(R.id.iv_must);
}
}

View File

@ -19,6 +19,7 @@ public class HistroyHolder extends RecyclerView.ViewHolder {
public TextView mTvAddress;
public TextView mTvState;
public TextView mTvType;
public TextView mTvTime;
public HistroyHolder(@NonNull View itemView) {
super(itemView);
@ -27,5 +28,6 @@ public class HistroyHolder extends RecyclerView.ViewHolder {
mTvAddress = itemView.findViewById(R.id.tv_address);
mTvState = itemView.findViewById(R.id.tv_state);
mTvType = itemView.findViewById(R.id.tv_type);
mTvTime = itemView.findViewById(R.id.tv_time);
}
}

View File

@ -3,6 +3,9 @@ package com.sucstepsoft.txrealtimelocation.adapters.holders;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.TextView;
import com.sucstepsoft.txrealtimelocation.R;
/**
* 作者: adam
@ -11,8 +14,17 @@ import android.view.View;
* 描述:
*/
public class MissionDetailHolder extends RecyclerView.ViewHolder {
public TextView mTvName;
public TextView mTvDay;
public TextView mTvCheckType;
public RecyclerView mRlvPhotos;
public MissionDetailHolder(@NonNull View itemView) {
super(itemView);
mTvName = itemView.findViewById(R.id.tv_options_name);
mTvDay = itemView.findViewById(R.id.tv_day);
mTvCheckType = itemView.findViewById(R.id.tv_options_check);
mRlvPhotos = itemView.findViewById(R.id.rlv_photos);
}
}

View File

@ -25,6 +25,15 @@ public class CheckOptionsbean {
private String nameJoinByCheckItemId;
private String summaryJoinByCheckItemId;
private String typeJoinByCheckItemId;
private int type;
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public String getIndustryCheckItemId() {
return industryCheckItemId;

View File

@ -39,6 +39,7 @@ public class CompanyEnterBean {
private String name;//企业名称
private String phone;//电话
private String riskOperation;//风险
private String riskOperationPid;//风险父ID
private String type;//类型
private String workplace;//

View File

@ -0,0 +1,193 @@
package com.sucstepsoft.txrealtimelocation.beans;
import java.io.Serializable;
import java.util.List;
/**
* 作者: adam
* 日期: 2020/4/7 - 10:43 AM
* 邮箱: itgaojian@163.com
* 描述:
*/
public class NoticeBean {
/**
* page : 1
* rows : [{"articleCategoryId":"string","articleContentId":"string","author":"string","content":"string","isPublish":0,"link":"string","publishDate":"string","sort":"string","source":"string","subTitle":"string","summary":"string","summaryJoinByArticleCategoryId":"string","title":"string","titleJoinByArticleCategoryId":"string"}]
* total : 20
*/
private int page;
private int total;
private List<RowsBean> rows;
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public List<RowsBean> getRows() {
return rows;
}
public void setRows(List<RowsBean> rows) {
this.rows = rows;
}
public static class RowsBean implements Serializable {
/**
* articleCategoryId : string
* articleContentId : string
* author : string
* content : string
* isPublish : 0
* link : string
* publishDate : string
* sort : string
* source : string
* subTitle : string
* summary : string
* summaryJoinByArticleCategoryId : string
* title : string
* titleJoinByArticleCategoryId : string
*/
private String articleCategoryId;
private String articleContentId;
private String author;
private String content;
private int isPublish;
private String link;
private String publishDate;
private String sort;
private String source;
private String subTitle;
private String summary;
private String summaryJoinByArticleCategoryId;
private String title;
private String titleJoinByArticleCategoryId;
public String getArticleCategoryId() {
return articleCategoryId;
}
public void setArticleCategoryId(String articleCategoryId) {
this.articleCategoryId = articleCategoryId;
}
public String getArticleContentId() {
return articleContentId;
}
public void setArticleContentId(String articleContentId) {
this.articleContentId = articleContentId;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public int getIsPublish() {
return isPublish;
}
public void setIsPublish(int isPublish) {
this.isPublish = isPublish;
}
public String getLink() {
return link;
}
public void setLink(String link) {
this.link = link;
}
public String getPublishDate() {
return publishDate;
}
public void setPublishDate(String publishDate) {
this.publishDate = publishDate;
}
public String getSort() {
return sort;
}
public void setSort(String sort) {
this.sort = sort;
}
public String getSource() {
return source;
}
public void setSource(String source) {
this.source = source;
}
public String getSubTitle() {
return subTitle;
}
public void setSubTitle(String subTitle) {
this.subTitle = subTitle;
}
public String getSummary() {
return summary;
}
public void setSummary(String summary) {
this.summary = summary;
}
public String getSummaryJoinByArticleCategoryId() {
return summaryJoinByArticleCategoryId;
}
public void setSummaryJoinByArticleCategoryId(String summaryJoinByArticleCategoryId) {
this.summaryJoinByArticleCategoryId = summaryJoinByArticleCategoryId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getTitleJoinByArticleCategoryId() {
return titleJoinByArticleCategoryId;
}
public void setTitleJoinByArticleCategoryId(String titleJoinByArticleCategoryId) {
this.titleJoinByArticleCategoryId = titleJoinByArticleCategoryId;
}
}
}

View File

@ -0,0 +1,154 @@
package com.sucstepsoft.txrealtimelocation.beans;
/**
* 作者: adam
* 日期: 2020/4/7 - 10:59 AM
* 邮箱: itgaojian@163.com
* 描述:
*/
public class NoticeDetailBean {
/**
* articleCategoryId : string
* articleContentId : string
* author : string
* content : string
* isPublish : 0
* link : string
* publishDate : string
* sort : string
* source : string
* subTitle : string
* summary : string
* summaryJoinByArticleCategoryId : string
* title : string
* titleJoinByArticleCategoryId : string
*/
private String articleCategoryId;
private String articleContentId;
private String author;
private String content;
private int isPublish;
private String link;
private String publishDate;
private String sort;
private String source;
private String subTitle;
private String summary;
private String summaryJoinByArticleCategoryId;
private String title;
private String titleJoinByArticleCategoryId;
public String getArticleCategoryId() {
return articleCategoryId;
}
public void setArticleCategoryId(String articleCategoryId) {
this.articleCategoryId = articleCategoryId;
}
public String getArticleContentId() {
return articleContentId;
}
public void setArticleContentId(String articleContentId) {
this.articleContentId = articleContentId;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public int getIsPublish() {
return isPublish;
}
public void setIsPublish(int isPublish) {
this.isPublish = isPublish;
}
public String getLink() {
return link;
}
public void setLink(String link) {
this.link = link;
}
public String getPublishDate() {
return publishDate;
}
public void setPublishDate(String publishDate) {
this.publishDate = publishDate;
}
public String getSort() {
return sort;
}
public void setSort(String sort) {
this.sort = sort;
}
public String getSource() {
return source;
}
public void setSource(String source) {
this.source = source;
}
public String getSubTitle() {
return subTitle;
}
public void setSubTitle(String subTitle) {
this.subTitle = subTitle;
}
public String getSummary() {
return summary;
}
public void setSummary(String summary) {
this.summary = summary;
}
public String getSummaryJoinByArticleCategoryId() {
return summaryJoinByArticleCategoryId;
}
public void setSummaryJoinByArticleCategoryId(String summaryJoinByArticleCategoryId) {
this.summaryJoinByArticleCategoryId = summaryJoinByArticleCategoryId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getTitleJoinByArticleCategoryId() {
return titleJoinByArticleCategoryId;
}
public void setTitleJoinByArticleCategoryId(String titleJoinByArticleCategoryId) {
this.titleJoinByArticleCategoryId = titleJoinByArticleCategoryId;
}
}

View File

@ -22,6 +22,8 @@ import com.sucstepsoft.txrealtimelocation.beans.LeaveListBean;
import com.sucstepsoft.txrealtimelocation.beans.MainNumBean;
import com.sucstepsoft.txrealtimelocation.beans.MineLocationBean;
import com.sucstepsoft.txrealtimelocation.beans.NewsListBean;
import com.sucstepsoft.txrealtimelocation.beans.NoticeBean;
import com.sucstepsoft.txrealtimelocation.beans.NoticeDetailBean;
import com.sucstepsoft.txrealtimelocation.beans.PenLineBean;
import com.sucstepsoft.txrealtimelocation.beans.PersonBean;
import com.sucstepsoft.txrealtimelocation.beans.SignDataBean;
@ -704,6 +706,20 @@ public interface LocationApiService {
//check/getcheckbyid/{checkId}
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("check/listcheckitembycheckid/{checkId}")
Observable<HistoryMissionBean> getHistoryDetail(@Path("checkId") String checkId, @Header("token") String token);
Observable<List<HistoryMissionBean>> getHistoryDetail(@Path("checkId") String checkId, @Header("token") String token);
//通知列表
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("articlecontent/listpagearticlecontent")
Observable<NoticeBean> getNoticeListById(@Query("articleCategoryId") String typeId, @Query("page") String page, @Header("token") String token);
//根据名称搜索通知
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("articlecontent/listpagearticlecontent")
Observable<NoticeBean> getNoticeListByKeyWords(@Query("articleCategoryId") String typeId, @Query("page") String page, @Query("keywords") String keyWords, @Header("token") String token);
//通知详情
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("articlecontent/getarticlecontentbyid/{articleContentId}")
Observable<NoticeDetailBean> getNoticeDetailById(@Path("articleContentId") String id, @Header("token") String token);
}

View File

@ -8,58 +8,75 @@
android:orientation="vertical"
tools:context=".activitys.issue.CheckOptionsActivity">
<android.support.v7.widget.CardView
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:cardCornerRadius="10dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="false">
android:scrollbars="none">
<LinearLayout
android:id="@+id/ll_company_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="vertical"
android:padding="5dp">
android:orientation="vertical">
<TextView
style="@style/company_name_title"
android:text="企业名称" />
<TextView
android:id="@+id/tv_name"
style="@style/company_content"
tools:text="企业名称企业名称企业名称企业名称企业名称" />
<TextView
style="@style/company_name_title"
android:text="主要负责人" />
<TextView
android:id="@+id/tv_peo"
style="@style/company_content"
android:text="企业名称企业名称企业名称企业名称企业名称" />
<Button
android:id="@+id/btn_unclaim"
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_marginRight="10dp"
android:background="@drawable/sel_btn_submit"
android:text="企业不配合"
android:textColor="@color/white" />
</LinearLayout>
</android.support.v7.widget.CardView>
android:layout_margin="8dp"
app:cardCornerRadius="10dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="false">
<android.support.v7.widget.RecyclerView
android:id="@+id/rlv_options"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:layoutManager="LinearLayoutManager"
tools:listitem="@layout/item_options" />
<LinearLayout
android:id="@+id/ll_company_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="vertical"
android:padding="5dp">
<TextView
style="@style/company_name_title"
android:text="企业名称" />
<TextView
android:id="@+id/tv_name"
style="@style/company_content"
tools:text="企业名称企业名称企业名称企业名称企业名称" />
<TextView
style="@style/company_name_title"
android:text="主要负责人" />
<TextView
android:id="@+id/tv_peo"
style="@style/company_content"
android:text="企业名称企业名称企业名称企业名称企业名称" />
<Button
android:id="@+id/btn_unclaim"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_marginRight="10dp"
android:background="@drawable/sel_btn_submit"
android:text="企业不配合"
android:textColor="@color/white" />
</LinearLayout>
</android.support.v7.widget.CardView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.RecyclerView
android:id="@+id/rlv_options"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:layoutManager="LinearLayoutManager"
tools:listitem="@layout/item_options" />
</LinearLayout>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</LinearLayout>

View File

@ -4,88 +4,87 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:background="@color/bg_gray"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="10dp">
<!-- <LinearLayout-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:orientation="horizontal"-->
<!-- android:padding="10dp">-->
<EditText
android:id="@+id/et_law_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/shp_rectangle_gray"
android:gravity="left"
android:hint="请输入法律法规名称"
android:padding="5dp"
android:textColor="@color/black"
android:textSize="15sp"
tools:text="" />
<!-- <EditText-->
<!-- android:id="@+id/et_law_name"-->
<!-- android:layout_width="0dp"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_weight="1"-->
<!-- android:background="@drawable/shp_rectangle_gray"-->
<!-- android:gravity="left"-->
<!-- android:hint="请输入法律法规名称"-->
<!-- android:padding="5dp"-->
<!-- android:textColor="@color/black"-->
<!-- android:textSize="15sp"-->
<!-- tools:text="" />-->
<Button
android:id="@+id/btn_search"
android:layout_width="60dp"
android:layout_height="30dp"
android:layout_margin="0dp"
android:background="@drawable/sel_btn_submit"
android:padding="0dp"
android:text="搜索"
android:textColor="@color/white" />
<!-- <Button-->
<!-- android:id="@+id/btn_search"-->
<!-- android:layout_width="60dp"-->
<!-- android:layout_height="30dp"-->
<!-- android:layout_margin="0dp"-->
<!-- android:background="@drawable/sel_btn_submit"-->
<!-- android:padding="0dp"-->
<!-- android:text="搜索"-->
<!-- android:textColor="@color/white" />-->
</LinearLayout>
<!-- </LinearLayout>-->
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="5dp"
android:background="@color/gray_bg" />
<!-- <View-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="1dp"-->
<!-- android:layout_marginTop="5dp"-->
<!-- android:background="@color/gray_bg" />-->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="5dp">
<!-- <RelativeLayout-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="match_parent"-->
<!-- android:layout_marginTop="5dp">-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
android:orientation="vertical">
<!-- <LinearLayout-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_centerInParent="true"-->
<!-- android:gravity="center"-->
<!-- android:orientation="vertical">-->
<ProgressBar
android:id="@+id/pb_loading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminateBehavior="repeat"
android:indeterminateDrawable="@drawable/anim_loading" />
<!-- <ProgressBar-->
<!-- android:id="@+id/pb_loading"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:indeterminateBehavior="repeat"-->
<!-- android:indeterminateDrawable="@drawable/anim_loading" />-->
<ImageView
android:id="@+id/iv_empty"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_centerInParent="true"
android:background="@drawable/ic_empty_data" />
<!-- <ImageView-->
<!-- android:id="@+id/iv_empty"-->
<!-- android:layout_width="100dp"-->
<!-- android:layout_height="100dp"-->
<!-- android:layout_centerInParent="true"-->
<!-- android:background="@drawable/ic_empty_data" />-->
<TextView
android:id="@+id/tv_error_hint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:clickable="true"
android:textColor="@color/black"
tools:text="加载数据失败" />
</LinearLayout>
<!-- <TextView-->
<!-- android:id="@+id/tv_error_hint"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginTop="10dp"-->
<!-- android:clickable="true"-->
<!-- android:textColor="@color/black"-->
<!-- tools:text="加载数据失败" />-->
<!-- </LinearLayout>-->
<com.jcodecraeer.xrecyclerview.XRecyclerView
android:id="@+id/xlv_com_lib"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp" />
</RelativeLayout>
</LinearLayout>

View File

@ -8,22 +8,27 @@
tools:background="@color/gray_bg"
tools:context=".activitys.notice.NoticeActivity">
<com.sucstepsoft.cm_utils.core.widget.xtablayout.XTabLayout
android:id="@+id/xtl_tabs"
<com.jcodecraeer.xrecyclerview.XRecyclerView
android:id="@+id/xlv_notice"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@color/white"
app:xTabIndicatorColor="@color/text_blue1"
app:xTabIndicatorHeight="4dp"
app:xTabIndicatorWidth="15dp"
app:xTabMode="scrollable"
app:xTabSelectedTextColor="@color/text_blue1"
app:xTabSelectedTextSize="20sp"
app:xTabTextColor="#000"
app:xTabTextSize="15sp" />
android:layout_height="wrap_content" />
<android.support.v4.view.ViewPager
android:id="@+id/vp_content"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<!-- <com.sucstepsoft.cm_utils.core.widget.xtablayout.XTabLayout-->
<!-- android:id="@+id/xtl_tabs"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="50dp"-->
<!-- android:background="@color/white"-->
<!-- app:xTabIndicatorColor="@color/text_blue1"-->
<!-- app:xTabIndicatorHeight="4dp"-->
<!-- app:xTabIndicatorWidth="15dp"-->
<!-- app:xTabMode="scrollable"-->
<!-- app:xTabSelectedTextColor="@color/text_blue1"-->
<!-- app:xTabSelectedTextSize="20sp"-->
<!-- app:xTabTextColor="#000"-->
<!-- app:xTabTextSize="15sp" />-->
<!-- <android.support.v4.view.ViewPager-->
<!-- android:id="@+id/vp_content"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="match_parent" />-->
</LinearLayout>

View File

@ -17,15 +17,22 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:padding="5dp">
<ImageView
android:id="@+id/iv_must"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_start_hint" />
<TextView
android:id="@+id/tv_title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="6"
android:padding="5dp"
android:textColor="@color/black"
android:textSize="15sp"
tools:text="测试数据" />

View File

@ -54,6 +54,12 @@
tools:text="复查" />
</RelativeLayout>
<TextView
android:id="@+id/tv_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:text="检查日期" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"

View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="@color/white"
android:orientation="vertical"
android:padding="10dp">
<TextView
android:id="@+id/tv_options_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/black"
tools:text="检查项名称" />
<TextView
android:id="@+id/tv_options_check"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:text="是否存在隐患" />
<TextView
android:id="@+id/tv_day"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:text="整改天数" />
<android.support.v7.widget.RecyclerView
android:id="@+id/rlv_photos"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/divider_line_color" />
</LinearLayout>

View File

@ -17,15 +17,22 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:padding="5dp">
<ImageView
android:id="@+id/iv_must"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_start_hint" />
<TextView
android:id="@+id/tv_title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="6"
android:padding="5dp"
android:textColor="@color/black"
android:textSize="15sp"
tools:text="测试数据" />

View File

@ -59,8 +59,8 @@ ext {
gCompileSdkVersion = 28
gMinSdkVersion = 16
gTargetSdkVersion = 28
gVersionCode = 1
gVersionName = '1.0.0'
gVersionCode = 3
gVersionName = '1.0.2'
// gVersionCode=26
// gVersionName='1.3.0'
//Router编译版本

View File

@ -37,11 +37,13 @@ public class PathConfig {
public static final String USER_TYPE_P = "e483f019-d971-49ac-b5fa-3314220da703";
public static final String USER_TYPE_N = "bc405346-8714-4ded-89ac-9cc4d755f66a";
public static final String USER_TYPE_X = "25affe67-134c-4a32-ba41-64b0cfedc782";
public static final String APP_VERSION_ID = "cc0ef7f0-de0e-4e29-8428-534ab9f2494d";
public static final String APP_VERSION_ID = "cc0ef7f0-de0e-4e29-8428-534ab9f2494d";//下载AppID
public static final String DIC_COMPANY_TYPE_ID = "612415f3-0ebb-4bc2-b713-e9fb1acc7f76";//企业类型
public static final String DIC_TRADE_ID = "b97630ab-45b7-45bc-a624-507d4df952ff";//管理行业
public static final String DIC_RISK_ID = "77128e8e-3e09-45b5-a48e-7a50d1b7cc32";//风险
public static final String DIC_AREA_ID = "81583ade-5466-49aa-b7b6-c643c131ea34";//地区
public static final String NOTICE_TYPE_ID = "94d1691f-65e6-4c82-8537-98c4a318b09e";//通知公告
public static final String LAW_TYPE_ID = "fcc6ebf0-5d0b-43f9-a89e-e3283941f25a";//政策法规
//包头坐标 109.926934,40.574501