提交 53769939 authored 作者: lgd's avatar lgd

1.日志图片上传

2.//TODO erp用户是否选择新部门为空,质检接口数据无对应问题,内部交易订单审核,审核规则,领用申请列表/退件列表/参数,坩埚下单,mes,刷新token,编辑任务担当无法修改
上级 fc72997b
...@@ -71,8 +71,8 @@ dependencies { ...@@ -71,8 +71,8 @@ dependencies {
//沉浸式 //沉浸式
implementation 'com.gyf.immersionbar:immersionbar:2.3.3' implementation 'com.gyf.immersionbar:immersionbar:2.3.3'
// glide 依赖 // glide 依赖
implementation 'com.github.bumptech.glide:glide:4.9.0' implementation 'com.github.bumptech.glide:glide:4.11.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
//banner依赖 //banner依赖
implementation 'com.youth.banner:banner:1.4.9' implementation 'com.youth.banner:banner:1.4.9'
//design库 //design库
......
...@@ -13,19 +13,12 @@ ...@@ -13,19 +13,12 @@
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_LOGS" /> <uses-permission android:name="android.permission.READ_LOGS" />
<!--允许程序访问CellID或WiFi热点来获取粗略的位置-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<application <application
android:name=".app.WorkApp" android:name=".app.WorkApp"
...@@ -33,6 +26,7 @@ ...@@ -33,6 +26,7 @@
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
android:label="@string/app_name" android:label="@string/app_name"
android:supportsRtl="true" android:supportsRtl="true"
android:networkSecurityConfig="@xml/network_security_config"
android:theme="@style/Work.Base" android:theme="@style/Work.Base"
android:usesCleartextTraffic="true"> android:usesCleartextTraffic="true">
<activity <activity
......
...@@ -19,7 +19,7 @@ public class ImageBean { ...@@ -19,7 +19,7 @@ public class ImageBean {
private String name; private String name;
private String path; private String path;
private String type; private String type;
private int size; private long size;
private String url; private String url;
public String getId() { public String getId() {
...@@ -54,11 +54,11 @@ public class ImageBean { ...@@ -54,11 +54,11 @@ public class ImageBean {
this.type = type; this.type = type;
} }
public int getSize() { public long getSize() {
return size; return size;
} }
public void setSize(int size) { public void setSize(long size) {
this.size = size; this.size = size;
} }
......
...@@ -146,7 +146,7 @@ public interface MesApiService { ...@@ -146,7 +146,7 @@ public interface MesApiService {
* @return * @return
*/ */
@Multipart @Multipart
@POST("/file/uploadFile") @POST("/himes/api/file/uploadFile")
Observable<BaseMesBean> upload(@Part MultipartBody.Part file); Observable<BaseMesBean> upload(@Part MultipartBody.Part file);
} }
...@@ -19,18 +19,24 @@ import com.tbruyelle.rxpermissions2.RxPermissions; ...@@ -19,18 +19,24 @@ import com.tbruyelle.rxpermissions2.RxPermissions;
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.ImageBean;
import com.wd.workoffice.bean.mesBean.TicketBean; import com.wd.workoffice.bean.mesBean.TicketBean;
import com.wd.workoffice.retrofit.ApiService; import com.wd.workoffice.retrofit.ApiService;
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.activity.bat.store.StoreSaleConfirmActivity; import com.wd.workoffice.ui.activity.bat.store.StoreSaleConfirmActivity;
import com.wd.workoffice.util.Glide4Engine; import com.wd.workoffice.util.Glide4Engine;
import com.wd.workoffice.util.GlideUtils;
import com.wd.workoffice.util.WorkUtils; import com.wd.workoffice.util.WorkUtils;
import com.zhihu.matisse.Matisse; import com.zhihu.matisse.Matisse;
import com.zhihu.matisse.MimeType; import com.zhihu.matisse.MimeType;
import com.zhihu.matisse.internal.entity.CaptureStrategy; import com.zhihu.matisse.internal.entity.CaptureStrategy;
import java.io.File; import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
...@@ -39,6 +45,7 @@ import butterknife.ButterKnife; ...@@ -39,6 +45,7 @@ import butterknife.ButterKnife;
import butterknife.OnClick; import butterknife.OnClick;
import flexible.xd.android_base.network.rtfhttp.RtfHelper; import flexible.xd.android_base.network.rtfhttp.RtfHelper;
import flexible.xd.android_base.network.rtfhttp.Transformer; import flexible.xd.android_base.network.rtfhttp.Transformer;
import flexible.xd.android_base.utils.FileUtils;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
import okhttp3.MediaType; import okhttp3.MediaType;
import okhttp3.MultipartBody; import okhttp3.MultipartBody;
...@@ -71,6 +78,7 @@ public class MesTicketAddLogActivity extends WorkToolBarActivity { ...@@ -71,6 +78,7 @@ public class MesTicketAddLogActivity extends WorkToolBarActivity {
ImageView ivImg3; ImageView ivImg3;
private Map<String, Object> param; private Map<String, Object> param;
private TicketBean.ListBean data; private TicketBean.ListBean data;
private Map<Integer, Object> annexMap = new HashMap<>();
@Override @Override
protected void initView() { protected void initView() {
...@@ -79,6 +87,8 @@ public class MesTicketAddLogActivity extends WorkToolBarActivity { ...@@ -79,6 +87,8 @@ public class MesTicketAddLogActivity extends WorkToolBarActivity {
tvCode.setText(data.getJobNo()); tvCode.setText(data.getJobNo());
tvTime.setText(data.getCreateDateTime()); tvTime.setText(data.getCreateDateTime());
tvCreatePerson.setText(data.getCreateUserName()); tvCreatePerson.setText(data.getCreateUserName());
// ivImg1.setImageResource(R.mipmap.ic_launcher);
// GlideUtils.getRequest().load(R.mipmap.ic_launcher).into(ivImg1);
} }
@Override @Override
...@@ -139,22 +149,33 @@ public class MesTicketAddLogActivity extends WorkToolBarActivity { ...@@ -139,22 +149,33 @@ public class MesTicketAddLogActivity extends WorkToolBarActivity {
param.put("customerDemand", client); param.put("customerDemand", client);
param.put("jobContent", content); param.put("jobContent", content);
param.put("problemDescription", desc); param.put("problemDescription", desc);
// param.put("attachments", Arrays.asList("https://image.baidu.com/search/redirect?tn=redirect&word=j&juid=60A17C&sign=ckwboawzac&url=http%3A%2F%2Fwww.he-nan.com%2Fwtx%2Fswaxd%2Fnew-126233.html&bakfurl1=http%3A%2F%2Fwww.jnhsgc.com%2Fwtx%2Fswaxd%2Fshow%2F2188241.html&bakfurl2=http%3A%2F%2Fwww.10huan.com%2Fwtx%2Fswaxd%2Fnew-1240701.html&objurl=https%3A%2F%2Ftimgsa.baidu.com%2Ftimg%3Fimage%26quality%3D80%26size%3Db9999_10000%26sec%3D1587918679912%26di%3D8f01c77314881dad317d1cbda58cd0bf%26imgtype%3D0%26src%3Dhttp%253A%252F%252Fimg.yzt-tools.com%252F20190218%252Fca736a78109decf300cbaf239cc32545.jpg")); param.put("attachments", getUploadImg());
submit(); submit();
break; break;
} }
return super.onOptionsItemSelected(item); return super.onOptionsItemSelected(item);
} }
private List<Object> getUploadImg() {
List<Object> imgList = new ArrayList<>();
for (Map.Entry<Integer, Object> integerStringEntry : annexMap.entrySet()) {
imgList.add(integerStringEntry.getValue());
}
return imgList;
}
@OnClick({R.id.iv_img1, R.id.iv_img2, R.id.iv_img3}) @OnClick({R.id.iv_img1, R.id.iv_img2, R.id.iv_img3})
public void onViewClicked(View view) { public void onViewClicked(View view) {
switch (view.getId()) { switch (view.getId()) {
case R.id.iv_img1: case R.id.iv_img1:
addImg(1);
break; break;
case R.id.iv_img2: case R.id.iv_img2:
addImg(2);
break; break;
case R.id.iv_img3: case R.id.iv_img3:
addImg(3);
break; break;
} }
} }
...@@ -169,7 +190,7 @@ public class MesTicketAddLogActivity extends WorkToolBarActivity { ...@@ -169,7 +190,7 @@ public class MesTicketAddLogActivity extends WorkToolBarActivity {
if (granted) { if (granted) {
// All requested permissions are granted // All requested permissions are granted
Matisse.from(MesTicketAddLogActivity.this) Matisse.from(MesTicketAddLogActivity.this)
.choose(MimeType.ofImage()) .choose(MimeType.ofAll())
.countable(true) .countable(true)
.maxSelectable(1).capture(true). .maxSelectable(1).capture(true).
captureStrategy(new CaptureStrategy(true, "com.wd.workoffice.fileprovider")) captureStrategy(new CaptureStrategy(true, "com.wd.workoffice.fileprovider"))
...@@ -193,27 +214,30 @@ public class MesTicketAddLogActivity extends WorkToolBarActivity { ...@@ -193,27 +214,30 @@ public class MesTicketAddLogActivity extends WorkToolBarActivity {
switch (requestCode) { switch (requestCode) {
case 10001: case 10001:
if (Matisse.obtainResult(data).size() != 0) { if (Matisse.obtainResult(data).size() != 0) {
upload(1, Matisse.obtainResult(data).get(0)); Uri uri = Matisse.obtainResult(data).get(0);
upload(1, uri);
} }
break; break;
case 10002: case 10002:
if (Matisse.obtainResult(data).size() != 0) { if (Matisse.obtainResult(data).size() != 0) {
upload(2, Matisse.obtainResult(data).get(0)); Uri uri = Matisse.obtainResult(data).get(0);
upload(2, uri);
} }
break; break;
case 10003: case 10003:
if (Matisse.obtainResult(data).size() != 0) { if (Matisse.obtainResult(data).size() != 0) {
upload(3, Matisse.obtainResult(data).get(0)); Uri uri = Matisse.obtainResult(data).get(0);
upload(3, uri);
} }
break; break;
} }
} }
} }
private void upload(int position, Uri data) { private void upload(int position, Uri uri) {
showLoading(); showLoading();
File file = WorkUtils.uriToFile(data, this); File file = WorkUtils.uriToFile(uri, this);
RequestBody requestFile = RequestBody.create(MediaType.parse("image/png"), file); RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
RtfUtils.getMesRtf(). RtfUtils.getMesRtf().
upload(MultipartBody.Part.createFormData("file", file.getName(), requestFile)). upload(MultipartBody.Part.createFormData("file", file.getName(), requestFile)).
compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() { compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
...@@ -231,11 +255,30 @@ public class MesTicketAddLogActivity extends WorkToolBarActivity { ...@@ -231,11 +255,30 @@ public class MesTicketAddLogActivity extends WorkToolBarActivity {
@Override @Override
public void onSuccess(BaseMesBean data) { public void onSuccess(BaseMesBean data) {
hideLoading(); hideLoading();
if (data.isSuccess()) { if (!data.isSuccess()) {
toast(data.getMessage()); toast(data.getMessage());
return; return;
} }
toast("上传成功"); 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]);
switch (position) {
case 1:
GlideUtils.getRequest().load(uri).into(ivImg1);
annexMap.put(1, imageBean);
break;
case 2:
GlideUtils.getRequest().load(uri).into(ivImg2);
annexMap.put(2, imageBean);
break;
case 3:
GlideUtils.getRequest().load(uri).into(ivImg3);
annexMap.put(3, imageBean);
break;
}
} }
}); });
} }
......
...@@ -2,6 +2,7 @@ package com.wd.workoffice.ui.activity.mes.ticket; ...@@ -2,6 +2,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.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.Menu; import android.view.Menu;
...@@ -19,26 +20,36 @@ import com.wd.workoffice.app.BaseMesBean; ...@@ -19,26 +20,36 @@ import com.wd.workoffice.app.BaseMesBean;
import com.wd.workoffice.app.WorkToolBarActivity; import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.event.AddSummarytEvent; import com.wd.workoffice.bean.event.AddSummarytEvent;
import com.wd.workoffice.bean.event.AddTicketEvent; import com.wd.workoffice.bean.event.AddTicketEvent;
import com.wd.workoffice.bean.mesBean.ImageBean;
import com.wd.workoffice.bean.mesBean.MesClientBean; import com.wd.workoffice.bean.mesBean.MesClientBean;
import com.wd.workoffice.bean.mesBean.MesProBean; 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.ui.adapter.AnnexAdapter;
import com.wd.workoffice.ui.adapter.ImgAddAdapter;
import com.wd.workoffice.util.DialogUtils; import com.wd.workoffice.util.DialogUtils;
import com.wd.workoffice.util.GlideUtils;
import com.wd.workoffice.util.WorkUtils; import com.wd.workoffice.util.WorkUtils;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List;
import java.util.Map; import java.util.Map;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
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 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;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
/** /**
* 工单新增 * 工单新增
...@@ -103,16 +114,22 @@ public class MesTicketAddSummaryActivity extends WorkToolBarActivity { ...@@ -103,16 +114,22 @@ public class MesTicketAddSummaryActivity extends WorkToolBarActivity {
EditText etClient; EditText etClient;
@BindView(R.id.rv_photo) @BindView(R.id.rv_photo)
RecyclerView rvPhoto; RecyclerView rvPhoto;
@BindView(R.id.rv_annx) @BindView(R.id.rv_annex)
RecyclerView rvAnnx; RecyclerView rvAnnex;
private Map<String, Object> param; private Map<String, Object> param;
private TicketBean.ListBean data; private TicketBean.ListBean data;
private QMUIDialog.MenuDialogBuilder proDialog; private QMUIDialog.MenuDialogBuilder proDialog;
private MesProBean.ListBean choosePro; private MesProBean.ListBean choosePro;
private List<ImageBean> imgList;
private List<ImageBean> annexList;
private ImgAddAdapter imgAddAdapter;
private AnnexAdapter annexAdapter;
@Override @Override
protected void initView() { protected void initView() {
ButterKnife.bind(this); ButterKnife.bind(this);
rvAnnex.setLayoutManager(new LinearLayoutManager(this, RecyclerView.VERTICAL, false));
rvPhoto.setLayoutManager(new LinearLayoutManager(this, RecyclerView.HORIZONTAL, false));
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 = DialogUtils.listDialog(this);
...@@ -129,69 +146,18 @@ public class MesTicketAddSummaryActivity extends WorkToolBarActivity { ...@@ -129,69 +146,18 @@ public class MesTicketAddSummaryActivity extends WorkToolBarActivity {
}); });
} }
@Override @Override
protected void initData() { protected void initData() {
param = WorkUtils.simpleParam(); param = WorkUtils.simpleParam();
param.put("jobNo", data.getJobNo()); param.put("jobNo", data.getJobNo());
param.put("jobTypeId", data.getJobTypeId()); param.put("jobTypeId", data.getJobTypeId());
param.put("dataCollectionStatus", 1); param.put("dataCollectionStatus", 1);
} annexList = new ArrayList<>();
imgList = new ArrayList<>();
private void submit() { imgAddAdapter = new ImgAddAdapter(R.layout.item_mes_ticket_img, imgList);
if (TextUtils.equals(data.getJobTypeId(), "01")) { imgAddAdapter.bindToRecyclerView(rvPhoto);
param.put("siteInvestigation", etDesign1.getText().toString()); annexAdapter = new AnnexAdapter(R.layout.item_mes_ticket_annex, annexList);
param.put("feasibilityReport", etDesign2.getText().toString()); annexAdapter.bindToRecyclerView(rvAnnex);
} 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", "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;
}
finish();
EventBus.getDefault().post(new AddTicketEvent());
EventBus.getDefault().post(new AddSummarytEvent());
toast("提交成功");
}
});
} }
@Override @Override
...@@ -234,9 +200,15 @@ public class MesTicketAddSummaryActivity extends WorkToolBarActivity { ...@@ -234,9 +200,15 @@ public class MesTicketAddSummaryActivity extends WorkToolBarActivity {
} }
@OnClick({R.id.rl_quality_pro, R.id.ll_design, R.id.rl_try_pro, R.id.rl_tech_pro}) @OnClick({R.id.tv_upload, R.id.rl_quality_pro, R.id.ll_design, R.id.rl_try_pro, R.id.rl_tech_pro})
public void onViewClicked(View view) { public void onViewClicked(View view) {
switch (view.getId()) { switch (view.getId()) {
case R.id.tv_upload:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("*/*");
startActivityForResult(intent, 10003);
break;
case R.id.ll_design: case R.id.ll_design:
proDialog.show(); proDialog.show();
break; break;
...@@ -260,6 +232,107 @@ public class MesTicketAddSummaryActivity extends WorkToolBarActivity { ...@@ -260,6 +232,107 @@ public class MesTicketAddSummaryActivity extends WorkToolBarActivity {
tvQualityPro.setText(choosePro.getProductName()); tvQualityPro.setText(choosePro.getProductName());
tvTechPro.setText(choosePro.getProductName()); tvTechPro.setText(choosePro.getProductName());
tvTryPro.setText(choosePro.getProductName()); tvTryPro.setText(choosePro.getProductName());
} else if (requestCode == 10003 && resultCode == RESULT_OK) {
upload(2, data.getData());
} }
} }
private void submit() {
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", "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;
}
finish();
EventBus.getDefault().post(new AddTicketEvent());
EventBus.getDefault().post(new AddSummarytEvent());
toast("提交成功");
}
});
}
/**
* type 1 图片 2 附件
*
* @param type
* @param uri
*/
private void upload(int type, Uri uri) {
MediaType mediaType = type == 1 ? MediaType.parse("image/png") : MediaType.parse("text/plain");
showLoading();
File file = WorkUtils.uriToFile(uri, this);
RequestBody requestFile = RequestBody.create(mediaType, 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.getMessage());
return;
}
toast("上传成功");
if (type == 1) {
} else {
annexList.add(null);
annexAdapter.notifyDataSetChanged();
}
}
});
}
} }
...@@ -11,12 +11,16 @@ import com.scwang.smartrefresh.layout.SmartRefreshLayout; ...@@ -11,12 +11,16 @@ import com.scwang.smartrefresh.layout.SmartRefreshLayout;
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.event.AddTicketEvent;
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.ui.adapter.MesTicketAdapter; import com.wd.workoffice.ui.adapter.MesTicketAdapter;
import com.wd.workoffice.util.WorkUtils; import com.wd.workoffice.util.WorkUtils;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -161,4 +165,23 @@ public class MesTicketListTakeOnActivity extends WorkToolBarActivity { ...@@ -161,4 +165,23 @@ public class MesTicketListTakeOnActivity extends WorkToolBarActivity {
break; break;
} }
} }
@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}
@Override
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
}
@Subscribe
public void refresh(AddTicketEvent event) {
page = 1;
param.put("pageNum", page);
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.ImageBean;
import java.util.List;
import androidx.annotation.Nullable;
/**
* Created by flexible on 2018/8/13.
*/
public class AnnexAdapter extends BaseQuickAdapter<ImageBean, BaseViewHolder> {
int type = 0;
public AnnexAdapter(int layoutResId, List data) {
super(layoutResId, data);
}
public AnnexAdapter(int layoutResId, @Nullable List<ImageBean> data, int type) {
super(layoutResId, data);
this.type = type;
}
@Override
protected void convert(BaseViewHolder helper, ImageBean item) {
helper.setText(R.id.tv_name, item.getName());
helper.addOnClickListener(R.id.tv_delete);
helper.setGone(R.id.tv_delete, type == 0);
}
}
package com.wd.workoffice.ui.adapter;
import android.widget.ImageView;
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.ImageBean;
import com.wd.workoffice.util.GlideUtils;
import java.util.List;
/**
* Created by flexible on 2018/8/13.
*/
public class ImgAddAdapter extends BaseQuickAdapter<ImageBean, BaseViewHolder> {
public ImgAddAdapter(int layoutResId, List data) {
super(layoutResId, data);
}
@Override
protected void convert(BaseViewHolder helper, ImageBean item) {
ImageView ivImg = helper.getView(R.id.iv_img);
GlideUtils.getRequest().load(item.getUrl()).into(ivImg);
}
}
...@@ -213,14 +213,17 @@ ...@@ -213,14 +213,17 @@
android:src="@mipmap/arrow_right_gray" /> android:src="@mipmap/arrow_right_gray" />
</LinearLayout> </LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_job"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout> </LinearLayout>
</RelativeLayout> </RelativeLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_job"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:paddingHorizontal="10mm" />
<View style="@style/dividerX" /> <View style="@style/dividerX" />
<TextView <TextView
......
...@@ -73,6 +73,7 @@ ...@@ -73,6 +73,7 @@
android:layout_marginTop="30mm" android:layout_marginTop="30mm"
android:background="@drawable/shape_ticket_go" android:background="@drawable/shape_ticket_go"
android:gravity="center" android:gravity="center"
android:textSize="12sp"
android:textColor="@color/white" /> android:textColor="@color/white" />
<Button <Button
......
...@@ -585,10 +585,16 @@ ...@@ -585,10 +585,16 @@
android:textSize="14sp" /> android:textSize="14sp" />
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_annx" android:id="@+id/rv_annex"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" /> android:layout_height="wrap_content" />
<TextView
android:id="@+id/tv_upload"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+ 上传附件" />
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
......
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6mm"
android:orientation="vertical"
android:paddingHorizontal="10mm">
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="zzz" />
<TextView
android:id="@+id/tv_delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="删除"
android:textColor="@color/red"
android:visibility="gone" />
</RelativeLayout>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论