460 lines
18 KiB
Java
460 lines
18 KiB
Java
package cn.shangyu.gdxzExpert.activity;
|
|
|
|
import android.app.AlertDialog;
|
|
import android.app.Dialog;
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.graphics.Color;
|
|
import android.text.TextPaint;
|
|
import android.text.format.DateUtils;
|
|
import android.view.LayoutInflater;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import android.view.ViewTreeObserver;
|
|
import android.view.Window;
|
|
import android.view.WindowManager;
|
|
import android.widget.BaseAdapter;
|
|
import android.widget.Button;
|
|
import android.widget.ImageView;
|
|
import android.widget.LinearLayout;
|
|
import android.widget.RelativeLayout;
|
|
import android.widget.TextView;
|
|
|
|
import com.google.gson.Gson;
|
|
import com.gyf.immersionbar.ImmersionBar;
|
|
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
import cn.shangyu.gdxzExpert.R;
|
|
import cn.shangyu.gdxzExpert.base.BaseActivity;
|
|
import cn.shangyu.gdxzExpert.bean.BaseBean;
|
|
import cn.shangyu.gdxzExpert.bean.ListWorkPlaceBean;
|
|
import cn.shangyu.gdxzExpert.http.OnCallBackFromNet;
|
|
import cn.shangyu.gdxzExpert.pulltorefreshview.ILoadingLayout;
|
|
import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshBase;
|
|
import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshListView;
|
|
import cn.shangyu.gdxzExpert.ui.CustomProgressDialog;
|
|
import cn.shangyu.gdxzExpert.utils.CommonUtil;
|
|
import cn.shangyu.gdxzExpert.utils.ToastUtil;
|
|
import cn.shangyu.gdxzExpert.utils.UIUtils;
|
|
import cn.shangyu.gdxzExpert.utils.Url;
|
|
import cn.shangyu.gdxzExpert.widget.LoadingPage;
|
|
|
|
/**
|
|
* Created by wangchengxin on 2019/1/4.
|
|
*/
|
|
|
|
public class PractiseAddressManagementActivity extends BaseActivity implements OnCallBackFromNet{
|
|
|
|
private TextView btn_add;
|
|
private PullToRefreshListView lv_item_case;
|
|
public static final int LISTWORKPLACE = 1;
|
|
private ListWorkPlaceBean fromJson;
|
|
private LinearLayout ll_empty;
|
|
private CustomProgressDialog pd;
|
|
public static int REQUESTCODE = 1;
|
|
public static int DELETEPLACE = 2;
|
|
|
|
@Override
|
|
public void setTitle() {
|
|
top_title.setText("执业地点管理");
|
|
if(CommonUtil.BigModule())
|
|
{
|
|
top_title.setTextSize(23);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public View onCreateSuccessedView() {
|
|
ImmersionBar.with(this).keyboardEnable(true).statusBarDarkFont(true).titleBar(mToolbar).init();
|
|
View view;
|
|
if(CommonUtil.BigModule())
|
|
{
|
|
view = UIUtils.inflate(R.layout.activity_practiseaddressmanagement_big);
|
|
}
|
|
else
|
|
{
|
|
view = UIUtils.inflate(R.layout.activity_practiseaddressmanagement);
|
|
}
|
|
initView(view);
|
|
initOnClick();
|
|
initData();
|
|
return view;
|
|
}
|
|
|
|
private void initData() {
|
|
Map<String, String> param = new HashMap<>();
|
|
sendJsonPostParamtoNetSignMD5(Url.listWorkPlace, param, LISTWORKPLACE, this);
|
|
|
|
|
|
|
|
}
|
|
|
|
private void initOnClick() {
|
|
btn_add.setOnClickListener(this);
|
|
}
|
|
|
|
private void initView(View view) {
|
|
|
|
btn_add = view.findViewById(R.id.btn_add);
|
|
lv_item_case = view.findViewById(R.id.lv_item_case);
|
|
ll_empty = (LinearLayout) View.inflate(UIUtils.getContext(),R.layout.layout_empty, null);
|
|
TextView tv_empty_msg = ll_empty.findViewById(R.id.tv_empty_msg);
|
|
tv_empty_msg.setText("暂无执业地点");
|
|
if(CommonUtil.BigModule())
|
|
{
|
|
ll_empty.setBackgroundColor(getResources().getColor(R.color.big_bg));
|
|
tv_empty_msg.setTextSize(18);
|
|
}
|
|
else
|
|
{
|
|
ll_empty.setBackgroundColor(Color.parseColor("#e4e4e4"));
|
|
}
|
|
|
|
lv_item_case.setMode(PullToRefreshBase.Mode.DISABLED);
|
|
pd = new CustomProgressDialog(this, "请稍候");
|
|
pd.show();
|
|
initListViewTipText();
|
|
lv_item_case.setEmptyView(ll_empty);
|
|
}
|
|
|
|
@Override
|
|
public LoadingPage.ResultState onLoad() {
|
|
return LoadingPage.ResultState.STATE_SUCCESSED;
|
|
}
|
|
|
|
@Override
|
|
protected void processClick(View v) {
|
|
switch (v.getId()){
|
|
case R.id.btn_add:
|
|
Intent intent = new Intent(PractiseAddressManagementActivity.this, AddPractisingaddressActivity.class);
|
|
startActivityForResult(intent,REQUESTCODE);
|
|
break;
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
|
super.onActivityResult(requestCode, resultCode, data);
|
|
if (resultCode == 2){
|
|
if (requestCode==REQUESTCODE){
|
|
initData();
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 初始化列表刷新时的提示文本
|
|
*/
|
|
private void initListViewTipText() {
|
|
lv_item_case.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2() {
|
|
@Override
|
|
public void onPullDownToRefresh(PullToRefreshBase refreshView) {
|
|
// TODO Auto-generated method stub
|
|
if (UIUtils.isNetWorkConnected(UIUtils.getContext())) {
|
|
setUpdateTime(refreshView);
|
|
refreshItems();
|
|
} else {
|
|
ToastUtil.showMessage("当前网络链接不可用..请检查网络..");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
public void onPullUpToRefresh(PullToRefreshBase refreshView) {
|
|
// TODO Auto-generated method stub
|
|
if (UIUtils.isNetWorkConnected(UIUtils.getContext())) {
|
|
setUpdateTime(refreshView);
|
|
geneItems();
|
|
} else {
|
|
ToastUtil.showMessage("当前网络链接不可用..请检查网络..");
|
|
}
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
// TODO Auto-generated method stub
|
|
// 设置上拉刷新文本
|
|
ILoadingLayout startLabels = lv_item_case
|
|
.getLoadingLayoutProxy(true, false);
|
|
startLabels.setPullLabel("下拉刷新...");
|
|
startLabels.setReleaseLabel("放开立即刷新...");
|
|
startLabels.setRefreshingLabel("正在刷新...");
|
|
|
|
// 设置下拉刷新文本
|
|
ILoadingLayout endLabels = lv_item_case.getLoadingLayoutProxy(false, true);
|
|
endLabels.setPullLabel("上拉加载更多...");
|
|
endLabels.setReleaseLabel("放开加载更多...");
|
|
endLabels.setRefreshingLabel("正在加载...");
|
|
}
|
|
private void refreshItems() {
|
|
// TODO Auto-generated method stub
|
|
// getData();
|
|
}
|
|
private void geneItems() {
|
|
// TODO Auto-generated method stub
|
|
// getData();
|
|
}
|
|
|
|
// 设置更新时间
|
|
protected void setUpdateTime(PullToRefreshBase refreshView) {
|
|
// TODO Auto-generated method stub
|
|
String label = DateUtils.formatDateTime(this,
|
|
System.currentTimeMillis(), DateUtils.FORMAT_SHOW_TIME
|
|
| DateUtils.FORMAT_SHOW_DATE
|
|
| DateUtils.FORMAT_ABBREV_ALL);
|
|
refreshView.getLoadingLayoutProxy().setLastUpdatedLabel(label);
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
public void onCallbackFromThread(String resultJson) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void onCallBackFromThread(String resultJson, int resultCode) {
|
|
switch (resultCode){
|
|
case LISTWORKPLACE:
|
|
pd.dismiss();
|
|
Gson gson = new Gson();
|
|
fromJson = gson.fromJson(resultJson, ListWorkPlaceBean.class);
|
|
if (fromJson!=null&&"200".equals(fromJson.getCode())){
|
|
PractiseAddressManagementAdapter practiseAddressManagementAdapter = new PractiseAddressManagementAdapter(PractiseAddressManagementActivity.this,fromJson.getList());
|
|
lv_item_case.setAdapter(practiseAddressManagementAdapter);
|
|
}
|
|
break;
|
|
case 2:
|
|
Gson gson1 = new Gson();
|
|
BaseBean fromJson = gson1.fromJson(resultJson, BaseBean.class);
|
|
if (fromJson!=null&&"200".equals(fromJson.code)){
|
|
initData();
|
|
ToastUtil.showMessage("删除成功");
|
|
}else {
|
|
ToastUtil.showMessage(fromJson.message);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
class PractiseAddressManagementAdapter extends BaseAdapter {
|
|
private Context context;
|
|
private List<ListWorkPlaceBean.ListBean> list;
|
|
public PractiseAddressManagementAdapter(Context context, List<ListWorkPlaceBean.ListBean> list) {
|
|
this.context = context;
|
|
this.list = list;
|
|
}
|
|
|
|
@Override
|
|
public int getCount() {
|
|
return list!=null&&list.size()>0?list.size():0;
|
|
}
|
|
|
|
@Override
|
|
public Object getItem(int position) {
|
|
return list.get(position);
|
|
}
|
|
|
|
@Override
|
|
public long getItemId(int position) {
|
|
return position;
|
|
}
|
|
|
|
@Override
|
|
public View getView(final int position, View convertView, ViewGroup parent) {
|
|
PractiseAddressManagementAdapter.ViewHolder vh = null;
|
|
if (convertView == null) {
|
|
if(CommonUtil.BigModule())
|
|
{
|
|
convertView = UIUtils.inflate(R.layout.item_practisingaddress_big);
|
|
}
|
|
else
|
|
{
|
|
convertView = UIUtils.inflate(R.layout.item_practisingaddress);
|
|
}
|
|
vh = new PractiseAddressManagementAdapter.ViewHolder();
|
|
vh.tv_hospital = convertView.findViewById(R.id.tv_hospital);
|
|
vh.tv_department = convertView.findViewById(R.id.tv_department);
|
|
vh.tv_address =convertView.findViewById(R.id.tv_address);
|
|
vh.tv_type = convertView.findViewById(R.id.tv_type);
|
|
vh.tv_type1 = convertView.findViewById(R.id.tv_type1);
|
|
vh.tv_edit = convertView.findViewById(R.id.tv_edit);
|
|
vh.tv_delete = convertView.findViewById(R.id.tv_delete);
|
|
vh.iv_edit = convertView.findViewById(R.id.iv_edit);
|
|
vh.iv_delete = convertView.findViewById(R.id.iv_delete);
|
|
convertView.setTag(vh);
|
|
} else {
|
|
vh = (PractiseAddressManagementAdapter.ViewHolder) convertView.getTag();
|
|
}
|
|
final String hospital_name = list.get(position).getHospital_name();
|
|
final String office_name = list.get(position).getOffice_name();
|
|
final String location = list.get(position).getLocation();
|
|
vh.tv_hospital.setText(hospital_name);
|
|
vh.tv_department.setText(office_name);
|
|
|
|
switch (list.get(position).getType()){
|
|
case 1:
|
|
vh.tv_type.setText("普通门诊");
|
|
vh.tv_type1.setText("普通门诊");
|
|
break;
|
|
case 2:
|
|
vh.tv_type.setText("专家门诊");
|
|
vh.tv_type1.setText("专家门诊");
|
|
break;
|
|
case 3:
|
|
vh.tv_type.setText("特需门诊");
|
|
vh.tv_type1.setText("特需门诊");
|
|
break;
|
|
case 4:
|
|
vh.tv_type.setText("专科/专病门诊");
|
|
vh.tv_type1.setText("专科/专病门诊");
|
|
break;
|
|
|
|
}
|
|
ViewTreeObserver vto = vh.tv_address.getViewTreeObserver();
|
|
final ViewHolder finalVh = vh;
|
|
|
|
vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
|
|
@Override
|
|
public void onGlobalLayout() {
|
|
TextPaint mTextPaint = finalVh.tv_address.getPaint();
|
|
mTextPaint.setTextSize(finalVh.tv_address.getTextSize());
|
|
int mTextViewWidth = (int) mTextPaint.measureText(location);
|
|
finalVh.tv_address.setText(location);
|
|
if (mTextViewWidth> finalVh.tv_address.getWidth()||mTextViewWidth>800){
|
|
finalVh.tv_type.setVisibility(View.GONE);
|
|
finalVh.tv_type1.setVisibility(View.VISIBLE);
|
|
}else {
|
|
finalVh.tv_type.setVisibility(View.VISIBLE);
|
|
finalVh.tv_type1.setVisibility(View.GONE);
|
|
}
|
|
|
|
}
|
|
});
|
|
|
|
vh.iv_delete.setOnClickListener(new View.OnClickListener() {
|
|
@Override
|
|
public void onClick(View v) {
|
|
isDelete(position);
|
|
}
|
|
});
|
|
|
|
|
|
vh.tv_delete.setOnClickListener(new View.OnClickListener() {
|
|
@Override
|
|
public void onClick(View v) {
|
|
isDelete(position);
|
|
|
|
}
|
|
});
|
|
vh.iv_edit.setOnClickListener(new View.OnClickListener() {
|
|
@Override
|
|
public void onClick(View v) {
|
|
isEdit(position);
|
|
|
|
}
|
|
});
|
|
vh.tv_edit.setOnClickListener(new View.OnClickListener() {
|
|
@Override
|
|
public void onClick(View v) {
|
|
isEdit(position);
|
|
|
|
|
|
}
|
|
});
|
|
return convertView;
|
|
}
|
|
private void isEdit(final int position) {
|
|
LayoutInflater inflater = LayoutInflater.from(context);
|
|
RelativeLayout layout = (RelativeLayout) inflater.inflate(R.layout.dialog_isdelete, null);
|
|
final Dialog dialog = new AlertDialog.Builder(context).create();
|
|
Button btn_sure = layout.findViewById(R.id.btn_sure);
|
|
TextView tv_infotitle = layout.findViewById(R.id.tv_infotitle);
|
|
TextView tv_infotitle1 = layout.findViewById(R.id.tv_infotitle1);
|
|
Button btn_cancel = layout.findViewById(R.id.btn_cancel);
|
|
tv_infotitle.setText("修改提示");
|
|
tv_infotitle1.setText("您确定修改此条信息吗?");
|
|
dialog.show();
|
|
Window window =dialog.getWindow();
|
|
// window.setGravity(Gravity.CENTER);
|
|
WindowManager.LayoutParams layoutParams = window.getAttributes();
|
|
layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
|
|
layoutParams.height = WindowManager.LayoutParams.WRAP_CONTENT;
|
|
window.setAttributes(layoutParams);
|
|
dialog.getWindow().setContentView(layout);
|
|
|
|
btn_cancel.setOnClickListener(new View.OnClickListener() {
|
|
@Override
|
|
public void onClick(View v) {
|
|
// TODO Auto-generated method stub
|
|
dialog.dismiss();
|
|
}
|
|
});
|
|
btn_sure.setOnClickListener(new View.OnClickListener() {
|
|
@Override
|
|
public void onClick(View v) {
|
|
Intent intent = new Intent(PractiseAddressManagementActivity.this, AddPractisingaddressActivity.class);
|
|
intent.putExtra("tv_hospital",list.get(position).getHospital_name());
|
|
intent.putExtra("tv_department",list.get(position).getOffice_name());
|
|
intent.putExtra("tv_address",list.get(position).getLocation());
|
|
intent.putExtra("Hospital_uuid",list.get(position).getHospital_uuid());
|
|
intent.putExtra("uuid",list.get(position).getUuid());
|
|
intent.putExtra("tv_type",list.get(position).getType());
|
|
startActivityForResult(intent,REQUESTCODE);
|
|
dialog.dismiss();
|
|
}
|
|
});
|
|
}
|
|
private void isDelete(final int position) {
|
|
LayoutInflater inflater = LayoutInflater.from(context);
|
|
RelativeLayout layout = (RelativeLayout) inflater.inflate(R.layout.dialog_isdelete, null);
|
|
final Dialog dialog = new AlertDialog.Builder(context).create();
|
|
Button btn_sure = (Button) layout.findViewById(R.id.btn_sure);
|
|
Button btn_cancel = (Button) layout.findViewById(R.id.btn_cancel);
|
|
dialog.show();
|
|
Window window =dialog.getWindow();
|
|
// window.setGravity(Gravity.CENTER);
|
|
WindowManager.LayoutParams layoutParams = window.getAttributes();
|
|
layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
|
|
layoutParams.height = WindowManager.LayoutParams.WRAP_CONTENT;
|
|
window.setAttributes(layoutParams);
|
|
dialog.getWindow().setContentView(layout);
|
|
|
|
btn_cancel.setOnClickListener(new View.OnClickListener() {
|
|
@Override
|
|
public void onClick(View v) {
|
|
// TODO Auto-generated method stub
|
|
dialog.dismiss();
|
|
}
|
|
});
|
|
btn_sure.setOnClickListener(new View.OnClickListener() {
|
|
@Override
|
|
public void onClick(View v) {
|
|
Map<String, String> param = new HashMap<>();
|
|
param.put("uuid",list.get(position).getUuid());
|
|
sendJsonPostParamtoNetSignMD5(Url.deleteWorkPlace, param, DELETEPLACE, PractiseAddressManagementActivity.this);
|
|
dialog.dismiss();
|
|
}
|
|
});
|
|
}
|
|
|
|
public class ViewHolder {
|
|
|
|
public TextView tv_hospital, tv_department, tv_address,tv_type,tv_edit,tv_delete,tv_type1;
|
|
public ImageView iv_edit,iv_delete;
|
|
|
|
|
|
}
|
|
}
|
|
|
|
}
|