diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index b6b0ac0..6ed9ce0 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -24,10 +24,26 @@
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true">
+
+
+
+
+
+
+
+
+
+ android:theme="@style/news" />
-
-
-
-
+
+
+
+
diff --git a/app/src/main/java/com/example/tyre/MyApplication.java b/app/src/main/java/com/example/tyre/MyApplication.java
index b44f771..bfb38c7 100644
--- a/app/src/main/java/com/example/tyre/MyApplication.java
+++ b/app/src/main/java/com/example/tyre/MyApplication.java
@@ -64,6 +64,22 @@ public class MyApplication extends Application {
private void okGoBase() {
// 初始化网络请求框架
+ OkHttpClient.Builder builder = new OkHttpClient.Builder();
+ HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor("OkGo");
+ loggingInterceptor.setPrintLevel(HttpLoggingInterceptor.Level.BODY); // log打印级别,决定了log显示的详细程度
+ loggingInterceptor.setColorLevel(Level.SEVERE); // log颜色级别,决定了log在控制台显示的颜色
+ HttpsUtils.SSLParams sslParams1 =
+ HttpsUtils.getSslSocketFactory(); // 方法一:信任所有证书,不安全有风险
+ builder.sslSocketFactory(sslParams1.sSLSocketFactory, sslParams1.trustManager);
+ builder.addInterceptor(loggingInterceptor);
+ builder.readTimeout(9000, TimeUnit.MILLISECONDS); // 全局的读取超时时间
+ builder.writeTimeout(9000, TimeUnit.MILLISECONDS); // 全局的写入超时时间
+ builder.connectTimeout(9000, TimeUnit.MILLISECONDS); // 全局的连接超时时间
+ builder.cookieJar(new CookieJarImpl(new MemoryCookieStore())); // 使用内存保持cookie,app退出后,cookie消失
+ OkGo.getInstance().init(this).setOkHttpClient(builder.build()) // 建议设置OkHttpClient,不设置将使用默认的
+ .setCacheMode(CacheMode.NO_CACHE) // 全局统一缓存模式,默认不使用缓存,可以不传
+ .setCacheTime(CacheEntity.CACHE_NEVER_EXPIRE) // 全局统一缓存时间,默认永不过期,可以不传
+ .setRetryCount(0);
}
// 添加Toast方法
diff --git a/app/src/main/java/com/example/tyre/maintenance/BaseActivity.java b/app/src/main/java/com/example/tyre/maintenance/BaseActivity.java
index e618394..b41386b 100644
--- a/app/src/main/java/com/example/tyre/maintenance/BaseActivity.java
+++ b/app/src/main/java/com/example/tyre/maintenance/BaseActivity.java
@@ -1,16 +1,45 @@
package com.example.tyre.maintenance;
+import android.annotation.SuppressLint;
+import android.app.ProgressDialog;
+import android.content.Context;
+import android.os.Bundle;
import android.view.View;
+import android.view.Window;
+import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
-import java.text.Format;
+import com.google.gson.Gson;
+
import java.text.SimpleDateFormat;
public class BaseActivity extends AppCompatActivity {
- public SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");
+ public SimpleDateFormat dateFormat ;
+ public ProgressDialog dialog;
+ public Context context;
+ public Gson gson;
+ @SuppressLint("SimpleDateFormat")
+ @Override
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ context = this;
+ dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ gson=new Gson();
+ initDialog();
+
+ }
public void onBackClick(View view) {
finish();
}
+
+ private void initDialog() {
+ dialog = new ProgressDialog(context);
+ dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
+ dialog.setCanceledOnTouchOutside(false);
+ dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
+ dialog.setMessage("loading...");
+ }
+
}
diff --git a/app/src/main/java/com/example/tyre/maintenance/CreateWorkOrderActivity.java b/app/src/main/java/com/example/tyre/maintenance/CreateWorkOrderActivity.java
index eb9f39d..31fc5be 100644
--- a/app/src/main/java/com/example/tyre/maintenance/CreateWorkOrderActivity.java
+++ b/app/src/main/java/com/example/tyre/maintenance/CreateWorkOrderActivity.java
@@ -1,33 +1,98 @@
package com.example.tyre.maintenance;
-import androidx.appcompat.app.AppCompatActivity;
+import android.os.Bundle;
+import android.text.Editable;
+import android.text.TextWatcher;
+import android.util.Log;
+import android.view.View;
+import android.widget.ArrayAdapter;
+import android.widget.ListPopupWindow;
+
import androidx.databinding.DataBindingUtil;
-import android.content.Intent;
-import android.os.Bundle;
-import android.view.View;
-
import com.example.tyre.R;
+import com.example.tyre.databinding.ActivityCreateWorkOrderBinding;
+import com.example.tyre.entity.BaseCar;
import com.example.tyre.maintenance.dialog.TipResultDialog;
+import com.example.tyre.util.MyUrl;
+import com.google.gson.reflect.TypeToken;
+import com.lzy.okgo.OkGo;
+import com.lzy.okgo.callback.StringCallback;
+import com.lzy.okgo.model.Response;
+
+import java.util.ArrayList;
+import java.util.List;
public class CreateWorkOrderActivity extends BaseActivity {
- TipResultDialog dialog;
-
-
+ private TipResultDialog tipDialog;
+ private ActivityCreateWorkOrderBinding binding;
+ private ListPopupWindow lpw;
+ private boolean isSearch = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- DataBindingUtil.setContentView(this,R.layout.activity_create_work_order);
- dialog = new TipResultDialog(this, this);
+ ActivityCreateWorkOrderBinding binding;
+ binding = DataBindingUtil.setContentView(this, R.layout.activity_create_work_order);
+ tipDialog = new TipResultDialog(this, this);
+ binding.createWorkCarNo.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ Log.e("TAG", "onTextChanged:" + count);
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+ Log.e("TAG", "afterTextChanged:" + s);
+ if (isSearch && s.length() >= 4) {
+ // 搜索
+ selectCarNo(s.toString());
+ }
+ isSearch=true;
+ }
+ });
+ lpw = new ListPopupWindow(this);
+ lpw.setAnchorView(binding.createWorkCarNo);
+ lpw.setOnItemClickListener((parent, view, position, id) -> {
+ isSearch=false;
+ binding.createWorkCarNo.setText(parent.getItemAtPosition(position).toString());
+ lpw.dismiss();
+ });
+ }
+
+ private void selectCarNo(String carNo) {
+ OkGo.post(MyUrl.url + "/tyre/car/PdaQueryCarList")
+ .tag(this)
+ .params("carNo", carNo)
+ .execute(new StringCallback() {
+ @Override
+ public void onSuccess(Response response) {
+ String body = response.body();
+ List baseCarList = gson.fromJson(body, new TypeToken>() {
+ }.getType());
+
+ if (baseCarList == null || baseCarList.isEmpty())
+ return;
+
+ List carNoList = new ArrayList<>(baseCarList.size());
+ baseCarList.forEach(car -> carNoList.add(car.getCarNo()));
+ lpw.setAdapter(new ArrayAdapter<>(context, android.R.layout.simple_list_item_1, carNoList));
+ lpw.show();
+ }
+ });
}
public void openSelectCarDialog(View view) {
-
+
}
public void generateWorkOrder(View view) {
- dialog.show(true, "工单生成成功", true);
+ // dialog.show(true, "工单生成成功", true);
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/tyre/maintenance/TireRepairActivity.java b/app/src/main/java/com/example/tyre/maintenance/TireRepairActivity.java
new file mode 100644
index 0000000..cfaade9
--- /dev/null
+++ b/app/src/main/java/com/example/tyre/maintenance/TireRepairActivity.java
@@ -0,0 +1,16 @@
+package com.example.tyre.maintenance;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.os.Bundle;
+
+import com.example.tyre.R;
+
+public class TireRepairActivity extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_tire_repair);
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/tyre/maintenance/TireScrapActivity.java b/app/src/main/java/com/example/tyre/maintenance/TireScrapActivity.java
new file mode 100644
index 0000000..120021e
--- /dev/null
+++ b/app/src/main/java/com/example/tyre/maintenance/TireScrapActivity.java
@@ -0,0 +1,16 @@
+package com.example.tyre.maintenance;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.os.Bundle;
+
+import com.example.tyre.R;
+
+public class TireScrapActivity extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_tire_scrap);
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/tyre/maintenance/WorkExecuteActivity.java b/app/src/main/java/com/example/tyre/maintenance/WorkExecuteActivity.java
new file mode 100644
index 0000000..4121aac
--- /dev/null
+++ b/app/src/main/java/com/example/tyre/maintenance/WorkExecuteActivity.java
@@ -0,0 +1,17 @@
+package com.example.tyre.maintenance;
+
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.databinding.DataBindingUtil;
+
+import android.os.Bundle;
+
+import com.example.tyre.R;
+
+public class WorkExecuteActivity extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ DataBindingUtil. setContentView(this,R.layout.activity_work_execute);
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/tyre/maintenance/WorkOrderActivity.java b/app/src/main/java/com/example/tyre/maintenance/WorkOrderActivity.java
index 4ced489..67ce3db 100644
--- a/app/src/main/java/com/example/tyre/maintenance/WorkOrderActivity.java
+++ b/app/src/main/java/com/example/tyre/maintenance/WorkOrderActivity.java
@@ -28,7 +28,8 @@ public class WorkOrderActivity extends BaseActivity {
binding = DataBindingUtil.setContentView(this, R.layout.activity_work_order);
status = new ObservableBoolean(false);
binding.setStatus(status);
-
+ String title = getIntent().getStringExtra("title");
+ binding.setTitle(title);
// 获取当前日期
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
@@ -49,7 +50,7 @@ public class WorkOrderActivity extends BaseActivity {
listPopupWindow.setAdapter(new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, stringArray));
listPopupWindow.setOnItemClickListener((parent, view, position, id) -> {
binding.workOrderSite.setText(stringArray[position]);
- listPopupWindow.dismiss();`
+ listPopupWindow.dismiss();
});
}
@@ -62,7 +63,7 @@ public class WorkOrderActivity extends BaseActivity {
public void selectOrderSite(View view) {
listPopupWindow.show();
}
-
+ // 创建
public void goCreateWorkOrder(View view) {
startActivity(new Intent(this, CreateWorkOrderActivity.class));
}
diff --git a/app/src/main/java/com/example/tyre/maintenance/been/BaseTyre.java b/app/src/main/java/com/example/tyre/maintenance/been/BaseTyre.java
new file mode 100644
index 0000000..a8f6727
--- /dev/null
+++ b/app/src/main/java/com/example/tyre/maintenance/been/BaseTyre.java
@@ -0,0 +1,187 @@
+package com.example.tyre.maintenance.been;
+
+import androidx.databinding.BaseObservable;
+
+/**
+ * 轮胎基础信息对象 base_tyre
+ *
+ * @author highway
+ * @date 2025-12-16
+ */
+public class BaseTyre extends BaseObservable {
+
+ /**
+ * 主键
+ */
+ private Long tyreId;
+
+ /**
+ * 胎号
+ */
+ private String tyreNo;
+ /**
+ * 自编号
+ */
+ private String selfNo;
+ /**
+ * RFID标签
+ */
+ private String tyreEpc;
+
+ /**
+ * 轮胎品牌
+ */
+ private String tyreBrand;
+
+ /**
+ * 轮胎型号
+ */
+ private String tyreModel;
+
+ /**
+ * 轮胎层级
+ */
+ private String tyreLevel;
+
+ /**
+ * 轮胎花纹
+ */
+ private String tyrePattern;
+ private String patternDepth;
+ private String grooves;
+ /**
+ * 轮胎类别
+ */
+ private String tyreType;
+
+ /**
+ * 所属车队
+ */
+ private String team;
+
+ private String carNo;
+ private String wheelPostion;
+ private Long deptId;
+
+ public String getPatternDepth() {
+ return patternDepth;
+ }
+
+ public void setPatternDepth(String patternDepth) {
+ this.patternDepth = patternDepth;
+ }
+
+ public String getGrooves() {
+ return grooves;
+ }
+
+ public void setGrooves(String grooves) {
+ this.grooves = grooves;
+ }
+
+ public String getSelfNo() {
+ return selfNo;
+ }
+
+ public void setSelfNo(String selfNo) {
+ this.selfNo = selfNo;
+ }
+
+ public Long getDeptId() {
+ return deptId;
+ }
+
+ public void setDeptId(Long deptId) {
+ this.deptId = deptId;
+ }
+
+ public String getCarNo() {
+ return carNo;
+ }
+
+ public void setCarNo(String carNo) {
+ this.carNo = carNo;
+ }
+
+ public String getWheelPostion() {
+ return wheelPostion;
+ }
+
+ public void setWheelPostion(String wheelPostion) {
+ this.wheelPostion = wheelPostion;
+ }
+
+ public Long getTyreId() {
+ return tyreId;
+ }
+
+ public void setTyreId(Long tyreId) {
+ this.tyreId = tyreId;
+ }
+
+ public String getTyreNo() {
+ return tyreNo;
+ }
+
+ public void setTyreNo(String tyreNo) {
+ this.tyreNo = tyreNo;
+ }
+
+ public String getTyreEpc() {
+ return tyreEpc;
+ }
+
+ public void setTyreEpc(String tyreEpc) {
+ this.tyreEpc = tyreEpc;
+ }
+
+ public String getTyreBrand() {
+ return tyreBrand;
+ }
+
+ public void setTyreBrand(String tyreBrand) {
+ this.tyreBrand = tyreBrand;
+ }
+
+ public String getTyreModel() {
+ return tyreModel;
+ }
+
+ public void setTyreModel(String tyreModel) {
+ this.tyreModel = tyreModel;
+ }
+
+ public String getTyreLevel() {
+ return tyreLevel;
+ }
+
+ public void setTyreLevel(String tyreLevel) {
+ this.tyreLevel = tyreLevel;
+ }
+
+ public String getTyrePattern() {
+ return tyrePattern;
+ }
+
+ public void setTyrePattern(String tyrePattern) {
+ this.tyrePattern = tyrePattern;
+ }
+
+ public String getTyreType() {
+ return tyreType;
+ }
+
+ public void setTyreType(String tyreType) {
+ this.tyreType = tyreType;
+ }
+
+ public String getTeam() {
+ return team;
+ }
+
+ public void setTeam(String team) {
+ this.team = team;
+ }
+
+
+}
diff --git a/app/src/main/java/com/example/tyre/maintenance/dialog/SelectCarDialog.java b/app/src/main/java/com/example/tyre/maintenance/dialog/SelectCarDialog.java
new file mode 100644
index 0000000..e02daa2
--- /dev/null
+++ b/app/src/main/java/com/example/tyre/maintenance/dialog/SelectCarDialog.java
@@ -0,0 +1,19 @@
+package com.example.tyre.maintenance.dialog;
+
+import android.app.Dialog;
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+
+import com.google.gson.Gson;
+
+public class SelectCarDialog extends Dialog {
+
+ private Gson gson;
+
+ public SelectCarDialog(@NonNull Context context) {
+ super(context);
+ gson = new Gson();
+
+ }
+}
diff --git a/app/src/main/java/com/example/tyre/util/MyUrl.java b/app/src/main/java/com/example/tyre/util/MyUrl.java
index 23cea64..077d82b 100644
--- a/app/src/main/java/com/example/tyre/util/MyUrl.java
+++ b/app/src/main/java/com/example/tyre/util/MyUrl.java
@@ -6,7 +6,7 @@ package com.example.tyre.util;
* @date: 2019-10-24 13:59
*/
public class MyUrl {
-// public static String url="http://192.168.31.26:8020";
- public static String url="http://www.qdhys.xyz:8020";
+ public static String url="http://192.168.137.1:8020";
+ // public static String url="http://www.qdhys.xyz:8020";
// public static String url="http://10.11.187.77:8020";
}
diff --git a/app/src/main/res/drawable/bg_grey.xml b/app/src/main/res/drawable/bg_grey.xml
new file mode 100644
index 0000000..5d12b05
--- /dev/null
+++ b/app/src/main/res/drawable/bg_grey.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_stroke_blue_1.xml b/app/src/main/res/drawable/bg_stroke_blue_1.xml
new file mode 100644
index 0000000..0cacedc
--- /dev/null
+++ b/app/src/main/res/drawable/bg_stroke_blue_1.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/layout_trae.xml b/app/src/main/res/drawable/layout_trae.xml
new file mode 100644
index 0000000..9aa11f1
--- /dev/null
+++ b/app/src/main/res/drawable/layout_trae.xml
@@ -0,0 +1,31 @@
+
+
+ -
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_create_work_order.xml b/app/src/main/res/layout/activity_create_work_order.xml
index d109c90..001a50b 100644
--- a/app/src/main/res/layout/activity_create_work_order.xml
+++ b/app/src/main/res/layout/activity_create_work_order.xml
@@ -1,92 +1,100 @@
-
+ xmlns:tools="http://schemas.android.com/tools">
-
+
+
+
+ tools:context=".maintenance.CreateWorkOrderActivity">
-
+
+
+ android:layout_margin="12dp"
+ android:background="@drawable/card_bg"
+ android:orientation="vertical"
+ android:padding="12dp">
-
+
-
+
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_tire_repair.xml b/app/src/main/res/layout/activity_tire_repair.xml
new file mode 100644
index 0000000..3e5f69e
--- /dev/null
+++ b/app/src/main/res/layout/activity_tire_repair.xml
@@ -0,0 +1,9 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_tire_scrap.xml b/app/src/main/res/layout/activity_tire_scrap.xml
new file mode 100644
index 0000000..d0ba15b
--- /dev/null
+++ b/app/src/main/res/layout/activity_tire_scrap.xml
@@ -0,0 +1,9 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_work_execute.xml b/app/src/main/res/layout/activity_work_execute.xml
new file mode 100644
index 0000000..f6ec2af
--- /dev/null
+++ b/app/src/main/res/layout/activity_work_execute.xml
@@ -0,0 +1,268 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_trae_info.xml b/app/src/main/res/layout/layout_trae_info.xml
new file mode 100644
index 0000000..6452335
--- /dev/null
+++ b/app/src/main/res/layout/layout_trae_info.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/style2.xml b/app/src/main/res/values/style2.xml
index a851268..695fbb7 100644
--- a/app/src/main/res/values/style2.xml
+++ b/app/src/main/res/values/style2.xml
@@ -17,13 +17,16 @@
- bold
- @color/textColor2
-
+
+
+