增加 登录 查询

bgs_it_pm
wanghao 2 months ago
parent 31dd5fce0c
commit 99d846c2b6

@ -0,0 +1,20 @@
{
"version": 3,
"artifactType": {
"type": "APK",
"kind": "Directory"
},
"applicationId": "com.example.beijing_daxing",
"variantName": "release",
"elements": [
{
"type": "SINGLE",
"filters": [],
"attributes": [],
"versionCode": 5,
"versionName": "1.5",
"outputFile": "app-release.apk"
}
],
"elementType": "File"
}

@ -6,14 +6,11 @@
android:name="android.hardware.camera"
android:required="false" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" /> <!-- //震动权限 -->
<uses-permission android:name="android.permission.VIBRATE" /> <!-- //外部存储器权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="32"
tools:ignore="ScopedStorage" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
@ -21,7 +18,8 @@
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.CAMERA" /> <!-- 相机权限 -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application
android:name=".base.MyApplication"
android:allowBackup="true"
@ -34,6 +32,10 @@
android:theme="@style/Theme.Beijingdaxing"
android:usesCleartextTraffic="true"
tools:targetApi="31">
<activity
android:name=".SelectPersonInfoActivity"
android:exported="false" />
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="com.example.beijing_daxing"
@ -44,7 +46,6 @@
android:resource="@xml/file_paths" />
</provider>
<activity
android:name=".SetingPowerActivity"
android:exported="false" />
@ -61,7 +62,6 @@
</intent-filter>
</receiver>
<activity
android:name=".FpOutActivity"
android:exported="false" />
@ -93,6 +93,7 @@
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

@ -43,7 +43,9 @@ public class HomePageActivity extends AppCompatActivity {
MyApplication.getApplication().setUhfrManager(instance);
instance.setRegion(Reader.Region_Conf.RG_PRC);
instance.setPower(33,33);
boolean b = instance.setInventoryFilter(Tools.HexString2Bytes("53574C44"), 1, 2, true);
instance.setGen2session(false);
String epcConfig = getIntent().getStringExtra("epcConfig");
boolean b = instance.setInventoryFilter(Tools.HexString2Bytes(epcConfig), 1, 2, true);
Log.e("TAG", "设置过滤:" + b);
}catch (NullPointerException e){
Toast.makeText(this, "扫描驱动异常,重新启动程序加载", Toast.LENGTH_SHORT).show();
@ -83,15 +85,9 @@ public class HomePageActivity extends AppCompatActivity {
private void initUi(ActivityHomePageBinding binding) {
List<HomeIcon> list = new ArrayList<>();
list.add(new HomeIcon(R.mipmap.home_in1, "轮挡入库", InActivity.class));
list.add(new HomeIcon(R.mipmap.home_out1, "轮挡领用出库", OutActivity.class));
// list.add(new HomeIcon(R.mipmap.home_store_check, "仓库盘点", StoreCheckActivity.class));
list.add(new HomeIcon(R.mipmap.home_check, "轮挡巡检", CheckListActivity.class));
list.add(new HomeIcon(R.mipmap.home_bf, "维修&报废", BFActivity.class));
list.add(new HomeIcon(R.mipmap.home_in, "异常轮挡回库", FpInActivity.class));
// list.add(new HomeIcon(R.mipmap.home_out, "废品出库", FpOutActivity.class));
list.add(new HomeIcon(R.mipmap.home_check, "信息查询", SelectPersonInfoActivity.class));
list.add(new HomeIcon(R.mipmap.home_out, "功率设置", SetingPowerActivity.class));
var intent = getIntent();
/*var intent = getIntent();
try {
if (!intent.getStringExtra("user").equals("admin")) {
ArrayList<String> strings = new Gson().fromJson(intent.getStringExtra("json"), new TypeToken<ArrayList<String>>() {
@ -110,7 +106,7 @@ public class HomePageActivity extends AppCompatActivity {
}
} catch (Exception e) {
e.printStackTrace();
}
}*/
HomePageAdapter adapter = new HomePageAdapter(list, this);
binding.homeGridview.setAdapter(adapter);
binding.homeGridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@ -1,15 +1,13 @@
package com.example.beijing_daxing;
import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ObservableField;
import android.content.Intent;
import android.os.Bundle;
import android.os.FileObserver;
import android.view.View;
import android.widget.Toast;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ObservableBoolean;
import com.example.beijing_daxing.base.BaseActivity;
import com.example.beijing_daxing.databinding.ActivityMainBinding;
import com.example.beijing_daxing.uitls.SharedPreferencesUtils;
@ -17,40 +15,49 @@ import com.example.beijing_daxing.vm.LoginVm;
import com.lzy.okgo.OkGo;
import com.lzy.okgo.callback.StringCallback;
import com.lzy.okgo.model.Response;
import com.uhf.api.cls.Reader;
import com.xuexiang.xupdate.XUpdate;
import com.xuexiang.xupdate.easy.EasyUpdate;
import java.util.List;
public class MainActivity extends BaseActivity {
private LoginVm loginVm;
private ObservableBoolean isShow = new ObservableBoolean(false);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
loginVm = new LoginVm();
String ipConfig = SharedPreferencesUtils.getstring("ipConfig", "");
loginVm.setIpConfig(ipConfig);
String epcConfig = SharedPreferencesUtils.getstring("epcConfig", "");
loginVm.setEpcConfig(epcConfig);
boolean isRemember = SharedPreferencesUtils.getboolean("isRemember", false);
if (isRemember) {
loginVm.setName(SharedPreferencesUtils.getstring("user", ""));
loginVm.setPass(SharedPreferencesUtils.getstring("pass", ""));
loginVm.setRemember(isRemember);
}
binding.setUser(loginVm);
EasyUpdate.checkUpdate(this,url + "/getVersion");
isShow.set(ipConfig.isEmpty() || epcConfig.isEmpty());
binding.setIsShow(isShow);
// EasyUpdate.checkUpdate(this,url + "/getVersion");
// XUpdate.newBuild(this)
// .updateUrl(url + "/getVersion")
// .promptIgnoreDownloadError(true)
// .update();
}
public void login_click(View view) {
String pass = loginVm.getPass();
String name = loginVm.getName();
if (pass == null || name == null || pass.isEmpty() || name.isEmpty()) return;
String ipConfig = loginVm.getIpConfig();
String epcConfig = loginVm.getEpcConfig();
if (epcConfig.length()!=8){
Toast.makeText(this, "请输入正确的EPC配置", Toast.LENGTH_SHORT).show();
return;
}
setUrl(ipConfig);
if (pass == null || name == null || pass.isEmpty() || name.isEmpty() || ipConfig.isEmpty() || epcConfig.isEmpty()) return;
dialog.show();
OkGo.<String>get(url + "/login/finduser").tag(this)
.params("name", name)
@ -64,15 +71,17 @@ public class MainActivity extends BaseActivity {
Toast.makeText(MainActivity.this, "暂无权限", Toast.LENGTH_SHORT).show();
} else if (body.equals("Error")) {
Toast.makeText(MainActivity.this, "用户名密码错误", Toast.LENGTH_SHORT).show();
} else {
} else if (body.equals("ok")) {
boolean remember = loginVm.isRemember();
SharedPreferencesUtils.putstring("ipConfig", ipConfig);
SharedPreferencesUtils.putstring("epcConfig", epcConfig);
if (remember) {
SharedPreferencesUtils.putboolean("isRemember", remember);
SharedPreferencesUtils.putstring("user", name);
SharedPreferencesUtils.putstring("pass", pass);
Intent intent = new Intent(MainActivity.this, HomePageActivity.class);
intent.putExtra("json", body);
intent.putExtra("user", name);
intent.putExtra("epcConfig", epcConfig);
// intent.putExtra("user", name);
startActivity(intent);
finish();
}
@ -81,5 +90,8 @@ public class MainActivity extends BaseActivity {
});
}
public void setting(View view) {
isShow.set(!isShow.get());
}
}

@ -0,0 +1,59 @@
package com.example.beijing_daxing;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import androidx.databinding.DataBindingUtil;
import com.bumptech.glide.Glide;
import com.example.beijing_daxing.base.BaseActivity;
import com.example.beijing_daxing.base.MyRecultCall;
import com.example.beijing_daxing.base.MyResult;
import com.example.beijing_daxing.been.PmBasePersonInfo;
import com.example.beijing_daxing.databinding.ActivitySelectPersonInfoBinding;
import com.example.beijing_daxing.dialog.TakePictureDialog;
import com.lzy.okgo.OkGo;
import com.lzy.okgo.model.Response;
public class SelectPersonInfoActivity extends BaseActivity {
private ActivitySelectPersonInfoBinding binding;
private TakePictureDialog pictureDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = DataBindingUtil.setContentView(this, R.layout.activity_select_person_info);
pictureDialog=new TakePictureDialog(this);
}
@Override
public void readTidReault(boolean b, String bytes2HexString, byte[] rdata) {
super.readTidReault(b, bytes2HexString, rdata);
binding.selectInfoEpc.setText(bytes2HexString);
OkGo.<MyResult>post(url + "/selectPersonInfo")
.params("epc", bytes2HexString)
.execute(new MyRecultCall(dialog, this) {
@Override
public void onSuccess(Response<MyResult> response) {
super.onSuccess(response);
MyResult body = response.body();
if (body.getCode() == 0) {
PmBasePersonInfo personInfo =gson.fromJson(body.getJson(), PmBasePersonInfo.class);
binding.setPersonInfo(personInfo);
Glide.with(SelectPersonInfoActivity.this).load(url.replace("/api", "")+personInfo.getPhotoPath()).into(binding.selectInfoPhoto);
return;
}
Toast.makeText(SelectPersonInfoActivity.this, body.getMsg(), Toast.LENGTH_SHORT).show();
}
});
}
public void selectInfoPhoto(View view) {
}
public void selectInfoSubmit(View view) {
}
}

@ -20,16 +20,16 @@ import android.os.Bundle;
import android.provider.MediaStore;
import android.util.Log;
import android.view.Window;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import androidx.core.content.FileProvider;
import com.example.beijing_daxing.R;
import com.google.gson.Gson;
import com.handheld.uhfr.*;
import com.handheld.uhfr.UHFRManager;
import com.uhf.api.cls.Reader;
import java.io.File;
@ -43,18 +43,32 @@ import java.time.ZoneId;
import java.util.Date;
import java.util.List;
import cn.pda.serialport.Tools;
import okhttp3.MediaType;
public class BaseActivity extends AppCompatActivity {
// public static String url = "http://192.168.137.1:8090/api";
public static String url = "http://119.45.202.115:8090/api";
public class BaseActivity extends AppCompatActivity {
public static final int CAMERA_PHOTO = 0X02;
public static String url;
public ProgressDialog dialog;
public Gson gson;
public MediaType JSON = MediaType.parse("application/json; charset=utf-8");
public UHFRManager uhfLongerManager;
private MediaPlayer mediaPlayer;
public MyReceiver myReceiver;
public Intent broadcastIntent;
public File outputImage;
public Uri img_uri;
public SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
public SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
private MediaPlayer mediaPlayer;
private byte[] accesspwd;
private boolean addWatermarkType;
private String addWatermarkLocation;
private String[] strings =
new String[]{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"};
public static void setUrl(String url) {
BaseActivity.url = "http://" + url + "/api";
}
@SuppressLint("UnspecifiedRegisterReceiverFlag")
@Override
@ -66,6 +80,7 @@ public class BaseActivity extends AppCompatActivity {
broadcastIntent = new Intent("android.rfid.FUN_KEY");
broadcastIntent.putExtra("keydown", false);
}
private void initSan() {
uhfLongerManager = MyApplication.getApplication().getUhfrManager();
myReceiver = new MyReceiver();
@ -73,19 +88,27 @@ public class BaseActivity extends AppCompatActivity {
intentFilter.addAction("android.rfid.FUN_KEY");
registerReceiver(myReceiver, intentFilter);
mediaPlayer = MediaPlayer.create(this, R.raw.msg);
accesspwd = Tools.HexString2Bytes("00000000");
}
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
var keydown = intent.getBooleanExtra("keydown", false);
Log.e("TAG", "接收到广播:" + keydown);
if (!keydown) {
sanEpc();
}
// 1- 读取EPC
public void readEPC(int lenth) {
byte[] rdata = new byte[lenth];
Reader.READER_ERR readerErr =
uhfLongerManager.getTagData(1, 2, lenth / 2, rdata, accesspwd, (short) 1000);
if (readerErr == Reader.READER_ERR.MT_OK_ERR) {
mediaPlayer.start();
readTidReault(true, Tools.Bytes2HexString(rdata, lenth), rdata);
} else {
Toast.makeText(this, "读取失败", Toast.LENGTH_SHORT).show();
}
}
public void readTidReault(boolean b, String bytes2HexString, byte[] rdata) {
}
public void sanEpc() {
@ -105,8 +128,6 @@ public class BaseActivity extends AppCompatActivity {
dialog.setMessage("请求网络...");
}
public void setPower(int power) {
try {
Reader.READER_ERR readerErr = uhfLongerManager.setPower(power, power);
@ -125,26 +146,19 @@ public class BaseActivity extends AppCompatActivity {
unregisterReceiver(myReceiver);
}
public void sanRfid(List<Reader.TAGINFO> epcs) {
public void sanRfid(List<Reader.TAGINFO> epcs){
}
};
public static final int CAMERA_PHOTO = 0X02;
public File outputImage;
public Uri img_uri;
public SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
public SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
private boolean addWatermarkType;
private String addWatermarkLocation;
// 拍照
public void takePhoto(boolean type,String location) {
this.addWatermarkType=type;
addWatermarkLocation=location;
public void takePhoto(boolean type, String location) {
this.addWatermarkType = type;
addWatermarkLocation = location;
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 1);
}
outputImage = new File(getExternalCacheDir(), "output_imgage" + format.format(new Date()) + ".jpg");
outputImage =
new File(getExternalCacheDir(), "output_imgage" + format.format(new Date()) + ".jpg");
try {
outputImage.createNewFile();
} catch (IOException e) {
@ -162,7 +176,8 @@ public class BaseActivity extends AppCompatActivity {
startActivityForResult(intent, CAMERA_PHOTO);
} else {
// 提示用户开户权限 拍照和读写sd卡权限
String[] perms = {Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA};
String[] perms =
{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA};
ActivityCompat.requestPermissions(this, perms, CAMERA_PHOTO);
}
}
@ -181,7 +196,7 @@ public class BaseActivity extends AppCompatActivity {
try {
Log.e("TAG", "onActivityResult:" + img_uri.getPath());
bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(img_uri));
if (addWatermarkType){
if (addWatermarkType) {
// 添加水印
bitmap = addWatermark(bitmap);
}
@ -197,7 +212,7 @@ public class BaseActivity extends AppCompatActivity {
}
}
private String[] strings=new String[]{"星期日","星期一","星期二","星期三","星期四","星期五","星期六","星期日"};
@SuppressLint("NewApi")
private Bitmap addWatermark(Bitmap src) {
int w = src.getWidth();
@ -214,9 +229,22 @@ public class BaseActivity extends AppCompatActivity {
LocalDate today = LocalDate.now(ZoneId.systemDefault());
// 获取当前日期是周几
DayOfWeek dayOfWeek = today.getDayOfWeek();
canvas.drawText("机位:"+addWatermarkLocation, 10, h - 400, paint);
canvas.drawText("机位:" + addWatermarkLocation, 10, h - 400, paint);
canvas.drawText(dateFormat.format(new Date()), 10, h - 200, paint);
canvas.drawText(strings[dayOfWeek.getValue()], 10, h - 20, paint);
return result;
}
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
var keydown = intent.getBooleanExtra("keydown", false);
Log.e("TAG", "接收到广播:" + keydown);
if (!keydown) {
readEPC(6);
}
}
}
}

@ -46,18 +46,18 @@ public class MyApplication extends Application {
super.onCreate();
application = this;
LitePal.initialize(this);
SharedPreferencesUtils.init(getApplicationContext(), "myapp");
SharedPreferencesUtils.init(getApplicationContext(), "myapp_text");
okGoBase();
// getUhfLongerManager();
XUpdate.get().debug(true).isWifiOnly(false) // 默认设置只在wifi下检查版本更新
.isGet(true) // 默认设置使用get请求检查版本
.isAutoMode(false) // 默认设置非自动模式,可根据具体使用配置
// .param("versionCode", UpdateUtils.getVersionCode(this)) //设置默认公共请求参数
// .param("appKey", getPackageName())
.supportSilentInstall(false) // 设置是否支持静默安装默认是true
.setIUpdateHttpService(new OkHttpUpdateHttpServiceImpl()) // 这个必须设置!实现网络请求功能。
.init(this);
// XUpdate.get().debug(true).isWifiOnly(false) // 默认设置只在wifi下检查版本更新
// .isGet(true) // 默认设置使用get请求检查版本
// .isAutoMode(false) // 默认设置非自动模式,可根据具体使用配置
// // .param("versionCode", UpdateUtils.getVersionCode(this)) //设置默认公共请求参数
// // .param("appKey", getPackageName())
//
// .supportSilentInstall(false) // 设置是否支持静默安装默认是true
// .setIUpdateHttpService(new OkHttpUpdateHttpServiceImpl()) // 这个必须设置!实现网络请求功能。
// .init(this);
}
public static MyApplication getApplication() {
@ -95,7 +95,7 @@ public class MyApplication extends Application {
OkGo.getInstance().init(this).setOkHttpClient(builder.build()) // 建议设置OkHttpClient不设置将使用默认的
.setCacheMode(CacheMode.NO_CACHE) // 全局统一缓存模式,默认不使用缓存,可以不传
.setCacheTime(CacheEntity.CACHE_NEVER_EXPIRE) // 全局统一缓存时间,默认永不过期,可以不传
.setRetryCount(1);
.setRetryCount(0);
}

@ -32,7 +32,7 @@ public class MyRecultCall extends AbsCallback<MyResult> {
if (body == null) return null;
Gson gson = new Gson();
MyResult resust = gson.fromJson(body.string(), MyResult.class);
resust.setData(gson.toJson(resust.getData()));
resust.setJson(gson.toJson(resust.getData()));
return resust;
}

@ -8,6 +8,15 @@ public class MyResult {
private int code;
private String msg;
private Object data;
private String json;
public String getJson() {
return json;
}
public void setJson(String json) {
this.json = json;
}
public int getCode() {
return code;

@ -0,0 +1,145 @@
package com.example.beijing_daxing.been;
/**
* pm_base_person_info
*
* @author ruoyi
* @date 2025-11-26
*/
public class PmBasePersonInfo {
/**
*
*/
private Long basePersonId;
/**
* RFID
*/
private String rfidId;
/**
*
*/
private String employeeId;
/**
*
*/
private String peopleName;
/**
*
*/
private String peopleSex;
/**
*
*/
private String driverCode;
/**
*
*/
private String phoneNumber;
/**
*
*/
private String photoPath;
/**
*
*/
private String joinDate;
/**
*
*/
private String academicQualification;
public Long getBasePersonId() {
return basePersonId;
}
public void setBasePersonId(Long basePersonId) {
this.basePersonId = basePersonId;
}
public String getRfidId() {
return rfidId;
}
public void setRfidId(String rfidId) {
this.rfidId = rfidId;
}
public String getEmployeeId() {
return employeeId;
}
public void setEmployeeId(String employeeId) {
this.employeeId = employeeId;
}
public String getPeopleName() {
return peopleName;
}
public void setPeopleName(String peopleName) {
this.peopleName = peopleName;
}
public String getPeopleSex() {
return peopleSex;
}
public void setPeopleSex(String peopleSex) {
this.peopleSex = peopleSex;
}
public String getDriverCode() {
return driverCode;
}
public void setDriverCode(String driverCode) {
this.driverCode = driverCode;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getPhotoPath() {
return photoPath;
}
public void setPhotoPath(String photoPath) {
this.photoPath = photoPath;
}
public String getJoinDate() {
return joinDate;
}
public void setJoinDate(String joinDate) {
this.joinDate = joinDate;
}
public String getAcademicQualification() {
return academicQualification;
}
public void setAcademicQualification(String academicQualification) {
this.academicQualification = academicQualification;
}
}

@ -0,0 +1,57 @@
package com.example.beijing_daxing.dialog;
import android.annotation.SuppressLint;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.bumptech.glide.Glide;
import com.example.beijing_daxing.R;
/**
* @author wanghao
* @date 2023/2/1 17:06
*/
public class LookPictureDialog extends Dialog {
private Context context;
private String path;
private ImageView imageView;
public LookPictureDialog(@NonNull Context context) {
super(context, R.style.dialog);
this.context = context;
}
public void setPath(String path) {
this.path = path;
}
@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_look_picture);
imageView = findViewById(R.id.picture_imageview);
findViewById(R.id.confirm_back).setOnClickListener(v -> {
dismiss();
});
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context);
linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
}
@Override
public void show() {
super.show();
Glide.with(context).load(path).into(imageView);
}
}

@ -11,6 +11,25 @@ public class LoginVm extends BaseObservable {
private String pass;
private boolean remember;
private String ipConfig;
private String epcConfig;
public String getIpConfig() {
return ipConfig;
}
public void setIpConfig(String ipConfig) {
this.ipConfig = ipConfig;
}
public String getEpcConfig() {
return epcConfig;
}
public void setEpcConfig(String epcConfig) {
this.epcConfig = epcConfig;
}
public String getName() {
return name;
}

@ -9,49 +9,37 @@
name="user"
type="com.example.beijing_daxing.vm.LoginVm" />
<variable
name="isShow"
type="androidx.databinding.ObservableBoolean" />
<import type="android.view.View" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/login_bg"
android:orientation="vertical"
tools:context=".MainActivity">
<!-- <FrameLayout-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content">-->
<!-- <ImageView-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="match_parent"-->
<!-- android:src="@mipmap/main_bg" />-->
<ImageView
android:layout_width="300dp"
android:layout_height="45dp"
android:layout_marginTop="100dp"
android:src="@mipmap/login_base"
android:textColor="@color/white"
android:layout_gravity="center"/>
<!-- </FrameLayout>-->
<TextView
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_marginLeft="20dp"
android:layout_marginTop="50dp"
android:gravity="left|center"
android:text="登录RFID机场轮挡管理系统v1.5"
android:textColor="@color/black"
android:textSize="22sp" />
android:layout_height="55dp"
android:layout_marginTop="80dp"
android:gravity="center"
android:letterSpacing="0.5"
android:text="叉车人员管理"
android:textColor="@color/white"
android:textSize="25sp"
android:textStyle="bold" />
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/textInputLayout"
android:layout_width="match_parent"
android:layout_height="55dp"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginTop="20dp"
android:layout_marginTop="50dp"
android:layout_marginRight="20dp"
android:focusable="true"
android:focusableInTouchMode="true"
@ -59,7 +47,7 @@
<EditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@={user.name}" />
@ -68,7 +56,7 @@
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/textInputLayout2"
android:layout_width="match_parent"
android:layout_height="55dp"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginTop="15dp"
android:layout_marginRight="20dp"
@ -77,10 +65,10 @@
<EditText
android:layout_width="match_parent"
android:layout_height="50dp"
android:inputType="textPassword"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:imeOptions="actionDone"
android:inputType="textPassword"
android:text="@={user.pass}" />
</com.google.android.material.textfield.TextInputLayout>
@ -94,6 +82,44 @@
android:checked="@={user.remember}"
android:text="记住我" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginTop="15dp"
android:layout_marginRight="20dp"
android:visibility="@{isShow ? View.VISIBLE : View.GONE}"
android:orientation="vertical">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:hint="输入IP地址"
android:imeOptions="actionDone"
android:text="@={user.ipConfig}" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:gravity="center"
android:hint="输入RFID 8位前缀"
android:imeOptions="actionDone"
android:text="@={user.epcConfig}" />
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="30dp"
android:gravity="right|center"
android:paddingEnd="20dp"
android:textColor="@color/blue"
android:text='@{isShow ? ">>> 隐藏" : "&lt;&lt;&lt; 配置"}'
android:onClick="setting"
android:textSize="18sp" />
<Button
android:layout_width="match_parent"
android:layout_height="55dp"
@ -101,10 +127,10 @@
android:layout_marginTop="10dp"
android:layout_marginRight="20dp"
android:letterSpacing="1"
android:onClick="login_click"
android:text="登录"
android:textSize="20sp"
android:textStyle="bold"
android:onClick="login_click"/>
android:textStyle="bold" />
</LinearLayout>

@ -0,0 +1,162 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable
name="personInfo"
type="com.example.beijing_daxing.been.PmBasePersonInfo" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/bg1"
tools:context=".SelectPersonInfoActivity">
<TextView
style="@style/title_text"
android:layout_width="match_parent"
android:layout_height="45dp"
android:text="信息查询" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<TextView
style="@style/info_text"
android:layout_width="110dp"
android:layout_height="45dp"
android:layout_gravity="center"
android:text="扫描RFID:" />
<TextView
android:id="@+id/select_info_epc"
style="@style/san_text"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_gravity="center"
android:text="" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<TextView
style="@style/info_text"
android:layout_width="110dp"
android:layout_height="45dp"
android:layout_gravity="center"
android:text="工号:" />
<TextView
style="@style/info_text1"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_gravity="center"
android:text="@{personInfo.employeeId}" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<TextView
style="@style/info_text"
android:layout_width="110dp"
android:layout_height="45dp"
android:layout_gravity="center"
android:text="姓名:" />
<TextView
style="@style/info_text1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:text="@{personInfo.peopleName}" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<TextView
style="@style/info_text"
android:layout_width="110dp"
android:layout_height="45dp"
android:layout_gravity="center"
android:text="驾驶证代号:" />
<TextView
style="@style/info_text1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:text="@{personInfo.driverCode}" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_marginTop="10dp">
<TextView
style="@style/info_text"
android:layout_width="110dp"
android:layout_height="45dp"
android:layout_gravity="center"
android:text="有效日期:" />
<TextView
style="@style/info_text1"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_gravity="center"
android:text="@{personInfo.joinDate}" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="205dp"
android:layout_marginTop="10dp">
<TextView
style="@style/info_text"
android:layout_width="110dp"
android:layout_height="45dp"
android:layout_gravity="center|top"
android:text="照片:" />
<ImageView
android:id="@+id/select_info_photo"
style="@style/info_text1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:onClick="selectInfoPhoto"
/>
</LinearLayout>
<!-- <Button
style="@style/button_style"
android:layout_width="match_parent"
android:layout_height="55dp"
android:layout_margin="20dp"
android:onClick="selectInfoSubmit"
android:text="回库" />-->
</LinearLayout>
</layout>

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="450dp"
android:background="@drawable/info_text_bg"
android:orientation="vertical">
<ImageView
android:id="@+id/picture_imageview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:padding="12dp" />
<Button
android:id="@+id/confirm_back"
style="@style/button_style2"
android:layout_width="150dp"
android:layout_height="48dp"
android:layout_margin="10dp"
android:layout_gravity="center"
android:text="关闭" />
</LinearLayout>

@ -1,3 +1,3 @@
<resources>
<string name="app_name">RFID轮挡</string>
<string name="app_name">人员管理</string>
</resources>
Loading…
Cancel
Save