diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/shangchuan/ShangChuangImgActivity.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/shangchuan/ShangChuangImgActivity.java index e66f234..78047ab 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/shangchuan/ShangChuangImgActivity.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/shangchuan/ShangChuangImgActivity.java @@ -160,7 +160,9 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity { break; case 14://定位成功 locationKey = true; - customDialog.dismiss(); + if (!isFinishing()&&customDialog!=null&&customDialog.isShowing()){ + customDialog.dismiss(); + } tv_loaction.setText("定位成功"); tv_loaction.setTextColor(getResources().getColor(R.color.theme_color, null)); latLng = convertGPSToBaidu(new LatLng(lgdu.getLatitude(), lgdu.getLongitude())); @@ -168,7 +170,9 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity { break; case 16://定位失败 locationKey = false; - customDialog.dismiss(); + if (!isFinishing()&&customDialog!=null&&customDialog.isShowing()){ + customDialog.dismiss(); + } tv_loaction.setText("定位失败,点击重试"); tv_loaction.setTextColor(getResources().getColor(R.color.loaction_no_color, null)); Toast.makeText(con, "定位失败,请确认开启定位后重试!", Toast.LENGTH_LONG).show(); diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/shangchuan/ShangChuangImgActivityBC.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/shangchuan/ShangChuangImgActivityBC.java index 4ff46e9..6ba1079 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/shangchuan/ShangChuangImgActivityBC.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/shangchuan/ShangChuangImgActivityBC.java @@ -7,8 +7,11 @@ import android.text.TextUtils; import android.util.Log; import android.view.Gravity; import android.view.View; +import android.widget.Button; +import android.widget.EditText; import android.widget.ImageView; import android.widget.RelativeLayout; +import android.widget.SimpleAdapter; import android.widget.TextView; import android.widget.Toast; @@ -19,6 +22,17 @@ import com.alct.mdp.callback.OnResultListener; import com.alct.mdp.model.Goods; import com.alct.mdp.model.Image; import com.alct.mdp.model.Location; +import com.amap.api.maps.CameraUpdateFactory; +import com.amap.api.services.core.AMapException; +import com.amap.api.services.core.LatLonPoint; +import com.amap.api.services.geocoder.GeocodeAddress; +import com.amap.api.services.geocoder.GeocodeQuery; +import com.amap.api.services.geocoder.GeocodeResult; +import com.amap.api.services.geocoder.GeocodeSearch; +import com.amap.api.services.geocoder.RegeocodeResult; +import com.amap.api.services.help.Inputtips; +import com.amap.api.services.help.InputtipsQuery; +import com.amap.api.services.help.Tip; import com.arpa.hndahesudintocctmsdriver.R; import com.arpa.hndahesudintocctmsdriver.bean.BaseBean; import com.arpa.hndahesudintocctmsdriver.bean.CarInfoBean; @@ -47,22 +61,35 @@ import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity; import com.baidu.mapapi.model.LatLng; import com.baidu.mapapi.utils.CoordinateConverter; import com.bumptech.glide.Glide; +import com.dahe.mylibrary.utils.ToastUtils; +import com.github.gzuliyujiang.wheelpicker.DatePicker; +import com.github.gzuliyujiang.wheelpicker.DatimePicker; +import com.github.gzuliyujiang.wheelpicker.annotation.DateMode; +import com.github.gzuliyujiang.wheelpicker.annotation.TimeMode; +import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener; +import com.github.gzuliyujiang.wheelpicker.contract.OnDatimePickedListener; +import com.github.gzuliyujiang.wheelpicker.entity.DateEntity; +import com.github.gzuliyujiang.wheelpicker.entity.DatimeEntity; import com.google.gson.Gson; import com.luck.picture.lib.PictureSelector; import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.lxj.xpopup.XPopup; +import com.lxj.xpopup.interfaces.OnSelectListener; import com.lxj.xpopup.util.SmartGlideImageLoader; import java.io.File; import java.io.UnsupportedEncodingException; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; -public class ShangChuangImgActivityBC extends BaseAppCompatActivity { +public class ShangChuangImgActivityBC extends BaseAppCompatActivity implements Inputtips.InputtipsListener { - private TextView submit, name_top, name_body, address, tips, tips_x; + private TextView submit, name_top, name_body, address, tips, tips_x,tvDate,tvLocation; private RelativeLayout getImg; + private EditText etAddress; + private Button btnOk; private ImageView res_img, img_icon, img_delete; private String[] names = {"装货", "卸货", "回单"}; public static String[] TYPE_NAME = {"zhuanghuo", "xiehuo", "huidan"}; @@ -86,8 +113,64 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity { private boolean locationKey = false; private TextView tv_loaction; - private TempLoca tempLoca = new TempLoca(39.24,117.07,"天津市北辰区双口镇永宝路17号","2023-09-26 10:00"); - private TempLoca tempLocaBd = new TempLoca(39.246543,117.079713,"天津市北辰区双口镇永宝路17号","2023-09-26 10:00"); + + private String selDate; + private GeocodeSearch geocoderSearch; + + private TempLoca tempLoca = new TempLoca(); + private TempLoca tempLocaBd = new TempLoca(); + + + @Override + public void onGetInputtips(List tipList, int rCode) { + if (rCode == AMapException.CODE_AMAP_SUCCESS) { + List names = new ArrayList(); + if(tipList != null) { + int size = tipList.size(); + for (int i = 0; i < size; i++) { + Tip tip = tipList.get(i); + if(tip != null) { + names.add(tip.getDistrict()+tip.getName()); + } + } + + new XPopup.Builder(this) + .isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个 + .hasShadowBg(false) // 去掉半透明背景 + .atView(etAddress) + .asAttachList(names.toArray(new String[0]), new int[]{}, new OnSelectListener() { + @Override + public void onSelect(int position, String text) { + Tip tip = tipList.get(position); + etAddress.setText(tip.getDistrict()+tip.getAddress()+tip.getName()); + LatLonPoint latLonPoint = tip.getPoint(); + tempLoca.setAddress(etAddress.getText().toString()); + tempLoca.setLatitude(latLonPoint.getLatitude()); + tempLoca.setLongitude(latLonPoint.getLongitude()); + tempLoca.setTime(tvDate.getText().toString()); + + LatLng latLng = convertGPSToBaidu(new LatLng(latLonPoint.getLatitude(), latLonPoint.getLongitude())); + tempLocaBd.setLongitude(latLng.longitude); + tempLocaBd.setLatitude(latLng.latitude); + tempLocaBd.setAddress(etAddress.getText().toString()); + tempLocaBd.setTime(tvDate.getText().toString()); + + } + }) + .show(); + + + +// SimpleAdapter aAdapter = new SimpleAdapter(getApplicationContext(), listString, R.layout.item_layout, +// new String[]{"name", "address"}, new int[]{R.id.poi_field_id, R.id.poi_value_id}); +// +// minputlist.setAdapter(aAdapter); +// aAdapter.notifyDataSetChanged(); + } + + } else { + } + } class TempLoca{ private double latitude; @@ -276,6 +359,10 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity { img_icon = findViewById(R.id.img_icon); img_delete = findViewById(R.id.img_delete); tv_loaction = findViewById(R.id.tv_loaction); + btnOk = findViewById(R.id.btnOk); + etAddress = findViewById(R.id.etAddress); + tvDate = findViewById(R.id.tvDate); + tvLocation = findViewById(R.id.tvLocation); tips = findViewById(R.id.tips); tips_x = findViewById(R.id.tips_x); Bundle ins = getIntent().getExtras(); @@ -298,6 +385,44 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity { lgdu.onCreate(); } }); + + btnOk.setOnClickListener(v -> { + String s = etAddress.getText().toString(); + if (TextUtils.isEmpty(selDate)){ + ToastUtils.showToast(this,"请先选择时间"); + return; + } + if (!TextUtils.isEmpty(s)&&s.length()>=4){ + + InputtipsQuery inputquery = new InputtipsQuery(s, ""); +// inputquery.setCityLimit(true); + Inputtips inputTips = new Inputtips(this, inputquery); + inputTips.setInputtipsListener(this); + inputTips.requestInputtipsAsyn(); + + +// GeocodeQuery query = new GeocodeQuery(s, "100000");// 第一个参数表示地址,第二个参数表示查询城市,中文或者中文全拼,citycode、adcode, +// geocoderSearch.getFromLocationNameAsyn(query);// 设置同步地理编码请求 + }else{ + ToastUtils.showToast(this,"请输入地址且长度大于4"); + } + }); + + tvDate.setOnClickListener(v -> { + + DatimePicker datimePicker = new DatimePicker(this); + datimePicker.setBodyWidth(300); + datimePicker.getWheelLayout().setRange(DatimeEntity.yearOnFuture(-1),DatimeEntity.yearOnFuture(10),DatimeEntity.now()); + datimePicker.setOnDatimePickedListener((year, month, day, hour, minute, second) -> { + selDate = year+"-"+month+"-"+day+" "+ hour+":"+minute; + tvDate.setText(selDate); + }); + datimePicker.getWheelLayout().setDateLabel("年", "月", "日"); + datimePicker.getWheelLayout().setTimeLabel("时","分",""); + datimePicker.getWheelLayout().setTimeMode(TimeMode.HOUR_24_NO_SECOND); + datimePicker.show(); + }); + hyr = new HuoYuanRequset(con, hd); } @@ -423,7 +548,7 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity { lub.setWaybillId(wid); lub.setRealLoadTime(tempLoca.getTime()); Log.e("--卸货信息", gson.toJson(lub)); - if (locationKey) { + if (locationKey&&!TextUtils.isEmpty(tempLoca.address)) { if (keys) { nfc(); uploadInfo(); @@ -452,7 +577,7 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity { urib.setWaybillId(wid); Log.e("--回单信息", gson.toJson(urib)); if (locationKey) { - if (index == 2 && keys) { + if (index == 2 && keys && !TextUtils.isEmpty(tempLoca.address)) { up_trafficSign(); up_trafficReceipt(); receipt_image(); diff --git a/app/src/main/res/drawable/diver_logo_text.png b/app/src/main/res/drawable/diver_logo_text.png new file mode 100644 index 0000000..0a2d2e0 Binary files /dev/null and b/app/src/main/res/drawable/diver_logo_text.png differ diff --git a/app/src/main/res/layout/activity_shangchuan_bc.xml b/app/src/main/res/layout/activity_shangchuan_bc.xml index dfb777b..8321719 100644 --- a/app/src/main/res/layout/activity_shangchuan_bc.xml +++ b/app/src/main/res/layout/activity_shangchuan_bc.xml @@ -1,175 +1,225 @@ + android:background="@drawable/bg_theme"> + + android:layout_centerHorizontal="true" + android:layout_marginTop="@dimen/dp_16" + android:src="@mipmap/top_creativity" /> + + + android:layout_height="wrap_content" + android:layout_marginTop="@dimen/dp_58"> + android:scaleType="fitXY" + android:src="@mipmap/return_lefts" /> + android:text="定位成功" + android:textColor="@color/theme_color" + android:textSize="@dimen/sp_14" /> + android:textSize="@dimen/sp_23" /> + + + + + + + + + + + + + + + - + + + + android:layout_centerVertical="true" + android:src="@mipmap/up_img" /> + + android:src="@mipmap/icon_delete" + android:visibility="gone" /> + + + android:textSize="@dimen/sp_13" /> + + + android:layout_height="wrap_content" + android:layout_marginLeft="@dimen/dp_38" + android:layout_marginTop="@dimen/dp_10" + android:layout_marginRight="@dimen/dp_38"> + + android:visibility="gone" /> + + android:visibility="gone" /> + + android:layout_marginLeft="@dimen/dp_38" + android:layout_marginTop="@dimen/dp_33" + android:layout_marginRight="@dimen/dp_38" + app:cardBackgroundColor="@color/red" + app:cardCornerRadius="@dimen/dp_21"> + + android:textSize="@dimen/sp_15" /> \ No newline at end of file