添加我的发布页面
This commit is contained in:
parent
ec58f1c53a
commit
e924a9f2a7
|
|
@ -2,11 +2,11 @@ package com.cheng.bole.bean
|
||||||
|
|
||||||
import java.io.Serializable
|
import java.io.Serializable
|
||||||
|
|
||||||
class AreaBean(
|
class AreaEntity(
|
||||||
val id: Int = 0,
|
val id: Int = 0,
|
||||||
val pid: Int = 0,
|
val pid: Int = 0,
|
||||||
val name: String = "",
|
val name: String = "",
|
||||||
val amount: String = "",
|
val amount: String = "",
|
||||||
var children: MutableList<AreaBean> = mutableListOf(),
|
var children: MutableList<AreaEntity> = mutableListOf(),
|
||||||
var isChecked: Boolean = false
|
var isChecked: Boolean = false
|
||||||
) : Serializable
|
) : Serializable
|
||||||
|
|
@ -2,7 +2,7 @@ package com.cheng.bole.bean
|
||||||
|
|
||||||
import java.io.Serializable
|
import java.io.Serializable
|
||||||
|
|
||||||
data class AttachmentBean(
|
data class AttachmentEntity(
|
||||||
val id: String = "",
|
val id: String = "",
|
||||||
val url: String,
|
val url: String,
|
||||||
val type: String,
|
val type: String,
|
||||||
|
|
@ -2,11 +2,11 @@ package com.cheng.bole.bean
|
||||||
|
|
||||||
import java.io.Serializable
|
import java.io.Serializable
|
||||||
|
|
||||||
data class BidDetailBean(
|
data class BidDetailEntity(
|
||||||
val city: Int,
|
val city: Int,
|
||||||
val city_id: String,
|
val city_id: String,
|
||||||
val city_name: String,
|
val city_name: String,
|
||||||
val contact: List<ContactsInfoBean>,
|
val contact: List<ContactsEntity>,
|
||||||
val contact_name: String,
|
val contact_name: String,
|
||||||
val contact_phone: String,
|
val contact_phone: String,
|
||||||
val content_type: String,
|
val content_type: String,
|
||||||
|
|
@ -14,7 +14,7 @@ data class BidDetailBean(
|
||||||
val info_source: String,
|
val info_source: String,
|
||||||
val is_fav: Boolean,
|
val is_fav: Boolean,
|
||||||
val issue_time: String,
|
val issue_time: String,
|
||||||
val origin_attachment: List<AttachmentBean>,
|
val origin_attachment: List<AttachmentEntity>,
|
||||||
val origin_title: String,
|
val origin_title: String,
|
||||||
val origin_content: Any,
|
val origin_content: Any,
|
||||||
val origin_url: String,
|
val origin_url: String,
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.cheng.bole.bean
|
package com.cheng.bole.bean
|
||||||
|
|
||||||
data class BidItemBean(
|
data class BidItemEntity(
|
||||||
val id: String,
|
val id: String,
|
||||||
val recommend_id: String, //订阅消息
|
val recommend_id: String, //订阅消息
|
||||||
val info_source: String,
|
val info_source: String,
|
||||||
|
|
@ -2,7 +2,7 @@ package com.cheng.bole.bean
|
||||||
|
|
||||||
import java.io.Serializable
|
import java.io.Serializable
|
||||||
|
|
||||||
data class BidTypeBean(
|
data class BidTypeEntity(
|
||||||
val id: String = "",
|
val id: String = "",
|
||||||
val name: String = "",
|
val name: String = "",
|
||||||
val sort: Int = 0,
|
val sort: Int = 0,
|
||||||
|
|
@ -2,11 +2,11 @@ package com.cheng.bole.bean
|
||||||
|
|
||||||
import java.io.Serializable
|
import java.io.Serializable
|
||||||
|
|
||||||
data class CompanyBean(
|
data class CompanyEntity(
|
||||||
val city_id: String,
|
val city_id: String,
|
||||||
val city_name: String,
|
val city_name: String?,
|
||||||
val company_name: String,
|
val company_name: String?,
|
||||||
val contact: List<ContactsInfoBean>,
|
val contact: List<ContactsEntity>,
|
||||||
val create_time: String,
|
val create_time: String,
|
||||||
val extra: Any?,
|
val extra: Any?,
|
||||||
val file_id: String,
|
val file_id: String,
|
||||||
|
|
@ -2,7 +2,7 @@ package com.cheng.bole.bean
|
||||||
|
|
||||||
import java.io.Serializable
|
import java.io.Serializable
|
||||||
|
|
||||||
class ContactsInfoBean(
|
class ContactsEntity(
|
||||||
val id: String,
|
val id: String,
|
||||||
var name: String,
|
var name: String,
|
||||||
var phone: String,
|
var phone: String,
|
||||||
|
|
@ -2,7 +2,7 @@ package com.cheng.bole.bean
|
||||||
|
|
||||||
import java.io.Serializable
|
import java.io.Serializable
|
||||||
|
|
||||||
data class CorpInfoBean(
|
data class CorpEntity(
|
||||||
val id: String,
|
val id: String,
|
||||||
val corp_name: String,
|
val corp_name: String,
|
||||||
val sub_user_limit: String,
|
val sub_user_limit: String,
|
||||||
|
|
@ -2,7 +2,7 @@ package com.cheng.bole.bean
|
||||||
|
|
||||||
import java.io.Serializable
|
import java.io.Serializable
|
||||||
|
|
||||||
data class GuideTotalBidInfoBean(
|
data class GuideTotalBidEntity(
|
||||||
val bidCount: Int,
|
val bidCount: Int,
|
||||||
val hasContact: Int,
|
val hasContact: Int,
|
||||||
val maxMoney: Int,
|
val maxMoney: Int,
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.cheng.bole.bean
|
package com.cheng.bole.bean
|
||||||
|
|
||||||
data class GuideUpdateInfoBean(
|
data class GuideUpdateEntity(
|
||||||
val count: Int,
|
val count: Int,
|
||||||
val day: String
|
val day: String
|
||||||
)
|
)
|
||||||
|
|
@ -2,7 +2,7 @@ package com.cheng.bole.bean
|
||||||
|
|
||||||
import java.io.Serializable
|
import java.io.Serializable
|
||||||
|
|
||||||
data class HotWordBean(
|
data class HotWordEntity(
|
||||||
val id: Int,
|
val id: Int,
|
||||||
val name: String,
|
val name: String,
|
||||||
val children: List<Child> = emptyList(),
|
val children: List<Child> = emptyList(),
|
||||||
|
|
@ -2,11 +2,11 @@ package com.cheng.bole.bean
|
||||||
|
|
||||||
import java.io.Serializable
|
import java.io.Serializable
|
||||||
|
|
||||||
data class MerchantGoodsBean(
|
data class MerchantGoodsEntity(
|
||||||
val city_id: String,
|
val city_id: String,
|
||||||
val city_name: String,
|
val city_name: String,
|
||||||
val company: CompanyBean,
|
val company: CompanyEntity,
|
||||||
val contact: List<ContactsInfoBean>,
|
val contact: List<ContactsEntity>,
|
||||||
val create_time: String,
|
val create_time: String,
|
||||||
val file: List<UploadFileEntity>,
|
val file: List<UploadFileEntity>,
|
||||||
val goods_description: String,
|
val goods_description: String,
|
||||||
|
|
@ -2,7 +2,7 @@ package com.cheng.bole.bean
|
||||||
|
|
||||||
import java.io.Serializable
|
import java.io.Serializable
|
||||||
|
|
||||||
data class OrderBean(
|
data class OrderEntity(
|
||||||
val create_time: String,
|
val create_time: String,
|
||||||
val goods_name: String,
|
val goods_name: String,
|
||||||
val id: String,
|
val id: String,
|
||||||
|
|
@ -3,7 +3,7 @@ package com.cheng.bole.bean
|
||||||
import com.cheng.bole.manager.UserConfigManager
|
import com.cheng.bole.manager.UserConfigManager
|
||||||
import java.io.Serializable
|
import java.io.Serializable
|
||||||
|
|
||||||
class SearchOptionBean(
|
class SearchOptionEntity(
|
||||||
val title: String,
|
val title: String,
|
||||||
val items: List<OptionItem>,
|
val items: List<OptionItem>,
|
||||||
var isChecked: Boolean = false
|
var isChecked: Boolean = false
|
||||||
|
|
@ -18,10 +18,10 @@ class SearchOptionBean(
|
||||||
) : Serializable
|
) : Serializable
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun getAreaOptionList(): List<SearchOptionBean> {
|
fun getAreaOptionList(): List<SearchOptionEntity> {
|
||||||
val areaList = UserConfigManager.getAreaList()
|
val areaList = UserConfigManager.getAreaList()
|
||||||
val list = mutableListOf<SearchOptionBean>()
|
val list = mutableListOf<SearchOptionEntity>()
|
||||||
list.add(SearchOptionBean("全国地区", listOf(
|
list.add(SearchOptionEntity("全国地区", listOf(
|
||||||
OptionItem(0, "全国", true)
|
OptionItem(0, "全国", true)
|
||||||
)))
|
)))
|
||||||
areaList.forEach { area ->
|
areaList.forEach { area ->
|
||||||
|
|
@ -30,14 +30,14 @@ class SearchOptionBean(
|
||||||
area.children.forEach { city ->
|
area.children.forEach { city ->
|
||||||
cityList.add(OptionItem(city.id, city.name))
|
cityList.add(OptionItem(city.id, city.name))
|
||||||
}
|
}
|
||||||
list.add(SearchOptionBean(area.name, cityList))
|
list.add(SearchOptionEntity(area.name, cityList))
|
||||||
}
|
}
|
||||||
return list
|
return list
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getTimeOptionList(): List<SearchOptionBean> {
|
fun getTimeOptionList(): List<SearchOptionEntity> {
|
||||||
val list = mutableListOf<SearchOptionBean>()
|
val list = mutableListOf<SearchOptionEntity>()
|
||||||
list.add(SearchOptionBean("时间排序", listOf(
|
list.add(SearchOptionEntity("时间排序", listOf(
|
||||||
OptionItem(0, "全部时间", true),
|
OptionItem(0, "全部时间", true),
|
||||||
OptionItem(1, "近三天"),
|
OptionItem(1, "近三天"),
|
||||||
OptionItem(2, "近七天"),
|
OptionItem(2, "近七天"),
|
||||||
|
|
@ -48,22 +48,22 @@ class SearchOptionBean(
|
||||||
return list
|
return list
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getSortOptionList(): List<SearchOptionBean> {
|
fun getSortOptionList(): List<SearchOptionEntity> {
|
||||||
val list = mutableListOf<SearchOptionBean>()
|
val list = mutableListOf<SearchOptionEntity>()
|
||||||
list.add(SearchOptionBean("排序方式", listOf(
|
list.add(SearchOptionEntity("排序方式", listOf(
|
||||||
OptionItem(0, "综合排序", true),
|
OptionItem(0, "综合排序", true),
|
||||||
OptionItem(1, "时间排序")
|
OptionItem(1, "时间排序")
|
||||||
)))
|
)))
|
||||||
return list
|
return list
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getTypeOptionList(): List<SearchOptionBean> {
|
fun getTypeOptionList(): List<SearchOptionEntity> {
|
||||||
val list = mutableListOf<SearchOptionBean>()
|
val list = mutableListOf<SearchOptionEntity>()
|
||||||
val typeList = mutableListOf<OptionItem>()
|
val typeList = mutableListOf<OptionItem>()
|
||||||
UserConfigManager.getBidTypes().forEach {
|
UserConfigManager.getBidTypes().forEach {
|
||||||
typeList.add(OptionItem(it.id.toInt(), it.name))
|
typeList.add(OptionItem(it.id.toInt(), it.name))
|
||||||
}
|
}
|
||||||
list.add(SearchOptionBean("信息类型", typeList))
|
list.add(SearchOptionEntity("信息类型", typeList))
|
||||||
return list
|
return list
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -2,7 +2,7 @@ package com.cheng.bole.bean
|
||||||
|
|
||||||
import java.io.Serializable
|
import java.io.Serializable
|
||||||
|
|
||||||
data class SeatItemBean(
|
data class SeatItemEntity(
|
||||||
val avatar: String,
|
val avatar: String,
|
||||||
val create_time: String,
|
val create_time: String,
|
||||||
val id: String,
|
val id: String,
|
||||||
|
|
@ -2,7 +2,7 @@ package com.cheng.bole.bean
|
||||||
|
|
||||||
import java.io.Serializable
|
import java.io.Serializable
|
||||||
|
|
||||||
data class SourceBean(
|
data class SourceEntity(
|
||||||
val id: String,
|
val id: String,
|
||||||
val name: String
|
val name: String
|
||||||
): Serializable
|
): Serializable
|
||||||
|
|
@ -2,7 +2,7 @@ package com.cheng.bole.bean
|
||||||
|
|
||||||
import java.io.Serializable
|
import java.io.Serializable
|
||||||
|
|
||||||
data class SubscriptionBean(
|
data class SubscriptionEntity(
|
||||||
val city_id: List<String>,
|
val city_id: List<String>,
|
||||||
val city_name: ArrayList<String>,
|
val city_name: ArrayList<String>,
|
||||||
val create_time: String,
|
val create_time: String,
|
||||||
|
|
@ -13,7 +13,7 @@ data class SubscriptionBean(
|
||||||
val push_receiver: String,
|
val push_receiver: String,
|
||||||
val push_receiver_ks: String,
|
val push_receiver_ks: String,
|
||||||
val push_type: String,
|
val push_type: String,
|
||||||
val source: List<SourceBean>,
|
val source: List<SourceEntity>,
|
||||||
val source_id: List<String>,
|
val source_id: List<String>,
|
||||||
val source_name: List<String>,
|
val source_name: List<String>,
|
||||||
val type: Int,
|
val type: Int,
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
package com.cheng.bole.bean
|
package com.cheng.bole.bean
|
||||||
|
|
||||||
data class SubscriptionMessageBean(
|
data class SubscriptionMessageEntity(
|
||||||
val id: String,
|
val id: String,
|
||||||
val title: String,
|
val title: String,
|
||||||
val message: String,
|
val message: String,
|
||||||
val type: String,
|
val type: String,
|
||||||
val create_time: String,
|
val create_time: String,
|
||||||
val extra: BidItemBean
|
val extra: BidItemEntity
|
||||||
)
|
)
|
||||||
|
|
@ -2,7 +2,7 @@ package com.cheng.bole.bean
|
||||||
|
|
||||||
import java.io.Serializable
|
import java.io.Serializable
|
||||||
|
|
||||||
data class UserAuthBean(
|
data class UserAuthEntity(
|
||||||
val auth: Boolean,
|
val auth: Boolean,
|
||||||
val auth_ad: Boolean,
|
val auth_ad: Boolean,
|
||||||
val scene: String,
|
val scene: String,
|
||||||
|
|
@ -2,7 +2,7 @@ package com.cheng.bole.bean
|
||||||
|
|
||||||
import java.io.Serializable
|
import java.io.Serializable
|
||||||
|
|
||||||
data class ZZDBInfoBean(
|
data class ZZDBInfoEntity(
|
||||||
val id: String,
|
val id: String,
|
||||||
val name: String,
|
val name: String,
|
||||||
val createTime: String,
|
val createTime: String,
|
||||||
|
|
@ -14,5 +14,5 @@ data class ZZDBInfoBean(
|
||||||
val range: String,
|
val range: String,
|
||||||
val status: String,
|
val status: String,
|
||||||
val updateTime: String,
|
val updateTime: String,
|
||||||
val children: List<ZZDBInfoBean>
|
val children: List<ZZDBInfoEntity>
|
||||||
) : Serializable
|
) : Serializable
|
||||||
|
|
@ -13,7 +13,7 @@ object Constants {
|
||||||
|
|
||||||
const val AppFilter = "${BuildConfig.APPLICATION_ID}.fileprovider"
|
const val AppFilter = "${BuildConfig.APPLICATION_ID}.fileprovider"
|
||||||
|
|
||||||
const val WechatAppId = ""//微信APPID
|
const val WechatAppId = "wx2339becbc48e741d"//微信APPID
|
||||||
const val WechatAppSecret = ""//微信secret
|
const val WechatAppSecret = ""//微信secret
|
||||||
const val UmengAppkey = "692528cc8560e34872f36551"//友盟appKey
|
const val UmengAppkey = "692528cc8560e34872f36551"//友盟appKey
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -70,6 +70,8 @@ object EventConstants {
|
||||||
|
|
||||||
const val JUMP_TO_SEAT_MANAGE = "client.jump.to.seat.manage" //跳转到席位管理
|
const val JUMP_TO_SEAT_MANAGE = "client.jump.to.seat.manage" //跳转到席位管理
|
||||||
|
|
||||||
|
const val JUMP_TO_MY_PUBLISH = "client.jump.to.my.publish" //跳转到我的发布
|
||||||
|
|
||||||
const val JUMP_TO_FEEDBACK = "client.jump.to.feedback" //跳转到意见反馈
|
const val JUMP_TO_FEEDBACK = "client.jump.to.feedback" //跳转到意见反馈
|
||||||
|
|
||||||
const val JUMP_TO_SERVICE = "client.jump.to.service" //跳转到联系客服
|
const val JUMP_TO_SERVICE = "client.jump.to.service" //跳转到联系客服
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.cheng.bole.event
|
package com.cheng.bole.event
|
||||||
|
|
||||||
import com.cheng.bole.bean.ContactsInfoBean
|
import com.cheng.bole.bean.ContactsEntity
|
||||||
|
|
||||||
class ContactsEvent(val contacts: ContactsInfoBean) {
|
class ContactsEvent(val contacts: ContactsEntity) {
|
||||||
}
|
}
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.cheng.bole.event
|
package com.cheng.bole.event
|
||||||
|
|
||||||
import com.cheng.bole.bean.SourceBean
|
import com.cheng.bole.bean.SourceEntity
|
||||||
|
|
||||||
class SourceDataEvent(val list: List<SourceBean>) {
|
class SourceDataEvent(val list: List<SourceEntity>) {
|
||||||
}
|
}
|
||||||
|
|
@ -1,20 +1,20 @@
|
||||||
package com.cheng.bole.manager
|
package com.cheng.bole.manager
|
||||||
|
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
import com.cheng.bole.bean.ContactsInfoBean
|
import com.cheng.bole.bean.ContactsEntity
|
||||||
import com.example.base.utils.MMKVUtils
|
import com.example.base.utils.MMKVUtils
|
||||||
import com.google.gson.Gson
|
import com.google.gson.Gson
|
||||||
import com.google.gson.reflect.TypeToken
|
import com.google.gson.reflect.TypeToken
|
||||||
|
|
||||||
object ContactsManager {
|
object ContactsManager {
|
||||||
|
|
||||||
fun add(contacts: ContactsInfoBean) {
|
fun add(contacts: ContactsEntity) {
|
||||||
val list = all()
|
val list = all()
|
||||||
list.add(contacts)
|
list.add(contacts)
|
||||||
MMKVUtils.put("contacts_list", Gson().toJson(list))
|
MMKVUtils.put("contacts_list", Gson().toJson(list))
|
||||||
}
|
}
|
||||||
|
|
||||||
fun update(contacts: ContactsInfoBean) {
|
fun update(contacts: ContactsEntity) {
|
||||||
val list = all()
|
val list = all()
|
||||||
val oldContacts = list.find { it.id == contacts.id }
|
val oldContacts = list.find { it.id == contacts.id }
|
||||||
if (oldContacts != null) {
|
if (oldContacts != null) {
|
||||||
|
|
@ -34,10 +34,10 @@ object ContactsManager {
|
||||||
MMKVUtils.put("contacts_list", Gson().toJson(list))
|
MMKVUtils.put("contacts_list", Gson().toJson(list))
|
||||||
}
|
}
|
||||||
|
|
||||||
fun all(): MutableList<ContactsInfoBean> {
|
fun all(): MutableList<ContactsEntity> {
|
||||||
val str = MMKVUtils.getString("contacts_list")
|
val str = MMKVUtils.getString("contacts_list")
|
||||||
return if (!TextUtils.isEmpty(str)) {
|
return if (!TextUtils.isEmpty(str)) {
|
||||||
Gson().fromJson(str, object : TypeToken<MutableList<ContactsInfoBean>>(){}.type)
|
Gson().fromJson(str, object : TypeToken<MutableList<ContactsEntity>>(){}.type)
|
||||||
} else {
|
} else {
|
||||||
mutableListOf()
|
mutableListOf()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,8 @@ package com.cheng.bole.manager
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import com.cheng.bole.bean.BidTypeBean
|
import com.cheng.bole.bean.BidTypeEntity
|
||||||
import com.cheng.bole.bean.AreaBean
|
import com.cheng.bole.bean.AreaEntity
|
||||||
import com.cheng.bole.net.ApiFactory
|
import com.cheng.bole.net.ApiFactory
|
||||||
import com.example.base.extensions.toast
|
import com.example.base.extensions.toast
|
||||||
import com.example.base.utils.MMKVUtils
|
import com.example.base.utils.MMKVUtils
|
||||||
|
|
@ -226,16 +226,16 @@ object UserConfigManager {
|
||||||
/**
|
/**
|
||||||
* 地区列表
|
* 地区列表
|
||||||
*/
|
*/
|
||||||
fun saveAreaList(list: List<AreaBean>) {
|
fun saveAreaList(list: List<AreaEntity>) {
|
||||||
if (list.isNotEmpty()) {
|
if (list.isNotEmpty()) {
|
||||||
MMKVUtils.put("area_list", Gson().toJson(list))
|
MMKVUtils.put("area_list", Gson().toJson(list))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getAreaList(): MutableList<AreaBean> {
|
fun getAreaList(): MutableList<AreaEntity> {
|
||||||
val str = MMKVUtils.getString("area_list")
|
val str = MMKVUtils.getString("area_list")
|
||||||
if (!TextUtils.isEmpty(str)) {
|
if (!TextUtils.isEmpty(str)) {
|
||||||
return Gson().fromJson(str, object : TypeToken<MutableList<AreaBean>>() {}.type)
|
return Gson().fromJson(str, object : TypeToken<MutableList<AreaEntity>>() {}.type)
|
||||||
}
|
}
|
||||||
return mutableListOf()
|
return mutableListOf()
|
||||||
}
|
}
|
||||||
|
|
@ -243,8 +243,8 @@ object UserConfigManager {
|
||||||
/**
|
/**
|
||||||
* 城市列表
|
* 城市列表
|
||||||
*/
|
*/
|
||||||
fun getCityList(): List<AreaBean> {
|
fun getCityList(): List<AreaEntity> {
|
||||||
val list = mutableListOf<AreaBean>()
|
val list = mutableListOf<AreaEntity>()
|
||||||
getAreaList().forEach {
|
getAreaList().forEach {
|
||||||
list.addAll(it.children)
|
list.addAll(it.children)
|
||||||
}
|
}
|
||||||
|
|
@ -254,14 +254,14 @@ object UserConfigManager {
|
||||||
/**
|
/**
|
||||||
* 招标类型
|
* 招标类型
|
||||||
*/
|
*/
|
||||||
fun saveBidTypes(list: List<BidTypeBean>) {
|
fun saveBidTypes(list: List<BidTypeEntity>) {
|
||||||
MMKVUtils.put("bid_type", Gson().toJson(list))
|
MMKVUtils.put("bid_type", Gson().toJson(list))
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getBidTypes(): List<BidTypeBean> {
|
fun getBidTypes(): List<BidTypeEntity> {
|
||||||
val str = MMKVUtils.getString("bid_type")
|
val str = MMKVUtils.getString("bid_type")
|
||||||
if (!TextUtils.isEmpty(str)) {
|
if (!TextUtils.isEmpty(str)) {
|
||||||
return Gson().fromJson(str, object : TypeToken<List<BidTypeBean>>() {}.type)
|
return Gson().fromJson(str, object : TypeToken<List<BidTypeEntity>>() {}.type)
|
||||||
}
|
}
|
||||||
return emptyList()
|
return emptyList()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,28 +1,28 @@
|
||||||
package com.cheng.bole.net
|
package com.cheng.bole.net
|
||||||
|
|
||||||
import com.cheng.bole.bean.AccountEntity
|
import com.cheng.bole.bean.AccountEntity
|
||||||
import com.cheng.bole.bean.AreaBean
|
import com.cheng.bole.bean.AreaEntity
|
||||||
import com.cheng.bole.bean.BidDetailBean
|
import com.cheng.bole.bean.BidDetailEntity
|
||||||
import com.cheng.bole.bean.BidItemBean
|
import com.cheng.bole.bean.BidItemEntity
|
||||||
import com.cheng.bole.bean.BidTypeBean
|
import com.cheng.bole.bean.BidTypeEntity
|
||||||
import com.cheng.bole.bean.CompanyBean
|
import com.cheng.bole.bean.CompanyEntity
|
||||||
import com.cheng.bole.bean.CorpInfoBean
|
import com.cheng.bole.bean.CorpEntity
|
||||||
import com.cheng.bole.bean.CouponEntity
|
import com.cheng.bole.bean.CouponEntity
|
||||||
import com.cheng.bole.bean.GuideTotalBidInfoBean
|
import com.cheng.bole.bean.GuideTotalBidEntity
|
||||||
import com.cheng.bole.bean.GuideUpdateInfoBean
|
import com.cheng.bole.bean.GuideUpdateEntity
|
||||||
import com.cheng.bole.bean.HotWordBean
|
import com.cheng.bole.bean.HotWordEntity
|
||||||
import com.cheng.bole.bean.LoginEntity
|
import com.cheng.bole.bean.LoginEntity
|
||||||
import com.cheng.bole.bean.MerchantGoodsBean
|
import com.cheng.bole.bean.MerchantGoodsEntity
|
||||||
import com.cheng.bole.bean.OrderBean
|
import com.cheng.bole.bean.OrderEntity
|
||||||
import com.cheng.bole.bean.OrderPayEntity
|
import com.cheng.bole.bean.OrderPayEntity
|
||||||
import com.cheng.bole.bean.ZZDBInfoBean
|
import com.cheng.bole.bean.ZZDBInfoEntity
|
||||||
import com.cheng.bole.bean.SeatItemBean
|
import com.cheng.bole.bean.SeatItemEntity
|
||||||
import com.cheng.bole.bean.SendCodeEntity
|
import com.cheng.bole.bean.SendCodeEntity
|
||||||
import com.cheng.bole.bean.SourceBean
|
import com.cheng.bole.bean.SourceEntity
|
||||||
import com.cheng.bole.bean.SubscriptionBean
|
import com.cheng.bole.bean.SubscriptionEntity
|
||||||
import com.cheng.bole.bean.SubscriptionMessageBean
|
import com.cheng.bole.bean.SubscriptionMessageEntity
|
||||||
import com.cheng.bole.bean.UploadFileEntity
|
import com.cheng.bole.bean.UploadFileEntity
|
||||||
import com.cheng.bole.bean.UserAuthBean
|
import com.cheng.bole.bean.UserAuthEntity
|
||||||
import com.cheng.bole.bean.UserConfigEntity
|
import com.cheng.bole.bean.UserConfigEntity
|
||||||
import com.cheng.bole.bean.UserEntity
|
import com.cheng.bole.bean.UserEntity
|
||||||
import com.cheng.bole.bean.VipGoodsEntity
|
import com.cheng.bole.bean.VipGoodsEntity
|
||||||
|
|
@ -175,13 +175,13 @@ interface ApiService {
|
||||||
* 订单列表查询
|
* 订单列表查询
|
||||||
*/
|
*/
|
||||||
@GET("/api/order")
|
@GET("/api/order")
|
||||||
suspend fun getOrderList(@Query("status") status: String): HttpBaseResult<List<OrderBean>>
|
suspend fun getOrderList(@Query("status") status: String): HttpBaseResult<List<OrderEntity>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单查询
|
* 订单查询
|
||||||
*/
|
*/
|
||||||
@GET("/api/order")
|
@GET("/api/order")
|
||||||
suspend fun getOrderInfo(@Query("order_id") orderId: String): HttpBaseResult<OrderBean>
|
suspend fun getOrderInfo(@Query("order_id") orderId: String): HttpBaseResult<OrderEntity>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新订单
|
* 更新订单
|
||||||
|
|
@ -193,7 +193,7 @@ interface ApiService {
|
||||||
* 权限验证
|
* 权限验证
|
||||||
*/
|
*/
|
||||||
@GET("/api/user/auth")
|
@GET("/api/user/auth")
|
||||||
suspend fun checkAuth(@Query("scene") scene: String? = "info"): HttpBaseResult<UserAuthBean>
|
suspend fun checkAuth(@Query("scene") scene: String? = "info"): HttpBaseResult<UserAuthEntity>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 权限上报
|
* 权限上报
|
||||||
|
|
@ -205,19 +205,19 @@ interface ApiService {
|
||||||
* 引导页推荐热词树
|
* 引导页推荐热词树
|
||||||
*/
|
*/
|
||||||
@GET("/api/hot_word")
|
@GET("/api/hot_word")
|
||||||
suspend fun getHotWordList(): HttpBaseResult<List<HotWordBean>>
|
suspend fun getHotWordList(): HttpBaseResult<List<HotWordEntity>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 城市列表
|
* 城市列表
|
||||||
*/
|
*/
|
||||||
@GET("/api/city")
|
@GET("/api/city")
|
||||||
suspend fun getAreaList(): HttpBaseResult<List<AreaBean>>
|
suspend fun getAreaList(): HttpBaseResult<List<AreaEntity>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取当前城市
|
* 获取当前城市
|
||||||
*/
|
*/
|
||||||
@GET("/api/city/default")
|
@GET("/api/city/default")
|
||||||
suspend fun getUserCity(): HttpBaseResult<AreaBean>
|
suspend fun getUserCity(): HttpBaseResult<AreaEntity>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 总计商机
|
* 总计商机
|
||||||
|
|
@ -227,13 +227,13 @@ interface ApiService {
|
||||||
@Query("keyword") keywords: String,
|
@Query("keyword") keywords: String,
|
||||||
@Query("city_id") cityIds: String,
|
@Query("city_id") cityIds: String,
|
||||||
@Query("second_kind_num") kindCount: String
|
@Query("second_kind_num") kindCount: String
|
||||||
): HttpBaseResult<GuideTotalBidInfoBean>
|
): HttpBaseResult<GuideTotalBidEntity>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 每日更新
|
* 每日更新
|
||||||
*/
|
*/
|
||||||
@GET("/api/info/update/num")
|
@GET("/api/info/update/num")
|
||||||
suspend fun getUpdateNum(@Query("size") size: String): HttpBaseResult<List<GuideUpdateInfoBean>>
|
suspend fun getUpdateNum(@Query("size") size: String): HttpBaseResult<List<GuideUpdateEntity>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员页轮播提示
|
* 会员页轮播提示
|
||||||
|
|
@ -245,13 +245,13 @@ interface ApiService {
|
||||||
* 订阅列表
|
* 订阅列表
|
||||||
*/
|
*/
|
||||||
@GET("/api/recommend/subscription")
|
@GET("/api/recommend/subscription")
|
||||||
suspend fun getSubscriptionList(): HttpBaseResult<HttpListResult<SubscriptionBean>>
|
suspend fun getSubscriptionList(): HttpBaseResult<HttpListResult<SubscriptionEntity>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订阅推荐列表
|
* 订阅推荐列表
|
||||||
*/
|
*/
|
||||||
@GET("/api/recommend")
|
@GET("/api/recommend")
|
||||||
suspend fun getRecommendList(@QueryMap map: Map<String, String>): HttpBaseResult<HttpListResult<BidItemBean>>
|
suspend fun getRecommendList(@QueryMap map: Map<String, String>): HttpBaseResult<HttpListResult<BidItemEntity>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加订阅
|
* 添加订阅
|
||||||
|
|
@ -275,7 +275,7 @@ interface ApiService {
|
||||||
* 招标公告类型
|
* 招标公告类型
|
||||||
*/
|
*/
|
||||||
@GET("/api/info/type")
|
@GET("/api/info/type")
|
||||||
suspend fun getBidTypeList(): HttpBaseResult<List<BidTypeBean>>
|
suspend fun getBidTypeList(): HttpBaseResult<List<BidTypeEntity>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 标讯详情
|
* 标讯详情
|
||||||
|
|
@ -287,13 +287,13 @@ interface ApiService {
|
||||||
@Query("id") id: String,
|
@Query("id") id: String,
|
||||||
@Query("source") source: String,
|
@Query("source") source: String,
|
||||||
@Query("info_source") infoSource: String
|
@Query("info_source") infoSource: String
|
||||||
): HttpBaseResult<BidDetailBean>
|
): HttpBaseResult<BidDetailEntity>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 收藏列表
|
* 收藏列表
|
||||||
*/
|
*/
|
||||||
@GET("/api/info/favorite/search")
|
@GET("/api/info/favorite/search")
|
||||||
suspend fun getFavoriteList(): HttpBaseResult<HttpListResult<BidItemBean>>
|
suspend fun getFavoriteList(): HttpBaseResult<HttpListResult<BidItemEntity>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 收藏标讯
|
* 收藏标讯
|
||||||
|
|
@ -317,37 +317,37 @@ interface ApiService {
|
||||||
* 热门数据源
|
* 热门数据源
|
||||||
*/
|
*/
|
||||||
@GET("/api/source/hot")
|
@GET("/api/source/hot")
|
||||||
suspend fun getHotSources(): HttpBaseResult<HttpListResult<SourceBean>>
|
suspend fun getHotSources(): HttpBaseResult<HttpListResult<SourceEntity>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 搜索数据源
|
* 搜索数据源
|
||||||
*/
|
*/
|
||||||
@GET("/api/source/search")
|
@GET("/api/source/search")
|
||||||
suspend fun searchSource(@Query("keyword") keyword: String, @Query("size") size: String = "10"): HttpBaseResult<HttpListResult<SourceBean>>
|
suspend fun searchSource(@Query("keyword") keyword: String, @Query("size") size: String = "10"): HttpBaseResult<HttpListResult<SourceEntity>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 搜索页最新标讯和本地标讯
|
* 搜索页最新标讯和本地标讯
|
||||||
*/
|
*/
|
||||||
@GET("/api/info/ks/search")
|
@GET("/api/info/ks/search")
|
||||||
suspend fun getNewestLocalBidList(@QueryMap map: Map<String, String>): HttpBaseResult<HttpListResult<BidItemBean>>
|
suspend fun getNewestLocalBidList(@QueryMap map: Map<String, String>): HttpBaseResult<HttpListResult<BidItemEntity>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 项目搜索
|
* 项目搜索
|
||||||
*/
|
*/
|
||||||
@GET("/api/search")
|
@GET("/api/search")
|
||||||
suspend fun search(@QueryMap map: Map<String, String>): HttpBaseResult<HttpListResult<BidItemBean>>
|
suspend fun search(@QueryMap map: Map<String, String>): HttpBaseResult<HttpListResult<BidItemEntity>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 供应商搜索
|
* 供应商搜索
|
||||||
*/
|
*/
|
||||||
@GET("/api/user/goods/search")
|
@GET("/api/user/goods/search")
|
||||||
suspend fun searchSupplier(@QueryMap map: Map<String, String>): HttpBaseResult<HttpListResult<MerchantGoodsBean>>
|
suspend fun searchSupplier(@QueryMap map: Map<String, String>): HttpBaseResult<HttpListResult<MerchantGoodsEntity>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 浏览历史
|
* 浏览历史
|
||||||
*/
|
*/
|
||||||
@GET("/api/info/history")
|
@GET("/api/info/history")
|
||||||
suspend fun getViewHistoryList(): HttpBaseResult<HttpListResult<BidDetailBean>>
|
suspend fun getViewHistoryList(): HttpBaseResult<HttpListResult<BidDetailEntity>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加代办
|
* 添加代办
|
||||||
|
|
@ -359,19 +359,19 @@ interface ApiService {
|
||||||
* 资质代办列表
|
* 资质代办列表
|
||||||
*/
|
*/
|
||||||
@GET("/api/agency/cert")
|
@GET("/api/agency/cert")
|
||||||
suspend fun getAgencyList(@QueryMap map: Map<String, String>): HttpBaseResult<HttpListResult<ZZDBInfoBean>>
|
suspend fun getAgencyList(@QueryMap map: Map<String, String>): HttpBaseResult<HttpListResult<ZZDBInfoEntity>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 我的标讯列表
|
* 我的标讯列表
|
||||||
*/
|
*/
|
||||||
@GET("/api/user/info")
|
@GET("/api/user/info")
|
||||||
suspend fun getMyBidList(@QueryMap map: Map<String, String>): HttpBaseResult<HttpListResult<BidDetailBean>>
|
suspend fun getMyBidList(@QueryMap map: Map<String, String>): HttpBaseResult<HttpListResult<BidDetailEntity>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询标讯
|
* 查询标讯
|
||||||
*/
|
*/
|
||||||
@GET("/api/user/info/{id}")
|
@GET("/api/user/info/{id}")
|
||||||
suspend fun getBidInfo(@Path("id") id: String): HttpBaseResult<BidItemBean>
|
suspend fun getBidInfo(@Path("id") id: String): HttpBaseResult<BidItemEntity>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加标讯
|
* 添加标讯
|
||||||
|
|
@ -395,13 +395,13 @@ interface ApiService {
|
||||||
* 我的商品列表
|
* 我的商品列表
|
||||||
*/
|
*/
|
||||||
@GET("/api/user/goods")
|
@GET("/api/user/goods")
|
||||||
suspend fun getMyGoodsList(@QueryMap map: Map<String, String>): HttpBaseResult<HttpListResult<MerchantGoodsBean>>
|
suspend fun getMyGoodsList(@QueryMap map: Map<String, String>): HttpBaseResult<HttpListResult<MerchantGoodsEntity>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询商品
|
* 查询商品
|
||||||
*/
|
*/
|
||||||
@GET("/api/user/goods/{id}")
|
@GET("/api/user/goods/{id}")
|
||||||
suspend fun getGoodsInfo(@Path("id") id: String): HttpBaseResult<MerchantGoodsBean>
|
suspend fun getGoodsInfo(@Path("id") id: String): HttpBaseResult<MerchantGoodsEntity>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加商品
|
* 添加商品
|
||||||
|
|
@ -425,7 +425,7 @@ interface ApiService {
|
||||||
* 获取用户公司信息
|
* 获取用户公司信息
|
||||||
*/
|
*/
|
||||||
@GET("/api/user/company")
|
@GET("/api/user/company")
|
||||||
suspend fun getCompanyInfo(): HttpBaseResult<CompanyBean>
|
suspend fun getCompanyInfo(): HttpBaseResult<CompanyEntity>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 提交用户公司信息
|
* 提交用户公司信息
|
||||||
|
|
@ -443,13 +443,13 @@ interface ApiService {
|
||||||
* 席位信息
|
* 席位信息
|
||||||
*/
|
*/
|
||||||
@GET("/api/corp")
|
@GET("/api/corp")
|
||||||
suspend fun getSeatInfo(): HttpBaseResult<CorpInfoBean>
|
suspend fun getSeatInfo(): HttpBaseResult<CorpEntity>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 席位列表
|
* 席位列表
|
||||||
*/
|
*/
|
||||||
@GET("/api/corp/user")
|
@GET("/api/corp/user")
|
||||||
suspend fun getSeatList(@Query("page") page: String = "1", @Query("size") size: String = "100"): HttpBaseResult<HttpListResult<SeatItemBean>>
|
suspend fun getSeatList(@Query("page") page: String = "1", @Query("size") size: String = "100"): HttpBaseResult<HttpListResult<SeatItemEntity>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加席位
|
* 添加席位
|
||||||
|
|
@ -467,5 +467,5 @@ interface ApiService {
|
||||||
* 订阅消息列表
|
* 订阅消息列表
|
||||||
*/
|
*/
|
||||||
@GET("/api/message/ks")
|
@GET("/api/message/ks")
|
||||||
suspend fun getSubscriptionMessage(@QueryMap map: Map<String, String>): HttpBaseResult<HttpListResult<SubscriptionMessageBean>>
|
suspend fun getSubscriptionMessage(@QueryMap map: Map<String, String>): HttpBaseResult<HttpListResult<SubscriptionMessageEntity>>
|
||||||
}
|
}
|
||||||
|
|
@ -14,7 +14,7 @@ import androidx.lifecycle.lifecycleScope
|
||||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||||
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.AttachmentBean
|
import com.cheng.bole.bean.AttachmentEntity
|
||||||
import com.cheng.bole.common.Constants
|
import com.cheng.bole.common.Constants
|
||||||
import com.cheng.bole.databinding.DialogDownloadAttachmentBinding
|
import com.cheng.bole.databinding.DialogDownloadAttachmentBinding
|
||||||
import com.cheng.bole.manager.DialogEnum
|
import com.cheng.bole.manager.DialogEnum
|
||||||
|
|
@ -34,7 +34,7 @@ import kotlinx.coroutines.launch
|
||||||
|
|
||||||
class DownloadAttachmentDialog : DialogFragment() {
|
class DownloadAttachmentDialog : DialogFragment() {
|
||||||
private val mAdapter by lazy { AttachmentAdapter() }
|
private val mAdapter by lazy { AttachmentAdapter() }
|
||||||
private val attachmentList = mutableListOf<AttachmentBean>()
|
private val attachmentList = mutableListOf<AttachmentEntity>()
|
||||||
|
|
||||||
private val loadingDialog by lazy { LoadingDialog(requireContext()) }
|
private val loadingDialog by lazy { LoadingDialog(requireContext()) }
|
||||||
|
|
||||||
|
|
@ -67,7 +67,7 @@ class DownloadAttachmentDialog : DialogFragment() {
|
||||||
val listStr = arguments?.getString("list")
|
val listStr = arguments?.getString("list")
|
||||||
|
|
||||||
if (!TextUtils.isEmpty(listStr)) {
|
if (!TextUtils.isEmpty(listStr)) {
|
||||||
attachmentList.addAll(Gson().fromJson(listStr, object : TypeToken<List<AttachmentBean>>() {}.type))
|
attachmentList.addAll(Gson().fromJson(listStr, object : TypeToken<List<AttachmentEntity>>() {}.type))
|
||||||
}
|
}
|
||||||
binding.rvAttachment.adapter = mAdapter
|
binding.rvAttachment.adapter = mAdapter
|
||||||
mAdapter.setList(attachmentList)
|
mAdapter.setList(attachmentList)
|
||||||
|
|
@ -89,7 +89,7 @@ class DownloadAttachmentDialog : DialogFragment() {
|
||||||
return dialog
|
return dialog
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun download(bean: AttachmentBean) {
|
private fun download(bean: AttachmentEntity) {
|
||||||
loadingDialog.show()
|
loadingDialog.show()
|
||||||
lifecycleScope.launch(Dispatchers.IO) {
|
lifecycleScope.launch(Dispatchers.IO) {
|
||||||
DownLoadUtils.getInstance()
|
DownLoadUtils.getInstance()
|
||||||
|
|
@ -118,7 +118,7 @@ class DownloadAttachmentDialog : DialogFragment() {
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun newInstance(list: List<AttachmentBean>): DownloadAttachmentDialog {
|
fun newInstance(list: List<AttachmentEntity>): DownloadAttachmentDialog {
|
||||||
val arg = Bundle()
|
val arg = Bundle()
|
||||||
arg.putString("list", Gson().toJson(list))
|
arg.putString("list", Gson().toJson(list))
|
||||||
val fragment = DownloadAttachmentDialog()
|
val fragment = DownloadAttachmentDialog()
|
||||||
|
|
@ -127,12 +127,12 @@ class DownloadAttachmentDialog : DialogFragment() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
inner class AttachmentAdapter : BaseQuickAdapter<AttachmentBean, BaseViewHolder>(R.layout.listitem_bid_attachment) {
|
inner class AttachmentAdapter : BaseQuickAdapter<AttachmentEntity, BaseViewHolder>(R.layout.listitem_bid_attachment) {
|
||||||
init {
|
init {
|
||||||
addChildClickViewIds(R.id.btn_download)
|
addChildClickViewIds(R.id.btn_download)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun convert(holder: BaseViewHolder, item: AttachmentBean) {
|
override fun convert(holder: BaseViewHolder, item: AttachmentEntity) {
|
||||||
SpanUtils.with(holder.getView(R.id.tv_name))
|
SpanUtils.with(holder.getView(R.id.tv_name))
|
||||||
.appendImage(R.mipmap.ic_pdf_attachment)
|
.appendImage(R.mipmap.ic_pdf_attachment)
|
||||||
.appendSpace(DensityUtils.dp2px(8f))
|
.appendSpace(DensityUtils.dp2px(8f))
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ import android.view.ViewGroup
|
||||||
import android.widget.PopupWindow
|
import android.widget.PopupWindow
|
||||||
import androidx.fragment.app.FragmentManager
|
import androidx.fragment.app.FragmentManager
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.SearchOptionBean
|
import com.cheng.bole.bean.SearchOptionEntity
|
||||||
import com.cheng.bole.databinding.PopAboutTipBinding
|
import com.cheng.bole.databinding.PopAboutTipBinding
|
||||||
import com.cheng.bole.databinding.PopupSearchOptionsBinding
|
import com.cheng.bole.databinding.PopupSearchOptionsBinding
|
||||||
import com.cheng.bole.ui.activity.PublicActivity
|
import com.cheng.bole.ui.activity.PublicActivity
|
||||||
|
|
@ -19,7 +19,6 @@ import com.cheng.bole.ui.fragment.mine.about.AppConfigFragment
|
||||||
import com.cheng.bole.ui.fragment.search.list.SearchOptionChildAdapter
|
import com.cheng.bole.ui.fragment.search.list.SearchOptionChildAdapter
|
||||||
import com.cheng.bole.ui.fragment.search.list.SearchOptionParentAdapter
|
import com.cheng.bole.ui.fragment.search.list.SearchOptionParentAdapter
|
||||||
import com.cheng.bole.utils.DateUtils
|
import com.cheng.bole.utils.DateUtils
|
||||||
import com.efs.sdk.memleaksdk.monitor.internal.bi
|
|
||||||
import com.example.base.decoration.DividerItemDecoration
|
import com.example.base.decoration.DividerItemDecoration
|
||||||
import com.example.base.extensions.getColor
|
import com.example.base.extensions.getColor
|
||||||
import com.example.base.extensions.getYYYYMMDD
|
import com.example.base.extensions.getYYYYMMDD
|
||||||
|
|
@ -56,7 +55,7 @@ object PopupDialog {
|
||||||
popWindow.showAsDropDown(v, 0, 0)
|
popWindow.showAsDropDown(v, 0, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun showSearchAreaOptions(context: Context, v: View, cityList: List<SearchOptionBean.OptionItem>, onDismiss: () -> Unit, callback: (List<SearchOptionBean.OptionItem>) -> Unit) {
|
fun showSearchAreaOptions(context: Context, v: View, cityList: List<SearchOptionEntity.OptionItem>, onDismiss: () -> Unit, callback: (List<SearchOptionEntity.OptionItem>) -> Unit) {
|
||||||
val view = LayoutInflater.from(context).inflate(R.layout.popup_search_options, null, false)
|
val view = LayoutInflater.from(context).inflate(R.layout.popup_search_options, null, false)
|
||||||
val binding = PopupSearchOptionsBinding.bind(view)
|
val binding = PopupSearchOptionsBinding.bind(view)
|
||||||
|
|
||||||
|
|
@ -66,7 +65,7 @@ object PopupDialog {
|
||||||
val childAdapter = SearchOptionChildAdapter(true)
|
val childAdapter = SearchOptionChildAdapter(true)
|
||||||
binding.rvChild.adapter = childAdapter
|
binding.rvChild.adapter = childAdapter
|
||||||
|
|
||||||
val optionList = SearchOptionBean.getAreaOptionList()
|
val optionList = SearchOptionEntity.getAreaOptionList()
|
||||||
if (cityList.isNotEmpty()) {
|
if (cityList.isNotEmpty()) {
|
||||||
optionList[0].isChecked = false
|
optionList[0].isChecked = false
|
||||||
optionList[0].items[0].isChecked = false
|
optionList[0].items[0].isChecked = false
|
||||||
|
|
@ -144,14 +143,14 @@ object PopupDialog {
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.btnReset.onClick {
|
binding.btnReset.onClick {
|
||||||
val optionList = SearchOptionBean.getAreaOptionList()
|
val optionList = SearchOptionEntity.getAreaOptionList()
|
||||||
optionList[0].isChecked = true
|
optionList[0].isChecked = true
|
||||||
parentAdapter.setList(optionList)
|
parentAdapter.setList(optionList)
|
||||||
childAdapter.setList(optionList[0].items)
|
childAdapter.setList(optionList[0].items)
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.btnNext.onClick {
|
binding.btnNext.onClick {
|
||||||
val list = mutableListOf<SearchOptionBean.OptionItem>()
|
val list = mutableListOf<SearchOptionEntity.OptionItem>()
|
||||||
parentAdapter.data.forEachIndexed { index, option ->
|
parentAdapter.data.forEachIndexed { index, option ->
|
||||||
if (index != 0) {
|
if (index != 0) {
|
||||||
list.addAll(option.items.filter { it.isChecked && it.id != 0 })
|
list.addAll(option.items.filter { it.isChecked && it.id != 0 })
|
||||||
|
|
@ -171,7 +170,7 @@ object PopupDialog {
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressLint("NotifyDataSetChanged")
|
@SuppressLint("NotifyDataSetChanged")
|
||||||
fun showSearchTimeOptions(context: Context, v: View, manager: FragmentManager, time: SearchOptionBean.OptionItem?, onDismiss: () -> Unit, callback: (SearchOptionBean.OptionItem) -> Unit) {
|
fun showSearchTimeOptions(context: Context, v: View, manager: FragmentManager, time: SearchOptionEntity.OptionItem?, onDismiss: () -> Unit, callback: (SearchOptionEntity.OptionItem) -> Unit) {
|
||||||
val view = LayoutInflater.from(context).inflate(R.layout.popup_search_options, null, false)
|
val view = LayoutInflater.from(context).inflate(R.layout.popup_search_options, null, false)
|
||||||
val binding = PopupSearchOptionsBinding.bind(view)
|
val binding = PopupSearchOptionsBinding.bind(view)
|
||||||
|
|
||||||
|
|
@ -185,7 +184,7 @@ object PopupDialog {
|
||||||
binding.rvChild.adapter = adapter
|
binding.rvChild.adapter = adapter
|
||||||
binding.rvChild.addItemDecoration(DividerItemDecoration(DensityUtils.dp2px(16f), DensityUtils.dp2px(16f), color = getColor(R.color.color_eeeeee)))
|
binding.rvChild.addItemDecoration(DividerItemDecoration(DensityUtils.dp2px(16f), DensityUtils.dp2px(16f), color = getColor(R.color.color_eeeeee)))
|
||||||
|
|
||||||
val optionList = SearchOptionBean.getTimeOptionList()[0]
|
val optionList = SearchOptionEntity.getTimeOptionList()[0]
|
||||||
if (time != null) {
|
if (time != null) {
|
||||||
if (time.id == -1) {
|
if (time.id == -1) {
|
||||||
optionList.items[0].isChecked = false
|
optionList.items[0].isChecked = false
|
||||||
|
|
@ -273,7 +272,7 @@ object PopupDialog {
|
||||||
binding.tvStartTime.text = ""
|
binding.tvStartTime.text = ""
|
||||||
binding.tvEndTime.text = ""
|
binding.tvEndTime.text = ""
|
||||||
|
|
||||||
adapter.setList(SearchOptionBean.getTimeOptionList()[0].items)
|
adapter.setList(SearchOptionEntity.getTimeOptionList()[0].items)
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.btnNext.onClick {
|
binding.btnNext.onClick {
|
||||||
|
|
@ -290,7 +289,7 @@ object PopupDialog {
|
||||||
toast("请选择结束时间")
|
toast("请选择结束时间")
|
||||||
return@onClick
|
return@onClick
|
||||||
}
|
}
|
||||||
option = SearchOptionBean.OptionItem(-1, startTime = "${startTime / 1000}", endTime = "${endTime / 1000}")
|
option = SearchOptionEntity.OptionItem(-1, startTime = "${startTime / 1000}", endTime = "${endTime / 1000}")
|
||||||
}
|
}
|
||||||
callback.invoke(option)
|
callback.invoke(option)
|
||||||
popWindow.dismiss()
|
popWindow.dismiss()
|
||||||
|
|
@ -301,7 +300,7 @@ object PopupDialog {
|
||||||
popWindow.showAsDropDown(v, 0, 0)
|
popWindow.showAsDropDown(v, 0, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun showSearchSortOptions(context: Context, v: View, sort: SearchOptionBean.OptionItem?, onDismiss: () -> Unit, callback: (SearchOptionBean.OptionItem) -> Unit) {
|
fun showSearchSortOptions(context: Context, v: View, sort: SearchOptionEntity.OptionItem?, onDismiss: () -> Unit, callback: (SearchOptionEntity.OptionItem) -> Unit) {
|
||||||
val view = LayoutInflater.from(context).inflate(R.layout.popup_search_options, null, false)
|
val view = LayoutInflater.from(context).inflate(R.layout.popup_search_options, null, false)
|
||||||
val binding = PopupSearchOptionsBinding.bind(view)
|
val binding = PopupSearchOptionsBinding.bind(view)
|
||||||
|
|
||||||
|
|
@ -311,7 +310,7 @@ object PopupDialog {
|
||||||
binding.rvChild.adapter = adapter
|
binding.rvChild.adapter = adapter
|
||||||
binding.rvChild.addItemDecoration(DividerItemDecoration(DensityUtils.dp2px(16f), DensityUtils.dp2px(16f), color = getColor(R.color.color_eeeeee)))
|
binding.rvChild.addItemDecoration(DividerItemDecoration(DensityUtils.dp2px(16f), DensityUtils.dp2px(16f), color = getColor(R.color.color_eeeeee)))
|
||||||
|
|
||||||
val optionList = SearchOptionBean.getSortOptionList()[0]
|
val optionList = SearchOptionEntity.getSortOptionList()[0]
|
||||||
if (sort != null) {
|
if (sort != null) {
|
||||||
optionList.items.forEach {
|
optionList.items.forEach {
|
||||||
it.isChecked = it.id == sort.id
|
it.isChecked = it.id == sort.id
|
||||||
|
|
@ -333,7 +332,7 @@ object PopupDialog {
|
||||||
adapter.notifyDataSetChanged()
|
adapter.notifyDataSetChanged()
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.btnReset.onClick { adapter.setList(SearchOptionBean.getSortOptionList()[0].items) }
|
binding.btnReset.onClick { adapter.setList(SearchOptionEntity.getSortOptionList()[0].items) }
|
||||||
|
|
||||||
binding.btnNext.onClick {
|
binding.btnNext.onClick {
|
||||||
val option = adapter.data.find { it.isChecked }
|
val option = adapter.data.find { it.isChecked }
|
||||||
|
|
@ -348,7 +347,7 @@ object PopupDialog {
|
||||||
popWindow.showAsDropDown(v, 0, 0)
|
popWindow.showAsDropDown(v, 0, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun showSearchTypeOptions(context: Context, v: View, typeList: List<SearchOptionBean.OptionItem>, onDismiss: () -> Unit, callback: (List<SearchOptionBean.OptionItem>) -> Unit) {
|
fun showSearchTypeOptions(context: Context, v: View, typeList: List<SearchOptionEntity.OptionItem>, onDismiss: () -> Unit, callback: (List<SearchOptionEntity.OptionItem>) -> Unit) {
|
||||||
val view = LayoutInflater.from(context).inflate(R.layout.popup_search_options, null, false)
|
val view = LayoutInflater.from(context).inflate(R.layout.popup_search_options, null, false)
|
||||||
val binding = PopupSearchOptionsBinding.bind(view)
|
val binding = PopupSearchOptionsBinding.bind(view)
|
||||||
|
|
||||||
|
|
@ -358,7 +357,7 @@ object PopupDialog {
|
||||||
binding.rvChild.adapter = adapter
|
binding.rvChild.adapter = adapter
|
||||||
binding.rvChild.addItemDecoration(DividerItemDecoration(DensityUtils.dp2px(16f), DensityUtils.dp2px(16f), color = getColor(R.color.color_eeeeee)))
|
binding.rvChild.addItemDecoration(DividerItemDecoration(DensityUtils.dp2px(16f), DensityUtils.dp2px(16f), color = getColor(R.color.color_eeeeee)))
|
||||||
|
|
||||||
val optionList = SearchOptionBean.getTypeOptionList()[0]
|
val optionList = SearchOptionEntity.getTypeOptionList()[0]
|
||||||
if (typeList.isNotEmpty()) {
|
if (typeList.isNotEmpty()) {
|
||||||
optionList.items.forEach { item ->
|
optionList.items.forEach { item ->
|
||||||
if (typeList.find { it.id == item.id } != null) {
|
if (typeList.find { it.id == item.id } != null) {
|
||||||
|
|
@ -381,7 +380,7 @@ object PopupDialog {
|
||||||
adapter.notifyDataSetChanged()
|
adapter.notifyDataSetChanged()
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.btnReset.onClick { adapter.setList(SearchOptionBean.getTypeOptionList()[0].items) }
|
binding.btnReset.onClick { adapter.setList(SearchOptionEntity.getTypeOptionList()[0].items) }
|
||||||
|
|
||||||
binding.btnNext.onClick {
|
binding.btnNext.onClick {
|
||||||
val list = adapter.data.filter { it.isChecked }
|
val list = adapter.data.filter { it.isChecked }
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ import androidx.fragment.app.DialogFragment
|
||||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||||
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.AreaBean
|
import com.cheng.bole.bean.AreaEntity
|
||||||
import com.cheng.bole.databinding.DialogSelectAreaBinding
|
import com.cheng.bole.databinding.DialogSelectAreaBinding
|
||||||
import com.cheng.bole.manager.UserConfigManager
|
import com.cheng.bole.manager.UserConfigManager
|
||||||
import com.example.base.extensions.getColor
|
import com.example.base.extensions.getColor
|
||||||
|
|
@ -29,7 +29,7 @@ class SelectAreaDialog : DialogFragment() {
|
||||||
private val isSingle by lazy { arguments?.getBoolean("isSingle") ?: false }
|
private val isSingle by lazy { arguments?.getBoolean("isSingle") ?: false }
|
||||||
private val showAll by lazy { arguments?.getBoolean("showAll") ?: false }
|
private val showAll by lazy { arguments?.getBoolean("showAll") ?: false }
|
||||||
|
|
||||||
private var mOnBackListener: ((List<AreaBean>) -> Unit)? = null //回调事件
|
private var mOnBackListener: ((List<AreaEntity>) -> Unit)? = null //回调事件
|
||||||
|
|
||||||
private lateinit var binding: DialogSelectAreaBinding
|
private lateinit var binding: DialogSelectAreaBinding
|
||||||
|
|
||||||
|
|
@ -57,8 +57,8 @@ class SelectAreaDialog : DialogFragment() {
|
||||||
|
|
||||||
val listStr = arguments?.getString("list")
|
val listStr = arguments?.getString("list")
|
||||||
val defaultCityList = if (!TextUtils.isEmpty(listStr)) {
|
val defaultCityList = if (!TextUtils.isEmpty(listStr)) {
|
||||||
Gson().fromJson(listStr, object : TypeToken<List<AreaBean>>() {}.type)
|
Gson().fromJson(listStr, object : TypeToken<List<AreaEntity>>() {}.type)
|
||||||
} else emptyList<AreaBean>()
|
} else emptyList<AreaEntity>()
|
||||||
|
|
||||||
val areaAdapter = AreaAdapter()
|
val areaAdapter = AreaAdapter()
|
||||||
binding.rvParent.adapter = areaAdapter
|
binding.rvParent.adapter = areaAdapter
|
||||||
|
|
@ -68,8 +68,8 @@ class SelectAreaDialog : DialogFragment() {
|
||||||
|
|
||||||
val areaList = UserConfigManager.getAreaList()
|
val areaList = UserConfigManager.getAreaList()
|
||||||
if (!isSingle) {
|
if (!isSingle) {
|
||||||
areaList.add(0, AreaBean(0, name = "全国地区"))
|
areaList.add(0, AreaEntity(0, name = "全国地区"))
|
||||||
areaList.forEach { it.children.add(0, AreaBean(0, name = "全部")) }
|
areaList.forEach { it.children.add(0, AreaEntity(0, name = "全部")) }
|
||||||
if (defaultCityList.size == UserConfigManager.getCityList().size) {
|
if (defaultCityList.size == UserConfigManager.getCityList().size) {
|
||||||
areaList[0].isChecked = true
|
areaList[0].isChecked = true
|
||||||
areaList[0].children[0].isChecked = true
|
areaList[0].children[0].isChecked = true
|
||||||
|
|
@ -91,7 +91,7 @@ class SelectAreaDialog : DialogFragment() {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (showAll) {
|
if (showAll) {
|
||||||
areaList.add(0, AreaBean(0, name = "全国地区", children = mutableListOf(AreaBean(0, name = "全国"))))
|
areaList.add(0, AreaEntity(0, name = "全国地区", children = mutableListOf(AreaEntity(0, name = "全国"))))
|
||||||
if (defaultCityList.isEmpty()) {
|
if (defaultCityList.isEmpty()) {
|
||||||
areaList[0].isChecked = true
|
areaList[0].isChecked = true
|
||||||
areaList[0].children[0].isChecked = true
|
areaList[0].children[0].isChecked = true
|
||||||
|
|
@ -166,7 +166,7 @@ class SelectAreaDialog : DialogFragment() {
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.btnNext.onClick {
|
binding.btnNext.onClick {
|
||||||
val selectedCityList = mutableListOf<AreaBean>()
|
val selectedCityList = mutableListOf<AreaEntity>()
|
||||||
if (areaAdapter.data[0].children[0].id == 0 && areaAdapter.data[0].children[0].isChecked) {
|
if (areaAdapter.data[0].children[0].id == 0 && areaAdapter.data[0].children[0].isChecked) {
|
||||||
areaAdapter.data.forEach {
|
areaAdapter.data.forEach {
|
||||||
selectedCityList.addAll(it.children.filter { item -> item.id != 0 })
|
selectedCityList.addAll(it.children.filter { item -> item.id != 0 })
|
||||||
|
|
@ -191,12 +191,12 @@ class SelectAreaDialog : DialogFragment() {
|
||||||
return dialog
|
return dialog
|
||||||
}
|
}
|
||||||
|
|
||||||
fun setOnSelectListener(listener: ((List<AreaBean>) -> Unit)) {
|
fun setOnSelectListener(listener: ((List<AreaEntity>) -> Unit)) {
|
||||||
mOnBackListener = listener
|
mOnBackListener = listener
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun newInstance(list: List<AreaBean> = emptyList(), isSingle: Boolean = false, showAll: Boolean = false): SelectAreaDialog {
|
fun newInstance(list: List<AreaEntity> = emptyList(), isSingle: Boolean = false, showAll: Boolean = false): SelectAreaDialog {
|
||||||
val arg = Bundle()
|
val arg = Bundle()
|
||||||
arg.putString("list", Gson().toJson(list))
|
arg.putString("list", Gson().toJson(list))
|
||||||
arg.putBoolean("isSingle", isSingle)
|
arg.putBoolean("isSingle", isSingle)
|
||||||
|
|
@ -207,9 +207,9 @@ class SelectAreaDialog : DialogFragment() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class AreaAdapter() : BaseQuickAdapter<AreaBean, BaseViewHolder>(R.layout.listitem_search_option_parent) {
|
class AreaAdapter() : BaseQuickAdapter<AreaEntity, BaseViewHolder>(R.layout.listitem_search_option_parent) {
|
||||||
@SuppressLint("NotifyDataSetChanged")
|
@SuppressLint("NotifyDataSetChanged")
|
||||||
override fun convert(holder: BaseViewHolder, item: AreaBean) {
|
override fun convert(holder: BaseViewHolder, item: AreaEntity) {
|
||||||
holder.setText(R.id.tv_name, item.name)
|
holder.setText(R.id.tv_name, item.name)
|
||||||
holder.setVisible(R.id.view_tag, item.isChecked)
|
holder.setVisible(R.id.view_tag, item.isChecked)
|
||||||
holder.itemView.setBackgroundColor(if (item.isChecked) Color.WHITE else Color.TRANSPARENT)
|
holder.itemView.setBackgroundColor(if (item.isChecked) Color.WHITE else Color.TRANSPARENT)
|
||||||
|
|
@ -260,8 +260,8 @@ class SelectAreaDialog : DialogFragment() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class CityAdapter : BaseQuickAdapter<AreaBean, BaseViewHolder>(R.layout.listitem_search_option_child) {
|
class CityAdapter : BaseQuickAdapter<AreaEntity, BaseViewHolder>(R.layout.listitem_search_option_child) {
|
||||||
override fun convert(holder: BaseViewHolder, item: AreaBean) {
|
override fun convert(holder: BaseViewHolder, item: AreaEntity) {
|
||||||
holder.setText(R.id.tv_name, item.name)
|
holder.setText(R.id.tv_name, item.name)
|
||||||
holder.setTextColor(R.id.tv_name, if (item.isChecked) getColor(R.color.color_125ffe) else getColor(R.color.color_1a1a1a))
|
holder.setTextColor(R.id.tv_name, if (item.isChecked) getColor(R.color.color_125ffe) else getColor(R.color.color_1a1a1a))
|
||||||
holder.setVisible(R.id.iv_check, item.isChecked)
|
holder.setVisible(R.id.iv_check, item.isChecked)
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ import androidx.fragment.app.DialogFragment
|
||||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||||
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.BidTypeBean
|
import com.cheng.bole.bean.BidTypeEntity
|
||||||
import com.cheng.bole.databinding.DialogSelectBidTypeBinding
|
import com.cheng.bole.databinding.DialogSelectBidTypeBinding
|
||||||
import com.cheng.bole.manager.UserConfigManager
|
import com.cheng.bole.manager.UserConfigManager
|
||||||
import com.example.base.extensions.getColor
|
import com.example.base.extensions.getColor
|
||||||
|
|
@ -27,9 +27,9 @@ import com.example.base.utils.ScreenUtils
|
||||||
class SelectBidTypeDialog : DialogFragment() {
|
class SelectBidTypeDialog : DialogFragment() {
|
||||||
private val mAdapter by lazy { BidTypeAdapter() }
|
private val mAdapter by lazy { BidTypeAdapter() }
|
||||||
|
|
||||||
private var bidType: BidTypeBean? = null
|
private var bidType: BidTypeEntity? = null
|
||||||
|
|
||||||
private var mOnBackListener: ((BidTypeBean) -> Unit)? = null //回调事件
|
private var mOnBackListener: ((BidTypeEntity) -> Unit)? = null //回调事件
|
||||||
|
|
||||||
private lateinit var binding: DialogSelectBidTypeBinding
|
private lateinit var binding: DialogSelectBidTypeBinding
|
||||||
|
|
||||||
|
|
@ -56,9 +56,9 @@ class SelectBidTypeDialog : DialogFragment() {
|
||||||
binding = DialogSelectBidTypeBinding.bind(view)
|
binding = DialogSelectBidTypeBinding.bind(view)
|
||||||
|
|
||||||
bidType = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
bidType = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||||
arguments?.getSerializable("type", BidTypeBean::class.java)
|
arguments?.getSerializable("type", BidTypeEntity::class.java)
|
||||||
} else {
|
} else {
|
||||||
arguments?.getSerializable("type") as? BidTypeBean
|
arguments?.getSerializable("type") as? BidTypeEntity
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.mRecyclerView.adapter = mAdapter
|
binding.mRecyclerView.adapter = mAdapter
|
||||||
|
|
@ -92,12 +92,12 @@ class SelectBidTypeDialog : DialogFragment() {
|
||||||
return dialog
|
return dialog
|
||||||
}
|
}
|
||||||
|
|
||||||
fun setOnSelectListener(listener: ((BidTypeBean) -> Unit)) {
|
fun setOnSelectListener(listener: ((BidTypeEntity) -> Unit)) {
|
||||||
mOnBackListener = listener
|
mOnBackListener = listener
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun newInstance(type: BidTypeBean?): SelectBidTypeDialog {
|
fun newInstance(type: BidTypeEntity?): SelectBidTypeDialog {
|
||||||
val arg = Bundle()
|
val arg = Bundle()
|
||||||
arg.putSerializable("type", type)
|
arg.putSerializable("type", type)
|
||||||
val fragment = SelectBidTypeDialog()
|
val fragment = SelectBidTypeDialog()
|
||||||
|
|
@ -106,8 +106,8 @@ class SelectBidTypeDialog : DialogFragment() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class BidTypeAdapter : BaseQuickAdapter<BidTypeBean, BaseViewHolder>(R.layout.listitem_bid_type) {
|
class BidTypeAdapter : BaseQuickAdapter<BidTypeEntity, BaseViewHolder>(R.layout.listitem_bid_type) {
|
||||||
override fun convert(holder: BaseViewHolder, item: BidTypeBean) {
|
override fun convert(holder: BaseViewHolder, item: BidTypeEntity) {
|
||||||
holder.setText(R.id.tv_name, item.name)
|
holder.setText(R.id.tv_name, item.name)
|
||||||
holder.setTextColor(R.id.tv_name, if (item.isChecked) getColor(R.color.color_125ffe) else getColor(R.color.color_1a1a1a))
|
holder.setTextColor(R.id.tv_name, if (item.isChecked) getColor(R.color.color_125ffe) else getColor(R.color.color_1a1a1a))
|
||||||
holder.getView<TextView>(R.id.tv_name).typeface = if (item.isChecked) Typeface.DEFAULT_BOLD else Typeface.DEFAULT
|
holder.getView<TextView>(R.id.tv_name).typeface = if (item.isChecked) Typeface.DEFAULT_BOLD else Typeface.DEFAULT
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ import androidx.fragment.app.DialogFragment
|
||||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||||
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.ContactsInfoBean
|
import com.cheng.bole.bean.ContactsEntity
|
||||||
import com.cheng.bole.databinding.DialogSelectContactsBinding
|
import com.cheng.bole.databinding.DialogSelectContactsBinding
|
||||||
import com.cheng.bole.event.ContactsEvent
|
import com.cheng.bole.event.ContactsEvent
|
||||||
import com.cheng.bole.manager.ContactsManager
|
import com.cheng.bole.manager.ContactsManager
|
||||||
|
|
@ -37,7 +37,7 @@ class SelectContactsDialog : DialogFragment() {
|
||||||
|
|
||||||
private var contactsEvent: Disposable? = null
|
private var contactsEvent: Disposable? = null
|
||||||
|
|
||||||
private var mOnBackListener: ((List<ContactsInfoBean>) -> Unit)? = null //回调事件
|
private var mOnBackListener: ((List<ContactsEntity>) -> Unit)? = null //回调事件
|
||||||
|
|
||||||
private lateinit var binding: DialogSelectContactsBinding
|
private lateinit var binding: DialogSelectContactsBinding
|
||||||
|
|
||||||
|
|
@ -111,7 +111,7 @@ class SelectContactsDialog : DialogFragment() {
|
||||||
val selectList = if (init) {
|
val selectList = if (init) {
|
||||||
val listStr = arguments?.getString("list") ?: ""
|
val listStr = arguments?.getString("list") ?: ""
|
||||||
if (!TextUtils.isEmpty(listStr)) {
|
if (!TextUtils.isEmpty(listStr)) {
|
||||||
Gson().fromJson(listStr, object : TypeToken<MutableList<ContactsInfoBean>>() {}.type)
|
Gson().fromJson(listStr, object : TypeToken<MutableList<ContactsEntity>>() {}.type)
|
||||||
} else mutableListOf()
|
} else mutableListOf()
|
||||||
} else {
|
} else {
|
||||||
mAdapter.data.filter { it.isChecked }
|
mAdapter.data.filter { it.isChecked }
|
||||||
|
|
@ -137,12 +137,12 @@ class SelectContactsDialog : DialogFragment() {
|
||||||
super.onDestroyView()
|
super.onDestroyView()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun setOnSelectListener(listener: ((List<ContactsInfoBean>) -> Unit)) {
|
fun setOnSelectListener(listener: ((List<ContactsEntity>) -> Unit)) {
|
||||||
mOnBackListener = listener
|
mOnBackListener = listener
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun newInstance(list: List<ContactsInfoBean>): SelectContactsDialog {
|
fun newInstance(list: List<ContactsEntity>): SelectContactsDialog {
|
||||||
val arg = Bundle()
|
val arg = Bundle()
|
||||||
arg.putString("list", Gson().toJson(list))
|
arg.putString("list", Gson().toJson(list))
|
||||||
val fragment = SelectContactsDialog()
|
val fragment = SelectContactsDialog()
|
||||||
|
|
@ -151,13 +151,13 @@ class SelectContactsDialog : DialogFragment() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class ContactsAdapter : BaseQuickAdapter<ContactsInfoBean, BaseViewHolder>(R.layout.listitem_contacts) {
|
class ContactsAdapter : BaseQuickAdapter<ContactsEntity, BaseViewHolder>(R.layout.listitem_contacts) {
|
||||||
|
|
||||||
init {
|
init {
|
||||||
addChildClickViewIds(R.id.iv_edit)
|
addChildClickViewIds(R.id.iv_edit)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun convert(holder: BaseViewHolder, item: ContactsInfoBean) {
|
override fun convert(holder: BaseViewHolder, item: ContactsEntity) {
|
||||||
holder.setText(R.id.tv_phone, item.phone)
|
holder.setText(R.id.tv_phone, item.phone)
|
||||||
holder.setText(R.id.tv_name, "${item.name} | ${item.job}")
|
holder.setText(R.id.tv_name, "${item.name} | ${item.job}")
|
||||||
holder.setImageResource(R.id.iv_check, if (item.isChecked) R.mipmap.ic_rb_checked else R.mipmap.ic_rb_default)
|
holder.setImageResource(R.id.iv_check, if (item.isChecked) R.mipmap.ic_rb_checked else R.mipmap.ic_rb_default)
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ import androidx.fragment.app.DialogFragment
|
||||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||||
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.BidTypeBean
|
import com.cheng.bole.bean.BidTypeEntity
|
||||||
import com.cheng.bole.databinding.DialogSelectGoodsTypeBinding
|
import com.cheng.bole.databinding.DialogSelectGoodsTypeBinding
|
||||||
import com.example.base.extensions.getColor
|
import com.example.base.extensions.getColor
|
||||||
import com.example.base.extensions.onClick
|
import com.example.base.extensions.onClick
|
||||||
|
|
@ -25,18 +25,18 @@ import com.example.base.utils.ScreenUtils
|
||||||
class SelectGoodsTypeDialog : DialogFragment() {
|
class SelectGoodsTypeDialog : DialogFragment() {
|
||||||
private val typeList by lazy {
|
private val typeList by lazy {
|
||||||
listOf(
|
listOf(
|
||||||
BidTypeBean("1", "提供服务"),
|
BidTypeEntity("1", "提供服务"),
|
||||||
BidTypeBean("2", "提供产品"),
|
BidTypeEntity("2", "提供产品"),
|
||||||
BidTypeBean("3", "其他")
|
BidTypeEntity("3", "其他")
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private val type by lazy { arguments?.getString("type") ?: "" }
|
private val type by lazy { arguments?.getString("type") ?: "" }
|
||||||
private val mAdapter by lazy { GoodsTypeAdapter() }
|
private val mAdapter by lazy { GoodsTypeAdapter() }
|
||||||
|
|
||||||
private var bidType: BidTypeBean? = null
|
private var bidType: BidTypeEntity? = null
|
||||||
|
|
||||||
private var mOnBackListener: ((BidTypeBean) -> Unit)? = null //回调事件
|
private var mOnBackListener: ((BidTypeEntity) -> Unit)? = null //回调事件
|
||||||
|
|
||||||
private lateinit var binding: DialogSelectGoodsTypeBinding
|
private lateinit var binding: DialogSelectGoodsTypeBinding
|
||||||
|
|
||||||
|
|
@ -90,7 +90,7 @@ class SelectGoodsTypeDialog : DialogFragment() {
|
||||||
return dialog
|
return dialog
|
||||||
}
|
}
|
||||||
|
|
||||||
fun setOnSelectListener(listener: ((BidTypeBean) -> Unit)) {
|
fun setOnSelectListener(listener: ((BidTypeEntity) -> Unit)) {
|
||||||
mOnBackListener = listener
|
mOnBackListener = listener
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -104,8 +104,8 @@ class SelectGoodsTypeDialog : DialogFragment() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class GoodsTypeAdapter : BaseQuickAdapter<BidTypeBean, BaseViewHolder>(R.layout.listitem_bid_type) {
|
class GoodsTypeAdapter : BaseQuickAdapter<BidTypeEntity, BaseViewHolder>(R.layout.listitem_bid_type) {
|
||||||
override fun convert(holder: BaseViewHolder, item: BidTypeBean) {
|
override fun convert(holder: BaseViewHolder, item: BidTypeEntity) {
|
||||||
holder.setText(R.id.tv_name, item.name)
|
holder.setText(R.id.tv_name, item.name)
|
||||||
holder.setTextColor(R.id.tv_name, if (item.isChecked) getColor(R.color.color_125ffe) else getColor(R.color.color_1a1a1a))
|
holder.setTextColor(R.id.tv_name, if (item.isChecked) getColor(R.color.color_125ffe) else getColor(R.color.color_1a1a1a))
|
||||||
holder.getView<TextView>(R.id.tv_name).typeface = if (item.isChecked) Typeface.DEFAULT_BOLD else Typeface.DEFAULT
|
holder.getView<TextView>(R.id.tv_name).typeface = if (item.isChecked) Typeface.DEFAULT_BOLD else Typeface.DEFAULT
|
||||||
|
|
|
||||||
|
|
@ -4,15 +4,15 @@ import android.text.Html
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.BidItemBean
|
import com.cheng.bole.bean.BidItemEntity
|
||||||
import com.cheng.bole.utils.BidTypeUtils
|
import com.cheng.bole.utils.BidTypeUtils
|
||||||
import com.cheng.bole.widget.CommonShapeView
|
import com.cheng.bole.widget.CommonShapeView
|
||||||
import com.example.base.ui.list.LoadMoreAdapter
|
import com.example.base.ui.list.LoadMoreAdapter
|
||||||
import java.text.DecimalFormat
|
import java.text.DecimalFormat
|
||||||
|
|
||||||
class BidAdapter(private val showTipsTime: Boolean = false) : LoadMoreAdapter<BidItemBean>(R.layout.listitem_bid) {
|
class BidAdapter(private val showTipsTime: Boolean = false) : LoadMoreAdapter<BidItemEntity>(R.layout.listitem_bid) {
|
||||||
|
|
||||||
override fun convert(holder: BaseViewHolder, item: BidItemBean) {
|
override fun convert(holder: BaseViewHolder, item: BidItemEntity) {
|
||||||
val tvTag = holder.getView<CommonShapeView>(R.id.tv_tag)
|
val tvTag = holder.getView<CommonShapeView>(R.id.tv_tag)
|
||||||
tvTag.setBgColor(BidTypeUtils.getTypeColor(item.typeName))
|
tvTag.setBgColor(BidTypeUtils.getTypeColor(item.typeName))
|
||||||
tvTag.text = BidTypeUtils.getShortName(item.typeName)
|
tvTag.text = BidTypeUtils.getShortName(item.typeName)
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import android.webkit.WebResourceRequest
|
||||||
import android.webkit.WebView
|
import android.webkit.WebView
|
||||||
import android.webkit.WebViewClient
|
import android.webkit.WebViewClient
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.BidDetailBean
|
import com.cheng.bole.bean.BidDetailEntity
|
||||||
import com.cheng.bole.bean.UploadFileEntity
|
import com.cheng.bole.bean.UploadFileEntity
|
||||||
import com.cheng.bole.bean.WxShareEntity
|
import com.cheng.bole.bean.WxShareEntity
|
||||||
import com.cheng.bole.common.Constants
|
import com.cheng.bole.common.Constants
|
||||||
|
|
@ -43,7 +43,7 @@ class BidDetailFragment: BaseFragment<FragmentBidDetailBinding, BidDetailViewMod
|
||||||
private val contactsAdapter by lazy { ContactsAdapter() }
|
private val contactsAdapter by lazy { ContactsAdapter() }
|
||||||
private val imageAdapter by lazy { BidImageAdapter() }
|
private val imageAdapter by lazy { BidImageAdapter() }
|
||||||
|
|
||||||
private var detail: BidDetailBean? = null
|
private var detail: BidDetailEntity? = null
|
||||||
|
|
||||||
private var isFavorite: Boolean = false
|
private var isFavorite: Boolean = false
|
||||||
|
|
||||||
|
|
@ -156,6 +156,7 @@ class BidDetailFragment: BaseFragment<FragmentBidDetailBinding, BidDetailViewMod
|
||||||
binding.tvTag.text = BidTypeUtils.getShortName(detail!!.type_name)
|
binding.tvTag.text = BidTypeUtils.getShortName(detail!!.type_name)
|
||||||
binding.tvTag.setBgColor(BidTypeUtils.getTypeColor(detail!!.type_name))
|
binding.tvTag.setBgColor(BidTypeUtils.getTypeColor(detail!!.type_name))
|
||||||
binding.tvAmount.text = detail!!.project_amount
|
binding.tvAmount.text = detail!!.project_amount
|
||||||
|
binding.tvLocation.text = detail!!.city_name
|
||||||
binding.tvTime.text = detail!!.tips_time
|
binding.tvTime.text = detail!!.tips_time
|
||||||
contactsAdapter.setList(detail!!.contact)
|
contactsAdapter.setList(detail!!.contact)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.cheng.bole.ui.fragment.bid.detail
|
package com.cheng.bole.ui.fragment.bid.detail
|
||||||
|
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import com.cheng.bole.bean.BidDetailBean
|
import com.cheng.bole.bean.BidDetailEntity
|
||||||
import com.cheng.bole.net.ApiFactory
|
import com.cheng.bole.net.ApiFactory
|
||||||
import com.example.base.extensions.toast
|
import com.example.base.extensions.toast
|
||||||
import com.example.base.utils.L
|
import com.example.base.utils.L
|
||||||
|
|
@ -10,7 +10,7 @@ import com.google.gson.JsonObject
|
||||||
import okhttp3.RequestBody.Companion.toRequestBody
|
import okhttp3.RequestBody.Companion.toRequestBody
|
||||||
|
|
||||||
class BidDetailViewModel: BaseViewModel() {
|
class BidDetailViewModel: BaseViewModel() {
|
||||||
val detailLiveData = MutableLiveData<BidDetailBean>()
|
val detailLiveData = MutableLiveData<BidDetailEntity>()
|
||||||
val favoriteLiveData = MutableLiveData<Any>()
|
val favoriteLiveData = MutableLiveData<Any>()
|
||||||
val cancelLiveData = MutableLiveData<Any>()
|
val cancelLiveData = MutableLiveData<Any>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,14 +3,14 @@ package com.cheng.bole.ui.fragment.bid.detail
|
||||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||||
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.ContactsInfoBean
|
import com.cheng.bole.bean.ContactsEntity
|
||||||
|
|
||||||
class ContactsAdapter: BaseQuickAdapter<ContactsInfoBean, BaseViewHolder>(R.layout.listitem_bid_detail_contact) {
|
class ContactsAdapter: BaseQuickAdapter<ContactsEntity, BaseViewHolder>(R.layout.listitem_bid_detail_contact) {
|
||||||
init {
|
init {
|
||||||
addChildClickViewIds(R.id.iv_call)
|
addChildClickViewIds(R.id.iv_call)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun convert(holder: BaseViewHolder, item: ContactsInfoBean) {
|
override fun convert(holder: BaseViewHolder, item: ContactsEntity) {
|
||||||
holder.setText(R.id.tv_name, item.name)
|
holder.setText(R.id.tv_name, item.name)
|
||||||
holder.setText(R.id.tv_phone, item.phone)
|
holder.setText(R.id.tv_phone, item.phone)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.cheng.bole.ui.fragment.bid.publish
|
||||||
|
|
||||||
|
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||||
|
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
||||||
|
import com.cheng.bole.R
|
||||||
|
import com.cheng.bole.bean.ContactsEntity
|
||||||
|
|
||||||
|
class AddBidContactsAdapter: BaseQuickAdapter<ContactsEntity, BaseViewHolder>(R.layout.listitem_publish_bid_contacts) {
|
||||||
|
|
||||||
|
override fun convert(holder: BaseViewHolder, item: ContactsEntity) {
|
||||||
|
holder.setText(R.id.tv_phone, item.phone)
|
||||||
|
holder.setText(R.id.tv_name, "${item.name} | ${item.job}")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,17 +1,17 @@
|
||||||
package com.cheng.bole.ui.fragment.bid.publish.bid
|
package com.cheng.bole.ui.fragment.bid.publish
|
||||||
|
|
||||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||||
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.AttachmentBean
|
import com.cheng.bole.bean.AttachmentEntity
|
||||||
|
|
||||||
class AddBidFileAdapter : BaseQuickAdapter<AttachmentBean, BaseViewHolder>(R.layout.listitem_publish_bid_file) {
|
class AddBidFileAdapter : BaseQuickAdapter<AttachmentEntity, BaseViewHolder>(R.layout.listitem_publish_bid_file) {
|
||||||
|
|
||||||
init {
|
init {
|
||||||
addChildClickViewIds(R.id.iv_delete)
|
addChildClickViewIds(R.id.iv_delete)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun convert(holder: BaseViewHolder, item: AttachmentBean) {
|
override fun convert(holder: BaseViewHolder, item: AttachmentEntity) {
|
||||||
holder.setText(R.id.tv_name, item.title)
|
holder.setText(R.id.tv_name, item.title)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.cheng.bole.ui.fragment.bid.publish.bid
|
package com.cheng.bole.ui.fragment.bid.publish
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
package com.cheng.bole.ui.fragment.bid.publish.bid
|
|
||||||
|
|
||||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
|
||||||
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
|
||||||
import com.cheng.bole.R
|
|
||||||
import com.cheng.bole.bean.ContactsInfoBean
|
|
||||||
|
|
||||||
class AddBidContactsAdapter: BaseQuickAdapter<ContactsInfoBean, BaseViewHolder>(R.layout.listitem_publish_bid_contacts) {
|
|
||||||
|
|
||||||
override fun convert(holder: BaseViewHolder, item: ContactsInfoBean) {
|
|
||||||
holder.setText(R.id.tv_phone, item.phone)
|
|
||||||
holder.setText(R.id.tv_name, "${item.name} | ${item.job}")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -0,0 +1,68 @@
|
||||||
|
package com.cheng.bole.ui.fragment.bid.publish.bid
|
||||||
|
|
||||||
|
import android.text.TextUtils
|
||||||
|
import android.widget.TextView
|
||||||
|
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
||||||
|
import com.cheng.bole.R
|
||||||
|
import com.cheng.bole.bean.BidDetailEntity
|
||||||
|
import com.cheng.bole.utils.BidTypeUtils
|
||||||
|
import com.cheng.bole.utils.StringUtils
|
||||||
|
import com.cheng.bole.widget.CommonShapeView
|
||||||
|
import com.example.base.extensions.getColor
|
||||||
|
import com.example.base.ui.list.LoadMoreAdapter
|
||||||
|
|
||||||
|
class MyBidAdapter : LoadMoreAdapter<BidDetailEntity>(R.layout.listitem_my_bid) {
|
||||||
|
|
||||||
|
init {
|
||||||
|
addChildClickViewIds(R.id.btn_delete, R.id.btn_edit, R.id.btn_view)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun convert(holder: BaseViewHolder, item: BidDetailEntity) {
|
||||||
|
val tvTag = holder.getView<CommonShapeView>(R.id.tv_tag)
|
||||||
|
tvTag.setBgColor(BidTypeUtils.getTypeColor(item.type_name))
|
||||||
|
tvTag.text = BidTypeUtils.getShortName(item.type_name)
|
||||||
|
|
||||||
|
holder.setText(R.id.tv_title, item.origin_title)
|
||||||
|
holder.setText(R.id.tv_location, if (TextUtils.isEmpty(item.city_name)) "全国" else item.city_name)
|
||||||
|
holder.setText(R.id.tv_amount, StringUtils.formatAmount(item.project_amount))
|
||||||
|
holder.setText(R.id.tv_time, item.tips_time)
|
||||||
|
|
||||||
|
holder.setGone(R.id.tv_refuse_reason, true)
|
||||||
|
holder.setGone(R.id.btn_delete, true)
|
||||||
|
holder.setGone(R.id.btn_edit, true)
|
||||||
|
when (item.status) {
|
||||||
|
"1" -> {
|
||||||
|
holder.setText(R.id.tv_status, "待审核")
|
||||||
|
holder.setTextColor(R.id.tv_status, getColor(R.color.color_ff9234))
|
||||||
|
holder.setBackgroundResource(R.id.tv_status, R.drawable.shape_publish_status_bg1)
|
||||||
|
holder.getView<TextView>(R.id.tv_status).setCompoundDrawablesWithIntrinsicBounds(R.mipmap.ic_publish_status1, 0, 0, 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
"2" -> {
|
||||||
|
holder.setText(R.id.tv_status, "已发布")
|
||||||
|
holder.setTextColor(R.id.tv_status, getColor(R.color.color_e3fae7))
|
||||||
|
holder.setBackgroundResource(R.id.tv_status, R.drawable.shape_publish_status_bg2)
|
||||||
|
holder.getView<TextView>(R.id.tv_status).setCompoundDrawablesWithIntrinsicBounds(R.mipmap.ic_publish_status2, 0, 0, 0)
|
||||||
|
|
||||||
|
holder.setGone(R.id.btn_delete, true)
|
||||||
|
}
|
||||||
|
|
||||||
|
"3" -> {
|
||||||
|
holder.setText(R.id.tv_status, "已驳回")
|
||||||
|
holder.setTextColor(R.id.tv_status, getColor(R.color.color_ffede7))
|
||||||
|
holder.setBackgroundResource(R.id.tv_status, R.drawable.shape_publish_status_bg3)
|
||||||
|
holder.getView<TextView>(R.id.tv_status).setCompoundDrawablesWithIntrinsicBounds(R.mipmap.ic_publish_status3, 0, 0, 0)
|
||||||
|
|
||||||
|
holder.setText(R.id.tv_refuse_reason, "理由:${item.review_remark}")
|
||||||
|
holder.setVisible(R.id.tv_refuse_reason, true)
|
||||||
|
|
||||||
|
holder.setGone(R.id.btn_delete, true)
|
||||||
|
holder.setGone(R.id.btn_edit, true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
holder.setGone(R.id.tv_location, TextUtils.isEmpty(item.city_name))
|
||||||
|
holder.setGone(R.id.tv_amount, TextUtils.isEmpty(item.project_amount))
|
||||||
|
holder.setGone(R.id.tv_time, TextUtils.isEmpty(item.tips_time))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,75 @@
|
||||||
|
package com.cheng.bole.ui.fragment.bid.publish.bid
|
||||||
|
|
||||||
|
import com.cheng.bole.R
|
||||||
|
import com.cheng.bole.bean.BidDetailEntity
|
||||||
|
import com.cheng.bole.databinding.FragmentMyBidBinding
|
||||||
|
import com.cheng.bole.event.BidEvent
|
||||||
|
import com.cheng.bole.manager.DialogEnum
|
||||||
|
import com.cheng.bole.ui.activity.PublicActivity
|
||||||
|
import com.cheng.bole.ui.dialog.TipDialog
|
||||||
|
import com.cheng.bole.ui.fragment.bid.detail.BidDetailFragment
|
||||||
|
import com.example.base.common.RxBus
|
||||||
|
import com.example.base.extensions.onClick
|
||||||
|
import com.example.base.ui.list.ListFragment
|
||||||
|
|
||||||
|
class MyBidFragment: ListFragment<FragmentMyBidBinding, MyBidViewModel, BidDetailEntity>() {
|
||||||
|
|
||||||
|
override fun noDataClick() {
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun bindAdapter() = MyBidAdapter()
|
||||||
|
|
||||||
|
override fun initView() {
|
||||||
|
super.initView()
|
||||||
|
mEmptyView.setNoDataText("暂无数据")
|
||||||
|
mEmptyView.setNoDataLogo(R.mipmap.ic_empty_seat)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun initData() {
|
||||||
|
super.initData()
|
||||||
|
firstLoad()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun initListener() {
|
||||||
|
super.initListener()
|
||||||
|
binding.btnNext.onClick {
|
||||||
|
PublicActivity.start(requireActivity(), PublishBidMessageFragment::class.java)
|
||||||
|
}
|
||||||
|
|
||||||
|
mAdapter.setOnItemChildClickListener { _, view, position ->
|
||||||
|
val item = mAdapter.getItem(position)
|
||||||
|
when(view.id) {
|
||||||
|
R.id.btn_delete -> {
|
||||||
|
val f = TipDialog.newInstance("温馨提示", "您确定要删除标书吗?")
|
||||||
|
f.setOnSelectListener {
|
||||||
|
if (it == DialogEnum.CLICK_OK) {
|
||||||
|
mViewModel.deleteBid(item.id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
f.show(childFragmentManager, TipDialog::class.java.simpleName)
|
||||||
|
}
|
||||||
|
|
||||||
|
R.id.btn_edit -> {
|
||||||
|
PublicActivity.start(requireContext(), PublishBidMessageFragment::class.java, Pair("item", item))
|
||||||
|
}
|
||||||
|
|
||||||
|
R.id.btn_view -> {
|
||||||
|
PublicActivity.start(
|
||||||
|
requireContext(),
|
||||||
|
BidDetailFragment::class.java,
|
||||||
|
Pair("id", item.id),
|
||||||
|
Pair("info_source", item.info_source)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun initObserve() {
|
||||||
|
super.initObserve()
|
||||||
|
val bidEvent = RxBus.defaultInstance.toObservable(BidEvent::class.java).subscribe {
|
||||||
|
firstLoad()
|
||||||
|
}
|
||||||
|
addDisposable(bidEvent)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,33 @@
|
||||||
|
package com.cheng.bole.ui.fragment.bid.publish.bid
|
||||||
|
|
||||||
|
import androidx.collection.ArrayMap
|
||||||
|
import androidx.lifecycle.MutableLiveData
|
||||||
|
import com.cheng.bole.bean.BidDetailEntity
|
||||||
|
import com.cheng.bole.net.ApiFactory
|
||||||
|
import com.cheng.bole.net.model.toListResult
|
||||||
|
import com.example.base.extensions.toast
|
||||||
|
import com.example.base.utils.L
|
||||||
|
import com.example.base.viewmodel.ListViewModel
|
||||||
|
|
||||||
|
class MyBidViewModel: ListViewModel<BidDetailEntity>() {
|
||||||
|
val deleteLiveData = MutableLiveData<Any>()
|
||||||
|
|
||||||
|
override suspend fun requestApi(params: ArrayMap<String, String>): Result<List<BidDetailEntity>> {
|
||||||
|
return ApiFactory.apiService.getMyBidList(params).toListResult()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun deleteBid(id: String) {
|
||||||
|
showDialog()
|
||||||
|
launchOnUiTryCatch({
|
||||||
|
val response = ApiFactory.apiService.deleteBidInfo(id)
|
||||||
|
if (response.status) {
|
||||||
|
deleteLiveData.postValue(Any())
|
||||||
|
} else toast(response.message, true)
|
||||||
|
dismissDialog()
|
||||||
|
}, {
|
||||||
|
dismissDialog()
|
||||||
|
setError(it)
|
||||||
|
L.d(it)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -8,21 +8,28 @@ import android.view.ViewTreeObserver
|
||||||
import androidx.activity.result.contract.ActivityResultContracts
|
import androidx.activity.result.contract.ActivityResultContracts
|
||||||
import androidx.constraintlayout.widget.ConstraintLayout
|
import androidx.constraintlayout.widget.ConstraintLayout
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.AreaBean
|
import com.cheng.bole.bean.AreaEntity
|
||||||
import com.cheng.bole.bean.AttachmentBean
|
import com.cheng.bole.bean.AttachmentEntity
|
||||||
import com.cheng.bole.bean.BidDetailBean
|
import com.cheng.bole.bean.BidDetailEntity
|
||||||
import com.cheng.bole.bean.BidTypeBean
|
import com.cheng.bole.bean.BidTypeEntity
|
||||||
import com.cheng.bole.bean.UploadFileEntity
|
import com.cheng.bole.bean.UploadFileEntity
|
||||||
import com.cheng.bole.common.Constants
|
import com.cheng.bole.common.Constants
|
||||||
import com.cheng.bole.databinding.FragmentPublishBidMessageBinding
|
import com.cheng.bole.databinding.FragmentPublishBidMessageBinding
|
||||||
|
import com.cheng.bole.event.BidEvent
|
||||||
import com.cheng.bole.impl.TextWatcherImpl
|
import com.cheng.bole.impl.TextWatcherImpl
|
||||||
import com.cheng.bole.manager.UserConfigManager
|
import com.cheng.bole.manager.UserConfigManager
|
||||||
|
import com.cheng.bole.ui.activity.PublicActivity
|
||||||
import com.cheng.bole.ui.dialog.SelectAreaDialog
|
import com.cheng.bole.ui.dialog.SelectAreaDialog
|
||||||
import com.cheng.bole.ui.dialog.SelectBidTypeDialog
|
import com.cheng.bole.ui.dialog.SelectBidTypeDialog
|
||||||
import com.cheng.bole.ui.dialog.SelectContactsDialog
|
import com.cheng.bole.ui.dialog.SelectContactsDialog
|
||||||
|
import com.cheng.bole.ui.fragment.bid.publish.AddBidContactsAdapter
|
||||||
|
import com.cheng.bole.ui.fragment.bid.publish.AddBidFileAdapter
|
||||||
|
import com.cheng.bole.ui.fragment.bid.publish.AddBidImageAdapter
|
||||||
|
import com.cheng.bole.ui.fragment.bid.publish.my.MyPublishFragment
|
||||||
import com.cheng.bole.utils.FileProviderUtils
|
import com.cheng.bole.utils.FileProviderUtils
|
||||||
import com.cheng.bole.utils.GlideEngine
|
import com.cheng.bole.utils.GlideEngine
|
||||||
import com.cheng.bole.utils.PermissionUtils
|
import com.cheng.bole.utils.PermissionUtils
|
||||||
|
import com.example.base.common.RxBus
|
||||||
import com.example.base.extensions.getColor
|
import com.example.base.extensions.getColor
|
||||||
import com.example.base.extensions.gone
|
import com.example.base.extensions.gone
|
||||||
import com.example.base.extensions.onClick
|
import com.example.base.extensions.onClick
|
||||||
|
|
@ -41,7 +48,7 @@ import okhttp3.RequestBody.Companion.toRequestBody
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
class PublishBidMessageFragment : BaseFragment<FragmentPublishBidMessageBinding, PublishBidMessageViewModel>() {
|
class PublishBidMessageFragment : BaseFragment<FragmentPublishBidMessageBinding, PublishBidMessageViewModel>() {
|
||||||
private var bidDetail: BidDetailBean? = null
|
private var bidDetail: BidDetailEntity? = null
|
||||||
|
|
||||||
private val imageAdapter by lazy { AddBidImageAdapter(requireContext(), uploadedImgList) }
|
private val imageAdapter by lazy { AddBidImageAdapter(requireContext(), uploadedImgList) }
|
||||||
private var uploadedImgList: ArrayList<UploadFileEntity> = ArrayList()
|
private var uploadedImgList: ArrayList<UploadFileEntity> = ArrayList()
|
||||||
|
|
@ -55,8 +62,8 @@ class PublishBidMessageFragment : BaseFragment<FragmentPublishBidMessageBinding,
|
||||||
|
|
||||||
private var contentType: Int = 1 //1 文字 2 图片
|
private var contentType: Int = 1 //1 文字 2 图片
|
||||||
|
|
||||||
private var city: AreaBean? = null
|
private var city: AreaEntity? = null
|
||||||
private var bidType: BidTypeBean? = null
|
private var bidType: BidTypeEntity? = null
|
||||||
|
|
||||||
private val textWatcher = object : TextWatcherImpl() {
|
private val textWatcher = object : TextWatcherImpl() {
|
||||||
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
|
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
|
||||||
|
|
@ -95,9 +102,9 @@ class PublishBidMessageFragment : BaseFragment<FragmentPublishBidMessageBinding,
|
||||||
override fun initData() {
|
override fun initData() {
|
||||||
super.initData()
|
super.initData()
|
||||||
bidDetail = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
bidDetail = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||||
arguments?.getSerializable("item", BidDetailBean::class.java)
|
arguments?.getSerializable("item", BidDetailEntity::class.java)
|
||||||
} else {
|
} else {
|
||||||
arguments?.getSerializable("item") as? BidDetailBean
|
arguments?.getSerializable("item") as? BidDetailEntity
|
||||||
}
|
}
|
||||||
if (bidDetail != null) {
|
if (bidDetail != null) {
|
||||||
setData(bidDetail!!)
|
setData(bidDetail!!)
|
||||||
|
|
@ -251,10 +258,10 @@ class PublishBidMessageFragment : BaseFragment<FragmentPublishBidMessageBinding,
|
||||||
override fun initObserve() {
|
override fun initObserve() {
|
||||||
super.initObserve()
|
super.initObserve()
|
||||||
mViewModel.addLiveData.observe(this) {
|
mViewModel.addLiveData.observe(this) {
|
||||||
/*toast("提交成功")
|
toast("提交成功")
|
||||||
RxBus.defaultInstance.post(BidEvent())
|
RxBus.defaultInstance.post(BidEvent())
|
||||||
PublicActivity.start(requireContext(), MyBiddingDocFragment::class.java)
|
PublicActivity.start(requireContext(), MyPublishFragment::class.java, Pair("type", 1))
|
||||||
requireActivity().finish()*/
|
requireActivity().finish()
|
||||||
}
|
}
|
||||||
|
|
||||||
mViewModel.imageLiveData.observe(this) {
|
mViewModel.imageLiveData.observe(this) {
|
||||||
|
|
@ -270,7 +277,7 @@ class PublishBidMessageFragment : BaseFragment<FragmentPublishBidMessageBinding,
|
||||||
|
|
||||||
mViewModel.fileLiveData.observe(this) { list ->
|
mViewModel.fileLiveData.observe(this) { list ->
|
||||||
list.forEachIndexed { index, file ->
|
list.forEachIndexed { index, file ->
|
||||||
fileAdapter.addData(AttachmentBean(file.id, file.url, "pdf", selectedFileList[index].name))
|
fileAdapter.addData(AttachmentEntity(file.id, file.url, "pdf", selectedFileList[index].name))
|
||||||
}
|
}
|
||||||
SpanUtils.with(binding.tvFileCount)
|
SpanUtils.with(binding.tvFileCount)
|
||||||
.append("(")
|
.append("(")
|
||||||
|
|
@ -337,7 +344,7 @@ class PublishBidMessageFragment : BaseFragment<FragmentPublishBidMessageBinding,
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressLint("SetTextI18n", "NotifyDataSetChanged")
|
@SuppressLint("SetTextI18n", "NotifyDataSetChanged")
|
||||||
private fun setData(detail: BidDetailBean) {
|
private fun setData(detail: BidDetailEntity) {
|
||||||
if (detail.status == "3") {
|
if (detail.status == "3") {
|
||||||
binding.tvReason.text = "理由:${detail.review_remark}"
|
binding.tvReason.text = "理由:${detail.review_remark}"
|
||||||
binding.tvTime.text = detail.review_time
|
binding.tvTime.text = detail.review_time
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import android.graphics.Color
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import com.cheng.bole.bean.ContactsInfoBean
|
import com.cheng.bole.bean.ContactsEntity
|
||||||
import com.cheng.bole.databinding.FragmentAddContactsBinding
|
import com.cheng.bole.databinding.FragmentAddContactsBinding
|
||||||
import com.cheng.bole.event.ContactsEvent
|
import com.cheng.bole.event.ContactsEvent
|
||||||
import com.cheng.bole.manager.ContactsManager
|
import com.cheng.bole.manager.ContactsManager
|
||||||
|
|
@ -22,7 +22,7 @@ import java.util.UUID
|
||||||
class AddContactsFragment: BaseFragment<FragmentAddContactsBinding, AddContactsViewModel>() {
|
class AddContactsFragment: BaseFragment<FragmentAddContactsBinding, AddContactsViewModel>() {
|
||||||
private val mAdapter by lazy { ContactsJobAdapter() }
|
private val mAdapter by lazy { ContactsJobAdapter() }
|
||||||
|
|
||||||
private var contactsInfo: ContactsInfoBean? = null
|
private var contactsInfo: ContactsEntity? = null
|
||||||
|
|
||||||
override fun initView() {
|
override fun initView() {
|
||||||
super.initView()
|
super.initView()
|
||||||
|
|
@ -30,15 +30,15 @@ class AddContactsFragment: BaseFragment<FragmentAddContactsBinding, AddContactsV
|
||||||
|
|
||||||
binding.rvJob.adapter = mAdapter
|
binding.rvJob.adapter = mAdapter
|
||||||
binding.rvJob.addItemDecoration(GridSpaceItemDecoration(3, DensityUtils.dp2px(8f), DensityUtils.dp2px(8f)))
|
binding.rvJob.addItemDecoration(GridSpaceItemDecoration(3, DensityUtils.dp2px(8f), DensityUtils.dp2px(8f)))
|
||||||
mAdapter.setList(ContactsInfoBean.getPositionList())
|
mAdapter.setList(ContactsEntity.getPositionList())
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun initData() {
|
override fun initData() {
|
||||||
super.initData()
|
super.initData()
|
||||||
contactsInfo = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
contactsInfo = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||||
arguments?.getSerializable("item", ContactsInfoBean::class.java)
|
arguments?.getSerializable("item", ContactsEntity::class.java)
|
||||||
} else {
|
} else {
|
||||||
arguments?.getSerializable("item") as? ContactsInfoBean
|
arguments?.getSerializable("item") as? ContactsEntity
|
||||||
}
|
}
|
||||||
setData()
|
setData()
|
||||||
}
|
}
|
||||||
|
|
@ -86,7 +86,7 @@ class AddContactsFragment: BaseFragment<FragmentAddContactsBinding, AddContactsV
|
||||||
return@onClick
|
return@onClick
|
||||||
}
|
}
|
||||||
if (contactsInfo == null) {
|
if (contactsInfo == null) {
|
||||||
contactsInfo = ContactsInfoBean(UUID.randomUUID().toString(), name, phone, mAdapter.data.find { it.isChecked }?.name ?: job)
|
contactsInfo = ContactsEntity(UUID.randomUUID().toString(), name, phone, mAdapter.data.find { it.isChecked }?.name ?: job)
|
||||||
ContactsManager.add(contactsInfo!!)
|
ContactsManager.add(contactsInfo!!)
|
||||||
} else {
|
} else {
|
||||||
contactsInfo!!.name = name
|
contactsInfo!!.name = name
|
||||||
|
|
|
||||||
|
|
@ -5,11 +5,11 @@ import android.widget.TextView
|
||||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||||
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.ContactsInfoBean
|
import com.cheng.bole.bean.ContactsEntity
|
||||||
import com.example.base.extensions.getColor
|
import com.example.base.extensions.getColor
|
||||||
|
|
||||||
class ContactsJobAdapter : BaseQuickAdapter<ContactsInfoBean.Job, BaseViewHolder>(R.layout.listitem_contacts_job) {
|
class ContactsJobAdapter : BaseQuickAdapter<ContactsEntity.Job, BaseViewHolder>(R.layout.listitem_contacts_job) {
|
||||||
override fun convert(holder: BaseViewHolder, item: ContactsInfoBean.Job) {
|
override fun convert(holder: BaseViewHolder, item: ContactsEntity.Job) {
|
||||||
holder.setText(R.id.tv_name, item.name)
|
holder.setText(R.id.tv_name, item.name)
|
||||||
holder.setTextColor(R.id.tv_name, if (item.isChecked) getColor(R.color.color_125ffe) else getColor(R.color.color_1a1a1a))
|
holder.setTextColor(R.id.tv_name, if (item.isChecked) getColor(R.color.color_125ffe) else getColor(R.color.color_1a1a1a))
|
||||||
holder.getView<TextView>(R.id.tv_name).typeface = if (item.isChecked) Typeface.DEFAULT_BOLD else Typeface.DEFAULT
|
holder.getView<TextView>(R.id.tv_name).typeface = if (item.isChecked) Typeface.DEFAULT_BOLD else Typeface.DEFAULT
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,65 @@
|
||||||
|
package com.cheng.bole.ui.fragment.bid.publish.goods
|
||||||
|
|
||||||
|
import android.widget.ImageView
|
||||||
|
import android.widget.TextView
|
||||||
|
import coil.load
|
||||||
|
import coil.transform.RoundedCornersTransformation
|
||||||
|
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||||
|
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
||||||
|
import com.cheng.bole.R
|
||||||
|
import com.cheng.bole.bean.MerchantGoodsEntity
|
||||||
|
import com.example.base.extensions.getColor
|
||||||
|
import com.example.base.utils.DensityUtils
|
||||||
|
|
||||||
|
class MyGoodsAdapter: BaseQuickAdapter<MerchantGoodsEntity, BaseViewHolder>(R.layout.listitem_my_goods) {
|
||||||
|
|
||||||
|
init {
|
||||||
|
addChildClickViewIds(R.id.btn_delete, R.id.btn_edit, R.id.btn_view)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun convert(holder: BaseViewHolder, item: MerchantGoodsEntity) {
|
||||||
|
if (item.file.isNotEmpty()) {
|
||||||
|
holder.getView<ImageView>(R.id.iv_cover).load(item.file[0].url){
|
||||||
|
transformations(RoundedCornersTransformation(DensityUtils.dp2px(6f).toFloat()))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
holder.setText(R.id.tv_title, item.goods_name)
|
||||||
|
holder.setText(R.id.tv_content, item.goods_description)
|
||||||
|
holder.setText(R.id.tv_amount, "${item.goods_price_show}元")
|
||||||
|
holder.setText(R.id.tv_area, item.city_name)
|
||||||
|
|
||||||
|
holder.setGone(R.id.tv_refuse_reason, true)
|
||||||
|
holder.setGone(R.id.btn_delete, true)
|
||||||
|
holder.setGone(R.id.btn_edit, true)
|
||||||
|
when (item.status) {
|
||||||
|
"1" -> {
|
||||||
|
holder.setText(R.id.tv_status, "待审核")
|
||||||
|
holder.setTextColor(R.id.tv_status, getColor(R.color.color_ff9234))
|
||||||
|
holder.setBackgroundResource(R.id.tv_status, R.drawable.shape_publish_status_bg1)
|
||||||
|
holder.getView<TextView>(R.id.tv_status).setCompoundDrawablesWithIntrinsicBounds(R.mipmap.ic_publish_status1, 0, 0, 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
"2" -> {
|
||||||
|
holder.setText(R.id.tv_status, "已发布")
|
||||||
|
holder.setTextColor(R.id.tv_status, getColor(R.color.color_e3fae7))
|
||||||
|
holder.setBackgroundResource(R.id.tv_status, R.drawable.shape_publish_status_bg2)
|
||||||
|
holder.getView<TextView>(R.id.tv_status).setCompoundDrawablesWithIntrinsicBounds(R.mipmap.ic_publish_status2, 0, 0, 0)
|
||||||
|
|
||||||
|
holder.setGone(R.id.btn_delete, true)
|
||||||
|
}
|
||||||
|
|
||||||
|
"3" -> {
|
||||||
|
holder.setText(R.id.tv_status, "已驳回")
|
||||||
|
holder.setTextColor(R.id.tv_status, getColor(R.color.color_ffede7))
|
||||||
|
holder.setBackgroundResource(R.id.tv_status, R.drawable.shape_publish_status_bg3)
|
||||||
|
holder.getView<TextView>(R.id.tv_status).setCompoundDrawablesWithIntrinsicBounds(R.mipmap.ic_publish_status3, 0, 0, 0)
|
||||||
|
|
||||||
|
holder.setText(R.id.tv_refuse_reason, "理由:${item.remark}")
|
||||||
|
holder.setVisible(R.id.tv_refuse_reason, true)
|
||||||
|
|
||||||
|
holder.setGone(R.id.btn_delete, true)
|
||||||
|
holder.setGone(R.id.btn_edit, true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,128 @@
|
||||||
|
package com.cheng.bole.ui.fragment.bid.publish.goods
|
||||||
|
|
||||||
|
import android.graphics.Typeface
|
||||||
|
import android.widget.TextView
|
||||||
|
import com.cheng.bole.R
|
||||||
|
import com.cheng.bole.bean.MerchantGoodsEntity
|
||||||
|
import com.cheng.bole.common.Constants
|
||||||
|
import com.cheng.bole.databinding.FragmentMyGoodsBinding
|
||||||
|
import com.cheng.bole.event.SupplyEvent
|
||||||
|
import com.cheng.bole.manager.DialogEnum
|
||||||
|
import com.cheng.bole.ui.activity.PublicActivity
|
||||||
|
import com.cheng.bole.ui.dialog.TipDialog
|
||||||
|
import com.cheng.bole.ui.fragment.merchant.detail.MerchantGoodsDetailFragment
|
||||||
|
import com.example.base.common.RxBus
|
||||||
|
import com.example.base.extensions.onClick
|
||||||
|
import com.example.base.ui.BaseFragment
|
||||||
|
import com.example.base.widget.EmptyView
|
||||||
|
import com.example.base.widget.PageStatus
|
||||||
|
|
||||||
|
class MyGoodsFragment: BaseFragment<FragmentMyGoodsBinding, MyGoodsViewModel>() {
|
||||||
|
private val allGoodsList = mutableListOf<MerchantGoodsEntity>()
|
||||||
|
|
||||||
|
private val mAdapter by lazy { MyGoodsAdapter() }
|
||||||
|
private val mEmptyView by lazy { EmptyView(requireContext()) }
|
||||||
|
|
||||||
|
private var currentPosition = 0
|
||||||
|
|
||||||
|
private var page = 1
|
||||||
|
|
||||||
|
override fun initView() {
|
||||||
|
super.initView()
|
||||||
|
binding.mRecyclerView.adapter = mAdapter
|
||||||
|
mEmptyView.setNoDataText("暂无数据")
|
||||||
|
mEmptyView.setNoDataLogo(R.mipmap.ic_empty_seat)
|
||||||
|
mAdapter.setEmptyView(mEmptyView)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun initData() {
|
||||||
|
super.initData()
|
||||||
|
mViewModel.getGoodsList(page)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun initListener() {
|
||||||
|
super.initListener()
|
||||||
|
binding.tabLayout.observeIndexChange { fromIndex, toIndex, _, _ ->
|
||||||
|
currentPosition = toIndex
|
||||||
|
if (fromIndex != -1) {
|
||||||
|
(binding.tabLayout.getChildAt(fromIndex) as TextView).typeface = Typeface.DEFAULT
|
||||||
|
(binding.tabLayout.getChildAt(fromIndex) as TextView).setBackgroundResource(R.drawable.shape_push_bid_type_default)
|
||||||
|
}
|
||||||
|
(binding.tabLayout.getChildAt(toIndex) as TextView).typeface = Constants.douyinsansB
|
||||||
|
(binding.tabLayout.getChildAt(toIndex) as TextView).setBackgroundResource(R.drawable.shape_push_bid_type_checked)
|
||||||
|
setData()
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.mRefreshLayout.setOnRefreshListener {
|
||||||
|
page = 1
|
||||||
|
mViewModel.getGoodsList(page)
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.mRefreshLayout.setOnLoadMoreListener {
|
||||||
|
page++
|
||||||
|
mViewModel.getGoodsList(page)
|
||||||
|
}
|
||||||
|
|
||||||
|
mAdapter.setOnItemChildClickListener { _, view, position ->
|
||||||
|
val item = mAdapter.getItem(position)
|
||||||
|
when(view.id) {
|
||||||
|
R.id.btn_delete -> {
|
||||||
|
val f = TipDialog.newInstance("温馨提示", "您确定要删除供应服务吗?")
|
||||||
|
f.setOnSelectListener {
|
||||||
|
if (it == DialogEnum.CLICK_OK) {
|
||||||
|
mViewModel.deleteGoods(item.id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
f.show(childFragmentManager, TipDialog::class.java.simpleName)
|
||||||
|
}
|
||||||
|
|
||||||
|
R.id.btn_edit -> {
|
||||||
|
PublicActivity.start(requireContext(), PublishGoodsMessageFragment::class.java, Pair("item", item))
|
||||||
|
}
|
||||||
|
|
||||||
|
R.id.btn_view -> {
|
||||||
|
PublicActivity.start(requireActivity(), MerchantGoodsDetailFragment::class.java, Pair("item", item))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.btnNext.onClick {
|
||||||
|
PublicActivity.start(requireActivity(), PublishGoodsMessageFragment::class.java)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun initObserve() {
|
||||||
|
super.initObserve()
|
||||||
|
mViewModel.goodsLiveData.observe(this) { list ->
|
||||||
|
if (page == 1) allGoodsList.clear()
|
||||||
|
allGoodsList.addAll(list)
|
||||||
|
if (page == 1) {
|
||||||
|
binding.mRefreshLayout.finishRefresh()
|
||||||
|
} else {
|
||||||
|
binding.mRefreshLayout.finishLoadMore()
|
||||||
|
binding.mRefreshLayout.setNoMoreData(list.size < 20)
|
||||||
|
}
|
||||||
|
binding.mRefreshLayout.setEnableLoadMore(list.size == 20)
|
||||||
|
setData()
|
||||||
|
}
|
||||||
|
|
||||||
|
val supplyEvent = RxBus.defaultInstance.toObservable(SupplyEvent::class.java).subscribe {
|
||||||
|
binding.mRefreshLayout.autoRefresh()
|
||||||
|
}
|
||||||
|
addDisposable(supplyEvent)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun setData() {
|
||||||
|
when(currentPosition) {
|
||||||
|
0 -> mAdapter.setList(allGoodsList)
|
||||||
|
1 -> mAdapter.setList(allGoodsList.filter { it.type == "1" })
|
||||||
|
2 -> mAdapter.setList(allGoodsList.filter { it.type == "2" })
|
||||||
|
3 -> mAdapter.setList(allGoodsList.filter { it.type == "3" })
|
||||||
|
}
|
||||||
|
if (mAdapter.data.isNotEmpty()) {
|
||||||
|
mEmptyView.setStatus(PageStatus.GONG)
|
||||||
|
} else {
|
||||||
|
mEmptyView.setStatus(PageStatus.NO_DATA)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
package com.cheng.bole.ui.fragment.bid.publish.goods
|
||||||
|
|
||||||
|
import androidx.lifecycle.MutableLiveData
|
||||||
|
import com.cheng.bole.bean.MerchantGoodsEntity
|
||||||
|
import com.cheng.bole.net.ApiFactory
|
||||||
|
import com.example.base.extensions.toast
|
||||||
|
import com.example.base.utils.L
|
||||||
|
import com.example.base.viewmodel.BaseViewModel
|
||||||
|
|
||||||
|
class MyGoodsViewModel: BaseViewModel() {
|
||||||
|
val goodsLiveData = MutableLiveData<List<MerchantGoodsEntity>>()
|
||||||
|
val deleteLiveData = MutableLiveData<Any>()
|
||||||
|
|
||||||
|
fun getGoodsList(page: Int) {
|
||||||
|
launchOnUiTryCatch({
|
||||||
|
val params = mutableMapOf<String, String>()
|
||||||
|
params["page"] = "$page"
|
||||||
|
params["size"] = "20"
|
||||||
|
val response = ApiFactory.apiService.getMyGoodsList(params)
|
||||||
|
if (response.status) {
|
||||||
|
goodsLiveData.postValue(response.data.items)
|
||||||
|
} else toast(response.message, true)
|
||||||
|
}, {
|
||||||
|
setError(it)
|
||||||
|
L.d(it)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
fun deleteGoods(id: String) {
|
||||||
|
showDialog()
|
||||||
|
launchOnUiTryCatch({
|
||||||
|
val response = ApiFactory.apiService.deleteGoodsInfo(id)
|
||||||
|
if (response.status) {
|
||||||
|
deleteLiveData.postValue(Any())
|
||||||
|
} else toast(response.message, true)
|
||||||
|
dismissDialog()
|
||||||
|
}, {
|
||||||
|
dismissDialog()
|
||||||
|
setError(it)
|
||||||
|
L.d(it)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -7,20 +7,24 @@ import android.view.ViewOutlineProvider
|
||||||
import android.view.ViewTreeObserver
|
import android.view.ViewTreeObserver
|
||||||
import androidx.constraintlayout.widget.ConstraintLayout
|
import androidx.constraintlayout.widget.ConstraintLayout
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.AreaBean
|
import com.cheng.bole.bean.AreaEntity
|
||||||
import com.cheng.bole.bean.MerchantGoodsBean
|
import com.cheng.bole.bean.MerchantGoodsEntity
|
||||||
import com.cheng.bole.bean.UploadFileEntity
|
import com.cheng.bole.bean.UploadFileEntity
|
||||||
import com.cheng.bole.common.Constants
|
import com.cheng.bole.common.Constants
|
||||||
import com.cheng.bole.databinding.FragmentPublishGoodsMessageBinding
|
import com.cheng.bole.databinding.FragmentPublishGoodsMessageBinding
|
||||||
|
import com.cheng.bole.event.SupplyEvent
|
||||||
import com.cheng.bole.impl.TextWatcherImpl
|
import com.cheng.bole.impl.TextWatcherImpl
|
||||||
import com.cheng.bole.manager.UserConfigManager
|
import com.cheng.bole.manager.UserConfigManager
|
||||||
|
import com.cheng.bole.ui.activity.PublicActivity
|
||||||
import com.cheng.bole.ui.dialog.SelectAreaDialog
|
import com.cheng.bole.ui.dialog.SelectAreaDialog
|
||||||
import com.cheng.bole.ui.dialog.SelectContactsDialog
|
import com.cheng.bole.ui.dialog.SelectContactsDialog
|
||||||
import com.cheng.bole.ui.dialog.SelectGoodsTypeDialog
|
import com.cheng.bole.ui.dialog.SelectGoodsTypeDialog
|
||||||
import com.cheng.bole.ui.fragment.bid.publish.bid.AddBidContactsAdapter
|
import com.cheng.bole.ui.fragment.bid.publish.AddBidContactsAdapter
|
||||||
import com.cheng.bole.ui.fragment.bid.publish.bid.AddBidImageAdapter
|
import com.cheng.bole.ui.fragment.bid.publish.AddBidImageAdapter
|
||||||
|
import com.cheng.bole.ui.fragment.bid.publish.my.MyPublishFragment
|
||||||
import com.cheng.bole.utils.GlideEngine
|
import com.cheng.bole.utils.GlideEngine
|
||||||
import com.cheng.bole.utils.PermissionUtils
|
import com.cheng.bole.utils.PermissionUtils
|
||||||
|
import com.example.base.common.RxBus
|
||||||
import com.example.base.extensions.getColor
|
import com.example.base.extensions.getColor
|
||||||
import com.example.base.extensions.gone
|
import com.example.base.extensions.gone
|
||||||
import com.example.base.extensions.onClick
|
import com.example.base.extensions.onClick
|
||||||
|
|
@ -40,7 +44,7 @@ import okhttp3.RequestBody.Companion.toRequestBody
|
||||||
class PublishGoodsMessageFragment: BaseFragment<FragmentPublishGoodsMessageBinding, PublishGoodsMessageViewModel>() {
|
class PublishGoodsMessageFragment: BaseFragment<FragmentPublishGoodsMessageBinding, PublishGoodsMessageViewModel>() {
|
||||||
private val from by lazy { arguments?.getInt("from") ?: 0 }
|
private val from by lazy { arguments?.getInt("from") ?: 0 }
|
||||||
|
|
||||||
private var goodsDetail: MerchantGoodsBean? = null
|
private var goodsDetail: MerchantGoodsEntity? = null
|
||||||
|
|
||||||
private val imageAdapter by lazy { AddBidImageAdapter(requireContext(), uploadedImgList) }
|
private val imageAdapter by lazy { AddBidImageAdapter(requireContext(), uploadedImgList) }
|
||||||
private var uploadedImgList: ArrayList<UploadFileEntity> = ArrayList()
|
private var uploadedImgList: ArrayList<UploadFileEntity> = ArrayList()
|
||||||
|
|
@ -51,7 +55,7 @@ class PublishGoodsMessageFragment: BaseFragment<FragmentPublishGoodsMessageBindi
|
||||||
private var goodsType: String = "" // 1 提供服务 2 提供产品 3其他
|
private var goodsType: String = "" // 1 提供服务 2 提供产品 3其他
|
||||||
private var priceType: Int = 1 // 1 具体价格 2 面议
|
private var priceType: Int = 1 // 1 具体价格 2 面议
|
||||||
|
|
||||||
private var city: AreaBean? = null
|
private var city: AreaEntity? = null
|
||||||
|
|
||||||
private val textWatcher = object : TextWatcherImpl() {
|
private val textWatcher = object : TextWatcherImpl() {
|
||||||
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
|
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
|
||||||
|
|
@ -90,9 +94,9 @@ class PublishGoodsMessageFragment: BaseFragment<FragmentPublishGoodsMessageBindi
|
||||||
override fun initData() {
|
override fun initData() {
|
||||||
super.initData()
|
super.initData()
|
||||||
goodsDetail = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
goodsDetail = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||||
arguments?.getSerializable("item", MerchantGoodsBean::class.java)
|
arguments?.getSerializable("item", MerchantGoodsEntity::class.java)
|
||||||
} else {
|
} else {
|
||||||
arguments?.getSerializable("item") as? MerchantGoodsBean
|
arguments?.getSerializable("item") as? MerchantGoodsEntity
|
||||||
}
|
}
|
||||||
if (goodsDetail != null) {
|
if (goodsDetail != null) {
|
||||||
setData(goodsDetail!!)
|
setData(goodsDetail!!)
|
||||||
|
|
@ -223,12 +227,12 @@ class PublishGoodsMessageFragment: BaseFragment<FragmentPublishGoodsMessageBindi
|
||||||
override fun initObserve() {
|
override fun initObserve() {
|
||||||
super.initObserve()
|
super.initObserve()
|
||||||
mViewModel.addLiveData.observe(this) {
|
mViewModel.addLiveData.observe(this) {
|
||||||
/*toast("提交成功")
|
toast("提交成功")
|
||||||
RxBus.defaultInstance.post(SupplyEvent(from))
|
RxBus.defaultInstance.post(SupplyEvent(from))
|
||||||
if (from == 1) {
|
if (from == 1) {
|
||||||
PublicActivity.start(requireContext(), MySupplierFragment::class.java)
|
PublicActivity.start(requireContext(), MyPublishFragment::class.java, Pair("type", 2))
|
||||||
}
|
}
|
||||||
requireActivity().finish()*/
|
requireActivity().finish()
|
||||||
}
|
}
|
||||||
|
|
||||||
mViewModel.imageLiveData.observe(this) {
|
mViewModel.imageLiveData.observe(this) {
|
||||||
|
|
@ -280,7 +284,7 @@ class PublishGoodsMessageFragment: BaseFragment<FragmentPublishGoodsMessageBindi
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressLint("SetTextI18n", "NotifyDataSetChanged")
|
@SuppressLint("SetTextI18n", "NotifyDataSetChanged")
|
||||||
private fun setData(detail: MerchantGoodsBean) {
|
private fun setData(detail: MerchantGoodsEntity) {
|
||||||
if (detail.status == "3") {
|
if (detail.status == "3") {
|
||||||
binding.tvReason.text = "理由:${detail.remark}"
|
binding.tvReason.text = "理由:${detail.remark}"
|
||||||
binding.tvTime.text = detail.review_time
|
binding.tvTime.text = detail.review_time
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,77 @@
|
||||||
|
package com.cheng.bole.ui.fragment.bid.publish.my
|
||||||
|
|
||||||
|
import android.graphics.Color
|
||||||
|
import android.graphics.Typeface
|
||||||
|
import android.widget.TextView
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import androidx.fragment.app.FragmentStatePagerAdapter
|
||||||
|
import com.angcyo.tablayout.delegate.ViewPager1Delegate
|
||||||
|
import com.cheng.bole.common.Constants
|
||||||
|
import com.cheng.bole.databinding.FragmentMyPublishBinding
|
||||||
|
import com.cheng.bole.ui.activity.PublicActivity
|
||||||
|
import com.cheng.bole.ui.base.BasePageAdapter
|
||||||
|
import com.cheng.bole.ui.fragment.bid.publish.bid.MyBidFragment
|
||||||
|
import com.cheng.bole.ui.fragment.bid.publish.goods.MyGoodsFragment
|
||||||
|
import com.cheng.bole.ui.fragment.mine.auth.CompanyAuthFragment
|
||||||
|
import com.example.base.extensions.onClick
|
||||||
|
import com.example.base.extensions.visible
|
||||||
|
import com.example.base.ui.BaseFragment
|
||||||
|
|
||||||
|
class MyPublishFragment: BaseFragment<FragmentMyPublishBinding, MyPublishViewModel>() {
|
||||||
|
|
||||||
|
private val tabText = listOf("招标信息", "合作信息")
|
||||||
|
private val fragmentList by lazy { mutableListOf<Fragment>() }
|
||||||
|
|
||||||
|
private val pageAdapter by lazy {
|
||||||
|
BasePageAdapter(
|
||||||
|
childFragmentManager,
|
||||||
|
tabText,
|
||||||
|
fragmentList,
|
||||||
|
FragmentStatePagerAdapter.BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun initView() {
|
||||||
|
super.initView()
|
||||||
|
mTitleBar?.setBackgroundColor(Color.WHITE)
|
||||||
|
|
||||||
|
initFragment()
|
||||||
|
binding.viewPager.adapter = pageAdapter
|
||||||
|
binding.viewPager.offscreenPageLimit = fragmentList.size
|
||||||
|
binding.tabLayout.setupViewPager(ViewPager1Delegate.install(binding.viewPager, binding.tabLayout))
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun initFragment() {
|
||||||
|
fragmentList.add(MyBidFragment())
|
||||||
|
fragmentList.add(MyGoodsFragment())
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun initData() {
|
||||||
|
super.initData()
|
||||||
|
mViewModel.getCompanyInfo()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun initListener() {
|
||||||
|
super.initListener()
|
||||||
|
binding.tabLayout.observeIndexChange { fromIndex, toIndex, _, _ ->
|
||||||
|
binding.viewPager.currentItem = toIndex
|
||||||
|
if (fromIndex != -1) {
|
||||||
|
(binding.tabLayout.getChildAt(fromIndex) as TextView).typeface = Typeface.DEFAULT
|
||||||
|
}
|
||||||
|
(binding.tabLayout.getChildAt(toIndex) as TextView).typeface = Constants.douyinsansB
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.layoutAuthTip.onClick {
|
||||||
|
PublicActivity.start(requireActivity(), CompanyAuthFragment::class.java)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun initObserve() {
|
||||||
|
super.initObserve()
|
||||||
|
mViewModel.companyLiveData.observe(this) {
|
||||||
|
if (it == null || it.status == "3") {
|
||||||
|
binding.layoutAuthTip.visible()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
package com.cheng.bole.ui.fragment.bid.publish.my
|
||||||
|
|
||||||
|
import androidx.lifecycle.MutableLiveData
|
||||||
|
import com.cheng.bole.bean.CompanyEntity
|
||||||
|
import com.cheng.bole.net.ApiFactory
|
||||||
|
import com.example.base.extensions.toast
|
||||||
|
import com.example.base.utils.L
|
||||||
|
import com.example.base.viewmodel.BaseViewModel
|
||||||
|
|
||||||
|
class MyPublishViewModel: BaseViewModel() {
|
||||||
|
val companyLiveData = MutableLiveData<CompanyEntity>()
|
||||||
|
|
||||||
|
fun getCompanyInfo() {
|
||||||
|
showDialog()
|
||||||
|
launchOnUiTryCatch({
|
||||||
|
val response = ApiFactory.apiService.getCompanyInfo()
|
||||||
|
if (response.status) {
|
||||||
|
companyLiveData.postValue(response.data)
|
||||||
|
} else toast(response.message, true)
|
||||||
|
dismissDialog()
|
||||||
|
}, {
|
||||||
|
dismissDialog()
|
||||||
|
setError(it)
|
||||||
|
L.d(it)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,10 +1,9 @@
|
||||||
package com.cheng.bole.ui.fragment.home
|
package com.cheng.bole.ui.fragment.home
|
||||||
|
|
||||||
import android.text.TextUtils
|
|
||||||
import androidx.coordinatorlayout.widget.CoordinatorLayout
|
import androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||||
import androidx.recyclerview.widget.RecyclerView.HORIZONTAL
|
import androidx.recyclerview.widget.RecyclerView.HORIZONTAL
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.BidItemBean
|
import com.cheng.bole.bean.BidItemEntity
|
||||||
import com.cheng.bole.bean.MenuEntity
|
import com.cheng.bole.bean.MenuEntity
|
||||||
import com.cheng.bole.common.Constants
|
import com.cheng.bole.common.Constants
|
||||||
import com.cheng.bole.common.EventConstants
|
import com.cheng.bole.common.EventConstants
|
||||||
|
|
@ -38,7 +37,7 @@ import kotlin.math.abs
|
||||||
/**
|
/**
|
||||||
* 首页
|
* 首页
|
||||||
*/
|
*/
|
||||||
class HomeFragment : ListFragment<FragmentHomeBinding, HomeViewModel, BidItemBean>() {
|
class HomeFragment : ListFragment<FragmentHomeBinding, HomeViewModel, BidItemEntity>() {
|
||||||
private val menuAdapter by lazy { HomeMenuAdapter() }
|
private val menuAdapter by lazy { HomeMenuAdapter() }
|
||||||
|
|
||||||
private val keywordAdapter by lazy { HomeKeywordAdapter() }
|
private val keywordAdapter by lazy { HomeKeywordAdapter() }
|
||||||
|
|
@ -47,7 +46,7 @@ class HomeFragment : ListFragment<FragmentHomeBinding, HomeViewModel, BidItemBea
|
||||||
|
|
||||||
override fun bindAdapter() = BidAdapter()
|
override fun bindAdapter() = BidAdapter()
|
||||||
|
|
||||||
private var item: BidItemBean? = null
|
private var item: BidItemEntity? = null
|
||||||
|
|
||||||
override fun initView() {
|
override fun initView() {
|
||||||
super.initView()
|
super.initView()
|
||||||
|
|
|
||||||
|
|
@ -2,23 +2,23 @@ package com.cheng.bole.ui.fragment.home
|
||||||
|
|
||||||
import androidx.collection.ArrayMap
|
import androidx.collection.ArrayMap
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import com.cheng.bole.bean.BidItemBean
|
import com.cheng.bole.bean.BidItemEntity
|
||||||
import com.cheng.bole.bean.BidTypeBean
|
import com.cheng.bole.bean.BidTypeEntity
|
||||||
import com.cheng.bole.bean.UserAuthBean
|
import com.cheng.bole.bean.UserAuthEntity
|
||||||
import com.cheng.bole.net.ApiFactory
|
import com.cheng.bole.net.ApiFactory
|
||||||
import com.cheng.bole.net.model.toListResult
|
import com.cheng.bole.net.model.toListResult
|
||||||
import com.example.base.extensions.toast
|
import com.example.base.extensions.toast
|
||||||
import com.example.base.utils.L
|
import com.example.base.utils.L
|
||||||
import com.example.base.viewmodel.ListViewModel
|
import com.example.base.viewmodel.ListViewModel
|
||||||
|
|
||||||
class HomeViewModel : ListViewModel<BidItemBean>() {
|
class HomeViewModel : ListViewModel<BidItemEntity>() {
|
||||||
val totalLiveData = MutableLiveData<String>()
|
val totalLiveData = MutableLiveData<String>()
|
||||||
|
|
||||||
val typeLiveData = MutableLiveData<List<BidTypeBean>>()
|
val typeLiveData = MutableLiveData<List<BidTypeEntity>>()
|
||||||
val authLiveData = MutableLiveData<UserAuthBean>()
|
val authLiveData = MutableLiveData<UserAuthEntity>()
|
||||||
val recommendLiveData = MutableLiveData<List<String>>()
|
val recommendLiveData = MutableLiveData<List<String>>()
|
||||||
|
|
||||||
override suspend fun requestApi(params: ArrayMap<String, String>): Result<List<BidItemBean>> {
|
override suspend fun requestApi(params: ArrayMap<String, String>): Result<List<BidItemEntity>> {
|
||||||
val response = ApiFactory.apiService.getRecommendList(params)
|
val response = ApiFactory.apiService.getRecommendList(params)
|
||||||
if (response.status) {
|
if (response.status) {
|
||||||
totalLiveData.postValue(response.data.total)
|
totalLiveData.postValue(response.data.total)
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,14 @@
|
||||||
package com.cheng.bole.ui.fragment.home.bszz
|
package com.cheng.bole.ui.fragment.home.bszz
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.graphics.Color
|
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
import android.view.ViewTreeObserver
|
import android.view.ViewTreeObserver
|
||||||
import androidx.constraintlayout.widget.ConstraintLayout
|
import androidx.constraintlayout.widget.ConstraintLayout
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.AreaBean
|
import com.cheng.bole.bean.AreaEntity
|
||||||
import com.cheng.bole.databinding.FragmentBszzBinding
|
import com.cheng.bole.databinding.FragmentBszzBinding
|
||||||
import com.cheng.bole.impl.TextWatcherImpl
|
import com.cheng.bole.impl.TextWatcherImpl
|
||||||
import com.cheng.bole.ui.dialog.SelectAreaDialog
|
import com.cheng.bole.ui.dialog.SelectAreaDialog
|
||||||
import com.efs.sdk.memleaksdk.monitor.internal.bi
|
|
||||||
import com.example.base.extensions.onClick
|
import com.example.base.extensions.onClick
|
||||||
import com.example.base.extensions.toast
|
import com.example.base.extensions.toast
|
||||||
import com.example.base.ui.BaseFragment
|
import com.example.base.ui.BaseFragment
|
||||||
|
|
@ -22,7 +20,7 @@ import okhttp3.RequestBody.Companion.toRequestBody
|
||||||
class BSZZFragment: BaseFragment<FragmentBszzBinding, BSZZViewModel>() {
|
class BSZZFragment: BaseFragment<FragmentBszzBinding, BSZZViewModel>() {
|
||||||
private var timestamp = ""
|
private var timestamp = ""
|
||||||
|
|
||||||
private var city: AreaBean? = null
|
private var city: AreaEntity? = null
|
||||||
|
|
||||||
private val textWatcher = object : TextWatcherImpl() {
|
private val textWatcher = object : TextWatcherImpl() {
|
||||||
@SuppressLint("SetTextI18n")
|
@SuppressLint("SetTextI18n")
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package com.cheng.bole.ui.fragment.home.dljz
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
import com.cheng.bole.bean.AreaBean
|
import com.cheng.bole.bean.AreaEntity
|
||||||
import com.cheng.bole.common.Constants
|
import com.cheng.bole.common.Constants
|
||||||
import com.cheng.bole.databinding.FragmentDljzBinding
|
import com.cheng.bole.databinding.FragmentDljzBinding
|
||||||
import com.cheng.bole.impl.TextWatcherImpl
|
import com.cheng.bole.impl.TextWatcherImpl
|
||||||
|
|
@ -16,7 +16,7 @@ import okhttp3.RequestBody.Companion.toRequestBody
|
||||||
class DLJZFragment: BaseFragment<FragmentDljzBinding, DLJZViewModel>() {
|
class DLJZFragment: BaseFragment<FragmentDljzBinding, DLJZViewModel>() {
|
||||||
private var timestamp = ""
|
private var timestamp = ""
|
||||||
|
|
||||||
private var city: AreaBean? = null
|
private var city: AreaEntity? = null
|
||||||
|
|
||||||
private val textWatcher = object : TextWatcherImpl() {
|
private val textWatcher = object : TextWatcherImpl() {
|
||||||
@SuppressLint("SetTextI18n")
|
@SuppressLint("SetTextI18n")
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,13 @@
|
||||||
package com.cheng.bole.ui.fragment.home.qyzc
|
package com.cheng.bole.ui.fragment.home.qyzc
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.graphics.Color
|
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
import android.view.ViewTreeObserver
|
import android.view.ViewTreeObserver
|
||||||
import androidx.constraintlayout.widget.ConstraintLayout
|
import androidx.constraintlayout.widget.ConstraintLayout
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.AreaBean
|
import com.cheng.bole.bean.AreaEntity
|
||||||
import com.cheng.bole.databinding.FragmentQyzcBinding
|
import com.cheng.bole.databinding.FragmentQyzcBinding
|
||||||
import com.cheng.bole.ui.dialog.SelectAreaDialog
|
import com.cheng.bole.ui.dialog.SelectAreaDialog
|
||||||
import com.efs.sdk.memleaksdk.monitor.internal.bi
|
|
||||||
import com.example.base.extensions.onClick
|
import com.example.base.extensions.onClick
|
||||||
import com.example.base.extensions.toast
|
import com.example.base.extensions.toast
|
||||||
import com.example.base.ui.BaseFragment
|
import com.example.base.ui.BaseFragment
|
||||||
|
|
@ -23,7 +21,7 @@ import java.util.concurrent.TimeUnit
|
||||||
class QYZCFragment : BaseFragment<FragmentQyzcBinding, QYZCViewModel>() {
|
class QYZCFragment : BaseFragment<FragmentQyzcBinding, QYZCViewModel>() {
|
||||||
private var timestamp = ""
|
private var timestamp = ""
|
||||||
|
|
||||||
private var city: AreaBean? = null
|
private var city: AreaEntity? = null
|
||||||
|
|
||||||
private val companyAdapter by lazy { QYZCCompanyAdapter(requireContext(), companyList) }
|
private val companyAdapter by lazy { QYZCCompanyAdapter(requireContext(), companyList) }
|
||||||
private val companyList = mutableListOf<String>()
|
private val companyList = mutableListOf<String>()
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,10 @@ package com.cheng.bole.ui.fragment.home.zzdb
|
||||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||||
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.ZZDBInfoBean
|
import com.cheng.bole.bean.ZZDBInfoEntity
|
||||||
|
|
||||||
class ZZDBAdapter: BaseQuickAdapter<ZZDBInfoBean, BaseViewHolder>(R.layout.listitem_zzdb_info) {
|
class ZZDBAdapter: BaseQuickAdapter<ZZDBInfoEntity, BaseViewHolder>(R.layout.listitem_zzdb_info) {
|
||||||
override fun convert(holder: BaseViewHolder, item: ZZDBInfoBean) {
|
override fun convert(holder: BaseViewHolder, item: ZZDBInfoEntity) {
|
||||||
holder.setText(R.id.tv_name, item.name)
|
holder.setText(R.id.tv_name, item.name)
|
||||||
holder.setGone(R.id.tv_level1, true)
|
holder.setGone(R.id.tv_level1, true)
|
||||||
holder.setGone(R.id.tv_level2, true)
|
holder.setGone(R.id.tv_level2, true)
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
package com.cheng.bole.ui.fragment.home.zzdb
|
package com.cheng.bole.ui.fragment.home.zzdb
|
||||||
|
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import com.cheng.bole.bean.ZZDBInfoBean
|
import com.cheng.bole.bean.ZZDBInfoEntity
|
||||||
import com.cheng.bole.net.ApiFactory
|
import com.cheng.bole.net.ApiFactory
|
||||||
import com.example.base.extensions.toast
|
import com.example.base.extensions.toast
|
||||||
import com.example.base.utils.L
|
import com.example.base.utils.L
|
||||||
import com.example.base.viewmodel.BaseViewModel
|
import com.example.base.viewmodel.BaseViewModel
|
||||||
|
|
||||||
class ZZDBViewModel: BaseViewModel() {
|
class ZZDBViewModel: BaseViewModel() {
|
||||||
val listLiveData = MutableLiveData<List<ZZDBInfoBean>>()
|
val listLiveData = MutableLiveData<List<ZZDBInfoEntity>>()
|
||||||
|
|
||||||
fun getAgencyList(page: Int, name: String) {
|
fun getAgencyList(page: Int, name: String) {
|
||||||
launchOnUiTryCatch({
|
launchOnUiTryCatch({
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,8 @@ import android.os.Build
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
import androidx.constraintlayout.widget.ConstraintLayout
|
import androidx.constraintlayout.widget.ConstraintLayout
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.AreaBean
|
import com.cheng.bole.bean.AreaEntity
|
||||||
import com.cheng.bole.bean.ZZDBInfoBean
|
import com.cheng.bole.bean.ZZDBInfoEntity
|
||||||
import com.cheng.bole.common.Constants
|
import com.cheng.bole.common.Constants
|
||||||
import com.cheng.bole.databinding.FragmentZzdbDetailBinding
|
import com.cheng.bole.databinding.FragmentZzdbDetailBinding
|
||||||
import com.cheng.bole.ui.dialog.SelectAreaDialog
|
import com.cheng.bole.ui.dialog.SelectAreaDialog
|
||||||
|
|
@ -22,8 +22,8 @@ import com.gyf.immersionbar.ktx.actionBarHeight
|
||||||
import okhttp3.RequestBody.Companion.toRequestBody
|
import okhttp3.RequestBody.Companion.toRequestBody
|
||||||
|
|
||||||
class ZZDBDetailFragment : BaseFragment<FragmentZzdbDetailBinding, ZZDBDetailViewModel>() {
|
class ZZDBDetailFragment : BaseFragment<FragmentZzdbDetailBinding, ZZDBDetailViewModel>() {
|
||||||
private var info: ZZDBInfoBean? = null
|
private var info: ZZDBInfoEntity? = null
|
||||||
private var childInfo: ZZDBInfoBean? = null
|
private var childInfo: ZZDBInfoEntity? = null
|
||||||
|
|
||||||
private val deviceAdapter by lazy { ZZDBDeviceAdapter() }
|
private val deviceAdapter by lazy { ZZDBDeviceAdapter() }
|
||||||
|
|
||||||
|
|
@ -31,7 +31,7 @@ class ZZDBDetailFragment : BaseFragment<FragmentZzdbDetailBinding, ZZDBDetailVie
|
||||||
|
|
||||||
private var timestamp = ""
|
private var timestamp = ""
|
||||||
|
|
||||||
private var city: AreaBean? = null
|
private var city: AreaEntity? = null
|
||||||
|
|
||||||
override fun initView() {
|
override fun initView() {
|
||||||
super.initView()
|
super.initView()
|
||||||
|
|
@ -48,9 +48,9 @@ class ZZDBDetailFragment : BaseFragment<FragmentZzdbDetailBinding, ZZDBDetailVie
|
||||||
override fun initData() {
|
override fun initData() {
|
||||||
super.initData()
|
super.initData()
|
||||||
info = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
info = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||||
arguments?.getSerializable("item", ZZDBInfoBean::class.java)
|
arguments?.getSerializable("item", ZZDBInfoEntity::class.java)
|
||||||
} else {
|
} else {
|
||||||
arguments?.getSerializable("item") as? ZZDBInfoBean
|
arguments?.getSerializable("item") as? ZZDBInfoEntity
|
||||||
}
|
}
|
||||||
setBaseData()
|
setBaseData()
|
||||||
}
|
}
|
||||||
|
|
@ -179,7 +179,7 @@ class ZZDBDetailFragment : BaseFragment<FragmentZzdbDetailBinding, ZZDBDetailVie
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setDetailData(info: ZZDBInfoBean) {
|
private fun setDetailData(info: ZZDBInfoEntity) {
|
||||||
binding.tvRange.text = info.range
|
binding.tvRange.text = info.range
|
||||||
binding.tvAsset.text = info.property
|
binding.tvAsset.text = info.property
|
||||||
binding.tvPerson.text = info.person
|
binding.tvPerson.text = info.person
|
||||||
|
|
@ -203,7 +203,7 @@ class ZZDBDetailFragment : BaseFragment<FragmentZzdbDetailBinding, ZZDBDetailVie
|
||||||
setExpandStyle(info)
|
setExpandStyle(info)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setExpandStyle(info: ZZDBInfoBean) {
|
private fun setExpandStyle(info: ZZDBInfoEntity) {
|
||||||
if (isExpand) {
|
if (isExpand) {
|
||||||
binding.tvMore.text = "收起更多资质说明"
|
binding.tvMore.text = "收起更多资质说明"
|
||||||
binding.tvMore.setCompoundDrawablesWithIntrinsicBounds(0 , 0, R.mipmap.ic_more_arrow_up, 0)
|
binding.tvMore.setCompoundDrawablesWithIntrinsicBounds(0 , 0, R.mipmap.ic_more_arrow_up, 0)
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.cheng.bole.ui.fragment.main
|
package com.cheng.bole.ui.fragment.main
|
||||||
|
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import com.cheng.bole.bean.AreaBean
|
import com.cheng.bole.bean.AreaEntity
|
||||||
import com.cheng.bole.bean.UserEntity
|
import com.cheng.bole.bean.UserEntity
|
||||||
import com.cheng.bole.net.ApiFactory
|
import com.cheng.bole.net.ApiFactory
|
||||||
import com.example.base.extensions.toast
|
import com.example.base.extensions.toast
|
||||||
|
|
@ -13,7 +13,7 @@ import okhttp3.RequestBody.Companion.toRequestBody
|
||||||
class MainViewModel : BaseViewModel() {
|
class MainViewModel : BaseViewModel() {
|
||||||
val userInfoLiveData = MutableLiveData<UserEntity>()
|
val userInfoLiveData = MutableLiveData<UserEntity>()
|
||||||
|
|
||||||
val areaLiveData = MutableLiveData<List<AreaBean>>()
|
val areaLiveData = MutableLiveData<List<AreaEntity>>()
|
||||||
val getCouponLiveData = MutableLiveData<Int>()
|
val getCouponLiveData = MutableLiveData<Int>()
|
||||||
|
|
||||||
fun userInfo() {
|
fun userInfo() {
|
||||||
|
|
|
||||||
|
|
@ -3,15 +3,15 @@ package com.cheng.bole.ui.fragment.merchant
|
||||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||||
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.ContactsInfoBean
|
import com.cheng.bole.bean.ContactsEntity
|
||||||
|
|
||||||
class MerchantContactsAdapter: BaseQuickAdapter<ContactsInfoBean, BaseViewHolder>(R.layout.listitem_merchant_contacts) {
|
class MerchantContactsAdapter: BaseQuickAdapter<ContactsEntity, BaseViewHolder>(R.layout.listitem_merchant_contacts) {
|
||||||
|
|
||||||
init {
|
init {
|
||||||
addChildClickViewIds(R.id.iv_call)
|
addChildClickViewIds(R.id.iv_call)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun convert(holder: BaseViewHolder, item: ContactsInfoBean) {
|
override fun convert(holder: BaseViewHolder, item: ContactsEntity) {
|
||||||
holder.setText(R.id.tv_phone, item.phone)
|
holder.setText(R.id.tv_phone, item.phone)
|
||||||
holder.setText(R.id.tv_name, "${item.name} | ${item.job}")
|
holder.setText(R.id.tv_name, "${item.name} | ${item.job}")
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ import androidx.fragment.app.Fragment
|
||||||
import androidx.fragment.app.FragmentStatePagerAdapter
|
import androidx.fragment.app.FragmentStatePagerAdapter
|
||||||
import com.angcyo.tablayout.delegate.ViewPager1Delegate
|
import com.angcyo.tablayout.delegate.ViewPager1Delegate
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.AreaBean
|
import com.cheng.bole.bean.AreaEntity
|
||||||
import com.cheng.bole.common.Constants
|
import com.cheng.bole.common.Constants
|
||||||
import com.cheng.bole.common.EventConstants
|
import com.cheng.bole.common.EventConstants
|
||||||
import com.cheng.bole.databinding.FragmentMerchantBinding
|
import com.cheng.bole.databinding.FragmentMerchantBinding
|
||||||
|
|
@ -31,6 +31,7 @@ class MerchantFragment : BaseFragment<FragmentMerchantBinding, MerchantViewModel
|
||||||
private val keyword by lazy { arguments?.getString("keyword") ?: "" }
|
private val keyword by lazy { arguments?.getString("keyword") ?: "" }
|
||||||
|
|
||||||
private val tabText = listOf("全部", "服务", "产品", "其他")
|
private val tabText = listOf("全部", "服务", "产品", "其他")
|
||||||
|
|
||||||
private val fragmentList by lazy { mutableListOf<Fragment>() }
|
private val fragmentList by lazy { mutableListOf<Fragment>() }
|
||||||
private val pageAdapter by lazy {
|
private val pageAdapter by lazy {
|
||||||
BasePageAdapter(
|
BasePageAdapter(
|
||||||
|
|
@ -41,7 +42,7 @@ class MerchantFragment : BaseFragment<FragmentMerchantBinding, MerchantViewModel
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private var city: AreaBean? = AreaBean(0, name = "全国")
|
private var city: AreaEntity? = AreaEntity(0, name = "全国")
|
||||||
|
|
||||||
private val textWatcher = object : TextWatcherImpl() {
|
private val textWatcher = object : TextWatcherImpl() {
|
||||||
@SuppressLint("SetTextI18n")
|
@SuppressLint("SetTextI18n")
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import androidx.constraintlayout.widget.ConstraintLayout
|
||||||
import androidx.core.net.toUri
|
import androidx.core.net.toUri
|
||||||
import androidx.viewpager2.widget.ViewPager2
|
import androidx.viewpager2.widget.ViewPager2
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.MerchantGoodsBean
|
import com.cheng.bole.bean.MerchantGoodsEntity
|
||||||
import com.cheng.bole.common.Constants
|
import com.cheng.bole.common.Constants
|
||||||
import com.cheng.bole.common.EventConstants
|
import com.cheng.bole.common.EventConstants
|
||||||
import com.cheng.bole.databinding.FragmentMerchantGoodsDetailBinding
|
import com.cheng.bole.databinding.FragmentMerchantGoodsDetailBinding
|
||||||
|
|
@ -19,14 +19,16 @@ import com.cheng.bole.ui.fragment.merchant.MerchantContactsAdapter
|
||||||
import com.cheng.bole.ui.fragment.merchant.home.MerchantHomeFragment
|
import com.cheng.bole.ui.fragment.merchant.home.MerchantHomeFragment
|
||||||
import com.cheng.bole.ui.fragment.photo.PhotoViewFragment
|
import com.cheng.bole.ui.fragment.photo.PhotoViewFragment
|
||||||
import com.example.base.decoration.SpacesItemDecoration
|
import com.example.base.decoration.SpacesItemDecoration
|
||||||
|
import com.example.base.extensions.gone
|
||||||
import com.example.base.extensions.onClick
|
import com.example.base.extensions.onClick
|
||||||
|
import com.example.base.extensions.visible
|
||||||
import com.example.base.ui.BaseFragment
|
import com.example.base.ui.BaseFragment
|
||||||
import com.example.base.utils.DensityUtils
|
import com.example.base.utils.DensityUtils
|
||||||
import com.example.base.utils.SpanUtils
|
import com.example.base.utils.SpanUtils
|
||||||
import java.text.DecimalFormat
|
import java.text.DecimalFormat
|
||||||
|
|
||||||
class MerchantGoodsDetailFragment : BaseFragment<FragmentMerchantGoodsDetailBinding, MerchantGoodsDetailViewModel>() {
|
class MerchantGoodsDetailFragment : BaseFragment<FragmentMerchantGoodsDetailBinding, MerchantGoodsDetailViewModel>() {
|
||||||
private var goodsInfo: MerchantGoodsBean? = null
|
private var goodsInfo: MerchantGoodsEntity? = null
|
||||||
|
|
||||||
private val contactsAdapter by lazy { MerchantContactsAdapter() }
|
private val contactsAdapter by lazy { MerchantContactsAdapter() }
|
||||||
private val imageAdapter by lazy { MerchantGoodsImageAdapter() }
|
private val imageAdapter by lazy { MerchantGoodsImageAdapter() }
|
||||||
|
|
@ -54,9 +56,9 @@ class MerchantGoodsDetailFragment : BaseFragment<FragmentMerchantGoodsDetailBind
|
||||||
override fun initData() {
|
override fun initData() {
|
||||||
super.initData()
|
super.initData()
|
||||||
goodsInfo = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
goodsInfo = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||||
arguments?.getSerializable("item", MerchantGoodsBean::class.java)
|
arguments?.getSerializable("item", MerchantGoodsEntity::class.java)
|
||||||
} else {
|
} else {
|
||||||
arguments?.getSerializable("item") as? MerchantGoodsBean
|
arguments?.getSerializable("item") as? MerchantGoodsEntity
|
||||||
}
|
}
|
||||||
setData()
|
setData()
|
||||||
mViewModel.sendAuth()
|
mViewModel.sendAuth()
|
||||||
|
|
@ -99,10 +101,15 @@ class MerchantGoodsDetailFragment : BaseFragment<FragmentMerchantGoodsDetailBind
|
||||||
@SuppressLint("SetTextI18n")
|
@SuppressLint("SetTextI18n")
|
||||||
private fun setData() {
|
private fun setData() {
|
||||||
if (goodsInfo != null) {
|
if (goodsInfo != null) {
|
||||||
binding.tvCompanyAvatar.text = goodsInfo!!.company.company_name.substring(0, 2) + "\n" + goodsInfo!!.company.company_name.substring(2, 4)
|
if (!TextUtils.isEmpty(goodsInfo!!.company.company_name)) {
|
||||||
binding.tvCompanyName.text = goodsInfo!!.company.company_name
|
binding.tvCompanyAvatar.text = goodsInfo!!.company.company_name!!.substring(0, 2) + "\n" + goodsInfo!!.company.company_name!!.substring(2, 4)
|
||||||
binding.tvCompanyCity.text = goodsInfo!!.company.city_name
|
binding.tvCompanyName.text = goodsInfo!!.company.company_name
|
||||||
binding.tvExtra.text = if (!TextUtils.isEmpty(goodsInfo!!.company.extra?.toString())) goodsInfo!!.company.extra.toString() else "无"
|
binding.tvCompanyCity.text = goodsInfo!!.company.city_name
|
||||||
|
binding.tvExtra.text = if (!TextUtils.isEmpty(goodsInfo!!.company.extra?.toString())) goodsInfo!!.company.extra.toString() else "无"
|
||||||
|
binding.layoutCompanyInfo.visible()
|
||||||
|
} else {
|
||||||
|
binding.layoutCompanyInfo.gone()
|
||||||
|
}
|
||||||
contactsAdapter.setList(goodsInfo!!.contact)
|
contactsAdapter.setList(goodsInfo!!.contact)
|
||||||
imageAdapter.setList(goodsInfo!!.file)
|
imageAdapter.setList(goodsInfo!!.file)
|
||||||
binding.tvIndicator.text = "1/${imageAdapter.data.size}"
|
binding.tvIndicator.text = "1/${imageAdapter.data.size}"
|
||||||
|
|
|
||||||
|
|
@ -7,17 +7,15 @@ import androidx.fragment.app.Fragment
|
||||||
import androidx.fragment.app.FragmentStatePagerAdapter
|
import androidx.fragment.app.FragmentStatePagerAdapter
|
||||||
import com.angcyo.tablayout.delegate.ViewPager1Delegate
|
import com.angcyo.tablayout.delegate.ViewPager1Delegate
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.MerchantGoodsBean
|
import com.cheng.bole.bean.MerchantGoodsEntity
|
||||||
import com.cheng.bole.common.Constants
|
import com.cheng.bole.common.Constants
|
||||||
import com.cheng.bole.common.EventConstants
|
|
||||||
import com.cheng.bole.databinding.FragmentMerchantHomeBinding
|
import com.cheng.bole.databinding.FragmentMerchantHomeBinding
|
||||||
import com.cheng.bole.manager.EventReportManager
|
|
||||||
import com.cheng.bole.ui.base.BasePageAdapter
|
import com.cheng.bole.ui.base.BasePageAdapter
|
||||||
import com.cheng.bole.ui.fragment.merchant.list.MerchantGoodsListFragment
|
import com.cheng.bole.ui.fragment.merchant.list.MerchantGoodsListFragment
|
||||||
import com.example.base.ui.BaseFragment
|
import com.example.base.ui.BaseFragment
|
||||||
|
|
||||||
class MerchantHomeFragment : BaseFragment<FragmentMerchantHomeBinding, MerchantHomeViewModel>() {
|
class MerchantHomeFragment : BaseFragment<FragmentMerchantHomeBinding, MerchantHomeViewModel>() {
|
||||||
private var goodsInfo: MerchantGoodsBean? = null
|
private var goodsInfo: MerchantGoodsEntity? = null
|
||||||
|
|
||||||
private val tabText = listOf("全部", "服务", "产品", "其他")
|
private val tabText = listOf("全部", "服务", "产品", "其他")
|
||||||
private val fragmentList by lazy { mutableListOf<Fragment>() }
|
private val fragmentList by lazy { mutableListOf<Fragment>() }
|
||||||
|
|
@ -35,9 +33,9 @@ class MerchantHomeFragment : BaseFragment<FragmentMerchantHomeBinding, MerchantH
|
||||||
mTitleBar?.background = null
|
mTitleBar?.background = null
|
||||||
|
|
||||||
goodsInfo = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
goodsInfo = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||||
arguments?.getSerializable("item", MerchantGoodsBean::class.java)
|
arguments?.getSerializable("item", MerchantGoodsEntity::class.java)
|
||||||
} else {
|
} else {
|
||||||
arguments?.getSerializable("item") as? MerchantGoodsBean
|
arguments?.getSerializable("item") as? MerchantGoodsEntity
|
||||||
}
|
}
|
||||||
binding.tvTitle.text = goodsInfo?.company?.company_name
|
binding.tvTitle.text = goodsInfo?.company?.company_name
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,13 +7,16 @@ import coil.load
|
||||||
import coil.transform.RoundedCornersTransformation
|
import coil.transform.RoundedCornersTransformation
|
||||||
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.MerchantGoodsBean
|
import com.cheng.bole.bean.MerchantGoodsEntity
|
||||||
import com.cheng.bole.common.Constants
|
import com.cheng.bole.common.Constants
|
||||||
import com.example.base.ui.list.LoadMoreAdapter
|
import com.example.base.ui.list.LoadMoreAdapter
|
||||||
import com.example.base.utils.DensityUtils
|
import com.example.base.utils.DensityUtils
|
||||||
|
|
||||||
class MerchantGoodsAdapter: LoadMoreAdapter<MerchantGoodsBean>(R.layout.listitem_merchant_goods) {
|
class MerchantGoodsAdapter: LoadMoreAdapter<MerchantGoodsEntity>(R.layout.listitem_merchant_goods) {
|
||||||
override fun convert(holder: BaseViewHolder, item: MerchantGoodsBean) {
|
override fun convert(holder: BaseViewHolder, item: MerchantGoodsEntity) {
|
||||||
|
holder.getView<TextView>(R.id.tv_price).typeface = Constants.dDIN_PRO_M
|
||||||
|
holder.getView<TextView>(R.id.tv_company_avatar).typeface = Constants.almmsht
|
||||||
|
|
||||||
if (item.file.isNotEmpty()) {
|
if (item.file.isNotEmpty()) {
|
||||||
holder.getView<ImageView>(R.id.iv_cover).load(item.file[0].url){
|
holder.getView<ImageView>(R.id.iv_cover).load(item.file[0].url){
|
||||||
transformations(RoundedCornersTransformation(DensityUtils.dp2px(8f).toFloat()))
|
transformations(RoundedCornersTransformation(DensityUtils.dp2px(8f).toFloat()))
|
||||||
|
|
@ -22,11 +25,20 @@ class MerchantGoodsAdapter: LoadMoreAdapter<MerchantGoodsBean>(R.layout.listitem
|
||||||
holder.setText(R.id.tv_name, item.goods_name)
|
holder.setText(R.id.tv_name, item.goods_name)
|
||||||
holder.setText(R.id.tv_desc, item.goods_description)
|
holder.setText(R.id.tv_desc, item.goods_description)
|
||||||
holder.setText(R.id.tv_price, item.goods_price_show)
|
holder.setText(R.id.tv_price, item.goods_price_show)
|
||||||
holder.setText(R.id.tv_location, if (TextUtils.isEmpty(item.city_name)) "全国" else item.city_name)
|
|
||||||
holder.setText(R.id.tv_company_avatar, item.company.company_name.take(2) + "\n" + item.company.company_name.substring(2, 4))
|
|
||||||
holder.setText(R.id.tv_company_name, item.company.company_name)
|
|
||||||
holder.setText(R.id.tv_view_count, "已浏览 ${if (!TextUtils.isEmpty(item.view_count)) item.view_count else 0}")
|
holder.setText(R.id.tv_view_count, "已浏览 ${if (!TextUtils.isEmpty(item.view_count)) item.view_count else 0}")
|
||||||
holder.getView<TextView>(R.id.tv_price).typeface = Constants.dDIN_PRO_M
|
|
||||||
holder.getView<TextView>(R.id.tv_company_avatar).typeface = Constants.almmsht
|
holder.setGone(R.id.tv_company_avatar, true)
|
||||||
|
holder.setGone(R.id.tv_company_name, true)
|
||||||
|
holder.setGone(R.id.tv_location, true)
|
||||||
|
if (!TextUtils.isEmpty(item.company.company_name)) {
|
||||||
|
holder.setText(R.id.tv_company_avatar, item.company.company_name!!.take(2) + "\n" + item.company.company_name.substring(2, 4))
|
||||||
|
holder.setText(R.id.tv_company_name, item.company.company_name)
|
||||||
|
holder.setVisible(R.id.tv_company_avatar, true)
|
||||||
|
holder.setVisible(R.id.tv_company_name, true)
|
||||||
|
}
|
||||||
|
if (!TextUtils.isEmpty(item.company.city_name)) {
|
||||||
|
holder.setText(R.id.tv_location, if (TextUtils.isEmpty(item.city_name)) "全国" else item.city_name)
|
||||||
|
holder.setVisible(R.id.tv_location, true)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -2,7 +2,7 @@ package com.cheng.bole.ui.fragment.merchant.list
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.MerchantGoodsBean
|
import com.cheng.bole.bean.MerchantGoodsEntity
|
||||||
import com.cheng.bole.databinding.FragmentMerchantGoodsListBinding
|
import com.cheng.bole.databinding.FragmentMerchantGoodsListBinding
|
||||||
import com.cheng.bole.ui.activity.PublicActivity
|
import com.cheng.bole.ui.activity.PublicActivity
|
||||||
import com.cheng.bole.ui.fragment.merchant.detail.MerchantGoodsDetailFragment
|
import com.cheng.bole.ui.fragment.merchant.detail.MerchantGoodsDetailFragment
|
||||||
|
|
@ -11,13 +11,13 @@ import com.example.base.decoration.FirstItemOffsetDecoration
|
||||||
import com.example.base.ui.list.ListFragment
|
import com.example.base.ui.list.ListFragment
|
||||||
import com.example.base.utils.DensityUtils
|
import com.example.base.utils.DensityUtils
|
||||||
|
|
||||||
class MerchantGoodsListFragment : ListFragment<FragmentMerchantGoodsListBinding, MerchantGoodsListViewModel, MerchantGoodsBean>() {
|
class MerchantGoodsListFragment : ListFragment<FragmentMerchantGoodsListBinding, MerchantGoodsListViewModel, MerchantGoodsEntity>() {
|
||||||
private val type by lazy { arguments?.getString("type") ?: "" }
|
private val type by lazy { arguments?.getString("type") ?: "" }
|
||||||
private val userId by lazy { arguments?.getString("userId") ?: "" }
|
private val userId by lazy { arguments?.getString("userId") ?: "" }
|
||||||
|
|
||||||
private var keyword: String = ""
|
private var keyword: String = ""
|
||||||
|
|
||||||
private var item: MerchantGoodsBean? = null
|
private var item: MerchantGoodsEntity? = null
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun newInstance(type: String, userId: String = ""): MerchantGoodsListFragment {
|
fun newInstance(type: String, userId: String = ""): MerchantGoodsListFragment {
|
||||||
|
|
|
||||||
|
|
@ -2,20 +2,20 @@ package com.cheng.bole.ui.fragment.merchant.list
|
||||||
|
|
||||||
import androidx.collection.ArrayMap
|
import androidx.collection.ArrayMap
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import com.cheng.bole.bean.MerchantGoodsBean
|
import com.cheng.bole.bean.MerchantGoodsEntity
|
||||||
import com.cheng.bole.bean.UserAuthBean
|
import com.cheng.bole.bean.UserAuthEntity
|
||||||
import com.cheng.bole.net.ApiFactory
|
import com.cheng.bole.net.ApiFactory
|
||||||
import com.cheng.bole.net.model.toListResult
|
import com.cheng.bole.net.model.toListResult
|
||||||
import com.example.base.extensions.toast
|
import com.example.base.extensions.toast
|
||||||
import com.example.base.utils.L
|
import com.example.base.utils.L
|
||||||
import com.example.base.viewmodel.ListViewModel
|
import com.example.base.viewmodel.ListViewModel
|
||||||
|
|
||||||
class MerchantGoodsListViewModel: ListViewModel<MerchantGoodsBean>() {
|
class MerchantGoodsListViewModel: ListViewModel<MerchantGoodsEntity>() {
|
||||||
override suspend fun requestApi(params: ArrayMap<String, String>): Result<List<MerchantGoodsBean>> {
|
override suspend fun requestApi(params: ArrayMap<String, String>): Result<List<MerchantGoodsEntity>> {
|
||||||
return ApiFactory.apiService.searchSupplier(params).toListResult()
|
return ApiFactory.apiService.searchSupplier(params).toListResult()
|
||||||
}
|
}
|
||||||
|
|
||||||
val authLiveData = MutableLiveData<UserAuthBean>()
|
val authLiveData = MutableLiveData<UserAuthEntity>()
|
||||||
|
|
||||||
fun checkAuth() {
|
fun checkAuth() {
|
||||||
launchOnUiTryCatch({
|
launchOnUiTryCatch({
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ import com.cheng.bole.manager.UserConfigManager
|
||||||
import com.cheng.bole.ui.activity.LoginActivity
|
import com.cheng.bole.ui.activity.LoginActivity
|
||||||
import com.cheng.bole.ui.activity.PublicActivity
|
import com.cheng.bole.ui.activity.PublicActivity
|
||||||
import com.cheng.bole.ui.dialog.ShareDialog
|
import com.cheng.bole.ui.dialog.ShareDialog
|
||||||
|
import com.cheng.bole.ui.fragment.bid.publish.my.MyPublishFragment
|
||||||
import com.cheng.bole.ui.fragment.mine.auth.CompanyAuthFragment
|
import com.cheng.bole.ui.fragment.mine.auth.CompanyAuthFragment
|
||||||
import com.cheng.bole.ui.fragment.mine.favorite.FavoriteFragment
|
import com.cheng.bole.ui.fragment.mine.favorite.FavoriteFragment
|
||||||
import com.cheng.bole.ui.fragment.mine.feedback.FeedbackFragment
|
import com.cheng.bole.ui.fragment.mine.feedback.FeedbackFragment
|
||||||
|
|
@ -121,7 +122,8 @@ class MineFragment : BaseFragment<FragmentMineBinding, MineViewModel>() {
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.tvMyPublish.onClick {
|
binding.tvMyPublish.onClick {
|
||||||
|
PublicActivity.start(requireContext(), MyPublishFragment::class.java)
|
||||||
|
EventReportManager.eventReport(EventConstants.JUMP_TO_MY_PUBLISH, "", "")
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.tvAuth.onClick {
|
binding.tvAuth.onClick {
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
package com.cheng.bole.ui.fragment.mine
|
package com.cheng.bole.ui.fragment.mine
|
||||||
|
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import com.cheng.bole.bean.CompanyBean
|
import com.cheng.bole.bean.CompanyEntity
|
||||||
import com.cheng.bole.bean.UploadFileEntity
|
|
||||||
import com.cheng.bole.bean.UserEntity
|
import com.cheng.bole.bean.UserEntity
|
||||||
import com.cheng.bole.bean.WxServiceEntity
|
import com.cheng.bole.bean.WxServiceEntity
|
||||||
import com.cheng.bole.common.Constants
|
import com.cheng.bole.common.Constants
|
||||||
|
|
@ -17,7 +16,7 @@ import com.tencent.mm.opensdk.openapi.WXAPIFactory
|
||||||
|
|
||||||
class MineViewModel : BaseViewModel() {
|
class MineViewModel : BaseViewModel() {
|
||||||
val userInfoLiveData = MutableLiveData<UserEntity>()
|
val userInfoLiveData = MutableLiveData<UserEntity>()
|
||||||
val companyLiveData = MutableLiveData<CompanyBean>()
|
val companyLiveData = MutableLiveData<CompanyEntity>()
|
||||||
|
|
||||||
fun userInfo(showLoading: Boolean = false) {
|
fun userInfo(showLoading: Boolean = false) {
|
||||||
if (showLoading) showDialog()
|
if (showLoading) showDialog()
|
||||||
|
|
|
||||||
|
|
@ -8,8 +8,8 @@ import androidx.constraintlayout.widget.ConstraintLayout
|
||||||
import coil.load
|
import coil.load
|
||||||
import coil.transform.RoundedCornersTransformation
|
import coil.transform.RoundedCornersTransformation
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.AreaBean
|
import com.cheng.bole.bean.AreaEntity
|
||||||
import com.cheng.bole.bean.CompanyBean
|
import com.cheng.bole.bean.CompanyEntity
|
||||||
import com.cheng.bole.bean.UploadFileEntity
|
import com.cheng.bole.bean.UploadFileEntity
|
||||||
import com.cheng.bole.common.Constants
|
import com.cheng.bole.common.Constants
|
||||||
import com.cheng.bole.databinding.FragmentCompanyAuthBinding
|
import com.cheng.bole.databinding.FragmentCompanyAuthBinding
|
||||||
|
|
@ -18,7 +18,7 @@ import com.cheng.bole.manager.UserConfigManager
|
||||||
import com.cheng.bole.ui.activity.PublicActivity
|
import com.cheng.bole.ui.activity.PublicActivity
|
||||||
import com.cheng.bole.ui.dialog.SelectAreaDialog
|
import com.cheng.bole.ui.dialog.SelectAreaDialog
|
||||||
import com.cheng.bole.ui.dialog.SelectContactsDialog
|
import com.cheng.bole.ui.dialog.SelectContactsDialog
|
||||||
import com.cheng.bole.ui.fragment.bid.publish.bid.AddBidContactsAdapter
|
import com.cheng.bole.ui.fragment.bid.publish.AddBidContactsAdapter
|
||||||
import com.cheng.bole.ui.fragment.mine.vip.VipFragment
|
import com.cheng.bole.ui.fragment.mine.vip.VipFragment
|
||||||
import com.cheng.bole.ui.fragment.photo.PhotoViewFragment
|
import com.cheng.bole.ui.fragment.photo.PhotoViewFragment
|
||||||
import com.cheng.bole.utils.FileProviderUtils
|
import com.cheng.bole.utils.FileProviderUtils
|
||||||
|
|
@ -35,13 +35,13 @@ import com.google.gson.JsonObject
|
||||||
import okhttp3.RequestBody.Companion.toRequestBody
|
import okhttp3.RequestBody.Companion.toRequestBody
|
||||||
|
|
||||||
class CompanyAuthFragment : BaseFragment<FragmentCompanyAuthBinding, CompanyAuthViewModel>() {
|
class CompanyAuthFragment : BaseFragment<FragmentCompanyAuthBinding, CompanyAuthViewModel>() {
|
||||||
private var companyDetail: CompanyBean? = null
|
private var companyDetail: CompanyEntity? = null
|
||||||
|
|
||||||
private var image: UploadFileEntity? = null
|
private var image: UploadFileEntity? = null
|
||||||
|
|
||||||
private val contactsAdapter by lazy { AddBidContactsAdapter() }
|
private val contactsAdapter by lazy { AddBidContactsAdapter() }
|
||||||
|
|
||||||
private var city: AreaBean? = null
|
private var city: AreaEntity? = null
|
||||||
|
|
||||||
private val imageLauncher = registerForActivityResult(ActivityResultContracts.GetContent()) {
|
private val imageLauncher = registerForActivityResult(ActivityResultContracts.GetContent()) {
|
||||||
it?.let {
|
it?.let {
|
||||||
|
|
@ -202,7 +202,7 @@ class CompanyAuthFragment : BaseFragment<FragmentCompanyAuthBinding, CompanyAuth
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressLint("SetTextI18n")
|
@SuppressLint("SetTextI18n")
|
||||||
private fun setData(detail: CompanyBean) {
|
private fun setData(detail: CompanyEntity) {
|
||||||
when (detail.status) {
|
when (detail.status) {
|
||||||
"1" -> {
|
"1" -> {
|
||||||
binding.etName.isEnabled = false
|
binding.etName.isEnabled = false
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package com.cheng.bole.ui.fragment.mine.auth
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import com.cheng.bole.bean.CompanyBean
|
import com.cheng.bole.bean.CompanyEntity
|
||||||
import com.cheng.bole.bean.UploadFileEntity
|
import com.cheng.bole.bean.UploadFileEntity
|
||||||
import com.cheng.bole.net.ApiFactory
|
import com.cheng.bole.net.ApiFactory
|
||||||
import com.cheng.bole.utils.BitmapUtils
|
import com.cheng.bole.utils.BitmapUtils
|
||||||
|
|
@ -14,7 +14,7 @@ import okhttp3.MultipartBody
|
||||||
import okhttp3.RequestBody
|
import okhttp3.RequestBody
|
||||||
|
|
||||||
class CompanyAuthViewModel: BaseViewModel() {
|
class CompanyAuthViewModel: BaseViewModel() {
|
||||||
val companyLiveData = MutableLiveData<CompanyBean>()
|
val companyLiveData = MutableLiveData<CompanyEntity>()
|
||||||
val addLiveData = MutableLiveData<Any>()
|
val addLiveData = MutableLiveData<Any>()
|
||||||
val imageLiveData = MutableLiveData<UploadFileEntity>()
|
val imageLiveData = MutableLiveData<UploadFileEntity>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.cheng.bole.ui.fragment.mine.favorite
|
package com.cheng.bole.ui.fragment.mine.favorite
|
||||||
|
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.BidItemBean
|
import com.cheng.bole.bean.BidItemEntity
|
||||||
import com.cheng.bole.databinding.FragmentFavoriteBinding
|
import com.cheng.bole.databinding.FragmentFavoriteBinding
|
||||||
import com.cheng.bole.event.FavoriteEvent
|
import com.cheng.bole.event.FavoriteEvent
|
||||||
import com.cheng.bole.ui.activity.PublicActivity
|
import com.cheng.bole.ui.activity.PublicActivity
|
||||||
|
|
@ -11,8 +11,8 @@ import com.cheng.bole.ui.fragment.mine.vip.VipFragment
|
||||||
import com.example.base.common.RxBus
|
import com.example.base.common.RxBus
|
||||||
import com.example.base.ui.list.ListFragment
|
import com.example.base.ui.list.ListFragment
|
||||||
|
|
||||||
class FavoriteFragment: ListFragment<FragmentFavoriteBinding, FavoriteViewModel, BidItemBean>() {
|
class FavoriteFragment: ListFragment<FragmentFavoriteBinding, FavoriteViewModel, BidItemEntity>() {
|
||||||
private var item: BidItemBean? = null
|
private var item: BidItemEntity? = null
|
||||||
|
|
||||||
override fun noDataClick() {
|
override fun noDataClick() {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,20 +2,20 @@ package com.cheng.bole.ui.fragment.mine.favorite
|
||||||
|
|
||||||
import androidx.collection.ArrayMap
|
import androidx.collection.ArrayMap
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import com.cheng.bole.bean.BidItemBean
|
import com.cheng.bole.bean.BidItemEntity
|
||||||
import com.cheng.bole.bean.UserAuthBean
|
import com.cheng.bole.bean.UserAuthEntity
|
||||||
import com.cheng.bole.net.ApiFactory
|
import com.cheng.bole.net.ApiFactory
|
||||||
import com.cheng.bole.net.model.toListResult
|
import com.cheng.bole.net.model.toListResult
|
||||||
import com.example.base.extensions.toast
|
import com.example.base.extensions.toast
|
||||||
import com.example.base.utils.L
|
import com.example.base.utils.L
|
||||||
import com.example.base.viewmodel.ListViewModel
|
import com.example.base.viewmodel.ListViewModel
|
||||||
|
|
||||||
class FavoriteViewModel: ListViewModel<BidItemBean>() {
|
class FavoriteViewModel: ListViewModel<BidItemEntity>() {
|
||||||
override suspend fun requestApi(params: ArrayMap<String, String>): Result<List<BidItemBean>> {
|
override suspend fun requestApi(params: ArrayMap<String, String>): Result<List<BidItemEntity>> {
|
||||||
return ApiFactory.apiService.getFavoriteList().toListResult()
|
return ApiFactory.apiService.getFavoriteList().toListResult()
|
||||||
}
|
}
|
||||||
|
|
||||||
val authLiveData = MutableLiveData<UserAuthBean>()
|
val authLiveData = MutableLiveData<UserAuthEntity>()
|
||||||
|
|
||||||
fun checkAuth() {
|
fun checkAuth() {
|
||||||
launchOnUiTryCatch({
|
launchOnUiTryCatch({
|
||||||
|
|
|
||||||
|
|
@ -3,15 +3,15 @@ package com.cheng.bole.ui.fragment.mine.history
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.BidDetailBean
|
import com.cheng.bole.bean.BidDetailEntity
|
||||||
import com.cheng.bole.utils.BidTypeUtils
|
import com.cheng.bole.utils.BidTypeUtils
|
||||||
import com.cheng.bole.widget.CommonShapeView
|
import com.cheng.bole.widget.CommonShapeView
|
||||||
import com.example.base.ui.list.LoadMoreAdapter
|
import com.example.base.ui.list.LoadMoreAdapter
|
||||||
import java.text.DecimalFormat
|
import java.text.DecimalFormat
|
||||||
|
|
||||||
class HistoryAdapter: LoadMoreAdapter<BidDetailBean>(R.layout.listitem_bid) {
|
class HistoryAdapter: LoadMoreAdapter<BidDetailEntity>(R.layout.listitem_bid) {
|
||||||
|
|
||||||
override fun convert(holder: BaseViewHolder, item: BidDetailBean) {
|
override fun convert(holder: BaseViewHolder, item: BidDetailEntity) {
|
||||||
val tvTag = holder.getView<CommonShapeView>(R.id.tv_tag)
|
val tvTag = holder.getView<CommonShapeView>(R.id.tv_tag)
|
||||||
tvTag.setBgColor(BidTypeUtils.getTypeColor(item.type_name))
|
tvTag.setBgColor(BidTypeUtils.getTypeColor(item.type_name))
|
||||||
tvTag.text = BidTypeUtils.getShortName(item.type_name)
|
tvTag.text = BidTypeUtils.getShortName(item.type_name)
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
package com.cheng.bole.ui.fragment.mine.history
|
package com.cheng.bole.ui.fragment.mine.history
|
||||||
|
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.BidDetailBean
|
import com.cheng.bole.bean.BidDetailEntity
|
||||||
import com.cheng.bole.databinding.FragmentHistoryBinding
|
import com.cheng.bole.databinding.FragmentHistoryBinding
|
||||||
import com.cheng.bole.ui.activity.PublicActivity
|
import com.cheng.bole.ui.activity.PublicActivity
|
||||||
import com.cheng.bole.ui.fragment.bid.detail.BidDetailFragment
|
import com.cheng.bole.ui.fragment.bid.detail.BidDetailFragment
|
||||||
import com.cheng.bole.ui.fragment.mine.vip.VipFragment
|
import com.cheng.bole.ui.fragment.mine.vip.VipFragment
|
||||||
import com.example.base.ui.list.ListFragment
|
import com.example.base.ui.list.ListFragment
|
||||||
|
|
||||||
class HistoryFragment: ListFragment<FragmentHistoryBinding, HistoryViewModel, BidDetailBean>() {
|
class HistoryFragment: ListFragment<FragmentHistoryBinding, HistoryViewModel, BidDetailEntity>() {
|
||||||
private var item: BidDetailBean? = null
|
private var item: BidDetailEntity? = null
|
||||||
|
|
||||||
override fun noDataClick() {
|
override fun noDataClick() {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,20 +2,20 @@ package com.cheng.bole.ui.fragment.mine.history
|
||||||
|
|
||||||
import androidx.collection.ArrayMap
|
import androidx.collection.ArrayMap
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import com.cheng.bole.bean.BidDetailBean
|
import com.cheng.bole.bean.BidDetailEntity
|
||||||
import com.cheng.bole.bean.UserAuthBean
|
import com.cheng.bole.bean.UserAuthEntity
|
||||||
import com.cheng.bole.net.ApiFactory
|
import com.cheng.bole.net.ApiFactory
|
||||||
import com.cheng.bole.net.model.toListResult
|
import com.cheng.bole.net.model.toListResult
|
||||||
import com.example.base.extensions.toast
|
import com.example.base.extensions.toast
|
||||||
import com.example.base.utils.L
|
import com.example.base.utils.L
|
||||||
import com.example.base.viewmodel.ListViewModel
|
import com.example.base.viewmodel.ListViewModel
|
||||||
|
|
||||||
class HistoryViewModel: ListViewModel<BidDetailBean>() {
|
class HistoryViewModel: ListViewModel<BidDetailEntity>() {
|
||||||
override suspend fun requestApi(params: ArrayMap<String, String>): Result<List<BidDetailBean>> {
|
override suspend fun requestApi(params: ArrayMap<String, String>): Result<List<BidDetailEntity>> {
|
||||||
return ApiFactory.apiService.getViewHistoryList().toListResult()
|
return ApiFactory.apiService.getViewHistoryList().toListResult()
|
||||||
}
|
}
|
||||||
|
|
||||||
val authLiveData = MutableLiveData<UserAuthBean>()
|
val authLiveData = MutableLiveData<UserAuthEntity>()
|
||||||
|
|
||||||
fun checkAuth() {
|
fun checkAuth() {
|
||||||
launchOnUiTryCatch({
|
launchOnUiTryCatch({
|
||||||
|
|
|
||||||
|
|
@ -3,15 +3,15 @@ package com.cheng.bole.ui.fragment.mine.message
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.SubscriptionMessageBean
|
import com.cheng.bole.bean.SubscriptionMessageEntity
|
||||||
import com.cheng.bole.utils.BidTypeUtils
|
import com.cheng.bole.utils.BidTypeUtils
|
||||||
import com.cheng.bole.utils.StringUtils
|
import com.cheng.bole.utils.StringUtils
|
||||||
import com.cheng.bole.widget.CommonShapeView
|
import com.cheng.bole.widget.CommonShapeView
|
||||||
import com.example.base.ui.list.LoadMoreAdapter
|
import com.example.base.ui.list.LoadMoreAdapter
|
||||||
import java.text.DecimalFormat
|
import java.text.DecimalFormat
|
||||||
|
|
||||||
class MessageAdapter: LoadMoreAdapter<SubscriptionMessageBean>(R.layout.listitem_message) {
|
class MessageAdapter: LoadMoreAdapter<SubscriptionMessageEntity>(R.layout.listitem_message) {
|
||||||
override fun convert(holder: BaseViewHolder, item: SubscriptionMessageBean) {
|
override fun convert(holder: BaseViewHolder, item: SubscriptionMessageEntity) {
|
||||||
val tvTag = holder.getView<CommonShapeView>(R.id.tv_tag)
|
val tvTag = holder.getView<CommonShapeView>(R.id.tv_tag)
|
||||||
tvTag.setBgColor(BidTypeUtils.getTypeColor(item.extra.typeName))
|
tvTag.setBgColor(BidTypeUtils.getTypeColor(item.extra.typeName))
|
||||||
tvTag.text = BidTypeUtils.getShortName(item.extra.typeName)
|
tvTag.text = BidTypeUtils.getShortName(item.extra.typeName)
|
||||||
|
|
|
||||||
|
|
@ -2,15 +2,15 @@ package com.cheng.bole.ui.fragment.mine.message
|
||||||
|
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.SubscriptionMessageBean
|
import com.cheng.bole.bean.SubscriptionMessageEntity
|
||||||
import com.cheng.bole.databinding.FragmentMessageBinding
|
import com.cheng.bole.databinding.FragmentMessageBinding
|
||||||
import com.cheng.bole.ui.activity.PublicActivity
|
import com.cheng.bole.ui.activity.PublicActivity
|
||||||
import com.cheng.bole.ui.fragment.bid.detail.BidDetailFragment
|
import com.cheng.bole.ui.fragment.bid.detail.BidDetailFragment
|
||||||
import com.cheng.bole.ui.fragment.mine.vip.VipFragment
|
import com.cheng.bole.ui.fragment.mine.vip.VipFragment
|
||||||
import com.example.base.ui.list.ListFragment
|
import com.example.base.ui.list.ListFragment
|
||||||
|
|
||||||
class MessageFragment: ListFragment<FragmentMessageBinding, MessageViewModel, SubscriptionMessageBean>() {
|
class MessageFragment: ListFragment<FragmentMessageBinding, MessageViewModel, SubscriptionMessageEntity>() {
|
||||||
private var item: SubscriptionMessageBean? = null
|
private var item: SubscriptionMessageEntity? = null
|
||||||
|
|
||||||
override fun noDataClick() {
|
override fun noDataClick() {
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,20 +2,20 @@ package com.cheng.bole.ui.fragment.mine.message
|
||||||
|
|
||||||
import androidx.collection.ArrayMap
|
import androidx.collection.ArrayMap
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import com.cheng.bole.bean.SubscriptionMessageBean
|
import com.cheng.bole.bean.SubscriptionMessageEntity
|
||||||
import com.cheng.bole.bean.UserAuthBean
|
import com.cheng.bole.bean.UserAuthEntity
|
||||||
import com.cheng.bole.net.ApiFactory
|
import com.cheng.bole.net.ApiFactory
|
||||||
import com.cheng.bole.net.model.toListResult
|
import com.cheng.bole.net.model.toListResult
|
||||||
import com.example.base.extensions.toast
|
import com.example.base.extensions.toast
|
||||||
import com.example.base.utils.L
|
import com.example.base.utils.L
|
||||||
import com.example.base.viewmodel.ListViewModel
|
import com.example.base.viewmodel.ListViewModel
|
||||||
|
|
||||||
class MessageViewModel: ListViewModel<SubscriptionMessageBean>() {
|
class MessageViewModel: ListViewModel<SubscriptionMessageEntity>() {
|
||||||
override suspend fun requestApi(params: ArrayMap<String, String>): Result<List<SubscriptionMessageBean>> {
|
override suspend fun requestApi(params: ArrayMap<String, String>): Result<List<SubscriptionMessageEntity>> {
|
||||||
return ApiFactory.apiService.getSubscriptionMessage(params).toListResult()
|
return ApiFactory.apiService.getSubscriptionMessage(params).toListResult()
|
||||||
}
|
}
|
||||||
|
|
||||||
val authLiveData = MutableLiveData<UserAuthBean>()
|
val authLiveData = MutableLiveData<UserAuthEntity>()
|
||||||
|
|
||||||
fun checkAuth() {
|
fun checkAuth() {
|
||||||
launchOnUiTryCatch({
|
launchOnUiTryCatch({
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import android.text.TextUtils
|
||||||
import androidx.activity.result.contract.ActivityResultContracts
|
import androidx.activity.result.contract.ActivityResultContracts
|
||||||
import coil.load
|
import coil.load
|
||||||
import coil.transform.RoundedCornersTransformation
|
import coil.transform.RoundedCornersTransformation
|
||||||
import com.cheng.bole.bean.OrderBean
|
import com.cheng.bole.bean.OrderEntity
|
||||||
import com.cheng.bole.databinding.FragmentCertificateBinding
|
import com.cheng.bole.databinding.FragmentCertificateBinding
|
||||||
import com.cheng.bole.event.OrderEvent
|
import com.cheng.bole.event.OrderEvent
|
||||||
import com.cheng.bole.ui.activity.PublicActivity
|
import com.cheng.bole.ui.activity.PublicActivity
|
||||||
|
|
@ -28,8 +28,8 @@ import java.text.DecimalFormat
|
||||||
class CertificateFragment: BaseFragment<FragmentCertificateBinding, CertificateViewModel>() {
|
class CertificateFragment: BaseFragment<FragmentCertificateBinding, CertificateViewModel>() {
|
||||||
private val orderId by lazy { arguments?.getString("orderId") ?: "" }
|
private val orderId by lazy { arguments?.getString("orderId") ?: "" }
|
||||||
|
|
||||||
private var orderInfo: OrderBean? = null
|
private var orderInfo: OrderEntity? = null
|
||||||
private var transInfo: OrderBean.TransInfo? = null
|
private var transInfo: OrderEntity.TransInfo? = null
|
||||||
|
|
||||||
private var imagePath: String? = null
|
private var imagePath: String? = null
|
||||||
|
|
||||||
|
|
@ -97,7 +97,7 @@ class CertificateFragment: BaseFragment<FragmentCertificateBinding, CertificateV
|
||||||
mViewModel.orderLiveData.observe(this) {
|
mViewModel.orderLiveData.observe(this) {
|
||||||
orderInfo = it
|
orderInfo = it
|
||||||
if (!TextUtils.isEmpty(it.pay_params)) {
|
if (!TextUtils.isEmpty(it.pay_params)) {
|
||||||
transInfo = Gson().fromJson(it.pay_params, OrderBean.TransInfo::class.java)
|
transInfo = Gson().fromJson(it.pay_params, OrderEntity.TransInfo::class.java)
|
||||||
setTransInfo()
|
setTransInfo()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package com.cheng.bole.ui.fragment.mine.order.cert
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import com.cheng.bole.bean.OrderBean
|
import com.cheng.bole.bean.OrderEntity
|
||||||
import com.cheng.bole.bean.UploadFileEntity
|
import com.cheng.bole.bean.UploadFileEntity
|
||||||
import com.cheng.bole.net.ApiFactory
|
import com.cheng.bole.net.ApiFactory
|
||||||
import com.cheng.bole.utils.BitmapUtils
|
import com.cheng.bole.utils.BitmapUtils
|
||||||
|
|
@ -14,7 +14,7 @@ import okhttp3.MultipartBody
|
||||||
import okhttp3.RequestBody
|
import okhttp3.RequestBody
|
||||||
|
|
||||||
class CertificateViewModel : BaseViewModel() {
|
class CertificateViewModel : BaseViewModel() {
|
||||||
val orderLiveData = MutableLiveData<OrderBean>()
|
val orderLiveData = MutableLiveData<OrderEntity>()
|
||||||
val updateLiveData = MutableLiveData<Any>()
|
val updateLiveData = MutableLiveData<Any>()
|
||||||
val imageLiveData = MutableLiveData<UploadFileEntity>()
|
val imageLiveData = MutableLiveData<UploadFileEntity>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import android.graphics.Color
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.OrderBean
|
import com.cheng.bole.bean.OrderEntity
|
||||||
import com.cheng.bole.databinding.FragmentInvoiceBinding
|
import com.cheng.bole.databinding.FragmentInvoiceBinding
|
||||||
import com.cheng.bole.event.OrderEvent
|
import com.cheng.bole.event.OrderEvent
|
||||||
import com.example.base.common.RxBus
|
import com.example.base.common.RxBus
|
||||||
|
|
@ -21,7 +21,7 @@ class InvoiceFragment : BaseFragment<FragmentInvoiceBinding, InvoiceViewModel>()
|
||||||
private var userType = 0 // 0 企业 1 个人
|
private var userType = 0 // 0 企业 1 个人
|
||||||
private var invoiceType = 0 // 0 普票 1 专票
|
private var invoiceType = 0 // 0 普票 1 专票
|
||||||
|
|
||||||
private var orderInfo: OrderBean? = null
|
private var orderInfo: OrderEntity? = null
|
||||||
|
|
||||||
override fun initView() {
|
override fun initView() {
|
||||||
super.initView()
|
super.initView()
|
||||||
|
|
@ -32,9 +32,9 @@ class InvoiceFragment : BaseFragment<FragmentInvoiceBinding, InvoiceViewModel>()
|
||||||
override fun initData() {
|
override fun initData() {
|
||||||
super.initData()
|
super.initData()
|
||||||
orderInfo = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
orderInfo = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||||
arguments?.getSerializable("item", OrderBean::class.java)
|
arguments?.getSerializable("item", OrderEntity::class.java)
|
||||||
} else {
|
} else {
|
||||||
arguments?.getSerializable("item") as? OrderBean
|
arguments?.getSerializable("item") as? OrderEntity
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.tvAmount.text = DecimalFormat("0.00").format(orderInfo!!.total_fee.toFloat())
|
binding.tvAmount.text = DecimalFormat("0.00").format(orderInfo!!.total_fee.toFloat())
|
||||||
|
|
|
||||||
|
|
@ -5,17 +5,17 @@ import android.text.TextUtils
|
||||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||||
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.OrderBean
|
import com.cheng.bole.bean.OrderEntity
|
||||||
import com.cheng.bole.widget.CommonShapeView
|
import com.cheng.bole.widget.CommonShapeView
|
||||||
import java.text.DecimalFormat
|
import java.text.DecimalFormat
|
||||||
|
|
||||||
class OrderAdapter : BaseQuickAdapter<OrderBean, BaseViewHolder>(R.layout.listitem_order) {
|
class OrderAdapter : BaseQuickAdapter<OrderEntity, BaseViewHolder>(R.layout.listitem_order) {
|
||||||
|
|
||||||
init {
|
init {
|
||||||
addChildClickViewIds(R.id.btn_invoice, R.id.btn_certificate)
|
addChildClickViewIds(R.id.btn_invoice, R.id.btn_certificate)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun convert(holder: BaseViewHolder, item: OrderBean) {
|
override fun convert(holder: BaseViewHolder, item: OrderEntity) {
|
||||||
holder.setText(R.id.tv_name, item.goods_name)
|
holder.setText(R.id.tv_name, item.goods_name)
|
||||||
holder.setText(R.id.tv_order_no, item.out_trade_no)
|
holder.setText(R.id.tv_order_no, item.out_trade_no)
|
||||||
holder.setText(
|
holder.setText(
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
package com.cheng.bole.ui.fragment.mine.order.list
|
package com.cheng.bole.ui.fragment.mine.order.list
|
||||||
|
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import com.cheng.bole.bean.OrderBean
|
import com.cheng.bole.bean.OrderEntity
|
||||||
import com.cheng.bole.net.ApiFactory
|
import com.cheng.bole.net.ApiFactory
|
||||||
import com.example.base.extensions.toast
|
import com.example.base.extensions.toast
|
||||||
import com.example.base.utils.L
|
import com.example.base.utils.L
|
||||||
import com.example.base.viewmodel.BaseViewModel
|
import com.example.base.viewmodel.BaseViewModel
|
||||||
|
|
||||||
class OrderListViewModel : BaseViewModel() {
|
class OrderListViewModel : BaseViewModel() {
|
||||||
val orderLiveData = MutableLiveData<List<OrderBean>>()
|
val orderLiveData = MutableLiveData<List<OrderEntity>>()
|
||||||
|
|
||||||
fun getOrderList(status: String) {
|
fun getOrderList(status: String) {
|
||||||
showDialog()
|
showDialog()
|
||||||
|
|
|
||||||
|
|
@ -7,15 +7,15 @@ import coil.transform.CircleCropTransformation
|
||||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||||
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.SeatItemBean
|
import com.cheng.bole.bean.SeatItemEntity
|
||||||
|
|
||||||
class SeatManageAdapter: BaseQuickAdapter<SeatItemBean, BaseViewHolder>(R.layout.listitem_seat_manage) {
|
class SeatManageAdapter: BaseQuickAdapter<SeatItemEntity, BaseViewHolder>(R.layout.listitem_seat_manage) {
|
||||||
|
|
||||||
init {
|
init {
|
||||||
addChildClickViewIds(R.id.btn_delete)
|
addChildClickViewIds(R.id.btn_delete)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun convert(holder: BaseViewHolder, item: SeatItemBean) {
|
override fun convert(holder: BaseViewHolder, item: SeatItemEntity) {
|
||||||
holder.getView<ImageView>(R.id.iv_avatar).load(item.avatar) {
|
holder.getView<ImageView>(R.id.iv_avatar).load(item.avatar) {
|
||||||
transformations(CircleCropTransformation())
|
transformations(CircleCropTransformation())
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package com.cheng.bole.ui.fragment.mine.seat
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.CorpInfoBean
|
import com.cheng.bole.bean.CorpEntity
|
||||||
import com.cheng.bole.databinding.FragmentSeatManageBinding
|
import com.cheng.bole.databinding.FragmentSeatManageBinding
|
||||||
import com.cheng.bole.event.PaySuccessEvent
|
import com.cheng.bole.event.PaySuccessEvent
|
||||||
import com.cheng.bole.manager.DialogEnum
|
import com.cheng.bole.manager.DialogEnum
|
||||||
|
|
@ -22,7 +22,7 @@ class SeatManageFragment: BaseFragment<FragmentSeatManageBinding, SeatManageView
|
||||||
private val mEmptyView by lazy { EmptyView(requireContext()) }
|
private val mEmptyView by lazy { EmptyView(requireContext()) }
|
||||||
private val mAdapter by lazy { SeatManageAdapter() }
|
private val mAdapter by lazy { SeatManageAdapter() }
|
||||||
|
|
||||||
private var corpInfo: CorpInfoBean? = null
|
private var corpInfo: CorpEntity? = null
|
||||||
|
|
||||||
private var seatDialog: BuySeatDialog? = null
|
private var seatDialog: BuySeatDialog? = null
|
||||||
private var dismissDialog = false
|
private var dismissDialog = false
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
package com.cheng.bole.ui.fragment.mine.seat
|
package com.cheng.bole.ui.fragment.mine.seat
|
||||||
|
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import com.cheng.bole.bean.CorpInfoBean
|
import com.cheng.bole.bean.CorpEntity
|
||||||
import com.cheng.bole.bean.SeatItemBean
|
import com.cheng.bole.bean.SeatItemEntity
|
||||||
import com.cheng.bole.bean.VipGoodsEntity
|
import com.cheng.bole.bean.VipGoodsEntity
|
||||||
import com.cheng.bole.net.ApiFactory
|
import com.cheng.bole.net.ApiFactory
|
||||||
import com.example.base.extensions.toast
|
import com.example.base.extensions.toast
|
||||||
|
|
@ -12,8 +12,8 @@ import okhttp3.RequestBody
|
||||||
|
|
||||||
class SeatManageViewModel: BaseViewModel() {
|
class SeatManageViewModel: BaseViewModel() {
|
||||||
val goodsLiveData = MutableLiveData<List<VipGoodsEntity>>()
|
val goodsLiveData = MutableLiveData<List<VipGoodsEntity>>()
|
||||||
val corpInfoLiveData = MutableLiveData<CorpInfoBean>()
|
val corpInfoLiveData = MutableLiveData<CorpEntity>()
|
||||||
val seatListLiveData = MutableLiveData<List<SeatItemBean>>()
|
val seatListLiveData = MutableLiveData<List<SeatItemEntity>>()
|
||||||
val addLiveData = MutableLiveData<Any>()
|
val addLiveData = MutableLiveData<Any>()
|
||||||
val deleteLiveData = MutableLiveData<Any>()
|
val deleteLiveData = MutableLiveData<Any>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ import androidx.recyclerview.widget.GridLayoutManager
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.CorpInfoBean
|
import com.cheng.bole.bean.CorpEntity
|
||||||
import com.cheng.bole.bean.OrderPayEntity
|
import com.cheng.bole.bean.OrderPayEntity
|
||||||
import com.cheng.bole.bean.UserEntity
|
import com.cheng.bole.bean.UserEntity
|
||||||
import com.cheng.bole.bean.VipGoodsEntity
|
import com.cheng.bole.bean.VipGoodsEntity
|
||||||
|
|
@ -76,7 +76,7 @@ class VipFragment : BaseFragment<FragmentVipBinding, VipViewModel>() {
|
||||||
private var userInfo: UserEntity? = null
|
private var userInfo: UserEntity? = null
|
||||||
private var goodsEntity: VipGoodsEntity? = null
|
private var goodsEntity: VipGoodsEntity? = null
|
||||||
private var orderEntity: OrderPayEntity? = null
|
private var orderEntity: OrderPayEntity? = null
|
||||||
private var corpInfo: CorpInfoBean? = null
|
private var corpInfo: CorpEntity? = null
|
||||||
|
|
||||||
private var payTypeCheckedRes = R.mipmap.ic_pay_checked1
|
private var payTypeCheckedRes = R.mipmap.ic_pay_checked1
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.cheng.bole.ui.fragment.mine.vip
|
package com.cheng.bole.ui.fragment.mine.vip
|
||||||
|
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import com.cheng.bole.bean.CorpInfoBean
|
import com.cheng.bole.bean.CorpEntity
|
||||||
import com.cheng.bole.bean.CouponEntity
|
import com.cheng.bole.bean.CouponEntity
|
||||||
import com.cheng.bole.bean.OrderPayEntity
|
import com.cheng.bole.bean.OrderPayEntity
|
||||||
import com.cheng.bole.bean.UserEntity
|
import com.cheng.bole.bean.UserEntity
|
||||||
|
|
@ -17,7 +17,7 @@ import okhttp3.RequestBody.Companion.toRequestBody
|
||||||
class VipViewModel : BaseViewModel() {
|
class VipViewModel : BaseViewModel() {
|
||||||
val userInfoLiveData = MutableLiveData<UserEntity>()
|
val userInfoLiveData = MutableLiveData<UserEntity>()
|
||||||
val goodsListLiveData = MutableLiveData<List<VipGoodsEntity>>()
|
val goodsListLiveData = MutableLiveData<List<VipGoodsEntity>>()
|
||||||
val corpInfoLiveData = MutableLiveData<CorpInfoBean>()
|
val corpInfoLiveData = MutableLiveData<CorpEntity>()
|
||||||
val createOrderLiveData = MutableLiveData<OrderPayEntity>()
|
val createOrderLiveData = MutableLiveData<OrderPayEntity>()
|
||||||
val payTipsLiveData = MutableLiveData<List<String>>()
|
val payTipsLiveData = MutableLiveData<List<String>>()
|
||||||
val couponListLiveData = MutableLiveData<List<CouponEntity>>()
|
val couponListLiveData = MutableLiveData<List<CouponEntity>>()
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,16 @@
|
||||||
package com.cheng.bole.ui.fragment.push
|
package com.cheng.bole.ui.fragment.push
|
||||||
|
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import com.cheng.bole.bean.BidTypeBean
|
import com.cheng.bole.bean.BidTypeEntity
|
||||||
import com.cheng.bole.bean.SubscriptionBean
|
import com.cheng.bole.bean.SubscriptionEntity
|
||||||
import com.cheng.bole.net.ApiFactory
|
import com.cheng.bole.net.ApiFactory
|
||||||
import com.example.base.extensions.toast
|
import com.example.base.extensions.toast
|
||||||
import com.example.base.utils.L
|
import com.example.base.utils.L
|
||||||
import com.example.base.viewmodel.BaseViewModel
|
import com.example.base.viewmodel.BaseViewModel
|
||||||
|
|
||||||
class PushViewModel : BaseViewModel() {
|
class PushViewModel : BaseViewModel() {
|
||||||
val subscribeLiveData = MutableLiveData<List<SubscriptionBean>>()
|
val subscribeLiveData = MutableLiveData<List<SubscriptionEntity>>()
|
||||||
val typeLiveData = MutableLiveData<List<BidTypeBean>>()
|
val typeLiveData = MutableLiveData<List<BidTypeEntity>>()
|
||||||
|
|
||||||
fun getSubscriptionList() {
|
fun getSubscriptionList() {
|
||||||
showDialog()
|
showDialog()
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,8 @@ import android.view.Gravity
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import com.angcyo.tablayout.DslTabLayout
|
import com.angcyo.tablayout.DslTabLayout
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.BidItemBean
|
import com.cheng.bole.bean.BidItemEntity
|
||||||
import com.cheng.bole.bean.BidTypeBean
|
import com.cheng.bole.bean.BidTypeEntity
|
||||||
import com.cheng.bole.common.Constants
|
import com.cheng.bole.common.Constants
|
||||||
import com.cheng.bole.common.EventConstants
|
import com.cheng.bole.common.EventConstants
|
||||||
import com.cheng.bole.databinding.FragmentPushListBinding
|
import com.cheng.bole.databinding.FragmentPushListBinding
|
||||||
|
|
@ -24,11 +24,11 @@ import com.example.base.utils.DensityUtils
|
||||||
import com.example.base.widget.PageStatus
|
import com.example.base.widget.PageStatus
|
||||||
import androidx.core.view.isNotEmpty
|
import androidx.core.view.isNotEmpty
|
||||||
|
|
||||||
class PushListFragment : ListFragment<FragmentPushListBinding, PushListViewModel, BidItemBean>() {
|
class PushListFragment : ListFragment<FragmentPushListBinding, PushListViewModel, BidItemEntity>() {
|
||||||
private val subId by lazy { arguments?.getString("subId") ?: "" }
|
private val subId by lazy { arguments?.getString("subId") ?: "" }
|
||||||
private val bidType by lazy { UserConfigManager.getBidTypes() }
|
private val bidType by lazy { UserConfigManager.getBidTypes() }
|
||||||
|
|
||||||
private var item: BidItemBean? = null
|
private var item: BidItemEntity? = null
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun newInstance(subId: String): PushListFragment {
|
fun newInstance(subId: String): PushListFragment {
|
||||||
|
|
@ -101,7 +101,7 @@ class PushListFragment : ListFragment<FragmentPushListBinding, PushListViewModel
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun createTab(type: BidTypeBean): TextView {
|
private fun createTab(type: BidTypeEntity): TextView {
|
||||||
val tvTab = TextView(requireContext())
|
val tvTab = TextView(requireContext())
|
||||||
tvTab.text = type.name
|
tvTab.text = type.name
|
||||||
tvTab.gravity = Gravity.CENTER
|
tvTab.gravity = Gravity.CENTER
|
||||||
|
|
|
||||||
|
|
@ -2,20 +2,20 @@ package com.cheng.bole.ui.fragment.push.list
|
||||||
|
|
||||||
import androidx.collection.ArrayMap
|
import androidx.collection.ArrayMap
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import com.cheng.bole.bean.BidItemBean
|
import com.cheng.bole.bean.BidItemEntity
|
||||||
import com.cheng.bole.bean.UserAuthBean
|
import com.cheng.bole.bean.UserAuthEntity
|
||||||
import com.cheng.bole.net.ApiFactory
|
import com.cheng.bole.net.ApiFactory
|
||||||
import com.cheng.bole.net.model.toListResult
|
import com.cheng.bole.net.model.toListResult
|
||||||
import com.example.base.extensions.toast
|
import com.example.base.extensions.toast
|
||||||
import com.example.base.utils.L
|
import com.example.base.utils.L
|
||||||
import com.example.base.viewmodel.ListViewModel
|
import com.example.base.viewmodel.ListViewModel
|
||||||
|
|
||||||
class PushListViewModel: ListViewModel<BidItemBean>() {
|
class PushListViewModel: ListViewModel<BidItemEntity>() {
|
||||||
override suspend fun requestApi(params: ArrayMap<String, String>): Result<List<BidItemBean>> {
|
override suspend fun requestApi(params: ArrayMap<String, String>): Result<List<BidItemEntity>> {
|
||||||
return ApiFactory.apiService.getRecommendList(params).toListResult()
|
return ApiFactory.apiService.getRecommendList(params).toListResult()
|
||||||
}
|
}
|
||||||
|
|
||||||
val authLiveData = MutableLiveData<UserAuthBean>()
|
val authLiveData = MutableLiveData<UserAuthEntity>()
|
||||||
|
|
||||||
fun checkAuth() {
|
fun checkAuth() {
|
||||||
launchOnUiTryCatch({
|
launchOnUiTryCatch({
|
||||||
|
|
|
||||||
|
|
@ -4,16 +4,16 @@ import androidx.recyclerview.widget.RecyclerView
|
||||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||||
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.SubscriptionBean
|
import com.cheng.bole.bean.SubscriptionEntity
|
||||||
import com.cheng.bole.manager.UserConfigManager
|
import com.cheng.bole.manager.UserConfigManager
|
||||||
|
|
||||||
class SubscribeAdapter: BaseQuickAdapter<SubscriptionBean, BaseViewHolder>(R.layout.listitem_subscribe) {
|
class SubscribeAdapter: BaseQuickAdapter<SubscriptionEntity, BaseViewHolder>(R.layout.listitem_subscribe) {
|
||||||
|
|
||||||
init {
|
init {
|
||||||
addChildClickViewIds(R.id.tv_delete, R.id.tv_edit)
|
addChildClickViewIds(R.id.tv_delete, R.id.tv_edit)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun convert(holder: BaseViewHolder, item: SubscriptionBean) {
|
override fun convert(holder: BaseViewHolder, item: SubscriptionEntity) {
|
||||||
holder.setText(R.id.tv_name, item.name)
|
holder.setText(R.id.tv_name, item.name)
|
||||||
|
|
||||||
val rvKeyword = holder.getView<RecyclerView>(R.id.rv_keywords)
|
val rvKeyword = holder.getView<RecyclerView>(R.id.rv_keywords)
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
package com.cheng.bole.ui.fragment.push.subscribe
|
package com.cheng.bole.ui.fragment.push.subscribe
|
||||||
|
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import com.cheng.bole.bean.SubscriptionBean
|
import com.cheng.bole.bean.SubscriptionEntity
|
||||||
import com.cheng.bole.net.ApiFactory
|
import com.cheng.bole.net.ApiFactory
|
||||||
import com.example.base.extensions.toast
|
import com.example.base.extensions.toast
|
||||||
import com.example.base.utils.L
|
import com.example.base.utils.L
|
||||||
import com.example.base.viewmodel.BaseViewModel
|
import com.example.base.viewmodel.BaseViewModel
|
||||||
|
|
||||||
class SubscribeViewModel: BaseViewModel() {
|
class SubscribeViewModel: BaseViewModel() {
|
||||||
val subscribeLiveData = MutableLiveData<List<SubscriptionBean>>()
|
val subscribeLiveData = MutableLiveData<List<SubscriptionEntity>>()
|
||||||
val deleteLiveData = MutableLiveData<Any>()
|
val deleteLiveData = MutableLiveData<Any>()
|
||||||
|
|
||||||
fun getSubscriptionList() {
|
fun getSubscriptionList() {
|
||||||
|
|
|
||||||
|
|
@ -7,10 +7,10 @@ import android.text.TextUtils
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.animation.RotateAnimation
|
import android.view.animation.RotateAnimation
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.AreaBean
|
import com.cheng.bole.bean.AreaEntity
|
||||||
import com.cheng.bole.bean.HotWordBean
|
import com.cheng.bole.bean.HotWordEntity
|
||||||
import com.cheng.bole.bean.SourceBean
|
import com.cheng.bole.bean.SourceEntity
|
||||||
import com.cheng.bole.bean.SubscriptionBean
|
import com.cheng.bole.bean.SubscriptionEntity
|
||||||
import com.cheng.bole.databinding.FragmentAddSubscribeBinding
|
import com.cheng.bole.databinding.FragmentAddSubscribeBinding
|
||||||
import com.cheng.bole.event.SourceDataEvent
|
import com.cheng.bole.event.SourceDataEvent
|
||||||
import com.cheng.bole.event.SubscriptionEvent
|
import com.cheng.bole.event.SubscriptionEvent
|
||||||
|
|
@ -42,13 +42,13 @@ import okhttp3.RequestBody.Companion.toRequestBody
|
||||||
|
|
||||||
class AddSubscribeFragment : BaseFragment<FragmentAddSubscribeBinding, AddSubscribeViewModel>() {
|
class AddSubscribeFragment : BaseFragment<FragmentAddSubscribeBinding, AddSubscribeViewModel>() {
|
||||||
private val type by lazy { arguments?.getInt("type") ?: 1 } // 1 地区 2 数据源
|
private val type by lazy { arguments?.getInt("type") ?: 1 } // 1 地区 2 数据源
|
||||||
private var subscription: SubscriptionBean? = null
|
private var subscription: SubscriptionEntity? = null
|
||||||
|
|
||||||
private val selectedKeywordAdapter by lazy { SelectedKeywordAdapter() }
|
private val selectedKeywordAdapter by lazy { SelectedKeywordAdapter() }
|
||||||
private val keywordAdapter by lazy { RecommendKeywordAdapter() }
|
private val keywordAdapter by lazy { RecommendKeywordAdapter() }
|
||||||
|
|
||||||
private val selectedCity = arrayListOf<AreaBean>()
|
private val selectedCity = arrayListOf<AreaEntity>()
|
||||||
private val selectedSource = arrayListOf<SourceBean>()
|
private val selectedSource = arrayListOf<SourceEntity>()
|
||||||
|
|
||||||
private var pushType = 3 //1 短信 2 邮箱 3 app推送
|
private var pushType = 3 //1 短信 2 邮箱 3 app推送
|
||||||
|
|
||||||
|
|
@ -70,9 +70,9 @@ class AddSubscribeFragment : BaseFragment<FragmentAddSubscribeBinding, AddSubscr
|
||||||
override fun initData() {
|
override fun initData() {
|
||||||
super.initData()
|
super.initData()
|
||||||
subscription = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
subscription = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||||
arguments?.getSerializable("item", SubscriptionBean::class.java)
|
arguments?.getSerializable("item", SubscriptionEntity::class.java)
|
||||||
} else {
|
} else {
|
||||||
arguments?.getSerializable("item") as? SubscriptionBean
|
arguments?.getSerializable("item") as? SubscriptionEntity
|
||||||
}
|
}
|
||||||
setData()
|
setData()
|
||||||
|
|
||||||
|
|
@ -205,9 +205,9 @@ class AddSubscribeFragment : BaseFragment<FragmentAddSubscribeBinding, AddSubscr
|
||||||
override fun initObserve() {
|
override fun initObserve() {
|
||||||
super.initObserve()
|
super.initObserve()
|
||||||
mViewModel.keywordsLiveData.observe(this) {
|
mViewModel.keywordsLiveData.observe(this) {
|
||||||
val list = mutableListOf<HotWordBean.Child>()
|
val list = mutableListOf<HotWordEntity.Child>()
|
||||||
it.forEach { keyword ->
|
it.forEach { keyword ->
|
||||||
list.add(HotWordBean.Child(name = keyword))
|
list.add(HotWordEntity.Child(name = keyword))
|
||||||
}
|
}
|
||||||
keywordAdapter.setList(list)
|
keywordAdapter.setList(list)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.cheng.bole.ui.fragment.push.subscribe.add
|
package com.cheng.bole.ui.fragment.push.subscribe.add
|
||||||
|
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import com.cheng.bole.bean.UserAuthBean
|
import com.cheng.bole.bean.UserAuthEntity
|
||||||
import com.cheng.bole.net.ApiFactory
|
import com.cheng.bole.net.ApiFactory
|
||||||
import com.example.base.extensions.toast
|
import com.example.base.extensions.toast
|
||||||
import com.example.base.utils.L
|
import com.example.base.utils.L
|
||||||
|
|
@ -57,7 +57,7 @@ class AddSubscribeViewModel : BaseViewModel() {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
val authLiveData = MutableLiveData<UserAuthBean>()
|
val authLiveData = MutableLiveData<UserAuthEntity>()
|
||||||
|
|
||||||
fun checkAuth() {
|
fun checkAuth() {
|
||||||
launchOnUiTryCatch({
|
launchOnUiTryCatch({
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,10 @@ package com.cheng.bole.ui.fragment.push.subscribe.add
|
||||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||||
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.HotWordBean
|
import com.cheng.bole.bean.HotWordEntity
|
||||||
|
|
||||||
class RecommendKeywordAdapter: BaseQuickAdapter<HotWordBean.Child, BaseViewHolder>(R.layout.listitem_recommend_keywords) {
|
class RecommendKeywordAdapter: BaseQuickAdapter<HotWordEntity.Child, BaseViewHolder>(R.layout.listitem_recommend_keywords) {
|
||||||
override fun convert(holder: BaseViewHolder, item: HotWordBean.Child) {
|
override fun convert(holder: BaseViewHolder, item: HotWordEntity.Child) {
|
||||||
holder.setText(R.id.tv_name, item.name)
|
holder.setText(R.id.tv_name, item.name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -3,10 +3,10 @@ package com.cheng.bole.ui.fragment.push.subscribe.source
|
||||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||||
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
||||||
import com.cheng.bole.R
|
import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.SourceBean
|
import com.cheng.bole.bean.SourceEntity
|
||||||
|
|
||||||
class RecommendSourceAdapter: BaseQuickAdapter<SourceBean, BaseViewHolder>(R.layout.listitem_recommend_source) {
|
class RecommendSourceAdapter: BaseQuickAdapter<SourceEntity, BaseViewHolder>(R.layout.listitem_recommend_source) {
|
||||||
override fun convert(holder: BaseViewHolder, item: SourceBean) {
|
override fun convert(holder: BaseViewHolder, item: SourceEntity) {
|
||||||
holder.setText(R.id.tv_name, item.name)
|
holder.setText(R.id.tv_name, item.name)
|
||||||
when(holder.layoutPosition) {
|
when(holder.layoutPosition) {
|
||||||
0 -> {
|
0 -> {
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue