feat: 新增首页净材/毛菜入口按钮及StoreActivity称重识别页面
- 首页新增净材、毛菜两个渐变色按钮(蓝/橙),隐藏原ImageView入口 - 新增StoreActivity,继承GoodsListActivity,复用秤监听、相机、识别弹窗能力 - GoodsListActivity.replaceIncludeContent()新增else分支,非采购/自采页面隐藏flContainer - BaseDialog设备列表提取为常量,优化小屏幕判断逻辑 - 更新本地测试环境地址及环境切换弹窗文案 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -55,6 +55,10 @@
|
|||||||
android:windowSoftInputMode="adjustPan" />
|
android:windowSoftInputMode="adjustPan" />
|
||||||
<activity android:name="com.sw.inbound.activity.LocalImagePreviewActivity" />
|
<activity android:name="com.sw.inbound.activity.LocalImagePreviewActivity" />
|
||||||
<activity android:name="com.sw.inbound.activity.PurchaseOrderActivity" />
|
<activity android:name="com.sw.inbound.activity.PurchaseOrderActivity" />
|
||||||
|
<activity
|
||||||
|
android:name="com.sw.inbound.activity.StoreActivity"
|
||||||
|
android:screenOrientation="landscape"
|
||||||
|
android:windowSoftInputMode="adjustPan" />
|
||||||
<activity android:name="com.sw.inbound.activity.FunActivity"
|
<activity android:name="com.sw.inbound.activity.FunActivity"
|
||||||
android:screenOrientation="landscape" />
|
android:screenOrientation="landscape" />
|
||||||
<!-- 首页 Activity(XML 版本,对应 HomeScreen.kt Compose 版本) -->
|
<!-- 首页 Activity(XML 版本,对应 HomeScreen.kt Compose 版本) -->
|
||||||
|
|||||||
@@ -43,7 +43,8 @@ object GlobalData {
|
|||||||
/**
|
/**
|
||||||
* 具体业务 BaseUrl
|
* 具体业务 BaseUrl
|
||||||
*/
|
*/
|
||||||
const val TEST_BASE_URL = "http://192.168.1.201:14801"
|
// const val TEST_BASE_URL = "http://192.168.1.201:14801"
|
||||||
|
const val TEST_BASE_URL = "http://192.168.10.118:14801"
|
||||||
const val UAT_BASE_URL = "https://dev.yixiong-tech.com:8083"
|
const val UAT_BASE_URL = "https://dev.yixiong-tech.com:8083"
|
||||||
const val PROD_BASE_URL = "https://api.dm.yixiong-tech.com:8443"
|
const val PROD_BASE_URL = "https://api.dm.yixiong-tech.com:8443"
|
||||||
var appBaseUrl: String = ""
|
var appBaseUrl: String = ""
|
||||||
|
|||||||
@@ -476,10 +476,12 @@ abstract class GoodsListActivity : BaseActivity() {
|
|||||||
val tempBinding =
|
val tempBinding =
|
||||||
ListItemReceiptGoodsBinding.inflate(layoutInflater, binding.flContainer, false)
|
ListItemReceiptGoodsBinding.inflate(layoutInflater, binding.flContainer, false)
|
||||||
binding.flContainer.addView(tempBinding.root)
|
binding.flContainer.addView(tempBinding.root)
|
||||||
} else {
|
} else if (this is SelfProcurementActivity) {
|
||||||
val tempBinding =
|
val tempBinding =
|
||||||
ListItemSelfProcurementBinding.inflate(layoutInflater, binding.flContainer, false)
|
ListItemSelfProcurementBinding.inflate(layoutInflater, binding.flContainer, false)
|
||||||
binding.flContainer.addView(tempBinding.root)
|
binding.flContainer.addView(tempBinding.root)
|
||||||
|
} else {
|
||||||
|
binding.flContainer.gone()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -107,6 +107,20 @@ class HomeActivity : BaseActivity() {
|
|||||||
putExtra(GoodsListActivity.IS_RECEIPT_PAGE, false)
|
putExtra(GoodsListActivity.IS_RECEIPT_PAGE, false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 净材按钮点击提示
|
||||||
|
binding.btnOrderPurchase.setOnClickListener {
|
||||||
|
startActivity<StoreActivity> {
|
||||||
|
//putExtra(GoodsListActivity.IS_RECEIPT_PAGE, false)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 毛菜按钮点击提示
|
||||||
|
binding.btnOrderSelfProcurement.setOnClickListener {
|
||||||
|
startActivity<StoreActivity> {
|
||||||
|
//putExtra(GoodsListActivity.IS_RECEIPT_PAGE, false)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -0,0 +1,43 @@
|
|||||||
|
package com.sw.inbound.activity
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
|
import com.sw.inbound.model.response.DictType
|
||||||
|
import com.sw.inbound.utils.ext.gone
|
||||||
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入库称重页面
|
||||||
|
* 继承 GoodsListActivity 以复用秤监听、相机拍照、菜品识别弹窗等核心能力,
|
||||||
|
* 同时通过隐藏不需要的 View 精简界面,避免大量重复代码。
|
||||||
|
*/
|
||||||
|
@AndroidEntryPoint
|
||||||
|
class StoreActivity : GoodsListActivity() {
|
||||||
|
|
||||||
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
|
super.onCreate(savedInstanceState)
|
||||||
|
hideUnusedViews()
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 隐藏采购单列表、仓库下拉、提交按钮等本页面不需要的控件 */
|
||||||
|
private fun hideUnusedViews() {
|
||||||
|
binding.flWarehouseDropdown.gone()
|
||||||
|
binding.cvDropdownBg.gone()
|
||||||
|
binding.tvPurchaseNo.gone()
|
||||||
|
binding.btnConfirmReceipt.gone()
|
||||||
|
binding.tvConfirmNum.gone()
|
||||||
|
binding.tvNotConfirmNum.gone()
|
||||||
|
binding.flContainer.gone()
|
||||||
|
binding.rvGoodsList.gone()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun initRecyclerView() {
|
||||||
|
// 本页面无列表,空实现
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun initView() {
|
||||||
|
// 本页面无额外初始化逻辑,空实现
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun getWarehouseList(): List<DictType> = emptyList()
|
||||||
|
}
|
||||||
@@ -14,11 +14,17 @@ import com.sw.inbound.activity.GoodsListActivity
|
|||||||
import com.sw.inbound.utils.ext.dp
|
import com.sw.inbound.utils.ext.dp
|
||||||
import com.sw.inbound.utils.ext.hideKeyboard
|
import com.sw.inbound.utils.ext.hideKeyboard
|
||||||
|
|
||||||
|
//测试设备,小屏幕
|
||||||
|
private val devices = listOf(
|
||||||
|
"f0bcabbb-0d58-3b14-8bed-9863b7ec61ef",
|
||||||
|
"3dff871a-c66a-3fd8-93ce-81b57ead80f4"
|
||||||
|
)
|
||||||
|
|
||||||
abstract class BaseDialog(
|
abstract class BaseDialog(
|
||||||
context: Context,
|
context: Context,
|
||||||
var defWidth: Int = 1500.dp,
|
var defWidth: Int = 1500.dp,
|
||||||
// var defHeight: Int = 900.dp
|
// var defHeight: Int = 900.dp
|
||||||
var defHeight: Int = if ("f0bcabbb-0d58-3b14-8bed-9863b7ec61ef" == GlobalData.deviceId) 750.dp else 900.dp
|
var defHeight: Int = if (devices.contains(GlobalData.deviceId)) 750.dp else 900.dp
|
||||||
) : Dialog(context, R.style.DialogTheme) {
|
) : Dialog(context, R.style.DialogTheme) {
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="rectangle">
|
||||||
|
<!-- 从上到下:浅蓝(占比多)→ 深蓝,angle=270 表示从上到下 -->
|
||||||
|
<gradient
|
||||||
|
android:angle="270"
|
||||||
|
android:startColor="#88BBFF"
|
||||||
|
android:centerColor="#1A6EFF"
|
||||||
|
android:centerX="0.65"
|
||||||
|
android:endColor="#0032C8"
|
||||||
|
android:type="linear" />
|
||||||
|
<corners android:radius="16dp" />
|
||||||
|
</shape>
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="rectangle">
|
||||||
|
<!-- 从上到下:浅橙(占比多)→ 深橙,angle=270 表示从上到下 -->
|
||||||
|
<gradient
|
||||||
|
android:angle="270"
|
||||||
|
android:startColor="#FFD08A"
|
||||||
|
android:centerColor="#FF9632"
|
||||||
|
android:centerX="0.65"
|
||||||
|
android:endColor="#CC6400"
|
||||||
|
android:type="linear" />
|
||||||
|
<corners android:radius="16dp" />
|
||||||
|
</shape>
|
||||||
@@ -76,13 +76,14 @@
|
|||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<!-- 功能入口区域,水平居中排列两个入口图标 -->
|
<!-- 功能入口区域(原始,已隐藏) -->
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:orientation="horizontal">
|
android:orientation="horizontal"
|
||||||
|
android:visibility="gone">
|
||||||
|
|
||||||
<!-- 采购单入库入口 -->
|
<!-- 采购单入库入口 -->
|
||||||
<ImageView
|
<ImageView
|
||||||
@@ -106,4 +107,44 @@
|
|||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
<!-- 功能入口区域(新版,按钮样式) -->
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<!-- 净材入库入口 -->
|
||||||
|
<Button
|
||||||
|
android:id="@+id/btnOrderPurchase"
|
||||||
|
android:layout_width="595dp"
|
||||||
|
android:layout_height="477dp"
|
||||||
|
android:background="@drawable/bg_gradient_blue_btn"
|
||||||
|
android:foreground="?android:attr/selectableItemBackground"
|
||||||
|
android:text="净材"
|
||||||
|
android:textColor="@color/white"
|
||||||
|
android:textSize="100sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
android:stateListAnimator="@null" />
|
||||||
|
|
||||||
|
<Space
|
||||||
|
android:layout_width="15dp"
|
||||||
|
android:layout_height="1dp" />
|
||||||
|
|
||||||
|
<!-- 毛菜入库入口 -->
|
||||||
|
<Button
|
||||||
|
android:id="@+id/btnOrderSelfProcurement"
|
||||||
|
android:layout_width="595dp"
|
||||||
|
android:layout_height="477dp"
|
||||||
|
android:background="@drawable/bg_gradient_orange_btn"
|
||||||
|
android:foreground="?android:attr/selectableItemBackground"
|
||||||
|
android:text="毛菜"
|
||||||
|
android:textColor="@color/white"
|
||||||
|
android:textSize="100sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
android:stateListAnimator="@null" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
android:layout_height="72dp"
|
android:layout_height="72dp"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
android:paddingStart="16dp"
|
android:paddingStart="16dp"
|
||||||
android:text="测试环境"
|
android:text="本地环境"
|
||||||
android:textColor="#ff141428"
|
android:textColor="#ff141428"
|
||||||
android:textSize="28sp" />
|
android:textSize="28sp" />
|
||||||
|
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
android:layout_height="72dp"
|
android:layout_height="72dp"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
android:paddingStart="16dp"
|
android:paddingStart="16dp"
|
||||||
android:text="UAT 环境"
|
android:text="测试环境"
|
||||||
android:textColor="#ff141428"
|
android:textColor="#ff141428"
|
||||||
android:textSize="28sp" />
|
android:textSize="28sp" />
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user