提交 632fcd08 authored 作者: lgd's avatar lgd

1.质量反馈,详情和第一个审核

2.//TODO ,质检接口数据无对应问题,内部交易订单审核,审核规则,领用申请列表/退件列表/参数,坩埚下单,mes其他页面,mes质量反馈,编辑任务担当无法修改.
上级 e5f47cd3
package com.wd.workoffice.bean.event;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class CheckFeedbackEvent {
public CheckFeedbackEvent() {
}
}
package com.wd.workoffice.bean.mesBean;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class FeedbackDetailBean {
/**
* id : bb5b927843ff4696934663853e09de5f
* createDateTime : null
* updateDateTime : null
* feedbackCode : SCFK2005001
* productId : 7101010688L
* productCode : 7101010688L
* productName : 塞棒(高碱)加套B354-2
* drawingNumber : xxxxx
* verson : null
* specification : null
* customerId : KG00001
* customerName : 安徽创宇电力设备有限公司
* saleUserId : null
* saleUserCode : null
* saleUserName : null
* phoneNumber : null
* boxId : null
* boxCode : BOX003
* serialNumber : SERIAL0001,cccc,SERIAL0001
* caster : null
* casterName : null
* defectId : null
* defectCode : null
* defectName : 11
* mainCause : null
* defectCount : null
* defectCounts : null
* steelTypeId : null
* steelTypeName : null
* feedbackDescription : 1111
* otherProviderBehavior : 2222
* salerOpinion : 3333
* attachmentId : null
* factoryAnalysis : null
* factoryLeaderOpinion : null
* factoryImplement : null
* procedureId : null
* procedureCode : null
* procedureName : null
* defectMudId : null
* defectMudCode : null
* defectMudName : null
* rapidResponse : null
* customerResponse : null
* relatedRecord : null
* seriesName : null
* seriesType : null
* severity : null
* treatRectPlan : null
* status : 2
* attachments : null
* responsibleUserId : null
* responsibleUserName : null
* factoryTreatmentDateTime : null
* verifyUserId : null
* verifyUserName : null
* verifyUserDate : null
* recordUserId : null
* recorUserName : null
* recorUserDate : null
* responsibleDealId : null
* responsibleDealName : null
* responsibleDealDate : null
* responsibleCustId : null
* responsibleCustName : null
* responsibleCustDate : null
* approvalUserId : null
* approvalUserName : null
* approvalUserDate : null
* createUserId : 398c852b38e911ea8334fa163e1166bd
* createUserName : hello
* updateUserId : 398c852b38e911ea8334fa163e1166bd
* updateUserName : hello
* attachmentVO : {"id":null,"name":"IMG_0006.HEIC","path":"group1/M00/00/0C/wKgAwV601HuAFDgIAADw7ZSVvKY987.png","type":"HEIC","size":1332552,"url":"http://114.116.55.221/group1/M00/00/0C/wKgAwV601HuAFDgIAADw7ZSVvKY987.png"}
* defectMudIds : null
* delete : false
*/
private String id;
private Object createDateTime;
private Object updateDateTime;
private String feedbackCode;
private String productId;
private String productCode;
private String productName;
private String drawingNumber;
private String verson;
private String specification;
private String customerId;
private String customerName;
private Object saleUserId;
private String saleUserCode;
private String saleUserName;
private String phoneNumber;
private Object boxId;
private String boxCode;
private String serialNumber;
private Object caster;
private String casterName;
private Object defectId;
private Object defectCode;
private String defectName;
private String mainCause;
private Object defectCount;
private Object defectCounts;
private Object steelTypeId;
private String steelTypeName;
private String feedbackDescription;
private String otherProviderBehavior;
private String salerOpinion;
private Object attachmentId;
private String factoryAnalysis;
private String factoryLeaderOpinion;
private String factoryImplement;
private Object procedureId;
private String procedureCode;
private Object procedureName;
private Object defectMudId;
private Object defectMudCode;
private String defectMudName;
private Object rapidResponse;
private Object customerResponse;
private Object relatedRecord;
private Object seriesName;
private Object seriesType;
private Object severity;
private String treatRectPlan;
private String status;
private Object attachments;
private Object responsibleUserId;
private Object responsibleUserName;
private String factoryTreatmentDateTime;
private Object verifyUserId;
private Object verifyUserName;
private Object verifyUserDate;
private Object recordUserId;
private Object recorUserName;
private Object recorUserDate;
private Object responsibleDealId;
private String responsibleDealName;
private Object responsibleDealDate;
private Object responsibleCustId;
private Object responsibleCustName;
private Object responsibleCustDate;
private Object approvalUserId;
private String approvalUserName;
private Object approvalUserDate;
private String createUserId;
private String createUserName;
private String updateUserId;
private String updateUserName;
private AttachmentVOBean attachmentVO;
private Object defectMudIds;
private boolean delete;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Object getCreateDateTime() {
return createDateTime;
}
public void setCreateDateTime(Object createDateTime) {
this.createDateTime = createDateTime;
}
public Object getUpdateDateTime() {
return updateDateTime;
}
public void setUpdateDateTime(Object updateDateTime) {
this.updateDateTime = updateDateTime;
}
public String getFeedbackCode() {
return feedbackCode;
}
public void setFeedbackCode(String feedbackCode) {
this.feedbackCode = feedbackCode;
}
public String getProductId() {
return productId;
}
public void setProductId(String productId) {
this.productId = productId;
}
public String getProductCode() {
return productCode;
}
public void setProductCode(String productCode) {
this.productCode = productCode;
}
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public String getDrawingNumber() {
return drawingNumber;
}
public void setDrawingNumber(String drawingNumber) {
this.drawingNumber = drawingNumber;
}
public String getVerson() {
return verson;
}
public void setVerson(String verson) {
this.verson = verson;
}
public String getSpecification() {
return specification;
}
public void setSpecification(String specification) {
this.specification = specification;
}
public String getCustomerId() {
return customerId;
}
public void setCustomerId(String customerId) {
this.customerId = customerId;
}
public String getCustomerName() {
return customerName;
}
public void setCustomerName(String customerName) {
this.customerName = customerName;
}
public Object getSaleUserId() {
return saleUserId;
}
public void setSaleUserId(Object saleUserId) {
this.saleUserId = saleUserId;
}
public String getSaleUserCode() {
return saleUserCode;
}
public void setSaleUserCode(String saleUserCode) {
this.saleUserCode = saleUserCode;
}
public String getSaleUserName() {
return saleUserName;
}
public void setSaleUserName(String saleUserName) {
this.saleUserName = saleUserName;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public Object getBoxId() {
return boxId;
}
public void setBoxId(Object boxId) {
this.boxId = boxId;
}
public String getBoxCode() {
return boxCode;
}
public void setBoxCode(String boxCode) {
this.boxCode = boxCode;
}
public String getSerialNumber() {
return serialNumber;
}
public void setSerialNumber(String serialNumber) {
this.serialNumber = serialNumber;
}
public Object getCaster() {
return caster;
}
public void setCaster(Object caster) {
this.caster = caster;
}
public String getCasterName() {
return casterName;
}
public void setCasterName(String casterName) {
this.casterName = casterName;
}
public Object getDefectId() {
return defectId;
}
public void setDefectId(Object defectId) {
this.defectId = defectId;
}
public Object getDefectCode() {
return defectCode;
}
public void setDefectCode(Object defectCode) {
this.defectCode = defectCode;
}
public String getDefectName() {
return defectName;
}
public void setDefectName(String defectName) {
this.defectName = defectName;
}
public String getMainCause() {
return mainCause;
}
public void setMainCause(String mainCause) {
this.mainCause = mainCause;
}
public Object getDefectCount() {
return defectCount;
}
public void setDefectCount(Object defectCount) {
this.defectCount = defectCount;
}
public Object getDefectCounts() {
return defectCounts;
}
public void setDefectCounts(Object defectCounts) {
this.defectCounts = defectCounts;
}
public Object getSteelTypeId() {
return steelTypeId;
}
public void setSteelTypeId(Object steelTypeId) {
this.steelTypeId = steelTypeId;
}
public String getSteelTypeName() {
return steelTypeName;
}
public void setSteelTypeName(String steelTypeName) {
this.steelTypeName = steelTypeName;
}
public String getFeedbackDescription() {
return feedbackDescription;
}
public void setFeedbackDescription(String feedbackDescription) {
this.feedbackDescription = feedbackDescription;
}
public String getOtherProviderBehavior() {
return otherProviderBehavior;
}
public void setOtherProviderBehavior(String otherProviderBehavior) {
this.otherProviderBehavior = otherProviderBehavior;
}
public String getSalerOpinion() {
return salerOpinion;
}
public void setSalerOpinion(String salerOpinion) {
this.salerOpinion = salerOpinion;
}
public Object getAttachmentId() {
return attachmentId;
}
public void setAttachmentId(Object attachmentId) {
this.attachmentId = attachmentId;
}
public String getFactoryAnalysis() {
return factoryAnalysis;
}
public void setFactoryAnalysis(String factoryAnalysis) {
this.factoryAnalysis = factoryAnalysis;
}
public String getFactoryLeaderOpinion() {
return factoryLeaderOpinion;
}
public void setFactoryLeaderOpinion(String factoryLeaderOpinion) {
this.factoryLeaderOpinion = factoryLeaderOpinion;
}
public String getFactoryImplement() {
return factoryImplement;
}
public void setFactoryImplement(String factoryImplement) {
this.factoryImplement = factoryImplement;
}
public Object getProcedureId() {
return procedureId;
}
public void setProcedureId(Object procedureId) {
this.procedureId = procedureId;
}
public String getProcedureCode() {
return procedureCode;
}
public void setProcedureCode(String procedureCode) {
this.procedureCode = procedureCode;
}
public Object getProcedureName() {
return procedureName;
}
public void setProcedureName(Object procedureName) {
this.procedureName = procedureName;
}
public Object getDefectMudId() {
return defectMudId;
}
public void setDefectMudId(Object defectMudId) {
this.defectMudId = defectMudId;
}
public Object getDefectMudCode() {
return defectMudCode;
}
public void setDefectMudCode(Object defectMudCode) {
this.defectMudCode = defectMudCode;
}
public String getDefectMudName() {
return defectMudName;
}
public void setDefectMudName(String defectMudName) {
this.defectMudName = defectMudName;
}
public Object getRapidResponse() {
return rapidResponse;
}
public void setRapidResponse(Object rapidResponse) {
this.rapidResponse = rapidResponse;
}
public Object getCustomerResponse() {
return customerResponse;
}
public void setCustomerResponse(Object customerResponse) {
this.customerResponse = customerResponse;
}
public Object getRelatedRecord() {
return relatedRecord;
}
public void setRelatedRecord(Object relatedRecord) {
this.relatedRecord = relatedRecord;
}
public Object getSeriesName() {
return seriesName;
}
public void setSeriesName(Object seriesName) {
this.seriesName = seriesName;
}
public Object getSeriesType() {
return seriesType;
}
public void setSeriesType(Object seriesType) {
this.seriesType = seriesType;
}
public Object getSeverity() {
return severity;
}
public void setSeverity(Object severity) {
this.severity = severity;
}
public String getTreatRectPlan() {
return treatRectPlan;
}
public void setTreatRectPlan(String treatRectPlan) {
this.treatRectPlan = treatRectPlan;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public Object getAttachments() {
return attachments;
}
public void setAttachments(Object attachments) {
this.attachments = attachments;
}
public Object getResponsibleUserId() {
return responsibleUserId;
}
public void setResponsibleUserId(Object responsibleUserId) {
this.responsibleUserId = responsibleUserId;
}
public Object getResponsibleUserName() {
return responsibleUserName;
}
public void setResponsibleUserName(Object responsibleUserName) {
this.responsibleUserName = responsibleUserName;
}
public String getFactoryTreatmentDateTime() {
return factoryTreatmentDateTime;
}
public void setFactoryTreatmentDateTime(String factoryTreatmentDateTime) {
this.factoryTreatmentDateTime = factoryTreatmentDateTime;
}
public Object getVerifyUserId() {
return verifyUserId;
}
public void setVerifyUserId(Object verifyUserId) {
this.verifyUserId = verifyUserId;
}
public Object getVerifyUserName() {
return verifyUserName;
}
public void setVerifyUserName(Object verifyUserName) {
this.verifyUserName = verifyUserName;
}
public Object getVerifyUserDate() {
return verifyUserDate;
}
public void setVerifyUserDate(Object verifyUserDate) {
this.verifyUserDate = verifyUserDate;
}
public Object getRecordUserId() {
return recordUserId;
}
public void setRecordUserId(Object recordUserId) {
this.recordUserId = recordUserId;
}
public Object getRecorUserName() {
return recorUserName;
}
public void setRecorUserName(Object recorUserName) {
this.recorUserName = recorUserName;
}
public Object getRecorUserDate() {
return recorUserDate;
}
public void setRecorUserDate(Object recorUserDate) {
this.recorUserDate = recorUserDate;
}
public Object getResponsibleDealId() {
return responsibleDealId;
}
public void setResponsibleDealId(Object responsibleDealId) {
this.responsibleDealId = responsibleDealId;
}
public String getResponsibleDealName() {
return responsibleDealName;
}
public void setResponsibleDealName(String responsibleDealName) {
this.responsibleDealName = responsibleDealName;
}
public Object getResponsibleDealDate() {
return responsibleDealDate;
}
public void setResponsibleDealDate(Object responsibleDealDate) {
this.responsibleDealDate = responsibleDealDate;
}
public Object getResponsibleCustId() {
return responsibleCustId;
}
public void setResponsibleCustId(Object responsibleCustId) {
this.responsibleCustId = responsibleCustId;
}
public Object getResponsibleCustName() {
return responsibleCustName;
}
public void setResponsibleCustName(Object responsibleCustName) {
this.responsibleCustName = responsibleCustName;
}
public Object getResponsibleCustDate() {
return responsibleCustDate;
}
public void setResponsibleCustDate(Object responsibleCustDate) {
this.responsibleCustDate = responsibleCustDate;
}
public Object getApprovalUserId() {
return approvalUserId;
}
public void setApprovalUserId(Object approvalUserId) {
this.approvalUserId = approvalUserId;
}
public String getApprovalUserName() {
return approvalUserName;
}
public void setApprovalUserName(String approvalUserName) {
this.approvalUserName = approvalUserName;
}
public Object getApprovalUserDate() {
return approvalUserDate;
}
public void setApprovalUserDate(Object approvalUserDate) {
this.approvalUserDate = approvalUserDate;
}
public String getCreateUserId() {
return createUserId;
}
public void setCreateUserId(String createUserId) {
this.createUserId = createUserId;
}
public String getCreateUserName() {
return createUserName;
}
public void setCreateUserName(String createUserName) {
this.createUserName = createUserName;
}
public String getUpdateUserId() {
return updateUserId;
}
public void setUpdateUserId(String updateUserId) {
this.updateUserId = updateUserId;
}
public String getUpdateUserName() {
return updateUserName;
}
public void setUpdateUserName(String updateUserName) {
this.updateUserName = updateUserName;
}
public AttachmentVOBean getAttachmentVO() {
return attachmentVO;
}
public void setAttachmentVO(AttachmentVOBean attachmentVO) {
this.attachmentVO = attachmentVO;
}
public Object getDefectMudIds() {
return defectMudIds;
}
public void setDefectMudIds(Object defectMudIds) {
this.defectMudIds = defectMudIds;
}
public boolean isDelete() {
return delete;
}
public void setDelete(boolean delete) {
this.delete = delete;
}
public static class AttachmentVOBean {
/**
* id : null
* name : IMG_0006.HEIC
* path : group1/M00/00/0C/wKgAwV601HuAFDgIAADw7ZSVvKY987.png
* type : HEIC
* size : 1332552
* url : http://114.116.55.221/group1/M00/00/0C/wKgAwV601HuAFDgIAADw7ZSVvKY987.png
*/
private Object id;
private String name;
private String path;
private String type;
private int size;
private String url;
public Object getId() {
return id;
}
public void setId(Object id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}
}
......@@ -245,6 +245,7 @@ public interface MesApiService {
*/
@POST("/himes/api/msSceneFeedback/show/getByFeedInfo.json")
Observable<BaseMesBean> userDataDetail(@Query("functionId") String functionId, @Body RequestBody requestBody);
/**
* otherSupplierAdd
*
......@@ -311,4 +312,20 @@ public interface MesApiService {
@POST("/himes/api/feedback/show/page.json")
Observable<BaseMesBean> feedbackList(@Query("functionId") String functionId, @Body RequestBody requestBody);
/**
* 质量反馈 详情
*
* @return
*/
@GET("/himes/api/feedback/show/{id}.json")
Observable<BaseMesBean> feedbackDetail(@Path("id") String id, @Query("functionId") String functionId);
/**
* 质量反馈 详情
*
* @return
*/
@GET("/himes/api/feedback/deal/update.json")
Observable<BaseMesBean> feedbackCheck( @Query("functionId") String functionId, @Body RequestBody requestBody);
}
package com.wd.workoffice.ui.activity.mes.quality;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import com.alibaba.fastjson.JSON;
import com.chad.library.adapter.base.BaseQuickAdapter;
......@@ -8,16 +12,13 @@ import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.app.BaseMesBean;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.ProPriceBean;
import com.wd.workoffice.bean.mesBean.FeedbackBean;
import com.wd.workoffice.bean.mesBean.TicketBean;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.activity.mes.ticket.MesTicketConditionActivity;
import com.wd.workoffice.ui.adapter.MesQualityAdapter;
import com.wd.workoffice.ui.adapter.MesSearchAdapter;
import com.wd.workoffice.util.WorkUtils;
import java.util.ArrayList;
......@@ -29,6 +30,7 @@ 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;
......@@ -43,6 +45,8 @@ public class MesQualityActivity extends WorkToolBarActivity {
RecyclerView rvData;
@BindView(R.id.srl_refresh)
SmartRefreshLayout srlRefresh;
@BindView(R.id.btn_add)
Button btnAdd;
private Map<String, Object> param;
private List<FeedbackBean.ListBean> dataList;
private MesQualityAdapter dataAdapter;
......@@ -127,7 +131,7 @@ public class MesQualityActivity extends WorkToolBarActivity {
dataAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
// startActivity();
startActivity(MesQualityDetailActivity.class, "id", dataList.get(position).getId() + "");
}
});
}
......@@ -137,4 +141,24 @@ public class MesQualityActivity extends WorkToolBarActivity {
return R.layout.activity_mes_quality;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_search, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.search:
startActivityForResult(MesTicketConditionActivity.class, 10001);
break;
}
return super.onOptionsItemSelected(item);
}
@OnClick(R.id.btn_add)
public void onViewClicked() {
}
}
package com.wd.workoffice.ui.activity.mes.quality;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.alibaba.fastjson.JSON;
import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseMesBean;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.ProPriceBean;
import com.wd.workoffice.ui.adapter.MesQualityAdapter;
import java.util.List;
import java.util.Map;
import com.wd.workoffice.bean.mesBean.FeedbackDetailBean;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
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
......@@ -17,63 +28,184 @@ import butterknife.ButterKnife;
**/
public class MesQualityDetailActivity extends WorkToolBarActivity {
private Map<String, Object> param;
private List<ProPriceBean.RecordsBean> dataList;
private MesQualityAdapter dataAdapter;
private int page = 1;
@BindView(R.id.btn_reviews)
Button btnReviews;
@BindView(R.id.ll_bottom)
LinearLayout llBottom;
@BindView(R.id.tv_no)
TextView tvNo;
@BindView(R.id.tv_name)
TextView tvName;
@BindView(R.id.tv_manager)
TextView tvManager;
@BindView(R.id.tv_phone)
TextView tvPhone;
@BindView(R.id.tv_code)
TextView tvCode;
@BindView(R.id.tv_pro_name)
TextView tvProName;
@BindView(R.id.tv_spec)
TextView tvSpec;
@BindView(R.id.tv_img_code)
TextView tvImgCode;
@BindView(R.id.tv_box)
TextView tvBox;
@BindView(R.id.tv_num)
TextView tvNum;
@BindView(R.id.tv_mark_code)
TextView tvMarkCode;
@BindView(R.id.tv_machine)
TextView tvMachine;
@BindView(R.id.tv_steel_type)
TextView tvSteelType;
@BindView(R.id.tv_defect)
TextView tvDefect;
@BindView(R.id.tv_defect_reason)
TextView tvDefectReason;
@BindView(R.id.tv_desc)
TextView tvDesc;
@BindView(R.id.tv_use_status)
TextView tvUseStatus;
@BindView(R.id.tv_suggest)
TextView tvSuggest;
@BindView(R.id.rv_img)
RecyclerView rvImg;
@BindView(R.id.ll_manager)
LinearLayout llManager;
@BindView(R.id.tv_factory_reason)
TextView tvFactoryReason;
@BindView(R.id.tv_factory_suggest)
TextView tvFactorySuggest;
@BindView(R.id.tv_factory_status)
TextView tvFactoryStatus;
@BindView(R.id.tv_process)
TextView tvProcess;
@BindView(R.id.tv_duty_person)
TextView tvDutyPerson;
@BindView(R.id.tv_verify_person)
TextView tvVerifyPerson;
@BindView(R.id.tv_question)
TextView tvQuestion;
@BindView(R.id.tv_time)
TextView tvTime;
@BindView(R.id.ll_company)
LinearLayout llCompany;
@BindView(R.id.tv_client_status)
TextView tvClientStatus;
@BindView(R.id.tv_client_reply)
TextView tvClientReply;
@BindView(R.id.tv_client_record)
TextView tvClientRecord;
@BindView(R.id.tv_client_person)
TextView tvClientPerson;
@BindView(R.id.ll_client)
LinearLayout llClient;
private FeedbackDetailBean detailBean;
@Override
protected void initView() {
ButterKnife.bind(this);
llBottom.setVisibility(View.VISIBLE);
}
@Override
protected void initData() {
// getData();
detail();
}
private void detail() {
RtfUtils.getMesRtf().feedbackDetail(getIntent().getStringExtra("id"), "1").compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
@Override
public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
// private void getData() {
// RtfUtils.getRtf().getProHistoryPrice(param).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseBean>() {
// @Override
// public void doOnSubscribe(Disposable d) {
// }
//
// @Override
// public void onFail(String errorMsg) {
// hideLoading();
// toast(errorMsg);
// }
//
// @Override
// public void onSuccess(BaseBean data) {
// hideLoading();
// if (data.getCode() != 0) {
// toast(data.getMsg());
// return;
// }
// List<ProPriceBean.RecordsBean> getList = JSON.parseObject(data.getData().toString(), ProPriceBean.class).getRecords();
//
// if (page == 1) {
// srlRefresh.finishRefresh();
// dataList.clear();
// dataList.addAll(getList);
// dataAdapter.notifyDataSetChanged();
// dataAdapter.loadMoreComplete();
// } else {
// dataAdapter.loadMoreComplete();
// dataList.addAll(getList);
// dataAdapter.notifyDataSetChanged();
// }
// if (getList.size() == 0) {
// dataAdapter.loadMoreEnd();
// } else {
// page++;
// }
// }
// });
// }
@Override
public void onSuccess(BaseMesBean data) {
hideLoading();
if (!data.isSuccess()) {
toast(data.getMsg());
return;
}
detailBean = JSON.parseObject(data.getData().toString(), FeedbackDetailBean.class);
changeView();
}
});
}
private void changeView() {
switch (detailBean.getStatus()) {
case "0":
llClient.setVisibility(View.GONE);
llCompany.setVisibility(View.GONE);
llManager.setVisibility(View.GONE);
llBottom.setVisibility(View.VISIBLE);
break;
case "1":
llClient.setVisibility(View.GONE);
llCompany.setVisibility(View.GONE);
llManager.setVisibility(View.VISIBLE);
llBottom.setVisibility(View.VISIBLE);
break;
case "2":
llClient.setVisibility(View.VISIBLE);
llCompany.setVisibility(View.GONE);
llManager.setVisibility(View.VISIBLE);
llBottom.setVisibility(View.VISIBLE);
break;
case "3":
llClient.setVisibility(View.VISIBLE);
llCompany.setVisibility(View.VISIBLE);
llManager.setVisibility(View.VISIBLE);
llBottom.setVisibility(View.GONE);
break;
// case "4":
// llClient.setVisibility(View.VISIBLE);
// llCompany.setVisibility(View.VISIBLE);
// llManager.setVisibility(View.VISIBLE);
// llBottom.setVisibility(View.GONE);
// break;
}
tvNo.setText(detailBean.getFeedbackCode());
tvName.setText(detailBean.getCustomerName());
tvManager.setText(detailBean.getSaleUserName());
tvPhone.setText(detailBean.getPhoneNumber());
tvCode.setText(detailBean.getProcedureCode());
tvProName.setText(detailBean.getProductName());
tvSpec.setText(detailBean.getSpecification());
tvImgCode.setText(detailBean.getDrawingNumber());
tvBox.setText(detailBean.getBoxCode());
tvNum.setText(detailBean.getVerson());
tvMarkCode.setText(detailBean.getSerialNumber());
tvMachine.setText(detailBean.getCasterName());
tvSteelType.setText(detailBean.getSteelTypeName());
tvDefect.setText(detailBean.getDefectName());
tvDefectReason.setText(detailBean.getMainCause());
//二、销售经理反馈信息
tvDesc.setText(detailBean.getFeedbackDescription());
tvUseStatus.setText(detailBean.getOtherProviderBehavior());
tvSuggest.setText(detailBean.getSalerOpinion());
//三、公司本部反馈信息
tvFactoryReason.setText(detailBean.getFactoryAnalysis());
tvFactoryStatus.setText(detailBean.getFactoryImplement());
tvFactorySuggest.setText(detailBean.getFactoryLeaderOpinion());
tvProcess.setText(detailBean.getTreatRectPlan());
tvDutyPerson.setText(detailBean.getResponsibleDealName());
tvVerifyPerson.setText(detailBean.getApprovalUserName());
tvQuestion.setText(detailBean.getDefectMudName());
tvTime.setText(detailBean.getFactoryTreatmentDateTime());
//四、客户回馈信息
tvClientStatus.setText(detailBean.getApprovalUserName());
tvClientReply.setText(detailBean.getDefectMudName());
tvClientRecord.setText(detailBean.getFactoryTreatmentDateTime());
tvClientPerson.setText(detailBean.getFactoryTreatmentDateTime());
}
@Override
protected void initEvent() {
......@@ -85,4 +217,19 @@ public class MesQualityDetailActivity extends WorkToolBarActivity {
}
@OnClick(R.id.btn_reviews)
public void onViewClicked() {
// switch (detailBean.getStatus()) {
switch ("0") {
case "0":
startActivity(MesQualityManagerActivity.class,"data",JSON.toJSONString(detailBean));
break;
case "1":
startActivity(MesQualityFactoryActivity.class,"data",JSON.toJSONString(detailBean));
break;
case "2":
startActivity(MesQualityClientActivity.class,"data",JSON.toJSONString(detailBean));
break;
}
}
}
package com.wd.workoffice.ui.activity.mes.quality;
import android.Manifest;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import com.alibaba.fastjson.JSON;
import com.chad.library.adapter.base.BaseQuickAdapter;
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.ProPriceBean;
import com.wd.workoffice.ui.adapter.MesQualityAdapter;
import com.wd.workoffice.bean.event.CheckFeedbackEvent;
import com.wd.workoffice.bean.mesBean.FeedbackDetailBean;
import com.wd.workoffice.bean.mesBean.ImageBean;
import com.wd.workoffice.bean.mesBean.MesProBean;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.activity.mes.ticket.MesTicketAddSummaryActivity;
import com.wd.workoffice.ui.activity.mes.ticket.MesTicketConditionActivity;
import com.wd.workoffice.ui.adapter.ImgAddAdapter;
import com.wd.workoffice.util.Glide4Engine;
import com.wd.workoffice.util.WorkUtils;
import com.zhihu.matisse.Matisse;
import com.zhihu.matisse.MimeType;
import com.zhihu.matisse.internal.entity.CaptureStrategy;
import org.greenrobot.eventbus.EventBus;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
import flexible.xd.android_base.network.rtfhttp.Transformer;
import flexible.xd.android_base.utils.FileUtils;
import io.reactivex.disposables.Disposable;
import me.rosuh.filepicker.config.FilePickerManager;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
/**
* author : flexible
......@@ -17,66 +59,105 @@ import butterknife.ButterKnife;
**/
public class MesQualityManagerActivity extends WorkToolBarActivity {
private Map<String, Object> param;
private List<ProPriceBean.RecordsBean> dataList;
private MesQualityAdapter dataAdapter;
private int page = 1;
@BindView(R.id.tv_desc)
EditText tvDesc;
@BindView(R.id.tv_use_status)
EditText tvUseStatus;
@BindView(R.id.tv_suggest)
EditText tvSuggest;
@BindView(R.id.rv_img)
RecyclerView rvImg;
private Map<String, Object> param;
private List<ImageBean> imgList;
private ImgAddAdapter imgAddAdapter;
@Override
protected void initView() {
ButterKnife.bind(this);
}
rvImg.setLayoutManager( new GridLayoutManager(this,3,RecyclerView.VERTICAL,false));
}
@Override
protected void initData() {
// getData();
}
// private void getData() {
// RtfUtils.getRtf().getProHistoryPrice(param).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseBean>() {
// @Override
// public void doOnSubscribe(Disposable d) {
// }
//
// @Override
// public void onFail(String errorMsg) {
// hideLoading();
// toast(errorMsg);
// }
//
// @Override
// public void onSuccess(BaseBean data) {
// hideLoading();
// if (data.getCode() != 0) {
// toast(data.getMsg());
// return;
// }
// List<ProPriceBean.RecordsBean> getList = JSON.parseObject(data.getData().toString(), ProPriceBean.class).getRecords();
//
// if (page == 1) {
// srlRefresh.finishRefresh();
// dataList.clear();
// dataList.addAll(getList);
// dataAdapter.notifyDataSetChanged();
// dataAdapter.loadMoreComplete();
// } else {
// dataAdapter.loadMoreComplete();
// dataList.addAll(getList);
// dataAdapter.notifyDataSetChanged();
// }
// if (getList.size() == 0) {
// dataAdapter.loadMoreEnd();
// } else {
// page++;
// }
// }
// });
// }
param = WorkUtils.simpleParam();
FeedbackDetailBean data = JSON.parseObject(getIntent().getStringExtra("data"), FeedbackDetailBean.class);
// param.put("id",data.getId());
param.put("status",1);
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(rvImg);
}
private void submit() {
param.put("feedbackDescription",tvDesc.getText().toString());
param.put("otherProviderBehavior",tvUseStatus.getText().toString());
param.put("salerOpinion",tvSuggest.getText().toString());
List<ImageBean> uploadImg =new ArrayList<>();
for (int i = 0; i < imgList.size()-1; i++) {
uploadImg.add(imgList.get(i));
}
param.put("attachments",uploadImg);
RtfUtils.getMesRtf().feedbackCheck("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.getMsg());
return;
}
EventBus.getDefault().post(new CheckFeedbackEvent());
toast("审核成功");
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_finish, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.finish:
submit();
break;
}
return super.onOptionsItemSelected(item);
}
@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 (position==imgList.size()-1){
addImg();
}
}
});
}
@Override
......@@ -84,5 +165,88 @@ public class MesQualityManagerActivity extends WorkToolBarActivity {
return R.layout.activity_mes_quality_manager;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 10002 && resultCode == RESULT_OK) {
List<Uri> dataUri = Matisse.obtainResult(data);
for (Uri uri : dataUri) {
upload( uri);
}
}
}
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(MesQualityManagerActivity.this)
.choose(MimeType.ofImage())
.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(10002);
} else {
// At least one permission is denied
toast("您需要开启拍照、存储权限!");
}
});
}
/**
*
* @param uri
*/
private void upload( Object uri) {
showLoading();
File file;
if (uri instanceof Uri){
file = WorkUtils.uriToFile((Uri) uri, this);
}
else {
file =new File(uri.toString());
}
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
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.getMsg());
return;
}
toast("上传成功");
ImageBean imageBean = new ImageBean();
imageBean.setPath(data.getData().toString());
imageBean.setName(file.getName());
imageBean.setSize(FileUtils.getFileLength(file));
imageBean.setType(data.getData().toString().split("\\.")[1]);
imgList.add(imgList.size()-1, imageBean);
imgAddAdapter.notifyDataSetChanged();
imageBean.setUri((Uri) uri);
}
});
}
}
......@@ -4,11 +4,14 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
......@@ -60,4 +63,15 @@
android:layout_height="match_parent"
android:background="@android:color/white" />
</LinearLayout>
<Button
android:id="@+id/btn_add"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="20mm"
android:background="@color/blue_btn"
android:text="新建"
android:textColor="@color/white" />
</RelativeLayout>
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
\ No newline at end of file
......@@ -11,9 +11,11 @@
android:layout_alignParentBottom="true"
android:background="@color/white"
android:gravity="center"
android:visibility="gone"
android:paddingVertical="10mm">
<Button
android:visibility="gone"
android:id="@+id/btn_refuse"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
......@@ -38,8 +40,7 @@
android:layout_height="match_parent"
android:layout_above="@id/ll_bottom">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
<LinearLayout android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical">
......@@ -72,6 +73,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/tv_no"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
......@@ -95,6 +97,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
......@@ -119,6 +122,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/tv_manager"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
......@@ -142,6 +146,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/tv_phone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
......@@ -166,6 +171,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/tv_code"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
......@@ -191,6 +197,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/tv_pro_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
......@@ -216,6 +223,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/tv_spec"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
......@@ -241,6 +249,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/tv_img_code"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
......@@ -266,6 +275,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/tv_box"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
......@@ -289,6 +299,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/tv_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
......@@ -313,6 +324,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/tv_mark_code"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
......@@ -336,6 +348,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/tv_machine"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
......@@ -360,6 +373,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/tv_steel_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
......@@ -385,6 +399,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/tv_defect"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
......@@ -402,6 +417,8 @@
android:textSize="14sp" />
<TextView
android:id="@+id/tv_defect_reason"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
......@@ -409,11 +426,16 @@
android:layout_marginBottom="30mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:hint="请输入"
android:minLines="4"
android:padding="5mm"
android:textSize="14sp" />
<LinearLayout
android:id="@+id/ll_manager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
......@@ -438,6 +460,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/tv_desc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
......@@ -445,7 +468,6 @@
android:layout_marginBottom="30mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:hint="请输入"
android:minLines="4"
android:padding="5mm"
android:textSize="14sp" />
......@@ -459,6 +481,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/tv_use_status"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
......@@ -480,6 +503,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/tv_suggest"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
......@@ -487,7 +511,6 @@
android:layout_marginBottom="30mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:hint="请输入"
android:minLines="4"
android:padding="5mm"
android:textSize="14sp" />
......@@ -502,10 +525,19 @@
android:textSize="15sp" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_img"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10mm" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_company"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
......@@ -530,7 +562,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/et_desc"
android:id="@+id/tv_factory_reason"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
......@@ -538,7 +570,6 @@
android:layout_marginBottom="30mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:hint="请输入"
android:minLines="4"
android:padding="5mm"
android:textSize="14sp" />
......@@ -552,6 +583,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/tv_factory_suggest"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
......@@ -559,7 +591,6 @@
android:layout_marginBottom="30mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:hint="请输入"
android:minLines="4"
android:padding="5mm"
android:textSize="14sp" />
......@@ -573,6 +604,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/tv_factory_status"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
......@@ -580,7 +612,6 @@
android:layout_marginBottom="30mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:hint="请输入"
android:minLines="4"
android:padding="5mm"
android:textSize="14sp" />
......@@ -602,6 +633,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/tv_process"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
......@@ -627,6 +659,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/tv_duty_person"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
......@@ -652,6 +685,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/tv_verify_person"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
......@@ -677,6 +711,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/tv_question"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
......@@ -702,6 +737,7 @@
android:textSize="14sp" />
<TextView
android:id="@+id/tv_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
......@@ -709,6 +745,13 @@
android:text="11111" />
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/ll_client"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
......@@ -720,7 +763,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="销售经理反馈信息"
android:text="客户反馈信息"
android:textSize="18sp" />
</RelativeLayout>
......@@ -730,10 +773,11 @@
android:layout_height="wrap_content"
android:paddingHorizontal="20mm"
android:paddingVertical="13mm"
android:text="缺陷原因"
android:text="快速回复顾客情况"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_client_status"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
......@@ -741,7 +785,6 @@
android:layout_marginBottom="30mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:hint="请输入"
android:minLines="4"
android:padding="5mm"
android:textSize="14sp" />
......@@ -751,10 +794,11 @@
android:layout_height="wrap_content"
android:paddingHorizontal="20mm"
android:paddingVertical="13mm"
android:text="缺陷原因"
android:text="顾客反应"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_client_reply"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
......@@ -762,7 +806,6 @@
android:layout_marginBottom="30mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:hint="请输入"
android:minLines="4"
android:padding="5mm"
android:textSize="14sp" />
......@@ -772,10 +815,11 @@
android:layout_height="wrap_content"
android:paddingHorizontal="20mm"
android:paddingVertical="13mm"
android:text="缺陷原因"
android:text="相关记录"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_client_record"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
......@@ -783,7 +827,6 @@
android:layout_marginBottom="30mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:hint="请输入"
android:minLines="4"
android:padding="5mm"
android:textSize="14sp" />
......@@ -800,10 +843,11 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="对应连铸机"
android:text="记录者"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_client_person"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
......@@ -811,5 +855,6 @@
android:text="11111" />
</RelativeLayout>
</LinearLayout>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</RelativeLayout>
\ No newline at end of file
......@@ -3,7 +3,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
......@@ -34,6 +34,7 @@
android:textSize="14sp" />
<EditText
android:id="@+id/tv_desc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
......@@ -55,6 +56,7 @@
android:textSize="14sp" />
<EditText
android:id="@+id/tv_use_status"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
......@@ -76,6 +78,7 @@
android:textSize="14sp" />
<EditText
android:id="@+id/tv_suggest"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
......@@ -97,6 +100,7 @@
android:textSize="15sp" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_img"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10mm" />
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论