Files
expert-app/app/src/main/java/cn/shangyu/gdxzExpert/activity/OutpatientInfoActivity.java
T
2025-11-18 15:12:24 +08:00

185 lines
6.9 KiB
Java

package cn.shangyu.gdxzExpert.activity;
import android.Manifest;
import android.content.Context;
import android.os.Build;
import android.view.Gravity;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import androidx.annotation.NonNull;
import com.github.dfqin.grantor.PermissionListener;
import com.github.dfqin.grantor.PermissionsUtil;
import com.google.gson.Gson;
import com.gyf.immersionbar.ImmersionBar;
import com.hjq.window.EasyWindow;
import java.util.HashMap;
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.http.OnCallBackFromNet;
import cn.shangyu.gdxzExpert.utils.KeDaXunFeiUtil;
import cn.shangyu.gdxzExpert.utils.StringUtil;
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/14.
*/
public class OutpatientInfoActivity extends BaseActivity implements OnCallBackFromNet{
private EditText et_feedbook;
private Button mBt_get_Voice;
private Button bt_submit;
private String note;
private static final int addOutPatient = 1;
private static final int addOutPatient1 = 101;
private String uuid;
private KeDaXunFeiUtil VoiceUtil;
@Override
public void setTitle() {
top_title.setText("门诊信息");
}
@Override
public View onCreateSuccessedView() {
ImmersionBar.with(this).keyboardEnable(true).statusBarDarkFont(true).titleBar(mToolbar).init();
View view = UIUtils.inflate(R.layout.activity_zhibo_feedbook);
et_feedbook = (EditText) view.findViewById(R.id.et_feedbook);
et_feedbook.setHint("您可以在这里填写想告诉患者的停诊补充信息,最多填写300个字哦~");
mBt_get_Voice = (Button) view.findViewById(R.id.bt_get_voice);
mBt_get_Voice.setOnClickListener(this);
// 字数限制的
// et_feedbook.addTextChangedListener(tw);
bt_submit = (Button) view.findViewById(R.id.bt_submit);
bt_submit.setOnClickListener(this);
note = getIntent().getExtras().getString("note");
if (!StringUtil.isEmpty(note)){
et_feedbook.setText(note);
uuid = getIntent().getExtras().getString("uuid");
}
return view;
}
@Override
public LoadingPage.ResultState onLoad() {
return LoadingPage.ResultState.STATE_SUCCESSED;
}
@Override
protected void processClick(View v) {
switch (v.getId()){
case R.id.bt_get_voice:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (PermissionsUtil.hasPermission(this, Manifest.permission.RECORD_AUDIO)) {
//有访问录音
VoiceUtil = new KeDaXunFeiUtil(OutpatientInfoActivity.this,
et_feedbook);
} else {
EasyWindow.with(OutpatientInfoActivity.this).setGravity(Gravity.TOP).setYOffset(200).setWidth(1000)
.setContentView(R.layout.float_top_dialog_record).show();
PermissionsUtil.requestPermission(this, new PermissionListener() {
@Override
public void permissionGranted(@NonNull String[] permissions) {
EasyWindow.cancelAll();
//用户授予了访问录音的权限
VoiceUtil = new KeDaXunFeiUtil(OutpatientInfoActivity.this,
et_feedbook);
}
@Override
public void permissionDenied(@NonNull String[] permissions) {
EasyWindow.cancelAll();
//用户拒绝了访问录音的申请
}
}, new String[]{Manifest.permission.RECORD_AUDIO});
}
}else {
VoiceUtil = new KeDaXunFeiUtil(OutpatientInfoActivity.this,
et_feedbook);
}
break;
case R.id.bt_submit:
View view = getWindow().peekDecorView();
if (view != null) {
InputMethodManager inputmanger = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputmanger.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
String trim = et_feedbook.getText().toString().trim();
if (StringUtil.isEmpty(trim)){
ToastUtil.showMessage("请输入信息");
return;
}
if (trim.equals(note)){
ToastUtil.showMessage("未修改信息内容");
return;
}
Map<String, String> param1 = new HashMap<>();
param1.put("workplace_uuid","");
param1.put("week","");
param1.put("day","");
param1.put("type","2");
param1.put("note",trim);
param1.put("uuid","");
sendJsonPostParamtoNetSignMD5(Url.addOutPatientA, param1, addOutPatient1, OutpatientInfoActivity.this);
Map<String, String> param = new HashMap<>();
param.put("notice",trim);
if (!StringUtil.isEmpty(note)){
param.put("uuid",uuid);
sendJsonPostParamtoNetSignMD5(Url.mailanNoticeUpate, param, addOutPatient, OutpatientInfoActivity.this);
}else {
sendJsonPostParamtoNetSignMD5(Url.mailanNoticeAdd, param, addOutPatient, OutpatientInfoActivity.this);
}
break;
}
}
@Override
public void onCallbackFromThread(String resultJson) {
}
@Override
public void onCallBackFromThread(String resultJson, int resultCode) {
switch (resultCode){
case addOutPatient1:
break;
case addOutPatient:
Gson gson1 = new Gson();
BaseBean fromJson1 = gson1.fromJson(resultJson, BaseBean.class);
if (fromJson1!=null&&"200".equals(fromJson1.code)){
finish();
}
ToastUtil.showMessage(fromJson1.message);
break;
}
}
@Override
protected void onDestroy() {
if (VoiceUtil != null) {
VoiceUtil.dissDialog();
}
super.onDestroy();
}
}