From 1faf1b65e51957b02dbe0492eb0db9c825a8b8ca Mon Sep 17 00:00:00 2001
From: wlh <646507849@qq.com>
Date: Wed, 17 Jan 2024 18:02:00 +0800
Subject: [PATCH] =?UTF-8?q?=E4=B8=AD=E5=BB=BA365-=E4=BA=8C=E6=9C=9F?=
=?UTF-8?q?=E5=BC=80=E5=8F=91-=E5=95=86=E5=9F=8E=E5=BC=80=E5=8F=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/src/main/AndroidManifest.xml | 4 +
.../dc/activity/shop/CreateGoodsOrderAct.kt | 56 ++++
.../dc/activity/shop/ShopCategoryActivity.kt | 13 +
.../java/com/zj365/dc/fragment/MineFrag.kt | 52 +++-
.../com/zj365/dc/fragment/ShopFragment.kt | 12 +
.../main/java/com/zj365/dc/vm/ShopMallVm.kt | 16 ++
.../res/layout/act_create_goods_order.xml | 251 ++++++++++++++++++
app/src/main/res/layout/frag_mine.xml | 18 +-
.../java/com/xty/base/h5/CloudJSBridge.kt | 19 ++
.../java/com/xty/common/arouter/ARouterUrl.kt | 3 +
.../com/xty/common/util/SpannableUtils.kt | 14 +
health/src/main/AndroidManifest.xml | 5 +-
.../zj365/health/act/ShopOrderDetailAct.kt | 57 ++++
.../com/zj365/health/act/ShopOrderListAct.kt | 152 +++++++++++
.../zj365/health/adapter/GoodsOrderAdapter.kt | 78 ++++++
.../java/com/zj365/health/vm/ShopOrderVm.kt | 57 ++++
.../main/res/layout/act_shop_order_detail.xml | 149 +++++++++++
.../main/res/layout/act_shop_order_list.xml | 50 ++++
.../main/res/layout/item_shop_order_list.xml | 165 ++++++++++++
.../mime/act/EnterpriseInformationAct.kt | 15 ++
.../act/EnterpriseInformationForTypeAct.kt | 50 ++++
.../adapter/EnterpriseInformationAdapter.kt | 2 +-
.../EnterpriseInformationChildAdapter.kt | 7 +-
.../zj365/mime/vm/EnterpriseInformationVm.kt | 16 ++
.../main/java/com/zj365/mime/vm/SettingVm.kt | 9 +
.../act_enterprise_information_type.xml | 36 +++
.../main/res/layout/item_enterprise_info.xml | 1 -
.../res/layout/item_enterprise_info_child.xml | 4 +-
.../main/java/com/xty/network/ApiInterface.kt | 41 +++
.../network/model/EnterpriseInfoHomeBean.kt | 3 +
.../xty/network/model/ShopOrderDetailBean.kt | 16 ++
.../xty/network/model/ShopOrderListBean.kt | 17 ++
32 files changed, 1367 insertions(+), 21 deletions(-)
create mode 100644 app/src/main/java/com/zj365/dc/activity/shop/CreateGoodsOrderAct.kt
create mode 100644 app/src/main/res/layout/act_create_goods_order.xml
create mode 100644 health/src/main/java/com/zj365/health/act/ShopOrderDetailAct.kt
create mode 100644 health/src/main/java/com/zj365/health/act/ShopOrderListAct.kt
create mode 100644 health/src/main/java/com/zj365/health/adapter/GoodsOrderAdapter.kt
create mode 100644 health/src/main/java/com/zj365/health/vm/ShopOrderVm.kt
create mode 100644 health/src/main/res/layout/act_shop_order_detail.xml
create mode 100644 health/src/main/res/layout/act_shop_order_list.xml
create mode 100644 health/src/main/res/layout/item_shop_order_list.xml
create mode 100644 mine/src/main/java/com/zj365/mime/act/EnterpriseInformationForTypeAct.kt
create mode 100644 mine/src/main/res/layout/act_enterprise_information_type.xml
create mode 100644 network/src/main/java/com/xty/network/model/ShopOrderDetailBean.kt
create mode 100644 network/src/main/java/com/xty/network/model/ShopOrderListBean.kt
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 9849609..7807c8e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -342,6 +342,10 @@
android:launchMode="singleTop"
android:screenOrientation="portrait"/>
+
+
diff --git a/app/src/main/java/com/zj365/dc/activity/shop/CreateGoodsOrderAct.kt b/app/src/main/java/com/zj365/dc/activity/shop/CreateGoodsOrderAct.kt
new file mode 100644
index 0000000..a2344ac
--- /dev/null
+++ b/app/src/main/java/com/zj365/dc/activity/shop/CreateGoodsOrderAct.kt
@@ -0,0 +1,56 @@
+package com.zj365.dc.activity.shop
+
+import android.view.View
+import com.xty.base.act.BaseVmAct
+import com.xty.base.vm.BaseVm
+import com.xty.common.arouter.ARouterUrl
+import com.xty.common.arouter.RouteManager
+import com.zj365.dc.BuildConfig
+import com.zj365.dc.databinding.ActCreateGoodsOrderBinding
+import com.zj365.dc.vm.ShopMallVm
+
+class CreateGoodsOrderAct : BaseVmAct() {
+ val binding by lazy { ActCreateGoodsOrderBinding.inflate(layoutInflater) }
+ override fun liveObserver() {
+
+ }
+
+ override fun initView() {
+ super.initView()
+ statusBar(binding.title.mView)
+ binding.title.mTvTitle.text = "创建订单"
+ binding.title.mIvBack.setOnClickListener {
+ finish()
+ }
+
+ onClickedListener()
+ }
+
+ fun onClickedListener(){
+ binding.tvPay.setOnClickListener {
+
+ }
+
+ binding.tvChooseAddress.setOnClickListener {
+ bundle.clear()
+ bundle.putString(
+ "web_site_url",
+ "${BuildConfig.h5url}pages/index/index?pageId=address&type=order"
+ )
+ RouteManager.goAct(ARouterUrl.H5_ACT, bundle)
+
+ }
+
+ binding.tvDiscounts.setOnClickListener {
+ bundle.clear()
+ bundle.putString(
+ "web_site_url",
+ "${BuildConfig.h5url}pages/index/index?pageId=coupon&type=order"
+ )
+ RouteManager.goAct(ARouterUrl.H5_ACT, bundle)
+ }
+ }
+
+
+ override fun setLayout()=binding.root
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/zj365/dc/activity/shop/ShopCategoryActivity.kt b/app/src/main/java/com/zj365/dc/activity/shop/ShopCategoryActivity.kt
index befa94d..97aad7d 100644
--- a/app/src/main/java/com/zj365/dc/activity/shop/ShopCategoryActivity.kt
+++ b/app/src/main/java/com/zj365/dc/activity/shop/ShopCategoryActivity.kt
@@ -10,7 +10,10 @@ import com.xty.base.act.BaseVmAct
import com.xty.common.Const
import com.xty.common.R
import com.xty.common.arouter.ARouterUrl
+import com.xty.common.arouter.RouteManager
+import com.xty.network.model.GoodsRecordsBean
import com.xty.network.model.ShopCategoryBean
+import com.zj365.dc.BuildConfig
import com.zj365.dc.adapter.shop.ShopCategoryAdapter
import com.zj365.dc.adapter.shop.ShopChildCategoryAdapter
import com.zj365.dc.adapter.shop.ShopGoodsTwoAdapter
@@ -73,6 +76,16 @@ class ShopCategoryActivity : BaseVmAct() {
binding.mRefresh.finishLoadMore(1000)
}
+ mGoodsAdapter.setOnItemClickListener { adapter, view, position ->
+ var bean = adapter.data[position] as GoodsRecordsBean.GoodsBean
+ bundle.clear()
+ bundle.putString(
+ "web_site_url",
+ "${BuildConfig.h5url}pages/index/index?pageId=commodityDetail&id=${bean.id}"
+ )
+ RouteManager.goAct(ARouterUrl.H5_ACT, bundle)
+ }
+
}
fun loadData(){
diff --git a/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt b/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt
index 0fac389..d5a9143 100644
--- a/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt
+++ b/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt
@@ -127,7 +127,13 @@ class MineFrag : BaseVmFrag() , EasyPermissions.PermissionCallbacks{
if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){
RouteManager.goAct(ARouterUrl.LOGIN_ACT)
}else {
- CommonToastUtils.showToast("敬请期待")
+ bundle.clear()
+ bundle.putString(
+ "web_site_url",
+ "${BuildConfig.h5url}pages/index/index?pageId=coupon"
+ )
+ RouteManager.goAct(ARouterUrl.H5_ACT, bundle)
+// CommonToastUtils.showToast("敬请期待")
}
}
@@ -135,7 +141,13 @@ class MineFrag : BaseVmFrag() , EasyPermissions.PermissionCallbacks{
if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){
RouteManager.goAct(ARouterUrl.LOGIN_ACT)
}else {
- CommonToastUtils.showToast("敬请期待")
+ bundle.clear()
+ bundle.putString(
+ "web_site_url",
+ "${BuildConfig.h5url}pages/index/index?pageId=wallet"
+ )
+ RouteManager.goAct(ARouterUrl.H5_ACT, bundle)
+ // CommonToastUtils.showToast("敬请期待")
}
}
@@ -195,7 +207,13 @@ class MineFrag : BaseVmFrag() , EasyPermissions.PermissionCallbacks{
if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){
RouteManager.goAct(ARouterUrl.LOGIN_ACT)
}else {
- CommonToastUtils.showToast("敬请期待")
+ bundle.clear()
+ bundle.putString(
+ "web_site_url",
+ "${BuildConfig.h5url}pages/index/index?pageId=appreciation"
+ )
+ RouteManager.goAct(ARouterUrl.H5_ACT, bundle)
+// CommonToastUtils.showToast("敬请期待")
}
}
@@ -203,7 +221,9 @@ class MineFrag : BaseVmFrag() , EasyPermissions.PermissionCallbacks{
if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){
RouteManager.goAct(ARouterUrl.LOGIN_ACT)
}else {
- CommonToastUtils.showToast("敬请期待")
+ RouteManager.goAct(ARouterUrl.FAMILY_RECORD_ACT)
+
+// CommonToastUtils.showToast("敬请期待")
}
}
@@ -318,7 +338,13 @@ class MineFrag : BaseVmFrag() , EasyPermissions.PermissionCallbacks{
if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){
RouteManager.goAct(ARouterUrl.LOGIN_ACT)
}else {
- CommonToastUtils.showToast("敬请期待")
+ bundle.clear()
+ bundle.putString(
+ "web_site_url",
+ "${BuildConfig.h5url}pages/index/index?pageId=address"
+ )
+ RouteManager.goAct(ARouterUrl.H5_ACT, bundle)
+ // CommonToastUtils.showToast("敬请期待")
}
}
@@ -326,7 +352,11 @@ class MineFrag : BaseVmFrag() , EasyPermissions.PermissionCallbacks{
if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){
RouteManager.goAct(ARouterUrl.LOGIN_ACT)
}else {
- CommonToastUtils.showToast("敬请期待")
+ bundle.clear()
+ bundle.putString("title", "操作手册")
+ bundle.putBoolean("isAgree", false)
+ bundle.putString("url", "https://mp.weixin.qq.com/s?__biz=MzkxMzI0NzU3NA==&mid=2247487161&idx=1&sn=ed2fca4f04beb00b16f1b7e6c922d40a&chksm=c101d280f6765b967665df1c3e3c5cc609f1fcf7f0434c3bb26fbc13f7806cd9a2b37048f9e8#rd")
+ RouteManager.goAct(ARouterUrl.AGREEMNT_READ_WEB_ACT, bundle)
}
}
@@ -334,7 +364,8 @@ class MineFrag : BaseVmFrag() , EasyPermissions.PermissionCallbacks{
if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){
RouteManager.goAct(ARouterUrl.LOGIN_ACT)
}else {
- CommonToastUtils.showToast("敬请期待")
+ RouteManager.goAct(ARouterUrl.SHOP_ORDER_LIST_ACT)
+ //CommonToastUtils.showToast("敬请期待")
}
}
@@ -394,7 +425,7 @@ class MineFrag : BaseVmFrag() , EasyPermissions.PermissionCallbacks{
private fun refresh() {
refresh.setRefresh(binding.mRefresh) {
mViewModel.getMySetting()
-
+ mViewModel.getUserEquity()
mViewModel.getAllInfo(showIdInfo,false)
mViewModel.searchInviteInfo()
}
@@ -412,6 +443,8 @@ class MineFrag : BaseVmFrag() , EasyPermissions.PermissionCallbacks{
mViewModel.getAllInfo(showIdInfo,false)
// mViewModel.getScore(1)
mViewModel.searchInviteInfo()
+
+ mViewModel.getUserEquity()
// }
}
@@ -419,6 +452,9 @@ class MineFrag : BaseVmFrag() , EasyPermissions.PermissionCallbacks{
/* mViewModel.familyLive.observe(this) {
binding.mFamily.text = it.data.size.toString()
}*/
+ mViewModel.userEqualityLiveData.observe(this){
+ binding.tvMemberValidity.text ="有效期至:${it.data}"
+ }
mViewModel.scoreLive.observe(this) {
binding.mIntegral.text = (if (it.data.num.isNullOrEmpty()) "0" else it.data.num!!)
}
diff --git a/app/src/main/java/com/zj365/dc/fragment/ShopFragment.kt b/app/src/main/java/com/zj365/dc/fragment/ShopFragment.kt
index 2a5795c..57ffaad 100644
--- a/app/src/main/java/com/zj365/dc/fragment/ShopFragment.kt
+++ b/app/src/main/java/com/zj365/dc/fragment/ShopFragment.kt
@@ -15,7 +15,9 @@ import com.xty.base.vm.BaseVm
import com.xty.common.arouter.ARouterUrl
import com.xty.common.arouter.RouteManager
import com.xty.common.util.CommonToastUtils
+import com.xty.network.model.GoodsRecordsBean
import com.xty.network.model.ShopCategoryBean
+import com.zj365.dc.BuildConfig
import com.zj365.dc.adapter.shop.ShopCategoryAdapter
import com.zj365.dc.adapter.shop.ShopGoodsAdapter
import com.zj365.dc.databinding.FragShopBinding
@@ -47,6 +49,16 @@ class ShopFragment: BaseFragList() {
}
setRecycleRefresh(binding.recyclerView,binding.mRefresh,true)
+
+ mGoodsAdapter.setOnItemClickListener { adapter, view, position ->
+ var bean = adapter.data[position] as GoodsRecordsBean.GoodsBean
+ bundle.clear()
+ bundle.putString(
+ "web_site_url",
+ "${BuildConfig.h5url}pages/index/index?pageId=commodityDetail&id=${bean.id}"
+ )
+ RouteManager.goAct(ARouterUrl.H5_ACT, bundle)
+ }
}
override fun refresh() {
diff --git a/app/src/main/java/com/zj365/dc/vm/ShopMallVm.kt b/app/src/main/java/com/zj365/dc/vm/ShopMallVm.kt
index a3ccb78..a027a46 100644
--- a/app/src/main/java/com/zj365/dc/vm/ShopMallVm.kt
+++ b/app/src/main/java/com/zj365/dc/vm/ShopMallVm.kt
@@ -13,6 +13,8 @@ class ShopMallVm : BaseVm() {
val goodsLiveData by lazy { MutableLiveData>() }
+ val createOrderLiveData by lazy { MutableLiveData>() }
+
fun getGoodsCategory(parentId:Long){
startHttp {
var code = apiInterface().getGoodsCategory(parentId)
@@ -34,4 +36,18 @@ class ShopMallVm : BaseVm() {
code.getCodeStatus(goodsLiveData, nowData)
}
}
+
+ fun createOrder(skuId:String,num:Int,addrId:String,couponsId:String){
+ startHttp {
+ var json = JSONObject()
+
+ json.put("skuId",skuId)
+ json.put("num",num)
+ json.put("addrId",addrId)
+ json.put("couponsId",couponsId)
+ var code = apiInterface().createOrder(retrofits.getRequestBody(json.toString()))
+ code.getCodeStatus(createOrderLiveData, nowData)
+ }
+ }
+
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/act_create_goods_order.xml b/app/src/main/res/layout/act_create_goods_order.xml
new file mode 100644
index 0000000..d3997e9
--- /dev/null
+++ b/app/src/main/res/layout/act_create_goods_order.xml
@@ -0,0 +1,251 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/frag_mine.xml b/app/src/main/res/layout/frag_mine.xml
index c292303..9df8569 100644
--- a/app/src/main/res/layout/frag_mine.xml
+++ b/app/src/main/res/layout/frag_mine.xml
@@ -661,9 +661,8 @@
android:textColor="@color/col_7c7"/>
-
+
+
-
+
+
diff --git a/health/src/main/java/com/zj365/health/act/ShopOrderDetailAct.kt b/health/src/main/java/com/zj365/health/act/ShopOrderDetailAct.kt
new file mode 100644
index 0000000..5734289
--- /dev/null
+++ b/health/src/main/java/com/zj365/health/act/ShopOrderDetailAct.kt
@@ -0,0 +1,57 @@
+package com.zj365.health.act
+
+import android.content.ClipData
+import android.content.ClipboardManager
+import com.alibaba.android.arouter.facade.annotation.Route
+import com.xty.base.act.BaseVmAct
+import com.xty.common.arouter.ARouterUrl
+import com.xty.common.setImage
+import com.xty.network.model.ShopOrderDetailBean
+import com.zj365.health.databinding.ActShopOrderDetailBinding
+import com.zj365.health.vm.ShopOrderVm
+
+@Route(path = ARouterUrl.SHOP_ORDER_DETAIL_ACT)
+class ShopOrderDetailAct: BaseVmAct() {
+ val binding by lazy { ActShopOrderDetailBinding.inflate(layoutInflater) }
+ var orderDetailBean:ShopOrderDetailBean? = null
+ override fun liveObserver() {
+ mViewModel.orderDetailLiveData.observe(this){
+ it.data?.let {
+ orderDetailBean = it
+ binding.imgGoods.setImage(this@ShopOrderDetailAct,it.goods_pic)
+ binding.tvPrice.text = "¥ ${it.pay_price}"
+ binding.tvGoodsName.text = it.goods_name
+ binding.tvStatus.text = it.status_name
+ binding.tvTotalPrice.text = "商品总价:¥ ${it.pay_price}"
+ binding.tvOrderNo.text = "订单编号:${it.order_no}"
+ binding.tvPayTime.text = "支付时间:${it.pay_time}"
+ binding.tvCompleteTime.text = "成交时间:${it.create_time}"
+ binding.tvPayType.text ="支付类型:${it.pay_type_name}"
+
+ }
+
+ }
+ }
+
+ override fun initView() {
+ super.initView()
+ statusBar(binding.title.mView)
+ binding.title.mTvTitle.text = "订单详情"
+ binding.title.mIvBack.setOnClickListener {
+ finish()
+ }
+ var id = intent.getLongExtra("id",0)
+ mViewModel.getOrderDetail(id)
+ binding.tvCopy.setOnClickListener {
+ orderDetailBean?.let {
+ val clipboard: ClipboardManager =
+ getSystemService(CLIPBOARD_SERVICE) as ClipboardManager
+ val clipData = ClipData.newPlainText("date", it.order_no)
+ clipboard.setPrimaryClip(clipData);
+ }
+
+ }
+ }
+
+ override fun setLayout() = binding.root
+}
\ No newline at end of file
diff --git a/health/src/main/java/com/zj365/health/act/ShopOrderListAct.kt b/health/src/main/java/com/zj365/health/act/ShopOrderListAct.kt
new file mode 100644
index 0000000..0c72df6
--- /dev/null
+++ b/health/src/main/java/com/zj365/health/act/ShopOrderListAct.kt
@@ -0,0 +1,152 @@
+package com.zj365.health.act
+
+import android.graphics.Rect
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import com.alibaba.android.arouter.facade.annotation.Route
+import com.androidkun.xtablayout.XTabLayout
+import com.xty.base.act.BaseListAct
+import com.xty.common.arouter.ARouterUrl
+import com.xty.common.arouter.RouteManager
+import com.xty.network.model.ShopOrderListBean
+import com.zj365.health.R
+import com.zj365.health.adapter.GoodsOrderAdapter
+import com.zj365.health.databinding.ActShopOrderListBinding
+import com.zj365.health.vm.ShopOrderVm
+
+@Route(path = ARouterUrl.SHOP_ORDER_LIST_ACT)
+class ShopOrderListAct : BaseListAct() {
+
+ val binding by lazy { ActShopOrderListBinding.inflate(layoutInflater) }
+
+ var orderType: Int = 0
+
+ val mAdapter by lazy { GoodsOrderAdapter() }
+
+ private val mTitles = mutableListOf()
+
+ override fun initAdapter() {
+ binding.mRecycle.adapter = mAdapter
+ binding.mRecycle.layoutManager = LinearLayoutManager(this)
+ binding.mRecycle.addItemDecoration(object : RecyclerView.ItemDecoration() {
+ override fun getItemOffsets(outRect: Rect, itemPosition: Int, parent: RecyclerView) {
+ super.getItemOffsets(outRect, itemPosition, parent)
+ outRect.bottom = 12
+ outRect.right = 14
+ outRect.left = 14
+ }
+ })
+
+ setRecycleRefresh(binding.mRecycle,binding.mRefresh,true)
+
+ mAdapter.addChildClickViewIds(R.id.tv_confirm_receive_goods,R.id.tv_logistics,R.id.tv_refund)
+ mAdapter.setOnItemClickListener { adapter, view, position ->
+ var bean = adapter.data[position] as ShopOrderListBean.ShopOrderBean
+ bundle.clear()
+ bundle.putLong("id",bean.id)
+ RouteManager.goAct(ARouterUrl.SHOP_ORDER_DETAIL_ACT,bundle)
+
+ }
+
+ mAdapter.setOnItemChildClickListener { adapter, view, position ->
+
+ var bean = adapter.data[position] as ShopOrderListBean.ShopOrderBean
+ when(view.id){
+ R.id.tv_confirm_receive_goods ->{
+ mViewModel.receiveGoods(bean.id)
+ }
+ R.id.tv_logistics->{
+ if (bean.status == 1){
+ mViewModel.cancelOrder(bean.id)
+ }
+ }
+ R.id.tv_refund ->{
+
+ }
+ }
+ }
+
+ }
+
+ override fun loadData() {
+ mViewModel.getOrderList(page,orderType)
+ }
+
+ override fun initView() {
+ super.initView()
+ statusBar(binding.title.mView)
+ binding.title.mTvTitle.text = "我的订单"
+ binding.title.mIvBack.setOnClickListener {
+ finish()
+ }
+ initTab()
+ }
+
+ fun initTab() {
+
+ mTitles.add("全部订单")
+ mTitles.add("待发货")
+ mTitles.add("待收货")
+ mTitles.add("已完成")
+ mTitles.add("已取消")
+
+
+ //设置tab
+ mTitles.forEach { tabData ->
+ val tab = binding.xTablayout.newTab()
+ tab.text = tabData
+ binding.xTablayout.addTab(tab)
+ }
+ binding.xTablayout.setOnTabSelectedListener(object : XTabLayout.OnTabSelectedListener{
+ override fun onTabSelected(tab: XTabLayout.Tab?) {
+ when(tab!!.position){
+ 0->{
+ orderType = 0
+ }
+ 1->{
+ orderType = 2
+ }
+ 2->{
+ orderType = 3
+
+ }
+ 3->{
+ orderType = 4
+
+ }
+ 4->{
+ orderType = 5
+
+ }
+ }
+ page = 1
+ mViewModel.getOrderList(page,orderType)
+
+ }
+
+ override fun onTabUnselected(tab: XTabLayout.Tab?) {
+ }
+
+ override fun onTabReselected(tab: XTabLayout.Tab?) {
+ }
+ })
+ }
+
+ override fun liveObserver() {
+ mViewModel.shopOrderLiveDate.observe(this){
+ setDate(mAdapter,it.data.list)
+ }
+
+ mViewModel.cancelOrderLiveData.observe(this){
+ page = 1
+ mViewModel.getOrderList(page,orderType)
+ }
+
+ mViewModel.receiveGoodsLiveData.observe(this){
+ page = 1
+ mViewModel.getOrderList(page,orderType)
+ }
+ }
+
+ override fun setLayout() = binding.root
+}
\ No newline at end of file
diff --git a/health/src/main/java/com/zj365/health/adapter/GoodsOrderAdapter.kt b/health/src/main/java/com/zj365/health/adapter/GoodsOrderAdapter.kt
new file mode 100644
index 0000000..3927203
--- /dev/null
+++ b/health/src/main/java/com/zj365/health/adapter/GoodsOrderAdapter.kt
@@ -0,0 +1,78 @@
+package com.zj365.health.adapter
+
+import android.graphics.Color
+import android.graphics.Typeface
+import android.text.SpannableString
+import android.widget.TextView
+import androidx.core.content.ContextCompat
+import com.chad.library.adapter.base.viewholder.BaseViewHolder
+import com.ruffian.library.widget.RImageView
+import com.xty.base.adapter.BaseAdapter
+import com.xty.common.setImage
+import com.xty.common.util.SpannableUtils
+import com.xty.network.model.ShopOrderListBean
+import com.zj365.health.R
+
+class GoodsOrderAdapter : BaseAdapter(R.layout.item_shop_order_list) {
+ override fun convert(holder: BaseViewHolder, item: ShopOrderListBean.ShopOrderBean) {
+ holder.setText(R.id.tv_order_no,"订单 ${item.order_no}")
+ holder.setText(R.id.tv_goods_name,item.goods_name)
+ holder.setText(R.id.tv_spec,item.goods_sku)
+ holder.getView(R.id.img_goods).setImage(context,item.goods_pic)
+ var priceTxt = holder.getView(R.id.tv_price)
+ var fontStr = "订单金额:"
+ var str = SpannableString("¥ ${item.pay_price}")
+
+ priceTxt.text = SpannableUtils.setStrSpan(
+ "${fontStr}${str}",
+ -1,
+ ContextCompat.getColor(
+ context, R.color.col_2621
+ ),
+ -1,
+ "${fontStr}${str}".length -"${str}".length,
+ "${fontStr}${str}".length
+ )
+ holder.setText(R.id.tv_num,"数量:${item.goods_num}")
+ var status = holder.getView(R.id.tv_order_status)
+
+ status.text = item.status_name
+ when(item.status){ //1待支付 2已支付(待发货) 3待收货 4已完成5已取消6退款中7退款成功8退款失败
+ 1 ->{
+ status.setTextColor(context.getColor(R.color.col_9BD))
+ holder.setGone(R.id.tv_confirm_receive_goods,true)
+ holder.setText(R.id.tv_logistics,"取消订单")
+ holder.setText(R.id.tv_refund,"立即支付")
+ }
+ 3->{
+ status.setTextColor(context.getColor(R.color.col_9BD))
+ holder.setGone(R.id.tv_confirm_receive_goods,false)
+ holder.setText(R.id.tv_logistics,"查看物流")
+ holder.setText(R.id.tv_refund,"申请退款")
+
+ }
+ 4->{
+ status.setTextColor(context.getColor(R.color.col_02c))
+ holder.setGone(R.id.tv_confirm_receive_goods,true)
+ holder.setGone(R.id.tv_logistics,true)
+
+ holder.setGone(R.id.tv_refund,true)
+ holder.setGone(R.id.line,true)
+
+ }
+ else ->{
+ status.setTextColor(context.getColor(R.color.col_9BD))
+
+ holder.setGone(R.id.tv_confirm_receive_goods,true)
+ holder.setGone(R.id.tv_logistics,true)
+
+ holder.setGone(R.id.tv_refund,true)
+ holder.setGone(R.id.line,true)
+
+
+ }
+
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/health/src/main/java/com/zj365/health/vm/ShopOrderVm.kt b/health/src/main/java/com/zj365/health/vm/ShopOrderVm.kt
new file mode 100644
index 0000000..b464b37
--- /dev/null
+++ b/health/src/main/java/com/zj365/health/vm/ShopOrderVm.kt
@@ -0,0 +1,57 @@
+package com.zj365.health.vm
+
+import androidx.lifecycle.MutableLiveData
+import com.xty.base.vm.BaseVm
+import com.xty.network.model.RespBody
+import com.xty.network.model.ShopOrderDetailBean
+import com.xty.network.model.ShopOrderListBean
+import org.json.JSONObject
+
+class ShopOrderVm : BaseVm() {
+
+ val shopOrderLiveDate by lazy { MutableLiveData>() }
+
+ val orderDetailLiveData by lazy { MutableLiveData>() }
+
+ val receiveGoodsLiveData by lazy { MutableLiveData>() }
+
+ val cancelOrderLiveData by lazy { MutableLiveData>() }
+ fun getOrderList(pageNum:Int,status:Int){
+
+ startHttp {
+ val json = JSONObject()
+ json.put("pageNum",pageNum)
+ json.put("pageSize", 10)
+ json.put("status",status)
+
+ val response = apiInterface().getShopOrderList(retrofits.getRequestBody(json.toString()))
+ response.getCodeStatus(shopOrderLiveDate, nowData)
+ }
+
+ }
+
+ fun getOrderDetail(id:Long){
+ startHttp {
+ val response = apiInterface().getOrderDetail(id)
+ response.getCodeStatus(orderDetailLiveData, nowData)
+
+ }
+ }
+
+ fun receiveGoods(id:Long){
+ startHttp {
+ val response = apiInterface().receiveGoods(id)
+ response.getCodeStatus(receiveGoodsLiveData, nowData)
+
+ }
+ }
+
+
+ fun cancelOrder(id:Long){
+ startHttp {
+ val response = apiInterface().cancelOrder(id)
+ response.getCodeStatus(cancelOrderLiveData, nowData)
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/health/src/main/res/layout/act_shop_order_detail.xml b/health/src/main/res/layout/act_shop_order_detail.xml
new file mode 100644
index 0000000..4cf8d8e
--- /dev/null
+++ b/health/src/main/res/layout/act_shop_order_detail.xml
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/health/src/main/res/layout/act_shop_order_list.xml b/health/src/main/res/layout/act_shop_order_list.xml
new file mode 100644
index 0000000..f6dd8db
--- /dev/null
+++ b/health/src/main/res/layout/act_shop_order_list.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/health/src/main/res/layout/item_shop_order_list.xml b/health/src/main/res/layout/item_shop_order_list.xml
new file mode 100644
index 0000000..da9ee17
--- /dev/null
+++ b/health/src/main/res/layout/item_shop_order_list.xml
@@ -0,0 +1,165 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mine/src/main/java/com/zj365/mime/act/EnterpriseInformationAct.kt b/mine/src/main/java/com/zj365/mime/act/EnterpriseInformationAct.kt
index 11c9d95..f4b3f23 100644
--- a/mine/src/main/java/com/zj365/mime/act/EnterpriseInformationAct.kt
+++ b/mine/src/main/java/com/zj365/mime/act/EnterpriseInformationAct.kt
@@ -6,6 +6,9 @@ import androidx.recyclerview.widget.RecyclerView
import com.alibaba.android.arouter.facade.annotation.Route
import com.xty.base.act.BaseListAct
import com.xty.common.arouter.ARouterUrl
+import com.xty.common.arouter.RouteManager
+import com.xty.network.model.EnterpriseInfoHomeBean
+import com.zj365.mime.R
import com.zj365.mime.adapter.EnterpriseInformationAdapter
import com.zj365.mime.databinding.ActEnterpriseInformationBinding
import com.zj365.mime.vm.EnterpriseInformationVm
@@ -28,6 +31,18 @@ class EnterpriseInformationAct : BaseListAct() {
outRect.bottom = 12
}
})
+
+ mAdapter.addChildClickViewIds(R.id.tv_more)
+ mAdapter.setOnItemChildClickListener { adapter, view, position ->
+ var bean = adapter.data[position] as EnterpriseInfoHomeBean
+ when(view.id){
+ R.id.tv_more ->{
+ bundle.clear()
+ bundle.putInt("type",bean.type)
+ RouteManager.goAct(ARouterUrl.ENTERPRISE_TYPE_INFO,bundle)
+ }
+ }
+ }
}
override fun loadData() {
diff --git a/mine/src/main/java/com/zj365/mime/act/EnterpriseInformationForTypeAct.kt b/mine/src/main/java/com/zj365/mime/act/EnterpriseInformationForTypeAct.kt
new file mode 100644
index 0000000..a84a656
--- /dev/null
+++ b/mine/src/main/java/com/zj365/mime/act/EnterpriseInformationForTypeAct.kt
@@ -0,0 +1,50 @@
+package com.zj365.mime.act
+
+import android.view.View
+import androidx.recyclerview.widget.LinearLayoutManager
+import com.alibaba.android.arouter.facade.annotation.Route
+import com.xty.base.act.BaseListAct
+import com.xty.common.arouter.ARouterUrl
+import com.zj365.mime.adapter.EnterpriseInformationChildAdapter
+import com.zj365.mime.databinding.ActEnterpriseInformationTypeBinding
+import com.zj365.mime.vm.EnterpriseInformationVm
+@Route(path = ARouterUrl.ENTERPRISE_TYPE_INFO)
+class EnterpriseInformationForTypeAct : BaseListAct() {
+
+ val binding by lazy { ActEnterpriseInformationTypeBinding.inflate(layoutInflater) }
+
+ val mAdapter by lazy { EnterpriseInformationChildAdapter(1) }
+
+ var type = 0
+ override fun initAdapter() {
+ binding.mRecycle.adapter = mAdapter
+ binding.mRecycle.layoutManager = LinearLayoutManager(this@EnterpriseInformationForTypeAct)
+
+ setRecycleRefresh(binding.mRecycle,binding.mRefresh,true)
+ }
+
+
+ override fun initView() {
+ super.initView()
+ statusBar(binding.title.mView)
+ binding.title.mTvTitle.text = "企业资料"
+ binding.title.mIvBack.setOnClickListener {
+ finish()
+ }
+
+
+ }
+
+ override fun loadData() {
+ type = intent.getIntExtra("type",0)
+ mViewModel.getEnterpriseInformationForType(type,page)
+ }
+
+ override fun liveObserver() {
+ mViewModel.enterpriseInfoForTypeLiveData.observe(this){
+ setDate(mAdapter,it.data.list)
+ }
+ }
+
+ override fun setLayout() = binding.root
+}
\ No newline at end of file
diff --git a/mine/src/main/java/com/zj365/mime/adapter/EnterpriseInformationAdapter.kt b/mine/src/main/java/com/zj365/mime/adapter/EnterpriseInformationAdapter.kt
index 0555db6..ac11f82 100644
--- a/mine/src/main/java/com/zj365/mime/adapter/EnterpriseInformationAdapter.kt
+++ b/mine/src/main/java/com/zj365/mime/adapter/EnterpriseInformationAdapter.kt
@@ -13,7 +13,7 @@ class EnterpriseInformationAdapter : BaseAdapter(R.layou
holder.setText(R.id.tv_info_name,item.typeName)
- var mAdapter = EnterpriseInformationChildAdapter()
+ var mAdapter = EnterpriseInformationChildAdapter(0)
var recyclerView = holder.getView(R.id.recycler)
recyclerView.layoutManager = LinearLayoutManager(context)
diff --git a/mine/src/main/java/com/zj365/mime/adapter/EnterpriseInformationChildAdapter.kt b/mine/src/main/java/com/zj365/mime/adapter/EnterpriseInformationChildAdapter.kt
index 87d9b5d..9e2640a 100644
--- a/mine/src/main/java/com/zj365/mime/adapter/EnterpriseInformationChildAdapter.kt
+++ b/mine/src/main/java/com/zj365/mime/adapter/EnterpriseInformationChildAdapter.kt
@@ -1,5 +1,7 @@
package com.zj365.mime.adapter
+import android.widget.LinearLayout
+import androidx.constraintlayout.widget.ConstraintLayout
import com.chad.library.adapter.base.viewholder.BaseViewHolder
import com.ruffian.library.widget.RImageView
import com.xty.base.adapter.BaseAdapter
@@ -7,8 +9,11 @@ import com.xty.common.setImage
import com.xty.network.model.EnterpriseInfoHomeBean
import com.zj365.mime.R
-class EnterpriseInformationChildAdapter : BaseAdapter(R.layout.item_enterprise_info_child) {
+class EnterpriseInformationChildAdapter (var type : Int = 0): BaseAdapter(R.layout.item_enterprise_info_child) {
override fun convert(holder: BaseViewHolder, item: EnterpriseInfoHomeBean.EnterpriseInfoChildBean) {
+ if (type != 0){
+ holder.getView(R.id.root).setPadding(16,28,16,20)
+ }
holder.setText(R.id.tv_info_title,item.title)
holder.setText(R.id.mTime,item.createTime)
holder.getView(R.id.img_cover).setImage(context,item.pic)
diff --git a/mine/src/main/java/com/zj365/mime/vm/EnterpriseInformationVm.kt b/mine/src/main/java/com/zj365/mime/vm/EnterpriseInformationVm.kt
index 8fd4063..93c4abd 100644
--- a/mine/src/main/java/com/zj365/mime/vm/EnterpriseInformationVm.kt
+++ b/mine/src/main/java/com/zj365/mime/vm/EnterpriseInformationVm.kt
@@ -1,14 +1,18 @@
package com.zj365.mime.vm
+import android.graphics.pdf.PdfDocument.Page
import androidx.lifecycle.MutableLiveData
import com.xty.base.vm.BaseVm
import com.xty.network.model.EnterpriseInfoHomeBean
import com.xty.network.model.RespBody
+import org.json.JSONObject
class EnterpriseInformationVm : BaseVm() {
val enterpriseInfoHomeLiveData by lazy { MutableLiveData>>() }
+ val enterpriseInfoForTypeLiveData by lazy { MutableLiveData>() }
+
fun getEnterpriseInformationHomeList(){
startHttp {
var response=apiInterface().getEnterpriseInfoHomeList()
@@ -16,4 +20,16 @@ class EnterpriseInformationVm : BaseVm() {
}
}
+
+ fun getEnterpriseInformationForType(type:Int,pageNum:Int){
+ startHttp {
+ var json = JSONObject()
+ json.put("type",type)
+ json.put("pageNum",pageNum)
+ json.put("pageSize","10")
+ var response=apiInterface().getEnterpriseInfoForType(retrofits.getRequestBody(json.toString()))
+ response.getCodeStatus(enterpriseInfoForTypeLiveData,nowData)
+ }
+ }
+
}
\ No newline at end of file
diff --git a/mine/src/main/java/com/zj365/mime/vm/SettingVm.kt b/mine/src/main/java/com/zj365/mime/vm/SettingVm.kt
index d935a8a..2fdc02e 100644
--- a/mine/src/main/java/com/zj365/mime/vm/SettingVm.kt
+++ b/mine/src/main/java/com/zj365/mime/vm/SettingVm.kt
@@ -34,6 +34,8 @@ class SettingVm : BaseVm() {
val confirmInviteLiveData by lazy { MutableLiveData>() }
+ val userEqualityLiveData by lazy { MutableLiveData>() }
+
fun getNesProg(id: String) {
startHttp {
@@ -184,4 +186,11 @@ class SettingVm : BaseVm() {
}
}
+
+ fun getUserEquity(){
+ startHttp {
+ val response = apiInterface().getUserEquity()
+ response.getCodeStatus(userEqualityLiveData,nowData)
+ }
+ }
}
\ No newline at end of file
diff --git a/mine/src/main/res/layout/act_enterprise_information_type.xml b/mine/src/main/res/layout/act_enterprise_information_type.xml
new file mode 100644
index 0000000..1e504bd
--- /dev/null
+++ b/mine/src/main/res/layout/act_enterprise_information_type.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mine/src/main/res/layout/item_enterprise_info.xml b/mine/src/main/res/layout/item_enterprise_info.xml
index 790dbc1..03da7ce 100644
--- a/mine/src/main/res/layout/item_enterprise_info.xml
+++ b/mine/src/main/res/layout/item_enterprise_info.xml
@@ -50,7 +50,6 @@
android:text="更多"
android:layout_toLeftOf="@+id/img_right"
android:layout_centerVertical="true"
-
android:textSize="@dimen/sp_13"
android:textColor="@color/col_6B6"/>
diff --git a/mine/src/main/res/layout/item_enterprise_info_child.xml b/mine/src/main/res/layout/item_enterprise_info_child.xml
index 37638cb..a9c78b3 100644
--- a/mine/src/main/res/layout/item_enterprise_info_child.xml
+++ b/mine/src/main/res/layout/item_enterprise_info_child.xml
@@ -3,7 +3,9 @@
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
- android:layout_height="wrap_content">
+ android:layout_height="wrap_content"
+ android:id="@+id/root"
+ android:background="@drawable/shape_round_white">
+ /**
+ * 获取用户权益
+ */
+ @POST("customer/user/getUserEquity")
+ suspend fun getUserEquity():RespBody
/**
* 获取设备型号
@@ -1847,6 +1852,12 @@ interface ApiInterface {
@POST("customer/material/index")
suspend fun getEnterpriseInfoHomeList():RespBody>
+ /**
+ * 企业资料列表
+ */
+ @POST("customer/material/list")
+ suspend fun getEnterpriseInfoForType(@Body rb: RequestBody):RespBody
+
/**
* 商城分类
*/
@@ -1858,4 +1869,34 @@ interface ApiInterface {
*/
@POST("customer/mall/prod/getProdList")
suspend fun getGoodsList(@Body rb: RequestBody):RespBody
+
+ /**
+ * 商城订单
+ */
+ @POST("customer/mall/order/orderList")
+ suspend fun getShopOrderList(@Body rb:RequestBody) : RespBody
+
+ /**
+ * 订单详情
+ */
+ @GET("customer/mall/order/getOrderInfo")
+ suspend fun getOrderDetail(@Query("orderId") orderId:Long): RespBody
+
+ /**
+ * 创建订单
+ */
+ @POST("customer/mall/order/createOrder")
+ suspend fun createOrder(@Body rb: RequestBody):RespBody
+
+ /**
+ * 确认收货
+ */
+ @GET("customer/mall/order/receiptOrder")
+ suspend fun receiveGoods(@Query("orderId") orderId:Long) : RespBody
+
+ /**
+ * 取消订单
+ */
+ @GET("customer/mall/order/cancelOrder")
+ suspend fun cancelOrder(@Query("orderId") orderId:Long): RespBody
}
\ No newline at end of file
diff --git a/network/src/main/java/com/xty/network/model/EnterpriseInfoHomeBean.kt b/network/src/main/java/com/xty/network/model/EnterpriseInfoHomeBean.kt
index 38f4320..5e93677 100644
--- a/network/src/main/java/com/xty/network/model/EnterpriseInfoHomeBean.kt
+++ b/network/src/main/java/com/xty/network/model/EnterpriseInfoHomeBean.kt
@@ -1,8 +1,11 @@
package com.xty.network.model
+import com.google.gson.annotations.SerializedName
+
data class EnterpriseInfoHomeBean(
var typeName:String,
var type:Int,
+ @SerializedName("list", alternate = ["records"])
var list:ArrayList
) {
diff --git a/network/src/main/java/com/xty/network/model/ShopOrderDetailBean.kt b/network/src/main/java/com/xty/network/model/ShopOrderDetailBean.kt
new file mode 100644
index 0000000..a5f3604
--- /dev/null
+++ b/network/src/main/java/com/xty/network/model/ShopOrderDetailBean.kt
@@ -0,0 +1,16 @@
+package com.xty.network.model
+
+data class ShopOrderDetailBean(
+ var order_no:String,
+ var goods_sku:String,
+ var goods_name:String,
+ var pay_price:String,
+ var create_time:String,
+ var goods_pic:String,
+ var status_name:String,
+ var pay_type_name:String,
+ var goods_num:String,
+ var pay_type:Int,
+ var pay_time:String,
+ var status:Int
+)
diff --git a/network/src/main/java/com/xty/network/model/ShopOrderListBean.kt b/network/src/main/java/com/xty/network/model/ShopOrderListBean.kt
new file mode 100644
index 0000000..847d550
--- /dev/null
+++ b/network/src/main/java/com/xty/network/model/ShopOrderListBean.kt
@@ -0,0 +1,17 @@
+package com.xty.network.model
+
+data class ShopOrderListBean(
+ var list:ArrayList
+){
+ data class ShopOrderBean(
+ var order_no:String,
+ var goods_sku:String,
+ var goods_name:String,
+ var pay_price:String,
+ var goods_pic:String,
+ var status_name:String,
+ var goods_num:Int,
+ var id:Long,
+ var status:Int //1待支付 2已支付(待发货) 3待收货 4已完成5已取消6退款中7退款成功8退款失败
+ )
+}