提交 04355d30 authored 作者: lgd's avatar lgd

1.工单新增编辑

2.//TODO erp用户是否选择新部门为空,质检接口数据无对应问题,内部交易订单审核,审核规则,领用申请列表/退件列表/参数,坩埚下单,mes,刷新token,编辑任务担当无法修改
上级 42886796
...@@ -1281,6 +1281,22 @@ ...@@ -1281,6 +1281,22 @@
android:screenOrientation="portrait" android:screenOrientation="portrait"
android:theme="@style/Work.Base" android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" /> android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.activity.mes.ticket.MesTicketTakeOnActivity"
android:configChanges="keyboardHidden|orientation"
android:label="选择任务担当"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.activity.mes.ticket.MesTicketProActivity"
android:configChanges="keyboardHidden|orientation"
android:label="选择产品"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<activity <activity
android:name=".ui.activity.mes.user.MesUserDataAddActivity" android:name=".ui.activity.mes.user.MesUserDataAddActivity"
android:configChanges="keyboardHidden|orientation" android:configChanges="keyboardHidden|orientation"
......
package com.wd.workoffice.bean.mesBean;
import com.wd.workoffice.app.BaseMesPageBean;
import java.util.List;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class MesProBean extends BaseMesPageBean {
/**
* pageNum : 1
* pageSize : 10
* size : 10
* startRow : 1
* endRow : 10
* total : 3441
* pages : 345
* list : [{"id":"000d85e9-8628-4fb3-ae01-51c58340caf0","createDateTime":1574265600000,"updateDateTime":1586917105000,"productName":"1#挡板DB1","productCode":"7301050001B","productType":"0","seriesId":"023b5815480111ea8334fa163e1166bd","seriesName":"1.2-1.6以下长水口(DT)","drawingNumber":"DB1","technicalDirectUserId":"342a10bd497f11ea8334fa163e1166bd","technicalAuditUserId":null,"technicalAuditDateTime":null,"directUserName":"生产员工","auditUserName":null,"specification":"","delete":false},{"id":"0029e99c-1697-4754-92de-f70c64e5f303","createDateTime":1574265600000,"updateDateTime":1586760945000,"productName":"座砖Z124","productCode":"7202010116D","productType":"0","seriesId":"6417750d7d3911ea8334fa163e1166bd","seriesName":"1212","drawingNumber":null,"technicalDirectUserId":"ab883735794211ea8334fa163e1166bd","technicalAuditUserId":null,"technicalAuditDateTime":null,"directUserName":"测试部门3","auditUserName":null,"specification":"φ300*200","delete":false},{"id":"00367eef-20ff-4e79-81ca-e1d37d3d49f8","createDateTime":1574265600000,"updateDateTime":1586333304000,"productName":"塞棒B286-1","productCode":"7101010591T","productType":"0","seriesId":"00260c0c7e1611ea8334fa163e1166bd","seriesName":null,"drawingNumber":"B286-1","technicalDirectUserId":null,"technicalAuditUserId":null,"technicalAuditDateTime":null,"directUserName":null,"auditUserName":null,"specification":"1168MM","delete":false},{"id":"0038cd36-869a-42d5-a042-18d1ee50f385","createDateTime":1574265600000,"updateDateTime":1586754667000,"productName":"快换中包水口ZB145-A","productCode":"7104010142L","productType":"0","seriesId":"463153d96fd011ea8334fa163e1166bd","seriesName":"系列测试","drawingNumber":"ZB145-A","technicalDirectUserId":null,"technicalAuditUserId":null,"technicalAuditDateTime":null,"directUserName":null,"auditUserName":null,"specification":"420","delete":false},{"id":"004cc2b1-124e-44e8-91c7-75c68b812b6d","createDateTime":1574265600000,"updateDateTime":1586755363000,"productName":"功能板150*160(08AL专用)MB63-1","productCode":"7203010011D","productType":"0","seriesId":"023b5815480111ea8334fa163e1166bd","seriesName":"1.2-1.6以下长水口(DT)","drawingNumber":"MB63-1","technicalDirectUserId":null,"technicalAuditUserId":null,"technicalAuditDateTime":null,"directUserName":null,"auditUserName":null,"specification":"150*160(08AL专用)","delete":false},{"id":"006c773a-fe1f-4a1b-a84e-a540f3a5c1ec","createDateTime":1574265600000,"updateDateTime":1584586825000,"productName":"浸入式水口(III型)J129-4-E","productCode":"7103010351T","productType":"0","seriesId":"1","seriesName":"4545","drawingNumber":"J129-4-E","technicalDirectUserId":null,"technicalAuditUserId":null,"technicalAuditDateTime":null,"directUserName":null,"auditUserName":null,"specification":"1200*380","delete":false},{"id":"0080c74e-2aec-4487-b10e-ccfbd7fd4bbd","createDateTime":1574265600000,"updateDateTime":1584586901000,"productName":"浸入式水口J561-1B","productCode":"7103040019L","productType":"0","seriesId":"1","seriesName":"4545","drawingNumber":"J561-1B","technicalDirectUserId":null,"technicalAuditUserId":null,"technicalAuditDateTime":null,"directUserName":null,"auditUserName":null,"specification":"685","delete":false},{"id":"008dd92c-22b5-4f1b-8248-0c08f5878985","createDateTime":1574265600000,"updateDateTime":1584587217000,"productName":"中间包水口座砖Z117-5","productCode":"7202010007D","productType":"0","seriesId":"1","seriesName":"4545","drawingNumber":"Z117-5","technicalDirectUserId":null,"technicalAuditUserId":null,"technicalAuditDateTime":null,"directUserName":null,"auditUserName":null,"specification":"ZBZ-500(¢295*203)","delete":false},{"id":"00948149-4305-4984-a69a-c6cdaf947b87","createDateTime":1574265600000,"updateDateTime":1584586507000,"productName":"铝碳塞棒B237","productCode":"7101010678L","productType":"0","seriesId":"1","seriesName":"4545","drawingNumber":"B237","technicalDirectUserId":null,"technicalAuditUserId":null,"technicalAuditDateTime":null,"directUserName":null,"auditUserName":null,"specification":"ZB-45(1400mm)","delete":false},{"id":"0097b765-cf47-455f-9845-44e51128ad20","createDateTime":1574265600000,"updateDateTime":1584667395000,"productName":"长水口L318","productCode":"7102010145L","productType":"0","seriesId":"1","seriesName":"4545","drawingNumber":"L318","technicalDirectUserId":null,"technicalAuditUserId":null,"technicalAuditDateTime":null,"directUserName":null,"auditUserName":null,"specification":"","delete":false}]
* prePage : 0
* nextPage : 2
* isFirstPage : true
* isLastPage : false
* hasPreviousPage : false
* hasNextPage : true
* navigatePages : 8
* navigatepageNums : [1,2,3,4,5,6,7,8]
* navigateFirstPage : 1
* navigateLastPage : 8
* firstPage : 1
* lastPage : 8
*/
private List<ListBean> list;
public List<ListBean> getList() {
return list;
}
public void setList(List<ListBean> list) {
this.list = list;
}
public static class ListBean {
/**
* id : 000d85e9-8628-4fb3-ae01-51c58340caf0
* createDateTime : 1574265600000
* updateDateTime : 1586917105000
* productName : 1#挡板DB1
* productCode : 7301050001B
* productType : 0
* seriesId : 023b5815480111ea8334fa163e1166bd
* seriesName : 1.2-1.6以下长水口(DT)
* drawingNumber : DB1
* technicalDirectUserId : 342a10bd497f11ea8334fa163e1166bd
* technicalAuditUserId : null
* technicalAuditDateTime : null
* directUserName : 生产员工
* auditUserName : null
* specification :
* delete : false
*/
private String id;
private long createDateTime;
private long updateDateTime;
private String productName;
private String productCode;
private String productType;
private String seriesId;
private String seriesName;
private String drawingNumber;
private String technicalDirectUserId;
private Object technicalAuditUserId;
private Object technicalAuditDateTime;
private String directUserName;
private Object auditUserName;
private String specification;
private boolean delete;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public long getCreateDateTime() {
return createDateTime;
}
public void setCreateDateTime(long createDateTime) {
this.createDateTime = createDateTime;
}
public long getUpdateDateTime() {
return updateDateTime;
}
public void setUpdateDateTime(long updateDateTime) {
this.updateDateTime = updateDateTime;
}
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public String getProductCode() {
return productCode;
}
public void setProductCode(String productCode) {
this.productCode = productCode;
}
public String getProductType() {
return productType;
}
public void setProductType(String productType) {
this.productType = productType;
}
public String getSeriesId() {
return seriesId;
}
public void setSeriesId(String seriesId) {
this.seriesId = seriesId;
}
public String getSeriesName() {
return seriesName;
}
public void setSeriesName(String seriesName) {
this.seriesName = seriesName;
}
public String getDrawingNumber() {
return drawingNumber;
}
public void setDrawingNumber(String drawingNumber) {
this.drawingNumber = drawingNumber;
}
public String getTechnicalDirectUserId() {
return technicalDirectUserId;
}
public void setTechnicalDirectUserId(String technicalDirectUserId) {
this.technicalDirectUserId = technicalDirectUserId;
}
public Object getTechnicalAuditUserId() {
return technicalAuditUserId;
}
public void setTechnicalAuditUserId(Object technicalAuditUserId) {
this.technicalAuditUserId = technicalAuditUserId;
}
public Object getTechnicalAuditDateTime() {
return technicalAuditDateTime;
}
public void setTechnicalAuditDateTime(Object technicalAuditDateTime) {
this.technicalAuditDateTime = technicalAuditDateTime;
}
public String getDirectUserName() {
return directUserName;
}
public void setDirectUserName(String directUserName) {
this.directUserName = directUserName;
}
public Object getAuditUserName() {
return auditUserName;
}
public void setAuditUserName(Object auditUserName) {
this.auditUserName = auditUserName;
}
public String getSpecification() {
return specification;
}
public void setSpecification(String specification) {
this.specification = specification;
}
public boolean isDelete() {
return delete;
}
public void setDelete(boolean delete) {
this.delete = delete;
}
}
}
package com.wd.workoffice.bean.mesBean;
import com.wd.workoffice.app.BaseMesPageBean;
import java.util.List;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class TakeOnBean extends BaseMesPageBean {
private List<ListBean> list;
public List<ListBean> getList() {
return list;
}
public void setList(List<ListBean> list) {
this.list = list;
}
public static class ListBean {
/**
* id : ab883735794211ea8334fa163e1166bd
* createDateTime : 1586313784000
* updateDateTime : null
* userCode : BM003
* name : 测试部门3
* sex : null
* email : null
* mobile : null
* tel : null
* status : 1
* siteId : 1c37c889ffa211e98334fa163e1166bd
* siteCode : ZWLT
* siteDesc : 铝碳厂
* orgId : 5ac6962d9ed911e8b81100163e049447
* orgCode : 00001
* orgDesc : 正望集团
* employmentDate : null
* expiryDate : null
* birthday : null
* address : null
* remarks : null
* createBy : null
* loginName : null
* createByName : hello
* delete : null
*/
private String id;
private long createDateTime;
private Object updateDateTime;
private String userCode;
private String name;
private Object sex;
private Object email;
private Object mobile;
private Object tel;
private int status;
private String siteId;
private String siteCode;
private String siteDesc;
private String orgId;
private String orgCode;
private String orgDesc;
private Object employmentDate;
private Object expiryDate;
private Object birthday;
private Object address;
private Object remarks;
private Object createBy;
private Object loginName;
private String createByName;
private Object delete;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public long getCreateDateTime() {
return createDateTime;
}
public void setCreateDateTime(long createDateTime) {
this.createDateTime = createDateTime;
}
public Object getUpdateDateTime() {
return updateDateTime;
}
public void setUpdateDateTime(Object updateDateTime) {
this.updateDateTime = updateDateTime;
}
public String getUserCode() {
return userCode;
}
public void setUserCode(String userCode) {
this.userCode = userCode;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Object getSex() {
return sex;
}
public void setSex(Object sex) {
this.sex = sex;
}
public Object getEmail() {
return email;
}
public void setEmail(Object email) {
this.email = email;
}
public Object getMobile() {
return mobile;
}
public void setMobile(Object mobile) {
this.mobile = mobile;
}
public Object getTel() {
return tel;
}
public void setTel(Object tel) {
this.tel = tel;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public String getSiteId() {
return siteId;
}
public void setSiteId(String siteId) {
this.siteId = siteId;
}
public String getSiteCode() {
return siteCode;
}
public void setSiteCode(String siteCode) {
this.siteCode = siteCode;
}
public String getSiteDesc() {
return siteDesc;
}
public void setSiteDesc(String siteDesc) {
this.siteDesc = siteDesc;
}
public String getOrgId() {
return orgId;
}
public void setOrgId(String orgId) {
this.orgId = orgId;
}
public String getOrgCode() {
return orgCode;
}
public void setOrgCode(String orgCode) {
this.orgCode = orgCode;
}
public String getOrgDesc() {
return orgDesc;
}
public void setOrgDesc(String orgDesc) {
this.orgDesc = orgDesc;
}
public Object getEmploymentDate() {
return employmentDate;
}
public void setEmploymentDate(Object employmentDate) {
this.employmentDate = employmentDate;
}
public Object getExpiryDate() {
return expiryDate;
}
public void setExpiryDate(Object expiryDate) {
this.expiryDate = expiryDate;
}
public Object getBirthday() {
return birthday;
}
public void setBirthday(Object birthday) {
this.birthday = birthday;
}
public Object getAddress() {
return address;
}
public void setAddress(Object address) {
this.address = address;
}
public Object getRemarks() {
return remarks;
}
public void setRemarks(Object remarks) {
this.remarks = remarks;
}
public Object getCreateBy() {
return createBy;
}
public void setCreateBy(Object createBy) {
this.createBy = createBy;
}
public Object getLoginName() {
return loginName;
}
public void setLoginName(Object loginName) {
this.loginName = loginName;
}
public String getCreateByName() {
return createByName;
}
public void setCreateByName(String createByName) {
this.createByName = createByName;
}
public Object getDelete() {
return delete;
}
public void setDelete(Object delete) {
this.delete = delete;
}
}
}
...@@ -38,7 +38,7 @@ public interface MesApiService { ...@@ -38,7 +38,7 @@ public interface MesApiService {
*/ */
@POST("/himes/api/msWorkOrder/save.json") @POST("/himes/api/msWorkOrder/save.json")
Observable<BaseMesBean> ticketAdd(@Query("functionId") String functionId, Observable<BaseMesBean> ticketAdd(@Query("functionId") String functionId,
@Query("option") String option, @Body RequestBody requestBody); @Query("option") String option, @Body RequestBody requestBody);
/** /**
* 任务类型-父类 * 任务类型-父类
...@@ -55,6 +55,7 @@ public interface MesApiService { ...@@ -55,6 +55,7 @@ public interface MesApiService {
*/ */
@POST("/himes/api/msJobTypeInfo/show/list.json") @POST("/himes/api/msJobTypeInfo/show/list.json")
Observable<BaseMesBean> jobTypeChild(@Query("functionId") String functionId, @Body RequestBody requestBody); Observable<BaseMesBean> jobTypeChild(@Query("functionId") String functionId, @Body RequestBody requestBody);
/** /**
* 日志 * 日志
* *
...@@ -100,7 +101,22 @@ public interface MesApiService { ...@@ -100,7 +101,22 @@ public interface MesApiService {
* *
* @return * @return
*/ */
@POST("/himes/api/msWorkOrder/accept.json?") @POST("/himes/api/msWorkOrder/accept.json")
Observable<BaseMesBean> receiveTicket(@Query("functionId") String functionId, @Body RequestBody requestBody); Observable<BaseMesBean> receiveTicket(@Query("functionId") String functionId, @Body RequestBody requestBody);
/**
* 产品
*
* @return
*/
@POST("/himes/api/product/show/list.json")
Observable<BaseMesBean> proList(@Query("functionId") String functionId, @Body RequestBody requestBody);
/**
* 产品
*
* @return
*/
@POST("/himes/api/user/noClear/show/page.json")
Observable<BaseMesBean> takeOnList(@Query("functionId") String functionId, @Body RequestBody requestBody);
} }
...@@ -3,6 +3,7 @@ package com.wd.workoffice.ui.activity.mes.ticket; ...@@ -3,6 +3,7 @@ package com.wd.workoffice.ui.activity.mes.ticket;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.text.TextUtils;
import android.view.View; import android.view.View;
import android.widget.EditText; import android.widget.EditText;
import android.widget.LinearLayout; import android.widget.LinearLayout;
...@@ -13,13 +14,13 @@ import com.alibaba.fastjson.JSON; ...@@ -13,13 +14,13 @@ import com.alibaba.fastjson.JSON;
import com.bigkoo.pickerview.listener.OnTimeSelectListener; import com.bigkoo.pickerview.listener.OnTimeSelectListener;
import com.qmuiteam.qmui.widget.dialog.QMUIDialog; import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
import com.wd.workoffice.R; import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.app.BaseMesBean; import com.wd.workoffice.app.BaseMesBean;
import com.wd.workoffice.app.WorkToolBarActivity; import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.AccountBean;
import com.wd.workoffice.bean.event.AddTicketEvent; import com.wd.workoffice.bean.event.AddTicketEvent;
import com.wd.workoffice.bean.mesBean.JobTypeBean; import com.wd.workoffice.bean.mesBean.JobTypeBean;
import com.wd.workoffice.bean.mesBean.MesClientBean; import com.wd.workoffice.bean.mesBean.MesClientBean;
import com.wd.workoffice.bean.mesBean.TakeOnBean;
import com.wd.workoffice.bean.mesBean.TicketBean;
import com.wd.workoffice.retrofit.RtfUtils; import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver; import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.adapter.JobTypeAdapter; import com.wd.workoffice.ui.adapter.JobTypeAdapter;
...@@ -58,8 +59,6 @@ public class MesTicketAddActivity extends WorkToolBarActivity { ...@@ -58,8 +59,6 @@ public class MesTicketAddActivity extends WorkToolBarActivity {
TextView tvSubmit; TextView tvSubmit;
@BindView(R.id.ll_bottom) @BindView(R.id.ll_bottom)
LinearLayout llBottom; LinearLayout llBottom;
@BindView(R.id.tv_code)
TextView tvCode;
@BindView(R.id.tv_client) @BindView(R.id.tv_client)
TextView tvClient; TextView tvClient;
@BindView(R.id.rl_client) @BindView(R.id.rl_client)
...@@ -72,6 +71,14 @@ public class MesTicketAddActivity extends WorkToolBarActivity { ...@@ -72,6 +71,14 @@ public class MesTicketAddActivity extends WorkToolBarActivity {
TextView tvManager; TextView tvManager;
@BindView(R.id.rl_manager) @BindView(R.id.rl_manager)
RelativeLayout rlManager; RelativeLayout rlManager;
@BindView(R.id.tv_mark)
TextView tvMark;
@BindView(R.id.tv_job)
TextView tvJob;
@BindView(R.id.rv_job)
RecyclerView rvJob;
@BindView(R.id.rl_job)
RelativeLayout rlJob;
@BindView(R.id.et_desc) @BindView(R.id.et_desc)
EditText etDesc; EditText etDesc;
@BindView(R.id.tv_take_on) @BindView(R.id.tv_take_on)
...@@ -84,32 +91,60 @@ public class MesTicketAddActivity extends WorkToolBarActivity { ...@@ -84,32 +91,60 @@ public class MesTicketAddActivity extends WorkToolBarActivity {
TextView tvStartTime; TextView tvStartTime;
@BindView(R.id.tv_end_time) @BindView(R.id.tv_end_time)
TextView tvEndTime; TextView tvEndTime;
@BindView(R.id.tv_time)
TextView tvTime;
@BindView(R.id.rl_time)
RelativeLayout rlTime;
@BindView(R.id.rl_job)
RelativeLayout rlJob;
@BindView(R.id.tv_job)
TextView tvJob;
@BindView(R.id.rv_job)
RecyclerView rvJob;
private AccountBean dataBean;
private Map<String, Object> param; private Map<String, Object> param;
private QMUIDialog.MenuDialogBuilder jobDialog; private QMUIDialog.MenuDialogBuilder jobDialog;
private JobTypeBean chooseJob; private JobTypeBean chooseJob;
private MesClientBean.ListBean chooseClient; private MesClientBean.ListBean chooseClient;
private TakeOnBean.ListBean chooseTakeOn;
@Override @Override
protected void initView() { protected void initView() {
ButterKnife.bind(this); ButterKnife.bind(this);
param = WorkUtils.simpleParam(); param = WorkUtils.simpleParam();
jobDialog = DialogUtils.listDialog(this); jobDialog = DialogUtils.listDialog(this);
rvJob.setLayoutManager(new LinearLayoutManager(this, RecyclerView.VERTICAL, false)); rvJob.setLayoutManager(new LinearLayoutManager(this, RecyclerView.HORIZONTAL, false));
} }
@Override @Override
protected void initData() { protected void initData() {
String data = getIntent().getStringExtra("data");
if (!TextUtils.isEmpty(data)) {
TicketBean.ListBean ticketBean = JSON.parseObject(data, TicketBean.ListBean.class);
tvClient.setText(ticketBean.getCustomerUserName());
tvCompany.setText(ticketBean.getSalesCompanyName());
tvManager.setText(ticketBean.getSalesManagerName());
tvTakeOn.setText(ticketBean.getJobUserName());
etDesc.setText(ticketBean.getJobDescription());
etPerson.setText(ticketBean.getPeopleCount());
tvStartTime.setText(ticketBean.getPlanBeginDate());
tvEndTime.setText(ticketBean.getPlanEndDate());
tvJob.setText(ticketBean.getJobTypeName());
// param.put("jobNo", ticketBean.getJobNo());
param.put("id", ticketBean.getId());
if (!TextUtils.isEmpty(ticketBean.getCustomerUserCode())) {
MesClientBean.ListBean newClient = new MesClientBean.ListBean();
newClient.setCustomerCode(ticketBean.getCustomerUserCode());
newClient.setCustomerName(ticketBean.getCustomerUserName());
newClient.setSalesCompanyCode(ticketBean.getSalesCompanyCode());
newClient.setSalesCompanyName(ticketBean.getSalesCompanyName());
newClient.setSalesManagerCode(ticketBean.getSalesManagerCode());
newClient.setSalesManagerName(ticketBean.getSalesManagerName());
chooseClient = newClient;
}
if (!TextUtils.isEmpty(ticketBean.getJobTypeId())) {
JobTypeBean jobTypeBean = new JobTypeBean();
jobTypeBean.setJobTypeCode(ticketBean.getJobTypeId());
jobTypeBean.setJobTypeName(ticketBean.getJobTypeName());
chooseJob = jobTypeBean;
getJobTypeChild(ticketBean.getJobTypeId());
}
if (!TextUtils.isEmpty(ticketBean.getJobUserId())) {
TakeOnBean.ListBean takeOn = new TakeOnBean.ListBean();
takeOn.setId(ticketBean.getJobUserId());
takeOn.setName(ticketBean.getJobUserName());
chooseTakeOn = takeOn;
}
}
getJobType(); getJobType();
} }
...@@ -191,18 +226,13 @@ public class MesTicketAddActivity extends WorkToolBarActivity { ...@@ -191,18 +226,13 @@ public class MesTicketAddActivity extends WorkToolBarActivity {
return R.layout.activity_mes_ticket_add; return R.layout.activity_mes_ticket_add;
} }
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// TODO: add setContentView(...) invocation
ButterKnife.bind(this);
}
@OnClick({R.id.tv_save, R.id.tv_submit, R.id.tv_start_time, R.id.tv_end_time, R.id.rl_job, R.id.rl_client, R.id.rl_company, R.id.rl_manager, R.id.rl_take_on}) @OnClick({R.id.tv_save, R.id.tv_submit, R.id.tv_start_time, R.id.tv_end_time, R.id.rl_job, R.id.rl_client, R.id.rl_company, R.id.rl_manager, R.id.rl_take_on})
public void onViewClicked(View view) { public void onViewClicked(View view) {
switch (view.getId()) { switch (view.getId()) {
case R.id.tv_save: case R.id.tv_save:
jobDialog.show(); param.put("jobStatus", 0);
submit();
break; break;
case R.id.tv_submit: case R.id.tv_submit:
if (chooseClient == null) { if (chooseClient == null) {
...@@ -213,16 +243,10 @@ public class MesTicketAddActivity extends WorkToolBarActivity { ...@@ -213,16 +243,10 @@ public class MesTicketAddActivity extends WorkToolBarActivity {
toast("请选择任务类别"); toast("请选择任务类别");
return; return;
} }
param.put("customerUserCode", chooseClient.getCustomerCode()); if (chooseTakeOn == null) {
param.put("customerUserName", chooseClient.getCustomerName()); toast("请选择任务担当");
param.put("salesCompanyCode", chooseClient.getSalesCompanyCode()); return;
param.put("salesCompanyName", chooseClient.getCustomerName()); }
param.put("salesManagerCode", chooseClient.getSalesManagerCode());
param.put("salesManagerName", chooseClient.getSalesManagerName());
param.put("jobTypeId", chooseJob.getJobTypeCode());
param.put("jobTypeName", chooseJob.getJobTypeName());
param.put("jobDescription", etDesc.getText().toString());
param.put("peopleCount", etPerson.getText().toString());
param.put("jobStatus", 1); param.put("jobStatus", 1);
submit(); submit();
break; break;
...@@ -237,6 +261,7 @@ public class MesTicketAddActivity extends WorkToolBarActivity { ...@@ -237,6 +261,7 @@ public class MesTicketAddActivity extends WorkToolBarActivity {
case R.id.rl_manager: case R.id.rl_manager:
break; break;
case R.id.rl_take_on: case R.id.rl_take_on:
startActivityForResult(MesTicketTakeOnActivity.class, 10002);
break; break;
case R.id.tv_start_time: case R.id.tv_start_time:
PickTimeUtils.showPickThree(this, new OnTimeSelectListener() { PickTimeUtils.showPickThree(this, new OnTimeSelectListener() {
...@@ -258,7 +283,27 @@ public class MesTicketAddActivity extends WorkToolBarActivity { ...@@ -258,7 +283,27 @@ public class MesTicketAddActivity extends WorkToolBarActivity {
} }
private void submit() { private void submit() {
RtfUtils.getMesRtf().ticketAdd("1", "1", WorkUtils.convertMapToBody(param)).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() { if (chooseClient != null) {
param.put("customerUserCode", chooseClient.getCustomerCode());
param.put("customerUserName", chooseClient.getCustomerName());
param.put("salesCompanyCode", chooseClient.getSalesCompanyCode());
param.put("salesCompanyName", chooseClient.getSalesCompanyName());
param.put("salesManagerCode", chooseClient.getSalesManagerCode());
param.put("salesManagerName", chooseClient.getSalesManagerName());
}
if (chooseJob != null) {
param.put("jobTypeId", chooseJob.getJobTypeCode());
param.put("jobTypeName", chooseJob.getJobTypeName());
}
if (chooseTakeOn != null) {
param.put("jobUserId", chooseTakeOn.getId());
param.put("jobUserName", chooseTakeOn.getName());
}
param.put("jobDescription", etDesc.getText().toString());
param.put("peopleCount", etPerson.getText().toString());
param.put("planBeginDate", tvStartTime.getText().toString() + " 00:00:00");
param.put("planEndDate", tvEndTime.getText().toString() + " 00:00:00");
RtfUtils.getMesRtf().ticketAdd("1", TextUtils.isEmpty(getIntent().getStringExtra("data")) ? "1" : "2", WorkUtils.convertMapToBody(param)).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override @Override
...@@ -278,6 +323,7 @@ public class MesTicketAddActivity extends WorkToolBarActivity { ...@@ -278,6 +323,7 @@ public class MesTicketAddActivity extends WorkToolBarActivity {
toast(data.getMessage()); toast(data.getMessage());
return; return;
} }
finish();
toast("添加成功"); toast("添加成功");
EventBus.getDefault().post(new AddTicketEvent()); EventBus.getDefault().post(new AddTicketEvent());
} }
...@@ -292,6 +338,10 @@ public class MesTicketAddActivity extends WorkToolBarActivity { ...@@ -292,6 +338,10 @@ public class MesTicketAddActivity extends WorkToolBarActivity {
tvClient.setText(chooseClient.getCustomerName()); tvClient.setText(chooseClient.getCustomerName());
tvCompany.setText(chooseClient.getSalesCompanyName()); tvCompany.setText(chooseClient.getSalesCompanyName());
tvManager.setText(chooseClient.getSalesManagerName()); tvManager.setText(chooseClient.getSalesManagerName());
} else if (requestCode == 10002 && resultCode == 10002) {
chooseTakeOn = JSON.parseObject(data.getStringExtra("data"), TakeOnBean.ListBean.class);
tvTakeOn.setText(chooseTakeOn.getName());
} }
} }
} }
package com.wd.workoffice.ui.activity.mes.ticket; package com.wd.workoffice.ui.activity.mes.ticket;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.Menu; import android.view.Menu;
...@@ -11,19 +13,25 @@ import android.widget.RelativeLayout; ...@@ -11,19 +13,25 @@ import android.widget.RelativeLayout;
import android.widget.TextView; import android.widget.TextView;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
import com.wd.workoffice.R; import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseMesBean; import com.wd.workoffice.app.BaseMesBean;
import com.wd.workoffice.app.WorkToolBarActivity; import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.mesBean.MesClientBean;
import com.wd.workoffice.bean.mesBean.MesProBean;
import com.wd.workoffice.bean.mesBean.TicketBean; import com.wd.workoffice.bean.mesBean.TicketBean;
import com.wd.workoffice.retrofit.RtfUtils; import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver; import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.util.DialogUtils;
import com.wd.workoffice.util.WorkUtils; import com.wd.workoffice.util.WorkUtils;
import java.util.Map; import java.util.Map;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
import butterknife.OnClick;
import flexible.xd.android_base.network.rtfhttp.Transformer; import flexible.xd.android_base.network.rtfhttp.Transformer;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
...@@ -94,12 +102,24 @@ public class MesTicketAddSummaryActivity extends WorkToolBarActivity { ...@@ -94,12 +102,24 @@ public class MesTicketAddSummaryActivity extends WorkToolBarActivity {
RecyclerView rvAnnx; RecyclerView rvAnnx;
private Map<String, Object> param; private Map<String, Object> param;
private TicketBean.ListBean data; private TicketBean.ListBean data;
private QMUIDialog.MenuDialogBuilder proDialog;
private MesProBean.ListBean choosePro;
@Override @Override
protected void initView() { protected void initView() {
ButterKnife.bind(this); ButterKnife.bind(this);
data = JSON.parseObject(getIntent().getStringExtra("data"), TicketBean.ListBean.class); data = JSON.parseObject(getIntent().getStringExtra("data"), TicketBean.ListBean.class);
changVisibility(data.getJobTypeId()); changVisibility(data.getJobTypeId());
proDialog = DialogUtils.listDialog(this);
proDialog.addItems(new String[]{"是", "否"}, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (which == 0)
param.put("productDrawingConfirmation", 1);
else
param.put("productDrawingConfirmation", 0);
}
});
} }
...@@ -110,7 +130,34 @@ public class MesTicketAddSummaryActivity extends WorkToolBarActivity { ...@@ -110,7 +130,34 @@ public class MesTicketAddSummaryActivity extends WorkToolBarActivity {
} }
private void submit() { private void submit() {
RtfUtils.getMesRtf().summaryAdd("", WorkUtils.convertMapToBody(param)).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() { if (TextUtils.equals(data.getJobTypeId(), "01")) {
param.put("siteInvestigation", etDesign1.getText().toString());
param.put("feasibilityReport", etDesign2.getText().toString());
} else if (TextUtils.equals(data.getJobTypeId(), "02")) {
param.put("experimentProcess", etTry1.getText().toString());
param.put("experimentResult", etTry2.getText().toString());
param.put("improveProposal", etTry3.getText().toString());
} else if (TextUtils.equals(data.getJobTypeId(), "03")) {
param.put("feedbackQualityIssues", etQuality1.getText().toString());
param.put("siteUseSituation", etQuality2.getText().toString());
param.put("causeAnalysis", etQuality3.getText().toString());
param.put("solution", etQuality4.getText().toString());
} else if (TextUtils.equals(data.getJobTypeId(), "04")) {
param.put("communicativePurposes", etTech1.getText().toString());
param.put("communicativeSituation", etTech2.getText().toString());
param.put("reachOpinion", etTech3.getText().toString());
} else if (TextUtils.equals(data.getJobTypeId(), "05")) {
param.put("productDevise", etTender1.getText().toString());
param.put("productQuotedPrice", etTender2.getText().toString());
}
if (!TextUtils.equals(data.getJobTypeId(), "01") && !TextUtils.equals(data.getJobTypeId(), "05")) {
if (choosePro != null) {
param.put("productsCode", choosePro.getProductCode());
param.put("productsName", choosePro.getProductName());
}
}
param.put("completionSituation", etClient.getText().toString());
RtfUtils.getMesRtf().summaryAdd("1", WorkUtils.convertMapToBody(param)).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override @Override
...@@ -172,4 +219,34 @@ public class MesTicketAddSummaryActivity extends WorkToolBarActivity { ...@@ -172,4 +219,34 @@ public class MesTicketAddSummaryActivity extends WorkToolBarActivity {
llTender.setVisibility(View.VISIBLE); llTender.setVisibility(View.VISIBLE);
} }
} }
@OnClick({R.id.rl_quality_pro, R.id.ll_design, R.id.rl_try_pro, R.id.rl_tech_pro})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.ll_design:
proDialog.show();
break;
case R.id.rl_try_pro:
startActivityForResult(MesTicketProActivity.class, 10001);
break;
case R.id.rl_tech_pro:
startActivityForResult(MesTicketProActivity.class, 10001);
break;
case R.id.rl_quality_pro:
startActivityForResult(MesTicketProActivity.class, 10001);
break;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 10001 && resultCode == 10001) {
choosePro = JSON.parseObject(data.getStringExtra("data"), MesProBean.ListBean.class);
tvQualityPro.setText(choosePro.getProductName());
tvTechPro.setText(choosePro.getProductName());
tvTryPro.setText(choosePro.getProductName());
}
}
} }
...@@ -180,7 +180,7 @@ public class MesTicketListActivity extends WorkToolBarActivity { ...@@ -180,7 +180,7 @@ public class MesTicketListActivity extends WorkToolBarActivity {
public void onItemClick(BaseQuickAdapter adapter, View view, int position) { public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
switch (dataList.get(position).getJobStatus()) { switch (dataList.get(position).getJobStatus()) {
case 0: case 0:
startActivity(MesTicketDetailActivity.class, "data", JSON.toJSONString(dataList.get(position))); startActivity(MesTicketAddActivity.class, "data", JSON.toJSONString(dataList.get(position)));
break; break;
case 1: case 1:
startActivity(MesTicketDetailActivity.class, "data", JSON.toJSONString(dataList.get(position))); startActivity(MesTicketDetailActivity.class, "data", JSON.toJSONString(dataList.get(position)));
......
package com.wd.workoffice.ui.activity.mes.ticket;
import android.content.Intent;
import android.text.TextUtils;
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.MesClientBean;
import com.wd.workoffice.bean.mesBean.MesProBean;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.adapter.MesClientAdapter;
import com.wd.workoffice.ui.adapter.MesProAdapter;
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 MesTicketProActivity 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<MesProBean.ListBean> clientList;
private MesProAdapter clientAdapter;
private int page = 1;
@Override
protected void initView() {
ButterKnife.bind(this);
rvClient.setLayoutManager(new LinearLayoutManager(this, RecyclerView.VERTICAL, false));
}
@Override
protected void initData() {
clientList = new ArrayList<>();
clientAdapter = new MesProAdapter(R.layout.item_store_client, clientList);
clientAdapter.bindToRecyclerView(rvClient);
clientAdapter.setEmptyView(R.layout.view_empty_content, rvClient);
param = WorkUtils.pageMesKey();
param.put("pageNum", 1);
getData();
}
private void getData() {
RtfUtils.getMesRtf().clientList("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<MesProBean.ListBean> getList = JSON.parseObject(data.getData().toString(), MesProBean.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_ticket_take_on;
}
@OnClick(R.id.btn_search)
public void onViewClicked() {
param.put("name", etKey.getText().toString());
param.put("pageNum", 1);
page = 1;
getData();
}
}
package com.wd.workoffice.ui.activity.mes.ticket;
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.MesProBean;
import com.wd.workoffice.bean.mesBean.TakeOnBean;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.adapter.MesProAdapter;
import com.wd.workoffice.ui.adapter.MesTakeOnAdapter;
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 MesTicketTakeOnActivity 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<TakeOnBean.ListBean> clientList;
private MesTakeOnAdapter clientAdapter;
private int page = 1;
@Override
protected void initView() {
ButterKnife.bind(this);
rvClient.setLayoutManager(new LinearLayoutManager(this, RecyclerView.VERTICAL, false));
}
@Override
protected void initData() {
clientList = new ArrayList<>();
clientAdapter = new MesTakeOnAdapter(R.layout.item_store_client, clientList);
clientAdapter.bindToRecyclerView(rvClient);
clientAdapter.setEmptyView(R.layout.view_empty_content, rvClient);
param = WorkUtils.pageMesKey();
param.put("pageNum", 1);
getData();
}
private void getData() {
RtfUtils.getMesRtf().takeOnList("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<TakeOnBean.ListBean> getList = JSON.parseObject(data.getData().toString(), TakeOnBean.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(10002, intent);
finish();
}
});
}
@Override
protected int layoutId() {
return R.layout.activity_mes_ticket_take_on;
}
@OnClick(R.id.btn_search)
public void onViewClicked() {
param.put("name", etKey.getText().toString());
param.put("pageNum", 1);
page = 1;
getData();
}
}
package com.wd.workoffice.ui.adapter;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.wd.workoffice.R;
import com.wd.workoffice.bean.mesBean.MesClientBean;
import com.wd.workoffice.bean.mesBean.MesProBean;
import java.util.List;
/**
* Created by flexible on 2018/8/13.
*/
public class MesProAdapter extends BaseQuickAdapter<MesProBean.ListBean, BaseViewHolder> {
public MesProAdapter(int layoutResId, List data) {
super(layoutResId, data);
}
@Override
protected void convert(BaseViewHolder helper, MesProBean.ListBean item) {
helper.setText(R.id.tv_name, item.getProductName());
}
}
package com.wd.workoffice.ui.adapter;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.wd.workoffice.R;
import com.wd.workoffice.bean.mesBean.MesProBean;
import com.wd.workoffice.bean.mesBean.TakeOnBean;
import java.util.List;
/**
* Created by flexible on 2018/8/13.
*/
public class MesTakeOnAdapter extends BaseQuickAdapter<TakeOnBean.ListBean, BaseViewHolder> {
public MesTakeOnAdapter(int layoutResId, List data) {
super(layoutResId, data);
}
@Override
protected void convert(BaseViewHolder helper, TakeOnBean.ListBean item) {
helper.setText(R.id.tv_name, item.getName());
}
}
...@@ -49,29 +49,6 @@ ...@@ -49,29 +49,6 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="20mm"
android:paddingVertical="9mm"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="单号:"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_code"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10mm"
android:textSize="14sp" />
</LinearLayout>
<View style="@style/dividerX" />
<RelativeLayout <RelativeLayout
android:id="@+id/rl_client" android:id="@+id/rl_client"
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -200,6 +177,7 @@ ...@@ -200,6 +177,7 @@
android:paddingVertical="9mm"> android:paddingVertical="9mm">
<TextView <TextView
android:id="@+id/tv_mark"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentLeft="true" android:layout_alignParentLeft="true"
...@@ -210,6 +188,7 @@ ...@@ -210,6 +188,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_toRightOf="@id/tv_mark"
android:gravity="right" android:gravity="right"
android:orientation="vertical"> android:orientation="vertical">
...@@ -274,8 +253,7 @@ ...@@ -274,8 +253,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingHorizontal="20mm" android:paddingHorizontal="20mm"
android:paddingVertical="9mm" android:paddingVertical="9mm">
android:visibility="gone">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
...@@ -390,79 +368,6 @@ ...@@ -390,79 +368,6 @@
<View style="@style/dividerX" /> <View style="@style/dividerX" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="20mm"
android:paddingVertical="9mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="制单人"
android:textSize="14sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="20mm"
android:gravity="center"
android:padding="3mm"
android:textColor="@color/flexible_text_gray"
android:textSize="14sp" />
<ImageView
android:layout_width="13mm"
android:layout_height="13mm"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:src="@mipmap/ticket_close" />
</RelativeLayout>
<View style="@style/dividerX" />
<RelativeLayout
android:id="@+id/rl_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="20mm"
android:paddingVertical="9mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:text="制单日期"
android:textSize="14sp" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:gravity="center_vertical">
<TextView
android:id="@+id/tv_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginRight="3mm"
android:text="请选择"
android:textColor="@color/flexible_text_gray"
android:textSize="14sp" />
<ImageView
android:layout_width="15mm"
android:layout_height="20mm"
android:src="@mipmap/arrow_right_gray" />
</LinearLayout>
</RelativeLayout>
<View style="@style/dividerX" />
</LinearLayout> </LinearLayout>
</androidx.core.widget.NestedScrollView> </androidx.core.widget.NestedScrollView>
......
...@@ -75,6 +75,7 @@ ...@@ -75,6 +75,7 @@
android:textSize="14sp" /> android:textSize="14sp" />
<TextView <TextView
android:id="@+id/tv_finish"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="3mm" android:layout_marginTop="3mm"
...@@ -141,59 +142,498 @@ ...@@ -141,59 +142,498 @@
<View style="@style/dividerX" /> <View style="@style/dividerX" />
<TextView <LinearLayout
android:id="@+id/ll_design"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingVertical="13mm" android:orientation="vertical"
android:text="现场情况调查" android:visibility="gone">
android:textSize="14sp" />
<TextView <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="3mm" android:paddingHorizontal="20mm"
android:layout_marginBottom="10mm" android:paddingVertical="9mm">
android:background="@drawable/shape_input_white"
android:gravity="top"
android:minLines="3"
android:padding="5mm"
android:textSize="14sp" />
<TextView <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="产品图纸确认"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_design_confirm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="10mm"
android:text="请选择"
android:textSize="14sp" />
</RelativeLayout>
<View style="@style/dividerX" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="20mm"
android:paddingVertical="13mm"
android:text="现场情况调查"
android:textSize="14sp" />
<EditText
android:id="@+id/et_design1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
android:layout_marginTop="3mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:hint="请输入"
android:minLines="3"
android:padding="5mm"
android:textSize="14sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="20mm"
android:paddingVertical="13mm"
android:text="可行性方案"
android:textSize="14sp" />
<EditText
android:id="@+id/et_design2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
android:layout_marginTop="3mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:hint="请输入"
android:minLines="3"
android:padding="5mm"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_try"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingVertical="13mm" android:orientation="vertical"
android:text="可行性方案" android:visibility="gone">
android:textSize="14sp" />
<TextView <RelativeLayout
android:id="@+id/rl_try_pro"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="20mm"
android:paddingVertical="9mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:text="试验产品"
android:textSize="14sp" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:gravity="center_vertical">
<TextView
android:id="@+id/tv_try_pro"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginRight="3mm"
android:text="请选择"
android:textColor="@color/flexible_text_gray"
android:textSize="14sp" />
<ImageView
android:layout_width="15mm"
android:layout_height="20mm"
android:src="@mipmap/arrow_right_gray" />
</LinearLayout>
</RelativeLayout>
<View style="@style/dividerX" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="20mm"
android:paddingVertical="13mm"
android:text="实验过程"
android:textSize="14sp" />
<EditText
android:id="@+id/et_try1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
android:layout_marginTop="3mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:hint="请输入"
android:minLines="3"
android:padding="5mm"
android:textSize="14sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="20mm"
android:paddingVertical="13mm"
android:text="实验结果"
android:textSize="14sp" />
<EditText
android:id="@+id/et_try2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
android:layout_marginTop="3mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:hint="请输入"
android:minLines="3"
android:padding="5mm"
android:textSize="14sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="20mm"
android:paddingVertical="13mm"
android:text="改进及建议"
android:textSize="14sp" />
<EditText
android:id="@+id/et_try3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
android:layout_marginTop="3mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:hint="请输入"
android:minLines="3"
android:padding="5mm"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_quality"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="3mm" android:orientation="vertical"
android:layout_marginBottom="10mm" android:visibility="gone">
android:background="@drawable/shape_input_white"
android:gravity="top"
android:minLines="3"
android:padding="5mm"
android:textSize="14sp" />
<TextView <RelativeLayout
android:id="@+id/rl_quality_pro"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="20mm"
android:paddingVertical="9mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:text="产品"
android:textSize="14sp" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:gravity="center_vertical">
<TextView
android:id="@+id/tv_quality_pro"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginRight="3mm"
android:text="请选择"
android:textColor="@color/flexible_text_gray"
android:textSize="14sp" />
<ImageView
android:layout_width="15mm"
android:layout_height="20mm"
android:src="@mipmap/arrow_right_gray" />
</LinearLayout>
</RelativeLayout>
<View style="@style/dividerX" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="20mm"
android:paddingVertical="13mm"
android:text="反馈的质量问题"
android:textSize="14sp" />
<EditText
android:id="@+id/et_quality1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
android:layout_marginTop="3mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:hint="请输入"
android:minLines="3"
android:padding="5mm"
android:textSize="14sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="20mm"
android:paddingVertical="13mm"
android:text="现场使用情况"
android:textSize="14sp" />
<EditText
android:id="@+id/et_quality2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
android:layout_marginTop="3mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:hint="请输入"
android:minLines="3"
android:padding="5mm"
android:textSize="14sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="20mm"
android:paddingVertical="13mm"
android:text="原因分析"
android:textSize="14sp" />
<EditText
android:id="@+id/et_quality3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
android:layout_marginTop="3mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:hint="请输入"
android:minLines="3"
android:padding="5mm"
android:textSize="14sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="20mm"
android:paddingVertical="13mm"
android:text="解决方案"
android:textSize="14sp" />
<EditText
android:id="@+id/et_quality4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
android:layout_marginTop="3mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:hint="请输入"
android:minLines="3"
android:padding="5mm"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_tech"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingVertical="13mm" android:orientation="vertical"
android:text="完成情况" android:visibility="gone">
android:textSize="14sp" />
<TextView <RelativeLayout
android:id="@+id/rl_tech_pro"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="20mm"
android:paddingVertical="9mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:text="产品"
android:textSize="14sp" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:gravity="center_vertical">
<TextView
android:id="@+id/tv_tech_pro"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginRight="3mm"
android:text="请选择"
android:textColor="@color/flexible_text_gray"
android:textSize="14sp" />
<ImageView
android:layout_width="15mm"
android:layout_height="20mm"
android:src="@mipmap/arrow_right_gray" />
</LinearLayout>
</RelativeLayout>
<View style="@style/dividerX" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="20mm"
android:paddingVertical="13mm"
android:text="交流目的"
android:textSize="14sp" />
<EditText
android:id="@+id/et_tech1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
android:layout_marginTop="3mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:hint="请输入"
android:minLines="3"
android:padding="5mm"
android:textSize="14sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="20mm"
android:paddingVertical="13mm"
android:text="交流情况"
android:textSize="14sp" />
<EditText
android:id="@+id/et_tech2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
android:layout_marginTop="3mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:hint="请输入"
android:minLines="3"
android:padding="5mm"
android:textSize="14sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="20mm"
android:paddingVertical="13mm"
android:text="达成意见"
android:textSize="14sp" />
<EditText
android:id="@+id/et_tech3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
android:layout_marginTop="3mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:hint="请输入"
android:minLines="3"
android:padding="5mm"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_tender"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="3mm" android:orientation="vertical"
android:layout_marginBottom="10mm" android:visibility="gone">
android:background="@drawable/shape_input_white"
android:gravity="top"
android:minLines="3" <TextView
android:padding="5mm" android:layout_width="match_parent"
android:textSize="14sp" /> android:layout_height="wrap_content"
android:paddingHorizontal="20mm"
android:paddingVertical="13mm"
android:text="产品设计"
android:textSize="14sp" />
<EditText
android:id="@+id/et_tender1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
android:layout_marginTop="3mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:hint="请输入"
android:minLines="3"
android:padding="5mm"
android:textSize="14sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="20mm"
android:paddingVertical="13mm"
android:text="产品报价"
android:textSize="14sp" />
<EditText
android:id="@+id/et_tender2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
android:layout_marginTop="3mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:hint="请输入"
android:minLines="3"
android:padding="5mm"
android:textSize="14sp" />
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_img" android:id="@+id/rv_img"
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="10mm" android:layout_marginTop="10mm"
android:layout_marginRight="5mm"
android:orientation="vertical"> android:orientation="vertical">
<TextView <TextView
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论