Commit 4670ea15 by wukun

用料

parent 091d5fc0
......@@ -1047,6 +1047,7 @@ C) 在甲方使用大鱼平å°æœåŠ¡è¿‡ç¨‹ä¸­äº§ç”Ÿçš„业务数æ®ï¼Œå®¢æˆ·æ•°æ
<string name="no_applay">未合作商家</string>
<string name="applaying">申请中</string>
<string name="certified">已合作商家</string>
<string name="order_material">用料</string>
</resources>
......@@ -64,6 +64,7 @@ greendao {
dependencies {
api fileTree(dir: 'libs', include: ['*.jar'])
implementation project(path: ':userCenter')
//ARouter
annotationProcessor "com.alibaba:arouter-compiler:$arouter_compiler_version"
......
......@@ -25,6 +25,7 @@ import com.dayu.order.api.protocol.bean.CompanyAddressBean;
import com.dayu.order.api.protocol.bean.GreenPersionSiteInfo;
import com.dayu.order.api.protocol.bean.KnowledgeListBean;
import com.dayu.order.api.protocol.bean.OrderDetailDeviceInfoBean;
import com.dayu.order.api.protocol.bean.OrderMaterialBean;
import com.dayu.order.api.protocol.bean.OrderPardDeatilBean;
import com.dayu.order.api.protocol.bean.OrderPartBean;
import com.dayu.order.api.protocol.bean.OrderPartListBean;
......@@ -533,6 +534,18 @@ public interface OrderService {
@Query("pageSize") int pageSize);
/**
* 用料列表
* @param accountId
* @return
*/
@GET(Constants.API_7200 + "/orderMaterial/list/orderId/{accountId}")
Observable<BaseResponse<List<OrderMaterialBean>>> getOrderMaterialList(@Path("accountId") int accountId);
@GET(Constants.API_7200 + "/orderMaterial/formUrl")
Observable<BaseResponse<String>> getOrderMaterialUrl(@Query("orderId") int orderId,
@Query("accountId") int pointToPoint);
/**
* 查询物流公司
*/
@GET(Constants.API_7300 + "/logisticsTraceInfo/logisticsCode/{code}")
......
package com.dayu.order.api.protocol.bean;
import java.io.Serializable;
public class OrderMaterialBean implements Serializable {
private int id;
private int orderId;
private String describe;
private String picUrl;
private String picUrls;
private double price;
private String invoiceUrl;
private int engineerId;
private int status;
private String createTime;
private String formUrl;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getOrderId() {
return orderId;
}
public void setOrderId(int orderId) {
this.orderId = orderId;
}
public String getDescribe() {
return describe;
}
public void setDescribe(String describe) {
this.describe = describe;
}
public String getPicUrl() {
return picUrl;
}
public void setPicUrl(String picUrl) {
this.picUrl = picUrl;
}
public String getPicUrls() {
return picUrls;
}
public void setPicUrls(String picUrls) {
this.picUrls = picUrls;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getInvoiceUrl() {
return invoiceUrl;
}
public void setInvoiceUrl(String invoiceUrl) {
this.invoiceUrl = invoiceUrl;
}
public int getEngineerId() {
return engineerId;
}
public void setEngineerId(int engineerId) {
this.engineerId = engineerId;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getFormUrl() {
return formUrl;
}
public void setFormUrl(String formUrl) {
this.formUrl = formUrl;
}
}
package com.dayu.order.presenter.ordermaterial;
import com.dayu.base.ui.presenter.BaseListPresenter;
import com.dayu.common.BaseView;
/**
* Created by luo
* on 2016/8/4.
*/
public interface OrderMaterialContract {
interface View extends BaseView {
}
abstract class Presenter extends BaseListPresenter<View> {
/**
* 查询用料列表
*/
public abstract void queryMaterialList();
public abstract void applyOrReturnPart();
}
}
package com.dayu.order.presenter.ordermaterial;
import android.os.Bundle;
import androidx.databinding.ObservableField;
import com.dayu.base.api.Api;
import com.dayu.common.Constants;
import com.dayu.event.UserInfo;
import com.dayu.order.api.OrderService;
import com.dayu.order.api.protocol.OrderDetail;
import com.dayu.usercenter.ui.activity.CommeWebViewActivity;
import com.dayu.utils.UserManager;
/**
* Created by luofan
* on 2017/11/8.
*/
public class OrderMaterialPresenter extends OrderMaterialContract.Presenter {
private ObservableField<Object> datas = new ObservableField<>();
private int mOrderId;
private OrderDetail mDetail;
@Override
public void onAttached() {
Bundle bundle = mView.getBundle();
mDetail = (OrderDetail) bundle.getSerializable(Constants.ORDER_DETAIL);
mOrderId = mDetail.getId();
}
@Override
public void refresh() {
queryMaterialList();
}
@Override
public void loadMore() {
}
@Override
public ObservableField<Object> getSourceDatas() {
return datas;
}
@Override
public void queryMaterialList() {
Api.getService(OrderService.class).getOrderMaterialList(mOrderId)
.compose(Api.applySchedulers()).subscribe(baseObserver(orderPart -> {
datas.set(orderPart);
}
, responeThrowable -> datas.set(Constants.FAILED)));
}
@Override
public void applyOrReturnPart() {
UserInfo info = UserManager.getInstance().getUser();
int mUserId = Integer.parseInt(info.getAccountId());
Api.getService(OrderService.class).getOrderMaterialUrl(mOrderId,mUserId)
.compose(Api.applySchedulers()).subscribe(baseObserver(str -> {
String url = str + "?accountId=" + info.getAccountId() + "&token=" + info.getToken();
Bundle bundle = new Bundle();
bundle.putString(Constants.URL, url);
bundle.putString(Constants.TITLE, "用料");
mView.startActivity(CommeWebViewActivity.class,bundle);
}
, responeThrowable -> {
}));
}
}
package com.dayu.order.ui.adapter;
import com.dayu.base.ui.adapter.CoreAdapter;
import com.dayu.order.R;
import com.dayu.order.api.protocol.bean.OrderMaterialBean;
import com.dayu.order.databinding.ItemOrderMaterialListBinding;
import com.dayu.utils.GlideImageLoader;
public class OrderMaterialListAdapter extends CoreAdapter<OrderMaterialBean, ItemOrderMaterialListBinding> {
public OrderMaterialListAdapter(boolean needFoot) {
super(needFoot);
}
@Override
protected void onBind(ItemOrderMaterialListBinding holder, OrderMaterialBean item, int position) {
super.onBind(holder, item, position);
holder.tvContent.setText("用料清单: "+ item.getDescribe());
holder.tvPrice.setText("用料成本: " + item.getPrice());
GlideImageLoader.load(mContext, holder.ivImg, item.getPicUrl(), R.drawable.icon_img_default);
}
}
package com.dayu.order.ui.fragment;
import android.content.Intent;
import android.os.Bundle;
import com.dayu.base.ui.fragment.BaseFragment;
import com.dayu.common.Constants;
import com.dayu.event.UserInfo;
import com.dayu.order.R;
import com.dayu.order.api.protocol.OrderDetail;
import com.dayu.order.databinding.FragmentOrderMaterialBinding;
import com.dayu.order.presenter.ordermaterial.OrderMaterialContract;
import com.dayu.order.presenter.ordermaterial.OrderMaterialPresenter;
import com.dayu.order.ui.adapter.OrderMaterialListAdapter;
import com.dayu.usercenter.ui.activity.CommeWebViewActivity;
import com.dayu.utils.UserManager;
public class OrderMaterialFragment extends BaseFragment<OrderMaterialPresenter, FragmentOrderMaterialBinding>
implements OrderMaterialContract.View {
public static OrderMaterialFragment newInstance(OrderDetail detail, int type) {
Bundle args = new Bundle();
args.putSerializable(Constants.ORDER_DETAIL, detail);
args.putInt(Constants.TYPE, type);
OrderMaterialFragment fragment = new OrderMaterialFragment();
fragment.setArguments(args);
return fragment;
}
@Override
public void setPresenter() {
mBind.setPresenter(mPresenter);
}
@Override
public int getLayoutId() {
return R.layout.fragment_order_material;
}
@Override
public void initView() {
OrderMaterialListAdapter adapter = new OrderMaterialListAdapter(false);
mBind.lvPart.setAdapter(adapter);
adapter.setPresenter(mPresenter);
adapter.setOnItemClickListener((item, bind) -> {
UserInfo info = UserManager.getInstance().getUser();
String url = item.getFormUrl() + "?accountId=" + info.getAccountId() + "&token=" + info.getToken();
Bundle bundle = new Bundle();
bundle.putString(Constants.URL, url);
bundle.putString(Constants.TITLE, "用料记录");
Intent intent1 = new Intent(mActivity, CommeWebViewActivity.class);
intent1.putExtra(Constants.BUNDLE, bundle);
mActivity.startActivity(intent1, bundle);
});
}
@Override
protected void lazyLoad() {
super.lazyLoad();
showDialog();
mPresenter.queryMaterialList();
}
}
......@@ -36,13 +36,15 @@ public class OrderPartFragment extends DataBindingFragment<FragmentOrderPartBind
List<Fragment> fragments = new ArrayList<>();
titles.add(getString(R.string.application_order_part));
titles.add(getString(R.string.return_order_part));
titles.add(getString(R.string.order_material));
fragments.add(ApplicationOrderPartFragment.newInstance(detail, 1));
fragments.add(ApplicationOrderPartFragment.newInstance(detail, 2));
fragments.add(OrderMaterialFragment.newInstance(detail, 3));
FragmentBaseAdapter fragmentAdapter = FragmentBaseAdapter.newInstance(getChildFragmentManager(), fragments, titles);
mBind.vpMessage.setAdapter(fragmentAdapter);
mBind.vpMessage.setOffscreenPageLimit(2);
mBind.vpMessage.setOffscreenPageLimit(3);
mBind.tbMessage.setupWithViewPager(mBind.vpMessage);
TabLayoutUtils.setIndicator(mBind.tbMessage, 60, 60, R.color.cl_receiving_order_item_data, getActivity());
TabLayoutUtils.setIndicator(mBind.tbMessage, 0, 0, R.color.cl_receiving_order_item_data, getActivity());
}
@Override
......
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="presenter"
type="com.dayu.order.presenter.ordermaterial.OrderMaterialPresenter" />
</data>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical">
<com.dayu.widgets.LRecyclerView
android:id="@+id/lv_part"
setPresenter="@{presenter}"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_marginTop="10dp"
app:itemType="@layout/item_order_material_list" />
<TextView
android:id="@+id/apply_part"
android:layout_width="match_parent"
android:layout_height="49dp"
android:gravity="center"
android:text="新增用料记录"
android:textColor="@color/white"
android:textSize="@dimen/sp_16"
android:onClick="@{()->presenter.applyOrReturnPart()}"
android:background="@drawable/btn_blue_commom"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="20dp"
/>
</LinearLayout>
</layout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_13.3"
android:layout_marginTop="5dp"
android:layout_marginRight="@dimen/dp_13.3"
android:background="@drawable/item_shape"
android:orientation="horizontal"
android:padding="@dimen/dp_10">
<ImageView
android:id="@+id/iv_img"
android:layout_width="108dp"
android:layout_height="108dp" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/dp_15"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/tv_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textStyle="normal"
android:layout_marginTop="10dp"/>
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
<TextView
android:id="@+id/tv_price"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textStyle="normal"
android:layout_marginBottom="10dp"/>
</LinearLayout>
</LinearLayout>
</layout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment