QueryTwoFragment.kt 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457
  1. package xn.hxp.ui.fragments
  2. import android.os.Bundle
  3. import android.view.LayoutInflater
  4. import android.view.View
  5. import android.view.ViewGroup
  6. import androidx.core.content.ContextCompat
  7. import androidx.recyclerview.widget.LinearLayoutManager
  8. import androidx.viewbinding.ViewBinding
  9. import xn.hxp.app.ChemicalApp
  10. import xn.hxp.R
  11. import xn.hxp.databinding.FragmentQueryTwoBinding
  12. import xn.hxp.ui.adapter.UesItemDetail
  13. import com.blankj.utilcode.util.LogUtils
  14. import com.rc.core.ui.fragment.BaseFragment
  15. import com.rc.httpcore.bean.HxpStockWaitListBean
  16. import com.rc.httpcore.bean.QueryTwoBean
  17. import com.rc.httpcore.client.ApiRepository
  18. //查询-详情列表
  19. class QueryTwoFragment : BaseFragment() {
  20. private val mAdapterUse by lazy { UesItemDetail() } //化学品信息
  21. private var mPages = 1 //总页码
  22. private var mDataPage = 10 //返回得总条数
  23. private var page = 1
  24. private var pageSize = 10
  25. private var mStockId: String? = null
  26. private var mChemicalId: String? = null //化学品id
  27. private var mCabinetId: String? = null
  28. private var mDoorId: String? = null
  29. companion object {
  30. fun newInstance(): QueryTwoFragment {
  31. return QueryTwoFragment()
  32. }
  33. }
  34. lateinit var viewBinding: FragmentQueryTwoBinding
  35. override fun setViewBinding(inflater: LayoutInflater, container: ViewGroup?): ViewBinding {
  36. viewBinding = FragmentQueryTwoBinding.inflate(inflater, container, false)
  37. return viewBinding
  38. }
  39. override fun onInit() {
  40. viewBinding.rvUse?.layoutManager = LinearLayoutManager(requireActivity())
  41. viewBinding.rvUse?.adapter = mAdapterUse
  42. viewBinding.butUpper.setOnClickListener {
  43. //上一页
  44. if (mDataPage != 0) {
  45. if (page != 1) {
  46. page--
  47. getList()
  48. }
  49. }
  50. }
  51. viewBinding.butNext.setOnClickListener {
  52. //下一页
  53. if (mDataPage != 0) {
  54. if (mDataPage != page) {
  55. page++
  56. getList()
  57. }
  58. }
  59. }
  60. }
  61. private fun getList() {
  62. showLoading("查询中...")
  63. val mutableMap = mutableMapOf<String, String>()
  64. // mutableMap["stockId"] = mStockId!!
  65. mutableMap["chemicalId"] = mChemicalId!!
  66. mutableMap["subId"] = ChemicalApp.subjectId!!
  67. if (mCabinetId != null) {
  68. mutableMap["cabinetId"] = "$mCabinetId"
  69. }
  70. if (mDoorId != null) {
  71. mutableMap["doorId"] = "$mDoorId"
  72. }
  73. mutableMap["page"] = "$page"
  74. mutableMap["pageSize"] = "$pageSize"
  75. val disposable = ApiRepository.indexDetailsList(mutableMap)
  76. .subscribe({ data ->
  77. dismissLoading()
  78. mDataPage = data.pages //总页
  79. if (data.pages != 0) {
  80. if (data.pages > 1 && data.current > 1) {
  81. //当前需要更新页码
  82. upPagesView(data.pages, data.current)
  83. mAdapterUse.setList(data.records.toMutableList())
  84. } else {
  85. mAdapterUse.setNewInstance(data.records.toMutableList())
  86. initPagesView(data.pages)
  87. }
  88. }
  89. }, { throwable ->
  90. dismissLoading()
  91. showNetError(throwable)
  92. })
  93. addDisposable(disposable)
  94. }
  95. fun setData(
  96. stockId: String,
  97. hxpStockWaitListBean: HxpStockWaitListBean,
  98. cabinetId: String?,
  99. doorId: String?
  100. ) {
  101. val chemicalName = hxpStockWaitListBean.chemicalName
  102. val chemicalLevelName = hxpStockWaitListBean.chemicalLevelName
  103. val chemicalCategoryName = hxpStockWaitListBean.chemicalCategoryName
  104. var sep = "液体"
  105. val specUnit = hxpStockWaitListBean.specUnit //ml / g
  106. if (specUnit.equals("g")) {
  107. sep = "固体"
  108. }
  109. val casNum = hxpStockWaitListBean.casNum //CAS
  110. val chemicalPurity = hxpStockWaitListBean.chemicalPurity //纯度
  111. val surplus = hxpStockWaitListBean.surplus //总量
  112. val chemicalNumber = hxpStockWaitListBean.chemicalNumber //数量
  113. viewBinding.chemicalName.text = "$chemicalName"
  114. viewBinding.chemicalLevelName.text = "$chemicalLevelName"
  115. viewBinding.chemicalCategoryName.text = "$chemicalCategoryName"
  116. if ((chemicalPurity != null && chemicalPurity.isNotBlank()) && (casNum != null && casNum.isNotBlank())) {
  117. viewBinding.cont.text = "$sep/${casNum}/${chemicalPurity}"
  118. } else if (casNum != null && casNum.isNotBlank()) {
  119. viewBinding.cont.text = "$sep/${casNum}"
  120. } else if (chemicalPurity != null && chemicalPurity.isNotBlank()) {
  121. viewBinding.cont.text = "$sep/${chemicalPurity}"
  122. } else {
  123. viewBinding.cont.text = "$sep"
  124. }
  125. viewBinding.surplus.text = "总量:$surplus$specUnit"
  126. viewBinding.chemicalNumber.text = "数量:$chemicalNumber"
  127. // mStockId = stockId
  128. mChemicalId = hxpStockWaitListBean.chemicalId
  129. mCabinetId = cabinetId
  130. mDoorId = doorId
  131. page = 1
  132. pageSize = 10
  133. getList()
  134. }
  135. /**
  136. * 总页码 当前页 初始化
  137. */
  138. private fun initPagesView(pages: Int) {
  139. mPages = pages
  140. viewBinding.one.setBackgroundResource(R.drawable.bg_sou_suo_page)
  141. viewBinding.two.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
  142. viewBinding.three.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
  143. viewBinding.one.setTextColor(ContextCompat.getColor(requireActivity(), R.color.white))
  144. viewBinding.two.setTextColor(ContextCompat.getColor(requireActivity(), R.color.black))
  145. when (pages) {
  146. 1 -> {
  147. viewBinding.one.visibility = View.VISIBLE
  148. }
  149. 2 -> {
  150. viewBinding.two.visibility = View.VISIBLE
  151. }
  152. 3 -> {
  153. viewBinding.two.visibility = View.VISIBLE
  154. viewBinding.three.visibility = View.VISIBLE
  155. }
  156. else -> {
  157. viewBinding.two.visibility = View.VISIBLE
  158. viewBinding.three.visibility = View.VISIBLE
  159. viewBinding.drop.visibility = View.VISIBLE
  160. viewBinding.many.visibility = View.VISIBLE
  161. viewBinding.many.text = "$pages"
  162. }
  163. }
  164. if (pages == 1 || pages == 0) {
  165. viewBinding.two.visibility = View.GONE
  166. viewBinding.three.visibility = View.GONE
  167. viewBinding.many.visibility = View.GONE
  168. viewBinding.drop.visibility = View.GONE
  169. }
  170. if (pages < 4) {
  171. when (pages) {
  172. 1 -> {
  173. viewBinding.two.visibility = View.GONE
  174. viewBinding.three.visibility = View.GONE
  175. viewBinding.many.visibility = View.GONE
  176. viewBinding.drop.visibility = View.GONE
  177. }
  178. 2 -> {
  179. viewBinding.three.visibility = View.GONE
  180. viewBinding.many.visibility = View.GONE
  181. viewBinding.drop.visibility = View.GONE
  182. }
  183. 3 -> {
  184. viewBinding.many.visibility = View.GONE
  185. viewBinding.drop.visibility = View.GONE
  186. }
  187. }
  188. }
  189. }
  190. //更新页码
  191. private fun upPagesView(pages: Int, current: Int) {
  192. LogUtils.i("======2")
  193. if (pages < 4) {
  194. // viewBinding.one.visibility = View.VISIBLE
  195. when (pages) {
  196. 1 -> {
  197. viewBinding.two.visibility = View.GONE
  198. viewBinding.three.visibility = View.GONE
  199. viewBinding.many.visibility = View.GONE
  200. viewBinding.drop.visibility = View.GONE
  201. }
  202. 2 -> {
  203. viewBinding.three.visibility = View.GONE
  204. viewBinding.many.visibility = View.GONE
  205. viewBinding.drop.visibility = View.GONE
  206. }
  207. 3 -> {
  208. viewBinding.many.visibility = View.GONE
  209. viewBinding.drop.visibility = View.GONE
  210. }
  211. }
  212. when (current) {
  213. 1 -> {
  214. viewBinding.one.setTextColor(
  215. ContextCompat.getColor(
  216. requireActivity(),
  217. R.color.white
  218. )
  219. )
  220. viewBinding.two.setTextColor(
  221. ContextCompat.getColor(
  222. requireActivity(),
  223. R.color.black
  224. )
  225. )
  226. viewBinding.three.setTextColor(
  227. ContextCompat.getColor(
  228. requireActivity(),
  229. R.color.black
  230. )
  231. )
  232. viewBinding.one.setBackgroundResource(R.drawable.bg_sou_suo_page)
  233. viewBinding.two.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
  234. viewBinding.three.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
  235. }
  236. 2 -> {
  237. // viewBinding.two.visibility = View.VISIBLE
  238. viewBinding.one.setTextColor(
  239. ContextCompat.getColor(
  240. requireActivity(),
  241. R.color.black
  242. )
  243. )
  244. viewBinding.two.setTextColor(
  245. ContextCompat.getColor(
  246. requireActivity(),
  247. R.color.white
  248. )
  249. )
  250. viewBinding.three.setTextColor(
  251. ContextCompat.getColor(
  252. requireActivity(),
  253. R.color.black
  254. )
  255. )
  256. viewBinding.one.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
  257. viewBinding.two.setBackgroundResource(R.drawable.bg_sou_suo_page)
  258. viewBinding.three.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
  259. }
  260. 3 -> {
  261. // viewBinding.three.visibility = View.VISIBLE
  262. viewBinding.one.setTextColor(
  263. ContextCompat.getColor(
  264. requireActivity(),
  265. R.color.black
  266. )
  267. )
  268. viewBinding.two.setTextColor(
  269. ContextCompat.getColor(
  270. requireActivity(),
  271. R.color.black
  272. )
  273. )
  274. viewBinding.three.setTextColor(
  275. ContextCompat.getColor(
  276. requireActivity(),
  277. R.color.white
  278. )
  279. )
  280. viewBinding.one.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
  281. viewBinding.two.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
  282. viewBinding.three.setBackgroundResource(R.drawable.bg_sou_suo_page)
  283. }
  284. }
  285. } else {
  286. // viewBinding.many.visibility = View.VISIBLE
  287. viewBinding.three.text = "3"
  288. when (current) {
  289. 1 -> {
  290. viewBinding.one.setTextColor(
  291. ContextCompat.getColor(
  292. requireActivity(),
  293. R.color.white
  294. )
  295. )
  296. viewBinding.two.setTextColor(
  297. ContextCompat.getColor(
  298. requireActivity(),
  299. R.color.black
  300. )
  301. )
  302. viewBinding.three.setTextColor(
  303. ContextCompat.getColor(
  304. requireActivity(),
  305. R.color.black
  306. )
  307. )
  308. viewBinding.one.setBackgroundResource(R.drawable.bg_sou_suo_page)
  309. viewBinding.two.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
  310. viewBinding.three.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
  311. }
  312. 2 -> {
  313. viewBinding.one.setTextColor(
  314. ContextCompat.getColor(
  315. requireActivity(),
  316. R.color.black
  317. )
  318. )
  319. viewBinding.two.setTextColor(
  320. ContextCompat.getColor(
  321. requireActivity(),
  322. R.color.white
  323. )
  324. )
  325. viewBinding.three.setTextColor(
  326. ContextCompat.getColor(
  327. requireActivity(),
  328. R.color.black
  329. )
  330. )
  331. viewBinding.one.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
  332. viewBinding.two.setBackgroundResource(R.drawable.bg_sou_suo_page)
  333. viewBinding.three.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
  334. }
  335. 3 -> {
  336. viewBinding.one.setTextColor(
  337. ContextCompat.getColor(
  338. requireActivity(),
  339. R.color.black
  340. )
  341. )
  342. viewBinding.two.setTextColor(
  343. ContextCompat.getColor(
  344. requireActivity(),
  345. R.color.black
  346. )
  347. )
  348. viewBinding.three.setTextColor(
  349. ContextCompat.getColor(
  350. requireActivity(),
  351. R.color.white
  352. )
  353. )
  354. viewBinding.one.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
  355. viewBinding.two.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
  356. viewBinding.three.setBackgroundResource(R.drawable.bg_sou_suo_page)
  357. }
  358. else -> {
  359. viewBinding.three.text = "$current"
  360. if (pages == current) {
  361. viewBinding.three.text = "${current - 1}"
  362. viewBinding.one.setTextColor(
  363. ContextCompat.getColor(
  364. requireActivity(),
  365. R.color.black
  366. )
  367. )
  368. viewBinding.two.setTextColor(
  369. ContextCompat.getColor(
  370. requireActivity(),
  371. R.color.black
  372. )
  373. )
  374. viewBinding.three.setTextColor(
  375. ContextCompat.getColor(
  376. requireActivity(),
  377. R.color.black
  378. )
  379. )
  380. viewBinding.many.setTextColor(
  381. ContextCompat.getColor(
  382. requireActivity(),
  383. R.color.white
  384. )
  385. )
  386. viewBinding.one.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
  387. viewBinding.two.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
  388. viewBinding.three.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
  389. viewBinding.many.setBackgroundResource(R.drawable.bg_sou_suo_page)
  390. } else {
  391. viewBinding.one.setTextColor(
  392. ContextCompat.getColor(
  393. requireActivity(),
  394. R.color.black
  395. )
  396. )
  397. viewBinding.two.setTextColor(
  398. ContextCompat.getColor(
  399. requireActivity(),
  400. R.color.black
  401. )
  402. )
  403. viewBinding.three.setTextColor(
  404. ContextCompat.getColor(
  405. requireActivity(),
  406. R.color.white
  407. )
  408. )
  409. viewBinding.many.setTextColor(
  410. ContextCompat.getColor(
  411. requireActivity(),
  412. R.color.black
  413. )
  414. )
  415. viewBinding.one.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
  416. viewBinding.two.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
  417. viewBinding.three.setBackgroundResource(R.drawable.bg_sou_suo_page)
  418. viewBinding.many.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
  419. }
  420. }
  421. }
  422. }
  423. }
  424. }