feat: fix issues

This commit is contained in:
2026-03-19 18:31:40 +08:00
parent 8b666364ae
commit b2ea79512c
16 changed files with 62 additions and 27 deletions

View File

@@ -92,7 +92,12 @@
"mcp__apifox__read_project_oas_heib77",
"mcp__apifox__read_project_oas_ref_resources_heib77",
"Bash(export JAVA_HOME=\"/Applications/Android Studio.app/Contents/jbr/Contents/Home\")",
"Bash(export PATH=\"$JAVA_HOME/bin:$PATH\")"
"Bash(export PATH=\"$JAVA_HOME/bin:$PATH\")",
"Read(//Library/Java/JavaVirtualMachines/**)",
"Read(//usr/local/**)",
"Read(//opt/homebrew/opt/**)",
"Bash(/Users/kid/.vfox/sdks/java/bin/java -version 2>&1)",
"Bash(export JAVA_HOME=/Users/kid/.vfox/sdks/java)"
],
"deny": [],
"ask": []

View File

@@ -1,2 +1,2 @@
[tools]
java = "17.0.17+10-amzn"
java = "17+35-amzn"

View File

@@ -1 +1 @@
/Users/kid/.version-fox/cache/java/v-17.0.17+10-amzn/java-17.0.17+10-amzn
/Users/kid/.vfox/cache/java/v-17+35-amzn/java-17+35-amzn

View File

@@ -6,7 +6,17 @@
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 \
--add-opens=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED \
--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED \
--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED \
--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED \
--add-opens=jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED \
--add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED \
--add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED \
--add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED \
--add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED \
--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
kapt.use.worker.api=false
kapt.include.compile.classpath=false
# When configured, Gradle will run in incubating parallel mode.

View File

@@ -38,6 +38,8 @@ class IntImpPickUpDLVBean : Serializable {
var efrCharge: Double = 0.0 // 冷藏费
var svlCharge: Double = 0.0 // 铲车费
var tallyCharge: Double = 0.0 // 理货费
var pipFee: Double = 0.0 // 精密仪器处理费
var lapFee: Double = 0.0 // 活体动物处理费
var chargeId: String = "" // 收费员
var chargeName: String = "" // 收费员名称
var dlvId: String = ""

View File

@@ -29,8 +29,8 @@ class IntImpPickUpRecordBean : Serializable {
var efrCharge: Double = 0.0 // 冷藏费
var svlCharge: Double = 0.0 // 铲车费
var tallyCharge: Double = 0.0 // 理货费
var precisionCharge: Double = 0.0 // 精密仪器处理费
var animalCharge: Double = 0.0 // 活体动物处理费
var pipFee: Double = 0.0 // 精密仪器处理费
var lapFee: Double = 0.0 // 活体动物处理费
var chargeName: String = "" // 办理人名称
var chargeId: String = "" // 收费员ID
var dlvTime: String = "" // 出库时间

View File

@@ -42,6 +42,7 @@ class IntImpQueryActivity :
}
viewModel.initAgentList()
viewModel.initSpecialCodeList()
viewModel.refresh()
}

View File

@@ -20,6 +20,7 @@ import dev.utils.app.info.KeyValue
*/
class IntImpQueryFilterDialogModel(
val spCode: MutableLiveData<String>,
val spCodeList: MutableLiveData<List<KeyValue>>,
val flightNo: MutableLiveData<String>,
val dest: MutableLiveData<String>,
val awbType: MutableLiveData<String>,

View File

@@ -110,7 +110,7 @@ class GjjManifestDetailsViewModel : BaseViewModel(), IGetData {
DictUtils.getAgentList(addAll = false, checkedValue = data.agent) {
agentList.postValue(it)
}
DictUtils.getSpecialCodeList(addAll = false, flag = 1, ieFlag = "I", checkedValue = data.spCode) {
DictUtils.getSpecialCodeList(addAll = false, flag = 1, ieFlag = "", checkedValue = data.spCode) {
specialCodeList.postValue(it)
}
DictUtils.getBusinessTypeList(

View File

@@ -29,8 +29,8 @@ class IntImpPickUpChargeEditViewModel : BaseViewModel() {
val drawBillChargeStr = MutableLiveData("") // 文件处理费
val svlChargeStr = MutableLiveData("") // 叉车费
val tallyChargeStr = MutableLiveData("") // 理货费
val precisionChargeStr = MutableLiveData("") // 精密仪器处理费
val animalChargeStr = MutableLiveData("") // 活体动物处理费
val pipFeeStr = MutableLiveData("") // 精密仪器处理费
val lapFeeStr = MutableLiveData("") // 活体动物处理费
val totalAmountStr = MutableLiveData("") // 总费用(实时计算)
// 总费用计算观察者
@@ -43,8 +43,8 @@ class IntImpPickUpChargeEditViewModel : BaseViewModel() {
(svlChargeStr.value?.toDoubleOrNull() ?: 0.0) +
(tallyChargeStr.value?.toDoubleOrNull() ?: 0.0) +
(dataBean.value?.optCharge ?: 0.0) +
(precisionChargeStr.value?.toDoubleOrNull() ?: 0.0) +
(animalChargeStr.value?.toDoubleOrNull() ?: 0.0)
(pipFeeStr.value?.toDoubleOrNull() ?: 0.0) +
(lapFeeStr.value?.toDoubleOrNull() ?: 0.0)
totalAmountStr.value = if (total != 0.0) total.toString() else ""
}
@@ -60,8 +60,8 @@ class IntImpPickUpChargeEditViewModel : BaseViewModel() {
drawBillChargeStr.value = if (bean.drawBillCharge != 0.0) bean.drawBillCharge.toString() else ""
svlChargeStr.value = if (bean.svlCharge != 0.0) bean.svlCharge.toString() else ""
tallyChargeStr.value = if (bean.tallyCharge != 0.0) bean.tallyCharge.toString() else ""
precisionChargeStr.value = if (bean.precisionCharge != 0.0) bean.precisionCharge.toString() else ""
animalChargeStr.value = if (bean.animalCharge != 0.0) bean.animalCharge.toString() else ""
pipFeeStr.value = if (bean.pipFee != 0.0) bean.pipFee.toString() else ""
lapFeeStr.value = if (bean.lapFee != 0.0) bean.lapFee.toString() else ""
// 注册总费用实时计算
tranChargeStr.observeForever(totalCalculator)
@@ -69,8 +69,8 @@ class IntImpPickUpChargeEditViewModel : BaseViewModel() {
drawBillChargeStr.observeForever(totalCalculator)
svlChargeStr.observeForever(totalCalculator)
tallyChargeStr.observeForever(totalCalculator)
precisionChargeStr.observeForever(totalCalculator)
animalChargeStr.observeForever(totalCalculator)
pipFeeStr.observeForever(totalCalculator)
lapFeeStr.observeForever(totalCalculator)
// 初始计算一次
calculateTotal()
@@ -96,8 +96,8 @@ class IntImpPickUpChargeEditViewModel : BaseViewModel() {
bean.drawBillCharge = drawBillChargeStr.value?.toDoubleOrNull() ?: 0.0
bean.svlCharge = svlChargeStr.value?.toDoubleOrNull() ?: 0.0
bean.tallyCharge = tallyChargeStr.value?.toDoubleOrNull() ?: 0.0
bean.precisionCharge = precisionChargeStr.value?.toDoubleOrNull() ?: 0.0
bean.animalCharge = animalChargeStr.value?.toDoubleOrNull() ?: 0.0
bean.pipFee = pipFeeStr.value?.toDoubleOrNull() ?: 0.0
bean.lapFee = lapFeeStr.value?.toDoubleOrNull() ?: 0.0
bean.amount = totalAmountStr.value?.toDoubleOrNull() ?: 0.0
launchLoadingCollect({
@@ -127,7 +127,7 @@ class IntImpPickUpChargeEditViewModel : BaseViewModel() {
drawBillChargeStr.removeObserver(totalCalculator)
svlChargeStr.removeObserver(totalCalculator)
tallyChargeStr.removeObserver(totalCalculator)
precisionChargeStr.removeObserver(totalCalculator)
animalChargeStr.removeObserver(totalCalculator)
pipFeeStr.removeObserver(totalCalculator)
lapFeeStr.removeObserver(totalCalculator)
}
}

View File

@@ -83,7 +83,7 @@ class IntImpPickUpRecordViewModel : BasePageViewModel() {
fun initSpecialCodeList() {
DictUtils.getSpecialCodeList(
flag = 1, // 国际
ieFlag = "I", // 进港
ieFlag = "",
parentcode = ""
) {
spCodeList.value = it

View File

@@ -88,7 +88,7 @@ class IntImpQueryEditViewModel : BaseViewModel() {
* flag=1国际, ieFlag=I进港
*/
private fun loadSpCodeList() {
launchCollect({ NetApply.api.getSpecialCodeList(1, "I", "") }) {
launchCollect({ NetApply.api.getSpecialCodeList(1, "", "") }) {
onSuccess = { result ->
val list = result.data?.mapNotNull { bean ->
if (bean.name != null && bean.code != null) {

View File

@@ -19,6 +19,7 @@ import com.lukouguoji.module_base.ktx.launchLoadingCollect
import com.lukouguoji.module_base.ktx.showToast
import com.lukouguoji.module_base.ktx.toRequestBody
import com.lukouguoji.module_base.model.ScanModel
import com.lukouguoji.module_base.util.DictUtils
import dev.utils.app.info.KeyValue
import dev.utils.common.DateUtils
import com.lukouguoji.module_base.ktx.formatDate
@@ -55,6 +56,9 @@ class IntImpQueryViewModel : BasePageViewModel(), IOnItemClickListener {
val totalPc = MutableLiveData("0")
val totalWeight = MutableLiveData("0")
// ==================== 特码下拉 ====================
val spCodeList = MutableLiveData<List<KeyValue>>(emptyList())
// ==================== 筛选条件 ====================
val spCode = MutableLiveData("")
val flightNo = MutableLiveData("")
@@ -78,6 +82,7 @@ class IntImpQueryViewModel : BasePageViewModel(), IOnItemClickListener {
fun filterClick() {
val filterDialog = IntImpQueryFilterDialogModel(
spCode = spCode,
spCodeList = spCodeList,
flightNo = flightNo,
dest = dest,
awbType = awbType,
@@ -166,6 +171,16 @@ class IntImpQueryViewModel : BasePageViewModel(), IOnItemClickListener {
}
}
fun initSpecialCodeList() {
DictUtils.getSpecialCodeList(
flag = 1,
ieFlag = "",
parentcode = ""
) {
spCodeList.value = it
}
}
fun initAgentList() {
launchCollect({
NetApply.api.getIntImpAgentList()

View File

@@ -224,7 +224,7 @@
title='@{"精密仪器处理费"}'
titleLength="@{7}"
type="@{DataLayoutType.INPUT}"
value='@={viewModel.precisionChargeStr}' />
value='@={viewModel.pipFeeStr}' />
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:layout_width="0dp"
@@ -235,7 +235,7 @@
title='@{"活体动物处理费"}'
titleLength="@{7}"
type="@{DataLayoutType.INPUT}"
value='@={viewModel.animalChargeStr}' />
value='@={viewModel.lapFeeStr}' />
</LinearLayout>

View File

@@ -214,7 +214,7 @@
title='@{"精密仪器处理费"}'
titleLength="@{7}"
type="@{DataLayoutType.INPUT}"
value='@{String.valueOf(viewModel.dataBean.precisionCharge)}' />
value='@{String.valueOf(viewModel.dataBean.pipFee)}' />
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
android:layout_width="0dp"
@@ -224,7 +224,7 @@
title='@{"活体动物处理费"}'
titleLength="@{7}"
type="@{DataLayoutType.INPUT}"
value='@{String.valueOf(viewModel.dataBean.animalCharge)}' />
value='@{String.valueOf(viewModel.dataBean.lapFee)}' />
</LinearLayout>

View File

@@ -42,10 +42,11 @@
<!-- 特码 -->
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
hint='@{"请输入特码"}'
hint='@{"请选择特码"}'
list="@{model.spCodeList}"
title='@{"特码"}'
titleLength="@{4}"
type="@{DataLayoutType.INPUT}"
type="@{DataLayoutType.SPINNER}"
value='@={model.spCode}'
android:layout_width="match_parent"
android:layout_height="wrap_content"