提交 b149fbb0 authored 作者: flexiblexd@163.com's avatar flexiblexd@163.com

1.點檢检修

上级 2893e7d8
......@@ -2586,7 +2586,76 @@
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.activity.mes.repair.ServiceFaultActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:label="生成故障单"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.activity.mes.repair.MesFaultSearchActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:label="搜索"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.activity.mes.repair.MesFaultCodeSearchActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:label="搜索"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.activity.mes.work.WorkOrderFacotySearchActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:label="搜索"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.activity.mes.work.WorkOrderFacotySearchActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:label="搜索"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.activity.mes.work.WorkOrderLocationSearchActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:label="搜索"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.activity.mes.work.WorkOrderMachineSearchActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:label="搜索"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.activity.mes.work.WorkOrderNoSearchActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:label="搜索"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="com.wd.workoffice.fileprovider"
......
package com.wd.workoffice.ui.activity.mes.repair;
import android.content.Intent;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import com.alibaba.fastjson.JSON;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseMesBean;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.mesBean.FaultTypeBean;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.adapter.FauliTypeAdapter;
import com.wd.workoffice.util.WorkUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import flexible.xd.android_base.network.rtfhttp.Transformer;
import io.reactivex.disposables.Disposable;
/**
* 故障搜索
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class MesFaultCodeSearchActivity extends WorkToolBarActivity {
@BindView(R.id.et_key)
EditText etKey;
@BindView(R.id.btn_search)
Button btnSearch;
@BindView(R.id.rv_client)
RecyclerView rvClient;
private Map<String, Object> param;
private List<FaultTypeBean.ListBean> clientList;
private FauliTypeAdapter clientAdapter;
private int page = 1;
private Map<String, Object> paramMap;
@Override
protected void initView() {
ButterKnife.bind(this);
rvClient.setLayoutManager(new LinearLayoutManager(this, RecyclerView.VERTICAL, false));
}
@Override
protected void initData() {
clientList = new ArrayList<>();
clientAdapter = new FauliTypeAdapter(R.layout.item_fault_search, clientList);
clientAdapter.bindToRecyclerView(rvClient);
clientAdapter.setEmptyView(R.layout.view_empty_content, rvClient);
param = WorkUtils.pageMesKey();
paramMap = WorkUtils.simpleParam();
paramMap.put("parentId", getIntent().getStringExtra("id"));
param.put("paramMap", paramMap);
param.put("pageNum", 1);
getData();
}
private void getData() {
RtfUtils.getMesRtf().astfailureLinelist("1", WorkUtils.convertMapToBody(param)).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
@Override
public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
@Override
public void onSuccess(BaseMesBean data) {
hideLoading();
if (!data.isSuccess()) {
toast(data.getMessage());
return;
}
List<FaultTypeBean.ListBean> getList = JSON.parseObject(data.getData().toString(), FaultTypeBean.class).getList();
if (page == 1) {
clientList.clear();
clientList.addAll(getList);
clientAdapter.notifyDataSetChanged();
clientAdapter.loadMoreComplete();
} else {
clientAdapter.loadMoreComplete();
clientList.addAll(getList);
clientAdapter.notifyDataSetChanged();
}
if (getList.size() == 0) {
clientAdapter.loadMoreEnd();
} else {
page++;
}
toast("搜索成功");
}
});
}
@Override
protected void initEvent() {
clientAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
@Override
public void onLoadMoreRequested() {
param.put("pageNum", page);
getData();
}
}, rvClient);
clientAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
Intent intent = new Intent();
intent.putExtra("data", JSON.toJSONString(clientList.get(position)));
setResult(10001, intent);
finish();
}
});
}
@Override
protected int layoutId() {
return R.layout.activity_mes_fault_search;
}
@OnClick(R.id.btn_search)
public void onViewClicked() {
paramMap.put("failureCode", etKey.getText().toString());
param.put("pageNum", 1);
page = 1;
getData();
}
}
package com.wd.workoffice.ui.activity.mes.repair;
import android.content.Intent;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import com.alibaba.fastjson.JSON;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseMesBean;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.mesBean.FaultTypeBean;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.adapter.FauliTypeAdapter;
import com.wd.workoffice.util.WorkUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import flexible.xd.android_base.network.rtfhttp.Transformer;
import io.reactivex.disposables.Disposable;
/**
* 故障搜索
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class MesFaultSearchActivity extends WorkToolBarActivity {
@BindView(R.id.et_key)
EditText etKey;
@BindView(R.id.btn_search)
Button btnSearch;
@BindView(R.id.rv_client)
RecyclerView rvClient;
private Map<String, Object> param;
private List<FaultTypeBean.ListBean> clientList;
private FauliTypeAdapter clientAdapter;
private int page = 1;
private Map<String, Object> paramMap;
@Override
protected void initView() {
ButterKnife.bind(this);
rvClient.setLayoutManager(new LinearLayoutManager(this, RecyclerView.VERTICAL, false));
}
@Override
protected void initData() {
clientList = new ArrayList<>();
clientAdapter = new FauliTypeAdapter(R.layout.item_fault_search, clientList);
clientAdapter.bindToRecyclerView(rvClient);
clientAdapter.setEmptyView(R.layout.view_empty_content, rvClient);
param = WorkUtils.pageMesKey();
paramMap = WorkUtils.simpleParam();
param.put("paramMap",paramMap);
param.put("pageNum", 1);
getData();
}
private void getData() {
RtfUtils.getMesRtf().astfailurelist("1", WorkUtils.convertMapToBody(param)).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
@Override
public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
@Override
public void onSuccess(BaseMesBean data) {
hideLoading();
if (!data.isSuccess()) {
toast(data.getMessage());
return;
}
List<FaultTypeBean.ListBean> getList = JSON.parseObject(data.getData().toString(), FaultTypeBean.class).getList();
if (page == 1) {
clientList.clear();
clientList.addAll(getList);
clientAdapter.notifyDataSetChanged();
clientAdapter.loadMoreComplete();
} else {
clientAdapter.loadMoreComplete();
clientList.addAll(getList);
clientAdapter.notifyDataSetChanged();
}
if (getList.size() == 0) {
clientAdapter.loadMoreEnd();
} else {
page++;
}
toast("搜索成功");
}
});
}
@Override
protected void initEvent() {
clientAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
@Override
public void onLoadMoreRequested() {
param.put("pageNum", page);
getData();
}
}, rvClient);
clientAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
Intent intent = new Intent();
intent.putExtra("data", JSON.toJSONString(clientList.get(position)));
setResult(10001, intent);
finish();
}
});
}
@Override
protected int layoutId() {
return R.layout.activity_mes_fault_search;
}
@OnClick(R.id.btn_search)
public void onViewClicked() {
paramMap.put("failureCode", etKey.getText().toString());
param.put("pageNum", 1);
page = 1;
getData();
}
}
......@@ -2,9 +2,11 @@ package com.wd.workoffice.ui.activity.mes.repair;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.alibaba.fastjson.JSON;
import com.bigkoo.pickerview.listener.OnTimeSelectListener;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseMesBean;
......@@ -15,9 +17,12 @@ import com.wd.workoffice.bean.mesBean.ServiceCheckBean;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.adapter.MesServiceCheckDetailAdapter;
import com.wd.workoffice.util.PickTimeUtils;
import com.wd.workoffice.util.WorkUtils;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
......@@ -25,11 +30,12 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import flexible.xd.android_base.network.rtfhttp.Transformer;
import flexible.xd.android_base.utils.TimeUtils;
import io.reactivex.disposables.Disposable;
/**
*
* 点检详情
* author : flexible
* email : lgd19940421@163.com
......@@ -73,6 +79,10 @@ public class ServiceCheckDetailActivity extends WorkToolBarActivity {
TextView tvTrueEndTime;
@BindView(R.id.rv_data)
RecyclerView rvData;
@BindView(R.id.rl_true_star_time)
RelativeLayout rlTrueStarTime;
@BindView(R.id.rl_true_end_time)
RelativeLayout rlTrueEndTime;
private Map<String, Object> param;
private List<MesServiceCheckBillBean.ListBean> dataList;
private MesServiceCheckDetailAdapter dataAdapter;
......@@ -98,6 +108,7 @@ public class ServiceCheckDetailActivity extends WorkToolBarActivity {
param = WorkUtils.pageMesKey();
Map<String, Object> paramMap = WorkUtils.simpleParam();
param.put("paramMap", paramMap);
param.put("length", 15);
paramMap.put("billId", info.getId());
param.put("pageNum", page);
getDetail();
......@@ -114,12 +125,12 @@ public class ServiceCheckDetailActivity extends WorkToolBarActivity {
tvFactory.setText(info.getSiteName());
tvRemark.setText(info.getBillDescription());
tvPlanStarTime.setText(info.getPlanBeginTime());
tvPlanEndTime.setText(info.getPlanEndTime());
tvChangeStarTime.setText(info.getAdjustBeginTime());
tvChangeEndTime.setText(info.getAdjustEndTime());
tvTrueStarTime.setText(info.getActualBeginTime());
tvTrueEndTime.setText(info.getActualEndTime());
tvPlanStarTime.setText(info.getBeginTimePlan());
tvPlanEndTime.setText(info.getEndTimePlan());
tvChangeStarTime.setText(info.getBeginTimeAdjust());
tvChangeEndTime.setText(info.getEndTimeAdjust());
tvTrueStarTime.setText(info.getBeginTimeActual());
tvTrueEndTime.setText(info.getEndTimeActual());
}
private void getDetail() {
......@@ -149,7 +160,7 @@ public class ServiceCheckDetailActivity extends WorkToolBarActivity {
private void getData() {
RtfUtils.getMesRtf().spotCheckBill("00d12c310f4411ea8334fa163e1166bd", WorkUtils.convertMapToBody(param)).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
RtfUtils.getMesRtf().spotCheckBillProject("00d12c310f4411ea8334fa163e1166bd", WorkUtils.convertMapToBody(param)).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
......@@ -196,7 +207,9 @@ public class ServiceCheckDetailActivity extends WorkToolBarActivity {
dataAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter baseQuickAdapter, View view, int i) {
startActivity(ServiceStandardActivity.class,"id",dataList.get(i).getId());
startActivity(ServiceStandardActivity.class, "id", dataList.get(i).getId(),
"info",getIntent().getStringExtra("info"),
"machine",JSON.toJSONString(dataList.get(i)),"type",getIntent().getStringExtra("type"));
}
});
}
......@@ -207,4 +220,95 @@ public class ServiceCheckDetailActivity extends WorkToolBarActivity {
return R.layout.activity_mes_service_check_detail;
}
@OnClick({R.id.tv_refuse, R.id.tv_agree,R.id.rl_true_star_time, R.id.rl_true_end_time})
public void onClick(View view) {
switch (view.getId()) {
case R.id.tv_refuse:
save();
break;
case R.id.tv_agree:
finishRequest();
break;
case R.id.rl_true_star_time:
PickTimeUtils.showPickTime(this, new OnTimeSelectListener() {
@Override
public void onTimeSelect(Date date, View view) {
tvTrueStarTime.setText(TimeUtils.date2String(date, new SimpleDateFormat("hh:mm:ss")));
info.setBeginTimeActual(tvTrueStarTime.getText().toString());
// paramMap.put("createDateTime", TimeUtils.date2String(date, new SimpleDateFormat("yyyy-MM-dd")));
// page = 1;
// param.put("pageNum", page);
// getData();
}
}, false).show();
break;
case R.id.rl_true_end_time:
PickTimeUtils.showPickTime(this, new OnTimeSelectListener() {
@Override
public void onTimeSelect(Date date, View view) {
tvTrueEndTime.setText(TimeUtils.date2String(date, new SimpleDateFormat("hh:mm:ss")));
info.setEndTimeActual(tvTrueEndTime.getText().toString());
// paramMap.put("createDateTime", TimeUtils.date2String(date, new SimpleDateFormat("yyyy-MM-dd")));
// page = 1;
// param.put("pageNum", page);
// getData();
}
}, false).show();
break;
}
}
private void save() {
RtfUtils.getMesRtf().spotCheckBillUpdate("00d12c310f4411ea8334fa163e1166bd",
WorkUtils.convertMapToBody(JSON.parseObject(JSON.toJSONString(info)))).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
@Override
public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
@Override
public void onSuccess(BaseMesBean data) {
hideLoading();
if (!data.isSuccess()) {
toast(data.getMessage());
return;
}
toast("保存成功");
finish();
}
});
}
private void finishRequest() {
info.setStatus(3);
RtfUtils.getMesRtf().spotCheckBillUpdate("00d12c310f4411ea8334fa163e1166bd",
WorkUtils.convertMapToBody(JSON.parseObject(JSON.toJSONString(info)))).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
@Override
public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
@Override
public void onSuccess(BaseMesBean data) {
hideLoading();
if (!data.isSuccess()) {
toast(data.getMessage());
info.setStatus(null);
return;
}
toast("保存成功");
finish();
}
});
}
}
package com.wd.workoffice.ui.activity.mes.repair;
import android.os.Bundle;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.alibaba.fastjson.JSON;
import com.bigkoo.pickerview.listener.OnTimeSelectListener;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseMesBean;
......@@ -15,9 +18,12 @@ import com.wd.workoffice.bean.mesBean.ServiceBean;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.adapter.MesServiceDetailAdapter;
import com.wd.workoffice.util.PickTimeUtils;
import com.wd.workoffice.util.WorkUtils;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
......@@ -25,7 +31,9 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import flexible.xd.android_base.network.rtfhttp.Transformer;
import flexible.xd.android_base.utils.TimeUtils;
import io.reactivex.disposables.Disposable;
/**
......@@ -71,6 +79,12 @@ public class ServiceDetailActivity extends WorkToolBarActivity {
TextView tvTrueEndTime;
@BindView(R.id.rv_data)
RecyclerView rvData;
@BindView(R.id.rl_true_star_time)
RelativeLayout rlTrueStarTime;
@BindView(R.id.rl_true_end_time)
RelativeLayout rlTrueEndTime;
@BindView(R.id.tv_close)
TextView tvClose;
private Map<String, Object> param;
private List<MesServiceBillBean.ListBean> dataList;
private MesServiceDetailAdapter dataAdapter;
......@@ -101,8 +115,13 @@ public class ServiceDetailActivity extends WorkToolBarActivity {
}
private void changeView() {
// 2待执行 3 已完成
tvNo.setText(info.getInspoCode());
tvStatus.setText(info.getStatus() == 1 ? "未维修" : "已检修");
tvClose.setText(info.getStopWork() == 1 ? "是" : "否");
tvStatus.setText(info.getStatus() == 3 ? "已完成" : "待执行");
if (info.getStatus() == 3) {
llBottom.setVisibility(View.GONE);
}
tvPerson.setText(info.getPrincipalName());
tvPlan.setText(info.getPlanDesc());
tvLocation.setText(info.getLocationName());
......@@ -110,12 +129,13 @@ public class ServiceDetailActivity extends WorkToolBarActivity {
tvFactory.setText(info.getSiteDesc());
tvRemark.setText(info.getDescription());
// tvPlanStarTime.setText(info.getPlanBeginTime());
// tvPlanEndTime.setText(info.getPlanEndTime());
tvChangeStarTime.setText(info.getAdjustBeginTime());
tvChangeEndTime.setText(info.getAdjustEndTime());
// tvTrueStarTime.setText(info.getActualBeginTime());
// tvTrueEndTime.setText(info.getActualEndTime());
tvPlanStarTime.setText(info.getPlanStartDateTime());
tvPlanEndTime.setText(info.getPlanEndDateTime());
// tvChangeStarTime.setText(info.getAdjustBeginTime());
// tvChangeEndTime.setText(info.getAdjustEndTime());
tvTrueStarTime.setText(info.getActualStartDateTime());
tvTrueEndTime.setText(info.getActualEndDateTime());
}
......@@ -156,6 +176,28 @@ public class ServiceDetailActivity extends WorkToolBarActivity {
}
}
});
RtfUtils.getMesRtf().modinspoDetail( info.getId(),"1").compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
@Override
public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
@Override
public void onSuccess(BaseMesBean data) {
hideLoading();
if (!data.isSuccess()) {
toast(data.getMessage());
return;
}
ServiceBean.ListBean dataBean = JSON.parseObject(data.getData().toString(), ServiceBean.ListBean.class);
info.setAssetId(dataBean.getAssetId());
}
});
}
@Override
......@@ -167,7 +209,9 @@ public class ServiceDetailActivity extends WorkToolBarActivity {
dataAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter baseQuickAdapter, View view, int i) {
startActivity(ServiceStandardActivity.class, "id", dataList.get(i).getId(),"type","1");
startActivity(ServiceStandardActivity.class, "id", dataList.get(i).getId(),
"info", JSON.toJSONString(info),
"machine", JSON.toJSONString(dataList.get(i)), "type", "1");
}
});
}
......@@ -178,4 +222,108 @@ public class ServiceDetailActivity extends WorkToolBarActivity {
return R.layout.activity_mes_service_detail;
}
@OnClick({R.id.tv_refuse, R.id.tv_agree, R.id.rl_true_star_time, R.id.rl_true_end_time})
public void onClick(View view) {
switch (view.getId()) {
case R.id.tv_refuse:
save();
break;
case R.id.tv_agree:
finishRequest();
break;
case R.id.rl_true_star_time:
PickTimeUtils.showPickTime(this, new OnTimeSelectListener() {
@Override
public void onTimeSelect(Date date, View view) {
tvTrueStarTime.setText(TimeUtils.date2String(date, new SimpleDateFormat("hh:mm:ss")));
info.setActualStartDateTime(tvTrueStarTime.getText().toString());
// paramMap.put("createDateTime", TimeUtils.date2String(date, new SimpleDateFormat("yyyy-MM-dd")));
// page = 1;
// param.put("pageNum", page);
// getData();
}
}, false).show();
break;
case R.id.rl_true_end_time:
PickTimeUtils.showPickTime(this, new OnTimeSelectListener() {
@Override
public void onTimeSelect(Date date, View view) {
tvTrueEndTime.setText(TimeUtils.date2String(date, new SimpleDateFormat("hh:mm:ss")));
info.setActualEndDateTime(tvTrueEndTime.getText().toString());
// paramMap.put("createDateTime", TimeUtils.date2String(date, new SimpleDateFormat("yyyy-MM-dd")));
// page = 1;
// param.put("pageNum", page);
// getData();
}
}, false).show();
break;
}
}
private void save() {
Map<String, Object> param = WorkUtils.simpleParam();
param.put("id", info.getId());
param.put("inspoCode", info.getInspoCode());
param.put("status", 2);
param.put("actualEndDateTime", info.getActualEndDateTime());
param.put("actualStartDateTime", info.getActualStartDateTime());
RtfUtils.getMesRtf().modinspoprojectUpdate("00d12c310f4411ea8334fa163e1166bd",
WorkUtils.convertMapToBody(param)).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
@Override
public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
@Override
public void onSuccess(BaseMesBean data) {
hideLoading();
if (!data.isSuccess()) {
toast(data.getMessage());
return;
}
toast("保存成功");
finish();
}
});
}
private void finishRequest() {
Map<String, Object> param = WorkUtils.simpleParam();
param.put("status", "3");
param.put("id", info.getId());
param.put("inspoCode", info.getInspoCode());
param.put("actualEndDateTime", info.getActualEndDateTime());
param.put("actualStartDateTime", info.getActualStartDateTime());
RtfUtils.getMesRtf().modinspoprojectUpdate("00d12c310f4411ea8334fa163e1166bd",
WorkUtils.convertMapToBody(param)).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
@Override
public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
@Override
public void onSuccess(BaseMesBean data) {
hideLoading();
if (!data.isSuccess()) {
toast(data.getMessage());
return;
}
toast("保存成功");
finish();
}
});
}
}
package com.wd.workoffice.ui.activity.mes.repair;
import android.Manifest;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.net.Uri;
import android.text.TextUtils;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.alibaba.fastjson.JSON;
import com.bigkoo.pickerview.listener.OnTimeSelectListener;
import com.blankj.utilcode.util.UriUtils;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
import com.tbruyelle.rxpermissions2.RxPermissions;
import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseMesBean;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.mesBean.FaultTypeBean;
import com.wd.workoffice.bean.mesBean.ImageBean;
import com.wd.workoffice.bean.mesBean.MesServiceCheckBillBean;
import com.wd.workoffice.bean.mesBean.ServiceBean;
import com.wd.workoffice.bean.mesBean.ServiceCheckBean;
import com.wd.workoffice.bean.mesBean.ServiceStandardBean;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.adapter.ImgAddAdapter;
import com.wd.workoffice.util.DialogUtils;
import com.wd.workoffice.util.Glide4Engine;
import com.wd.workoffice.util.PickTimeUtils;
import com.wd.workoffice.util.WorkUtils;
import com.zhihu.matisse.Matisse;
import com.zhihu.matisse.MimeType;
import com.zhihu.matisse.internal.entity.CaptureStrategy;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import flexible.xd.android_base.network.rtfhttp.Transformer;
import flexible.xd.android_base.utils.FileUtils;
import flexible.xd.android_base.utils.TimeUtils;
import io.reactivex.Observable;
import io.reactivex.disposables.Disposable;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
/**
* 生成故障单
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class ServiceFaultActivity extends WorkToolBarActivity {
@BindView(R.id.tv_refuse)
TextView tvRefuse;
@BindView(R.id.tv_agree)
TextView tvAgree;
@BindView(R.id.ll_bottom)
LinearLayout llBottom;
@BindView(R.id.tv_no)
TextView tvNo;
@BindView(R.id.tv_name)
EditText tvName;
@BindView(R.id.tv_level)
TextView tvLevel;
@BindView(R.id.ll_level)
LinearLayout llLevel;
@BindView(R.id.tv_report_name)
TextView tvReportName;
@BindView(R.id.tv_location)
TextView tvLocation;
@BindView(R.id.tv_status)
TextView tvStatus;
@BindView(R.id.tv_report_time)
TextView tvReportTime;
@BindView(R.id.tv_machine)
TextView tvMachine;
@BindView(R.id.tv_machine_location)
TextView tvMachineLocation;
@BindView(R.id.tv_fault_type)
TextView tvFaultType;
@BindView(R.id.ll_fault_type)
LinearLayout llFaultType;
@BindView(R.id.tv_fault_code)
TextView tvFaultCode;
@BindView(R.id.ll_fault_code)
LinearLayout llFaultCode;
@BindView(R.id.tv_stop_time)
TextView tvStopTime;
@BindView(R.id.tv_recover_time)
TextView tvRecoverTime;
@BindView(R.id.tv_total_time)
TextView tvTotalTime;
@BindView(R.id.tv_remark)
EditText tvRemark;
@BindView(R.id.tv_desc)
EditText tvDesc;
@BindView(R.id.rv_data)
RecyclerView rvData;
private ServiceStandardBean.ListBean info;
private String[] levelList = new String[]{"一级", "二级", "三级", "四级"};
private int chooseStatus;
private ServiceCheckBean.ListBean data;
private MesServiceCheckBillBean.ListBean machine;
private QMUIDialog.MenuDialogBuilder levelDialog;
private int chooseLevel;
private FaultTypeBean.ListBean chooseFaultTypeBean;
private FaultTypeBean.ListBean chooseFaultCode;
private Map<String, Object> param;
private Map<Integer, Object> annexMap = new HashMap<>();
private List<ImageBean> imgList;
private ImgAddAdapter imgAddAdapter;
private ServiceBean.ListBean dataService;
@Override
protected void initView() {
ButterKnife.bind(this);
levelDialog = DialogUtils.listDialog(this);
levelDialog.addItems(levelList, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
tvLevel.setText(levelList[which]);
chooseLevel = which + 1;
}
});
rvData.setLayoutManager(new GridLayoutManager(this, 3, RecyclerView.VERTICAL, false));
}
@Override
protected void initData() {
getCode();
info = JSON.parseObject(getIntent().getStringExtra("info"), ServiceStandardBean.ListBean.class);//第三,点检标准
if (TextUtils.isEmpty(getIntent().getStringExtra("type"))) {
data = JSON.parseObject(getIntent().getStringExtra("data"), ServiceCheckBean.ListBean.class);//最外层
} else {
//最外层
dataService = JSON.parseObject(getIntent().getStringExtra("data"), ServiceBean.ListBean.class);
}
machine = JSON.parseObject(getIntent().getStringExtra("machine"), MesServiceCheckBillBean.ListBean.class);//第二级页面
changeView();
imgList = new ArrayList<>();
ImageBean imageBean = new ImageBean();
imageBean.setUri(null);
imgList.add(imageBean);
imgAddAdapter = new ImgAddAdapter(R.layout.item_mes_ticket_img, imgList);
imgAddAdapter.bindToRecyclerView(rvData);
}
private void getCode() {
RtfUtils.getMesRtf().getNextCode("1").compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
@Override
public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
@Override
public void onSuccess(BaseMesBean data) {
hideLoading();
if (!data.isSuccess()) {
toast(data.getMessage());
return;
}
tvNo.setText(data.getData().toString());
}
});
}
private void changeView() {
// tvLocation.setText(data.getSiteName());
if (TextUtils.isEmpty(getIntent().getStringExtra("type"))) {
tvMachine.setText(machine.getAssetName());
tvMachineLocation.setText(machine.getLocationName());
tvLocation.setText(data.getSiteName());
} else {
//最外层
// dataService = JSON.parseObject(getIntent().getStringExtra("data"), ServiceBean.ListBean.class);
tvMachine.setText(dataService.getAssetDesc());
tvMachineLocation.setText(dataService.getLocationName());
tvLocation.setText(dataService.getSiteDesc());
}
// if (TextUtils.isEmpty(getIntent().getStringExtra("type"))) {
// tvDesc.setText(info.getDescription());
// tvFailureCode.setText(info.getFailureCode());
// tvMeasurementUnit.setText(info.getMeasurementUnit());
// tvNumA.setText(MathUtils.converData(info.getNumA(), 3));
// tvNumB.setText(MathUtils.converData(info.getNumB(), 3));
// tvNumC.setText(MathUtils.converData(info.getNumC(), 3));
// tvProcessStandard.setText(info.getProcessStandard());
// tvStatus.setText(TextUtils.equals(info.getStatus(), "1") ? "异常" : "正常");//1 异常 0正常
// tvRemark.setText(info.getRemarks());
// } else {
// tvDesc.setText(info.getInspoProDescription());
// tvFailureCode.setText(info.getReportCode());
// tvMeasurementUnit.setText(info.getUint());
// tvNumA.setText(MathUtils.converData(info.getNumA(), 3));
// tvNumB.setText(MathUtils.converData(info.getNumB(), 3));
// tvNumC.setText(MathUtils.converData(info.getNumC(), 3));
// tvProcessStandard.setText(info.getProcessStandard());
// tvStatus.setText(TextUtils.equals(info.getStatus(), "1") ? "异常" : "正常");//1 异常 0正常
// tvRemark.setText(info.getRemarks());
// }
}
@Override
protected void initEvent() {
imgAddAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
@Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
imgList.remove(position);
imgAddAdapter.notifyDataSetChanged();
}
});
imgAddAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
if (imgList.size() > 3) {
toast("最大上传3张");
return;
}
if (position == imgList.size() - 1) {
addImg();
}
}
});
}
@Override
protected int layoutId() {
return R.layout.activity_mes_service_fault;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
if (TextUtils.equals(getIntent().getStringExtra("status"), "1")) {
return super.onCreateOptionsMenu(menu);
} else {
getMenuInflater().inflate(R.menu.menu_submit, menu);
}
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.save:
save();
break;
}
return super.onOptionsItemSelected(item);
}
private void save() {
Map<String, Object> param = WorkUtils.simpleParam();
param.put("phenomenonDescription", tvRemark.getText().toString());
param.put("description", tvName.getText().toString());
param.put("problemCode", chooseFaultCode.getFailureCode());
param.put("problemDesc", chooseFaultCode.getDescription());
param.put("problemId", chooseFaultCode.getId());
// param.put("projectId", info.getProjectId());
param.put("assetStopDateTime", tvStopTime.getText().toString());
param.put("culevel", chooseLevel);
param.put("remark", tvRemark.getText().toString());
param.put("status", 1);
param.put("reportCode", tvNo.getText().toString());
param.put("failureId", chooseFaultTypeBean.getId());
param.put("failureDesc", chooseFaultTypeBean.getDescription());
param.put("failureCode", chooseFaultTypeBean.getCode());
Observable<BaseMesBean> baseMesBeanObservable ;
if (TextUtils.isEmpty(getIntent().getStringExtra("type"))) {
param.put("siteId", data.getSiteId());
param.put("siteDesc", data.getSiteName());
param.put("assetId", machine.getAssetId());
param.put("assetDesc", machine.getAssetName());
param.put("assetCode", machine.getAssetCode());
param.put("locaCode", machine.getLocationId());
param.put("locaDesc", machine.getLocationName());
param.put("locationId", data.getLocationId());
baseMesBeanObservable = RtfUtils.getMesRtf().spotCheckBillStandard("00d12c310f4411ea8334fa163e1166bd", 3,
WorkUtils.convertMapToBody(param));
param.put("failureCode", chooseFaultTypeBean.getCode());
} else {
//最外层
param.put("siteId", dataService.getSiteId());
param.put("siteDesc", dataService.getSiteDesc());
// param.put("assetCode", dataService.geta());
param.put("assetDesc", dataService.getAssetDesc());
param.put("assetCode", dataService.getAssetCode());
param.put("assetId", dataService.getAssetId());
param.put("locaCode", dataService.getLocationCode());
param.put("locaDesc", dataService.getLocationName());
param.put("locationId", dataService.getLocationId());
baseMesBeanObservable = RtfUtils.getMesRtf().opmreporterror("00d12c310f4411ea8334fa163e1166bd", 3,
WorkUtils.convertMapToBody(param));
param.put("reportCode", chooseFaultTypeBean.getCode());
}
baseMesBeanObservable.compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
@Override
public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
@Override
public void onSuccess(BaseMesBean data) {
hideLoading();
if (!data.isSuccess()) {
toast(data.getMessage());
return;
}
toast("保存成功");
Intent intent = new Intent();
intent.putExtra("data", tvNo.getText().toString());
setResult(10001, intent);
finish();
}
});
}
@OnClick({R.id.ll_time, R.id.ll_level, R.id.ll_fault_type, R.id.ll_fault_code})
public void onClick(View view) {
switch (view.getId()) {
case R.id.ll_time:
PickTimeUtils.showPick(this, new OnTimeSelectListener() {
@Override
public void onTimeSelect(Date date, View v) {
String time = TimeUtils.date2String(date, new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"));
tvStopTime.setText(time);
}
}).show();
break;
case R.id.ll_level:
levelDialog.show();
break;
case R.id.ll_fault_type:
startActivityForResult(MesFaultSearchActivity.class, 10001);
break;
case R.id.ll_fault_code:
if (null == chooseFaultTypeBean) {
toast("请先选择故障类");
return;
}
startActivityForResult(MesFaultCodeSearchActivity.class, 10002,
"id", chooseFaultTypeBean.getId());
break;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case 10001:
if (requestCode == 10001 && resultCode == 10001) {
chooseFaultTypeBean = JSON.parseObject(data.getStringExtra("data"), FaultTypeBean.ListBean.class);
tvFaultType.setText(chooseFaultTypeBean.getFailureCode());
}
break;
case 10002:
if (resultCode == 10001) {
chooseFaultCode = JSON.parseObject(data.getStringExtra("data"), FaultTypeBean.ListBean.class);
tvFaultCode.setText(chooseFaultCode.getFailureCode());
}
break;
case 10003:
if (resultCode == RESULT_OK) {
List<Uri> dataUri = Matisse.obtainResult(data);
for (Uri uri : dataUri) {
upload(uri);
}
}
break;
}
}
private void addImg() {
RxPermissions rxPermissions = new RxPermissions(this);
rxPermissions
.request(Manifest.permission.CAMERA,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> {
if (granted) {
// All requested permissions are granted
Matisse.from(ServiceFaultActivity.this)
.choose(MimeType.ofAll())
.countable(true)
.maxSelectable(3).capture(true).
captureStrategy(new CaptureStrategy(true, "com.wd.workoffice.fileprovider"))
// .addFilter(new GifSizeFilter(320, 320, 5 * Filter.K * Filter.K))
// .gridExpectedSize(getResources().getDimensionPixelSize(R.dimen.grid_expected_size))
.restrictOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED)
.thumbnailScale(0.85f)
.imageEngine(new Glide4Engine())
.forResult(10003);
} else {
// At least one permission is denied
toast("您需要开启拍照、存储权限!");
}
});
}
private void upload(Uri uri) {
showLoading();
// File file = WorkUtils.uriToFile(uri, this);
File file;
if (uri instanceof Uri) {
// file = WorkUtils.uriToFile((Uri) uri, this);
file = UriUtils.uri2File((Uri) uri);
} else {
file = new File(uri.toString());
}
File uploadFile = WorkUtils.getSmallImg(file, this);
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), uploadFile);
RtfUtils.getMesRtf().
upload(MultipartBody.Part.createFormData("file", file.getName(), requestFile)).
compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
@Override
public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
@Override
public void onSuccess(BaseMesBean data) {
hideLoading();
if (!data.isSuccess()) {
toast(data.getMessage());
return;
}
if (imgList.size() < 10) {
toast("上传成功");
ImageBean imageBean = new ImageBean();
imageBean.setPath(data.getData().toString());
imageBean.setName(uploadFile.getName());
imageBean.setSize(FileUtils.getFileLength(uploadFile));
imageBean.setType(data.getData().toString().split("\\.")[1]);
imgList.add(imgList.size() - 1, imageBean);
imgAddAdapter.notifyDataSetChanged();
imageBean.setUri((Uri) uri);
}
}
});
}
}
......@@ -12,12 +12,16 @@ import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseMesBean;
import com.wd.workoffice.app.Config;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.event.ChangeStatus;
import com.wd.workoffice.bean.mesBean.ServiceStandardBean;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.adapter.MesServiceStandardAdapter;
import com.wd.workoffice.util.WorkUtils;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
......@@ -186,7 +190,11 @@ public class ServiceStandardActivity extends WorkToolBarActivity {
@Override
public void onItemClick(BaseQuickAdapter baseQuickAdapter, View view, int i) {
startActivity(ServiceStandardDetailActivity.class, "info", JSON.toJSONString(dataList.get(i)),
"type", getIntent().getStringExtra("type"));
"type", getIntent().getStringExtra("type"),
"data", getIntent().getStringExtra("info"),
"machine", getIntent().getStringExtra("machine")
,"type",getIntent().getStringExtra("type")
);
}
});
}
......@@ -196,4 +204,26 @@ public class ServiceStandardActivity extends WorkToolBarActivity {
return R.layout.activity_pro_price;
}
@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}
@Override
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
}
@Subscribe
public void refresh(ChangeStatus event) {
page = 1;
param.put("pageNum", 1);
if (!TextUtils.isEmpty(getIntent().getStringExtra("type"))) {//维修
getServiceData();
} else {
getData();
}
}
}
package com.wd.workoffice.ui.activity.mes.repair;
import android.content.DialogInterface;
import android.content.Intent;
import android.text.TextUtils;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.alibaba.fastjson.JSON;
import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseMesBean;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.event.ChangeStatus;
import com.wd.workoffice.bean.mesBean.ServiceBean;
import com.wd.workoffice.bean.mesBean.ServiceCheckBean;
import com.wd.workoffice.bean.mesBean.ServiceStandardBean;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.util.DialogUtils;
import com.wd.workoffice.util.MathUtils;
import com.wd.workoffice.util.WorkUtils;
import org.greenrobot.eventbus.EventBus;
import androidx.annotation.Nullable;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import flexible.xd.android_base.network.rtfhttp.Transformer;
import io.reactivex.disposables.Disposable;
/**
* author : flexible
......@@ -37,7 +59,17 @@ public class ServiceStandardDetailActivity extends WorkToolBarActivity {
TextView tvDesc;
@BindView(R.id.tv_remark)
TextView tvRemark;
@BindView(R.id.ll_status)
LinearLayout llStatus;
@BindView(R.id.tv_error)
TextView tvError;
@BindView(R.id.ll_bottom)
LinearLayout llBottom;
private ServiceStandardBean.ListBean info;
private QMUIDialog.MenuDialogBuilder statusDialog;
private String[] statusList = new String[]{"正常", "异常"};
private Integer[] statusValue = new Integer[]{0, 1};//0正常 1异常
private int chooseStatus;
@Override
protected void initView() {
......@@ -48,29 +80,76 @@ public class ServiceStandardDetailActivity extends WorkToolBarActivity {
protected void initData() {
info = JSON.parseObject(getIntent().getStringExtra("info"), ServiceStandardBean.ListBean.class);
changeView();
statusDialog = DialogUtils.listDialog(this);
statusDialog.addItems(statusList, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
tvStatus.setText(statusList[which]);
chooseStatus = statusValue[which];
if (canModify()) {
if (statusValue[which] == 1) {
llBottom.setVisibility(View.VISIBLE);
QMUIDialog.MessageDialogBuilder ok = DialogUtils.okAndCancelDialog(ServiceStandardDetailActivity.this);
ok.setMessage("是否生成故障单?").addAction("取消", new QMUIDialogAction.ActionListener() {
@Override
public void onClick(QMUIDialog dialog, int index) {
dialog.dismiss();
}
}).addAction("确定", new QMUIDialogAction.ActionListener() {
@Override
public void onClick(QMUIDialog dialog, int index) {
dialog.dismiss();
startActivityForResult(ServiceFaultActivity.class, 10001,
"data", getIntent().getStringExtra("data"),
"info", getIntent().getStringExtra("info"),
"machine", getIntent().getStringExtra("machine"),
"type", getIntent().getStringExtra("type"));
}
}).show();
} else {
llBottom.setVisibility(View.GONE);
}
}
}
});
}
private void changeView() {
if (TextUtils.isEmpty(getIntent().getStringExtra("type"))){
if (TextUtils.isEmpty(getIntent().getStringExtra("type"))) {
tvDesc.setText(info.getDescription());
tvFailureCode.setText(info.getFailureCode());
tvMeasurementUnit.setText(info.getMeasurementUnit());
tvNumA.setText(MathUtils.converData(info.getNumA(),3));
tvNumB.setText(MathUtils.converData(info.getNumB(),3));
tvNumC.setText(MathUtils.converData(info.getNumC(),3));
tvNumA.setText(MathUtils.converData(info.getNumA(), 3));
tvNumB.setText(MathUtils.converData(info.getNumB(), 3));
tvNumC.setText(MathUtils.converData(info.getNumC(), 3));
tvProcessStandard.setText(info.getProcessStandard());
tvStatus.setText(TextUtils.equals(info.getStatus(), "1") ? "异常" : "正常");//1 异常 0正常
if (canModify()) {
if (TextUtils.equals(info.getStatus(), "1")) {
llBottom.setVisibility(View.VISIBLE);
} else {
llBottom.setVisibility(View.GONE);
}
}
tvRemark.setText(info.getRemarks());
}else {
} else {
tvDesc.setText(info.getInspoProDescription());
tvFailureCode.setText(info.getReportCode());
tvMeasurementUnit.setText(info.getUint());
tvNumA.setText(MathUtils.converData(info.getNumA(),3));
tvNumB.setText(MathUtils.converData(info.getNumB(),3));
tvNumC.setText(MathUtils.converData(info.getNumC(),3));
tvNumA.setText(MathUtils.converData(info.getNumA(), 3));
tvNumB.setText(MathUtils.converData(info.getNumB(), 3));
tvNumC.setText(MathUtils.converData(info.getNumC(), 3));
tvProcessStandard.setText(info.getProcessStandard());
tvStatus.setText(TextUtils.equals(info.getStatus(), "1") ? "异常" : "正常");//1 异常 0正常
if (TextUtils.equals(info.getStatus(), "1")) {
llBottom.setVisibility(View.VISIBLE);
} else {
llBottom.setVisibility(View.GONE);
}
tvRemark.setText(info.getRemarks());
}
}
......@@ -85,4 +164,112 @@ public class ServiceStandardDetailActivity extends WorkToolBarActivity {
protected int layoutId() {
return R.layout.activity_mes_service_standard_detail;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
if (canModify()) {
getMenuInflater().inflate(R.menu.menu_save, menu);
} else {
return super.onCreateOptionsMenu(menu);
}
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.save:
save();
break;
}
return super.onOptionsItemSelected(item);
}
private void save() {
// Map<String, Object> param = WorkUtils.simpleParam();
// param.put("remarks", tvRemark.getText().toString());
// param.put("status", chooseStatus);
// param.put("id", info.getId());
// param.put("projectId", info.getProjectId());
// param.put("numA", "");
// param.put("numB", "");
// param.put("numC", "");
info.setStatus(chooseStatus + "");
info.setRemarks(tvRemark.getText().toString());
info.setFailureCode(tvFailureCode.getText().toString());
// WorkUtils.convertMapToBody(JSON.parseObject(JSON.toJSONString(info))))
RtfUtils.getMesRtf().spotCheckBillStandard("00d12c310f4411ea8334fa163e1166bd", 3,
WorkUtils.convertMapToBody(JSON.parseObject(JSON.toJSONString(info)))).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
@Override
public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
@Override
public void onSuccess(BaseMesBean data) {
hideLoading();
if (!data.isSuccess()) {
toast(data.getMessage());
return;
}
EventBus.getDefault().post(new ChangeStatus());
toast("保存成功");
finish();
}
});
}
@OnClick({R.id.tv_error, R.id.ll_status})
public void onClick(View view) {
switch (view.getId()) {
case R.id.tv_error:
startActivityForResult(ServiceFaultActivity.class, 10001,
"data", getIntent().getStringExtra("data"),
"info", getIntent().getStringExtra("info"),
"machine", getIntent().getStringExtra("machine"),
"type", getIntent().getStringExtra("type"));
break;
case R.id.ll_status:
if (canModify()) {
statusDialog.show();
}
break;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case 10001:
if (requestCode == 10001 && resultCode == 10001) {
tvFailureCode.setText(data.getStringExtra("data"));
llBottom.setVisibility(View.GONE);
}
break;
}
}
private boolean canModify() {
if (TextUtils.isEmpty(getIntent().getStringExtra("type"))) {//点检
ServiceCheckBean.ListBean data = JSON.parseObject(getIntent().getStringExtra("data"), ServiceCheckBean.ListBean.class);//最外层
if (data.getStatus() == 3) {
return false;
} else {
return true;
}
} else {
ServiceBean.ListBean data = JSON.parseObject(getIntent().getStringExtra("data"), ServiceBean.ListBean.class);//最外层
if (data.getStatus() == 3) {
return false;
} else {
return true;
}
}
}
}
......@@ -97,7 +97,7 @@ public class MesCheckFragment extends WorkBaseFg {
}
private void getData() {
RtfUtils.getMesRtf().spotCheckBillList("1", WorkUtils.convertMapToBody(param)).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
RtfUtils.getMesRtf().spotCheckBillListForApp("1", WorkUtils.convertMapToBody(param)).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
......@@ -121,6 +121,7 @@ public class MesCheckFragment extends WorkBaseFg {
dataList.addAll(getList);
dataAdapter.notifyDataSetChanged();
dataAdapter.loadMoreComplete();
srlRefresh.finishRefresh();
} else {
dataAdapter.loadMoreComplete();
dataList.addAll(getList);
......
......@@ -98,7 +98,7 @@ public class MesServiceFragment extends WorkBaseFg {
}
private void getData() {
RtfUtils.getMesRtf().modinspoList("1", WorkUtils.convertMapToBody(param)).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
RtfUtils.getMesRtf().modinspoListForApp("1", WorkUtils.convertMapToBody(param)).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
......@@ -122,6 +122,7 @@ public class MesServiceFragment extends WorkBaseFg {
dataList.addAll(getList);
dataAdapter.notifyDataSetChanged();
dataAdapter.loadMoreComplete();
srlRefresh.finishRefresh();
} else {
dataAdapter.loadMoreComplete();
dataList.addAll(getList);
......@@ -150,7 +151,7 @@ public class MesServiceFragment extends WorkBaseFg {
dataAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
startActivity(ServiceDetailActivity.class,"info",JSON.toJSONString(dataList.get(position)));
startActivity(ServiceDetailActivity.class, "info", JSON.toJSONString(dataList.get(position)));
}
});
}
......@@ -165,12 +166,12 @@ public class MesServiceFragment extends WorkBaseFg {
PickTimeUtils.showPickThree(getActivity(), new OnTimeSelectListener() {
@Override
public void onTimeSelect(Date date, View view) {
tvTime.setText(TimeUtils.date2String(date,new SimpleDateFormat("yyyy-MM-dd")));
paramMap.put("createDateTime",TimeUtils.date2String(date,new SimpleDateFormat("yyyy-MM-dd")));
tvTime.setText(TimeUtils.date2String(date, new SimpleDateFormat("yyyy-MM-dd")));
paramMap.put("createDateTime", TimeUtils.date2String(date, new SimpleDateFormat("yyyy-MM-dd")));
page = 1;
param.put("pageNum", page);
getData();
}
},false).show();
}, false).show();
}
}
......@@ -9,19 +9,19 @@
android:layout_width="match_parent"
android:layout_height="60mm"
android:layout_alignParentBottom="true"
android:gravity="center_vertical|right"
android:gravity="center"
android:orientation="horizontal"
android:visibility="gone">
>
<TextView
android:id="@+id/tv_refuse"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10mm"
android:background="@drawable/shape_red_btn"
android:background="@color/blue_btn"
android:paddingHorizontal="20mm"
android:paddingVertical="5mm"
android:text="驳回"
android:text="保存"
android:textColor="@color/white" />
<TextView
......@@ -29,10 +29,10 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10mm"
android:background="@drawable/shape_green_btn"
android:background="@color/blue_btn"
android:paddingHorizontal="20mm"
android:paddingVertical="5mm"
android:text="同意"
android:text="完成"
android:textColor="@color/white" />
</LinearLayout>
......@@ -383,6 +383,7 @@
<View style="@style/dividerX" />
<RelativeLayout
android:id="@+id/rl_true_star_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
......@@ -409,6 +410,7 @@
<View style="@style/dividerX" />
<RelativeLayout
android:id="@+id/rl_true_end_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
......
......@@ -9,19 +9,18 @@
android:layout_width="match_parent"
android:layout_height="60mm"
android:layout_alignParentBottom="true"
android:gravity="center_vertical|right"
android:orientation="horizontal"
android:visibility="gone">
android:gravity="center"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_refuse"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10mm"
android:background="@drawable/shape_red_btn"
android:background="@color/blue_btn"
android:paddingHorizontal="20mm"
android:paddingVertical="5mm"
android:text="拒绝"
android:text="保存"
android:textColor="@color/white" />
<TextView
......@@ -29,10 +28,10 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10mm"
android:background="@drawable/shape_green_btn"
android:background="@color/blue_btn"
android:paddingHorizontal="20mm"
android:paddingVertical="5mm"
android:text="通过"
android:text="完成"
android:textColor="@color/white" />
</LinearLayout>
......@@ -241,7 +240,30 @@
</RelativeLayout>
<View style="@style/dividerX" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:gravity="center"
android:paddingHorizontal="20mm"
android:paddingVertical="15mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="停机"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_close"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:textColor="@color/flexible_text_gray"
android:textSize="14sp" />
</RelativeLayout>
<View style="@style/dividerX" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
......@@ -330,6 +352,7 @@
<View style="@style/dividerX" />
<RelativeLayout
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
......@@ -356,6 +379,7 @@
<View style="@style/dividerX" />
<RelativeLayout
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
......@@ -382,6 +406,7 @@
<View style="@style/dividerX" />
<RelativeLayout
android:id="@+id/rl_true_star_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
......@@ -408,6 +433,7 @@
<View style="@style/dividerX" />
<RelativeLayout
android:id="@+id/rl_true_end_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
......
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/ll_bottom"
android:layout_width="match_parent"
android:layout_height="60mm"
android:layout_alignParentBottom="true"
android:gravity="center"
android:orientation="horizontal"
android:visibility="gone">
<TextView
android:id="@+id/tv_refuse"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10mm"
android:background="@color/blue_btn"
android:paddingHorizontal="20mm"
android:paddingVertical="5mm"
android:text="保存"
android:textColor="@color/white" />
<TextView
android:id="@+id/tv_agree"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10mm"
android:background="@color/blue_btn"
android:paddingHorizontal="20mm"
android:paddingVertical="5mm"
android:text="完成"
android:textColor="@color/white" />
</LinearLayout>
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/ll_bottom"
android:background="@color/white">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/ll_bottom"
android:orientation="vertical"
android:paddingBottom="20mm">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/flexible_background"
android:paddingVertical="10mm"
android:paddingLeft="10mm"
android:text="基本信息"
android:textSize="16sp" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:gravity="center"
android:paddingHorizontal="20mm"
android:paddingVertical="15mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="故障代码"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_no"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:textColor="@color/flexible_text_gray"
android:textSize="14sp" />
</RelativeLayout>
<View style="@style/dividerX" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:gravity="center"
android:paddingHorizontal="20mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingVertical="15mm"
android:text="故障名称"
android:textSize="14sp" />
<EditText
android:id="@+id/tv_name"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@null"
android:gravity="right|center"
android:hint="请输入"
android:textColor="@color/flexible_text_gray"
android:textSize="14sp" />
</LinearLayout>
<View style="@style/dividerX" />
<LinearLayout
android:id="@+id/ll_level"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:gravity="center"
android:paddingHorizontal="20mm"
android:paddingVertical="15mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="故障等级"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_level"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="right"
android:hint="请选择"
android:textColor="@color/flexible_text_gray"
android:textSize="14sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/arrow_right_gray" />
</LinearLayout>
<View style="@style/dividerX" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:gravity="center"
android:paddingHorizontal="20mm"
android:paddingVertical="15mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="提报人"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_report_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:textColor="@color/flexible_text_gray"
android:textSize="14sp" />
</RelativeLayout>
<View style="@style/dividerX" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:gravity="center"
android:paddingHorizontal="20mm"
android:paddingVertical="15mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="地点"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_location"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:textColor="@color/flexible_text_gray"
android:textSize="14sp" />
</RelativeLayout>
<View style="@style/dividerX" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:gravity="center"
android:paddingHorizontal="20mm"
android:paddingVertical="15mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="故障状态"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:textColor="@color/flexible_text_gray"
android:textSize="14sp" />
</RelativeLayout>
<View style="@style/dividerX" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:gravity="center"
android:paddingHorizontal="20mm"
android:paddingVertical="15mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="提报时间"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_report_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:textColor="@color/flexible_text_gray"
android:textSize="14sp" />
</RelativeLayout>
<View style="@style/dividerX" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/flexible_background"
android:paddingVertical="10mm"
android:paddingLeft="10mm"
android:text="详细信息"
android:textSize="16sp" />
<View style="@style/dividerX" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:gravity="center"
android:paddingHorizontal="20mm"
android:paddingVertical="15mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="设备"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_machine"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:textColor="@color/flexible_text_gray"
android:textSize="14sp" />
</RelativeLayout>
<View style="@style/dividerX" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:gravity="center"
android:paddingHorizontal="20mm"
android:paddingVertical="15mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="位置"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_machine_location"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:textColor="@color/flexible_text_gray"
android:textSize="14sp" />
</RelativeLayout>
<View style="@style/dividerX" />
<LinearLayout
android:id="@+id/ll_fault_type"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:gravity="center"
android:paddingHorizontal="20mm"
android:paddingVertical="15mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="故障类"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_fault_type"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="right"
android:hint="请选择"
android:textColor="@color/flexible_text_gray"
android:textSize="14sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/arrow_right_gray" />
</LinearLayout>
<View style="@style/dividerX" />
<LinearLayout
android:id="@+id/ll_fault_code"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:gravity="center"
android:paddingHorizontal="20mm"
android:paddingVertical="15mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="问题代码"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_fault_code"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="right"
android:hint="请选择"
android:textColor="@color/flexible_text_gray"
android:textSize="14sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/arrow_right_gray" />
</LinearLayout>
<View style="@style/dividerX" />
<LinearLayout
android:id="@+id/ll_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:gravity="center"
android:paddingHorizontal="20mm"
android:paddingVertical="15mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="设备停机时间"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_stop_time"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_weight="1"
android:gravity="right"
android:textColor="@color/flexible_text_gray"
android:textSize="14sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/arrow_right_gray" />
</LinearLayout>
<View style="@style/dividerX" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:gravity="center"
android:paddingHorizontal="20mm"
android:paddingVertical="15mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="设备恢复时间"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_recover_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:textColor="@color/flexible_text_gray"
android:textSize="14sp" />
</RelativeLayout>
<View style="@style/dividerX" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:gravity="center"
android:paddingHorizontal="20mm"
android:paddingVertical="15mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="设备累计停机时间"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_total_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:textColor="@color/flexible_text_gray"
android:textSize="14sp" />
</RelativeLayout>
<View style="@style/dividerX" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/flexible_background"
android:paddingVertical="10mm"
android:paddingLeft="10mm"
android:text="其他信息"
android:textSize="16sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:orientation="vertical"
android:paddingHorizontal="20mm"
android:paddingVertical="15mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="现象描述"
android:textSize="14sp" />
<EditText
android:id="@+id/tv_desc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:hint="请填写现象描述"
android:minLines="4"
android:padding="5mm"
android:textSize="16sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:orientation="vertical"
android:paddingHorizontal="20mm"
android:paddingVertical="15mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="备注"
android:textSize="14sp" />
<EditText
android:id="@+id/tv_remark"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:hint="请填写备注…"
android:minLines="4"
android:padding="5mm"
android:textSize="16sp" />
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/flexible_background"
android:paddingVertical="10mm"
android:paddingLeft="10mm"
android:text="图片"
android:textSize="16sp" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_data"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</RelativeLayout>
......@@ -2,6 +2,28 @@
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/ll_bottom"
android:layout_width="match_parent"
android:layout_height="60mm"
android:layout_alignParentBottom="true"
android:gravity="center"
android:orientation="horizontal"
android:visibility="gone">
<TextView
android:id="@+id/tv_error"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/blue_btn"
android:paddingHorizontal="40mm"
android:paddingVertical="5mm"
android:text="生成故障单"
android:textColor="@color/white" />
</LinearLayout>
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
......@@ -41,6 +63,7 @@
</RelativeLayout>
<View style="@style/dividerX" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
......@@ -145,7 +168,8 @@
<View style="@style/dividerX" />
<RelativeLayout
<LinearLayout
android:id="@+id/ll_status"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
......@@ -162,12 +186,18 @@
<TextView
android:id="@+id/tv_status"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_weight="1"
android:gravity="right"
android:textColor="@color/flexible_text_gray"
android:textSize="14sp" />
</RelativeLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/arrow_right_gray" />
</LinearLayout>
<View style="@style/dividerX" />
......@@ -221,6 +251,7 @@
android:textColor="@color/flexible_text_gray"
android:textSize="14sp" />
</LinearLayout>
<View style="@style/dividerX" />
......@@ -239,13 +270,17 @@
android:text="备注"
android:textSize="14sp" />
<TextView
<EditText
android:id="@+id/tv_remark"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4mm"
android:textColor="@color/flexible_text_gray"
android:textSize="14sp" />
android:layout_marginTop="5mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:hint="请填写备注…"
android:minLines="4"
android:padding="5mm"
android:textSize="16sp" />
</LinearLayout>
......
<?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="wrap_content"
android:background="@color/white"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_content1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingVertical="15mm"
android:paddingLeft="5mm"
android:text="1243"
android:textSize="16sp" />
<TextView
android:id="@+id/tv_content2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="1243"
android:textSize="16sp" />
</LinearLayout>
\ No newline at end of file
......@@ -73,7 +73,7 @@
android:textSize="13sp" />
</RelativeLayout>
<RelativeLayout
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10mm"
......@@ -90,13 +90,15 @@
<TextView
android:id="@+id/tv_check_project"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_weight="1"
android:gravity="right"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:maxLines="1"
android:ellipsize="end"
android:textColor="@color/flexible_text_gray"
android:textSize="13sp" />
</RelativeLayout>
</LinearLayout>
</LinearLayout>
<ImageView
......
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/save"
android:title="保存"
app:showAsAction="always" />
</menu>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/save"
android:title="提交"
app:showAsAction="always" />
</menu>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论