feat: 完成国际出港移库/出库交接页面5.5寸手机端适配
- 落地手机端双形态适配框架:同名布局+资源限定符(layout/手机、 layout-sw600dp/平板)自动切换,DeviceUtil 设备形态判定,7个 手机版公共组件(PhoneSearchBar/StatusTab/DataLayout/FilterPanel/ BottomBar/StatBox/KvItem) - 完成「国际出港移库」「国际出港出库交接」两页手机端适配,新增 各自详情页(IntExpMoveDetailActivity/IntExpOutHandoverDetailActivity) - 手机端首页菜单接入"出港移库""出库交接"入口 - 修复手机端进入页面先横屏后转竖屏的闪屏问题:Manifest 全项目 192 处改为 screenOrientation="unspecified",由 BaseActivity 按设备形态运行时锁定方向 - 修复该方案的中间版本在平板端引入的回归(先竖后横 + UI放大1.6倍) - AutoSize 补充手机竖屏 390×844 设计基准 - 修复 CHANGELOG.md 因脚本异常导致的内容重复损坏(膨胀至12万行), 恢复正常结构并补充本次变更记录 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,48 +1,85 @@
|
||||
package com.sixin.module_p.ui.enter.gj
|
||||
|
||||
import com.lukouguoji.module_base.base.BaseViewModel
|
||||
import com.lukouguoji.module_base.bean.ActionBean
|
||||
import com.lukouguoji.module_base.common.Constant
|
||||
import com.lukouguoji.module_base.db.perference.SharedPreferenceUtil
|
||||
import com.lukouguoji.module_base.ktx.loge
|
||||
import com.sixin.module_p.R
|
||||
import com.sixin.module_p.ui.guobang.PdaGuoBangActivity
|
||||
import com.sixin.module_p.ui.lihuo.PdaLiHuoActivity
|
||||
import com.sixin.module_p.ui.shouyun.PdaShouYunActivity
|
||||
import com.sixin.module_p.ui.zuzhuang.PdaZuZhuangActivity
|
||||
import dev.DevUtils
|
||||
|
||||
class GjViewModel : BaseViewModel() {
|
||||
|
||||
val actionList = listOf(
|
||||
ActionBean("普货收运", R.drawable.gjc_shou_yun_icon, Constant.AuthName.GjcAppDomExpCheckin),
|
||||
ActionBean("板箱组装", R.drawable.img_bxzz, Constant.AuthName.GjcBanXListActivity),
|
||||
ActionBean("板箱过磅", R.drawable.gjc_fu_bang_icon, Constant.AuthName.GjcFuBangActivity),
|
||||
ActionBean("进港理货", R.drawable.img_jglh, Constant.AuthName.GjjTallyListActivity),
|
||||
).filter { SharedPreferenceUtil.getString(Constant.Share.authList).contains(it.key) }
|
||||
|
||||
fun onItemClick(position: Int) {
|
||||
when (val title = actionList[position].title) {
|
||||
"普货收运" -> {
|
||||
PdaShouYunActivity.start(DevUtils.getTopActivity())
|
||||
}
|
||||
|
||||
"板箱组装" -> {
|
||||
PdaZuZhuangActivity.start(DevUtils.getTopActivity())
|
||||
}
|
||||
|
||||
"板箱过磅" -> {
|
||||
PdaGuoBangActivity.start(DevUtils.getTopActivity())
|
||||
}
|
||||
|
||||
"进港理货" -> {
|
||||
PdaLiHuoActivity.start(DevUtils.getTopActivity())
|
||||
}
|
||||
|
||||
else -> {
|
||||
loge("点击事件 $title 未处理")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
package com.sixin.module_p.ui.enter.gj
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.lukouguoji.module_base.base.BaseViewModel
|
||||
import com.lukouguoji.module_base.bean.ActionBean
|
||||
import com.lukouguoji.module_base.common.Constant
|
||||
import com.lukouguoji.module_base.db.perference.SharedPreferenceUtil
|
||||
import com.lukouguoji.module_base.ktx.loge
|
||||
import com.lukouguoji.module_base.router.ARouterConstants
|
||||
import com.sixin.module_p.R
|
||||
import com.sixin.module_p.ui.guobang.PdaGuoBangActivity
|
||||
import com.sixin.module_p.ui.lihuo.PdaLiHuoActivity
|
||||
import com.sixin.module_p.ui.shouyun.PdaShouYunActivity
|
||||
import com.sixin.module_p.ui.zuzhuang.PdaZuZhuangActivity
|
||||
import dev.DevUtils
|
||||
|
||||
/**
|
||||
* 手持端首页「国际业务」Tab
|
||||
*
|
||||
* 菜单项是**手写清单**(不是接口下发),只用登录返回的 authList 做权限过滤:
|
||||
* 某项没配 [ActionBean.key] 对应的权限串时不显示。所以新页面适配完之后
|
||||
* **必须回来这里加一行**,否则手机端首页根本没有入口。
|
||||
*
|
||||
* 两类跳转:
|
||||
* - 带 [ActionBean.route] → 通用 ARouter 跳转(module_p 不依赖 module_gjc 等业务模块,
|
||||
* 跨模块只能走路由)。**5.5 寸适配页一律用这种,加一行即可。**
|
||||
* - 不带 route → 落到 [onItemClick] 的 when 分支(module_p 内部的 PDA 专用页面)
|
||||
*/
|
||||
class GjViewModel : BaseViewModel() {
|
||||
|
||||
val actionList = listOf(
|
||||
// ===== module_p 内的 PDA 专用页面(无 route,走 when 分支) =====
|
||||
ActionBean("普货收运", R.drawable.gjc_shou_yun_icon, Constant.AuthName.GjcAppDomExpCheckin),
|
||||
ActionBean("板箱组装", R.drawable.img_bxzz, Constant.AuthName.GjcBanXListActivity),
|
||||
ActionBean("板箱过磅", R.drawable.gjc_fu_bang_icon, Constant.AuthName.GjcFuBangActivity),
|
||||
ActionBean("进港理货", R.drawable.img_jglh, Constant.AuthName.GjjTallyListActivity),
|
||||
|
||||
// ===== 5.5 寸手机版已适配页面(图标复用 Pad 端同款,跳转走 ARouter) =====
|
||||
ActionBean(
|
||||
"出港移库",
|
||||
R.drawable.gjc_yi_ku_icon,
|
||||
Constant.AuthName.GjcYiKuListActivity,
|
||||
ARouterConstants.ACTIVITY_URL_INT_EXP_MOVE
|
||||
),
|
||||
ActionBean(
|
||||
"出库交接",
|
||||
R.drawable.img_gjc_chuku_jiaojie,
|
||||
Constant.AuthName.GjcIntExpOutHandover,
|
||||
ARouterConstants.ACTIVITY_URL_INT_EXP_OUT_HANDOVER
|
||||
),
|
||||
).filter { SharedPreferenceUtil.getString(Constant.Share.authList).contains(it.key) }
|
||||
|
||||
fun onItemClick(position: Int) {
|
||||
val bean = actionList.getOrNull(position) ?: return
|
||||
|
||||
// 配了路由的直接跳(5.5 寸适配页走这条)
|
||||
if (bean.route.isNotEmpty()) {
|
||||
ARouter.getInstance().build(bean.route).navigation()
|
||||
return
|
||||
}
|
||||
|
||||
when (bean.title) {
|
||||
"普货收运" -> {
|
||||
PdaShouYunActivity.start(DevUtils.getTopActivity())
|
||||
}
|
||||
|
||||
"板箱组装" -> {
|
||||
PdaZuZhuangActivity.start(DevUtils.getTopActivity())
|
||||
}
|
||||
|
||||
"板箱过磅" -> {
|
||||
PdaGuoBangActivity.start(DevUtils.getTopActivity())
|
||||
}
|
||||
|
||||
"进港理货" -> {
|
||||
PdaLiHuoActivity.start(DevUtils.getTopActivity())
|
||||
}
|
||||
|
||||
else -> {
|
||||
loge("点击事件 ${bean.title} 未处理")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
BIN
module_p/src/main/res/drawable-xxhdpi/gjc_yi_ku_icon.png
Normal file
BIN
module_p/src/main/res/drawable-xxhdpi/gjc_yi_ku_icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 32 KiB |
BIN
module_p/src/main/res/drawable-xxhdpi/img_gjc_chuku_jiaojie.png
Normal file
BIN
module_p/src/main/res/drawable-xxhdpi/img_gjc_chuku_jiaojie.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 32 KiB |
Reference in New Issue
Block a user