You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
csamsclient/background/src/main/java/com/gyf/csams/main/ui/CheckQualityReportActivity.kt

104 lines
3.7 KiB

package com.gyf.csams.main.ui
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.*
import androidx.compose.runtime.Composable
import androidx.compose.runtime.ExperimentalComposeApi
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
import com.gyf.csams.R
import com.gyf.csams.main.model.CheckQualityReportViewModel
import com.gyf.csams.main.model.MAX_SCORE
import com.gyf.csams.main.model.QualityReportVo
import com.gyf.csams.uikit.RowItem
import com.gyf.csams.uikit.TestTable
import com.gyf.lib.uikit.BaseTextField
import com.gyf.lib.uikit.ScaffoldModel
import com.gyf.lib.util.BottomButton
/**
* 审批质量报告单
*
*/
class CheckQualityReportActivity : ComponentActivity() {
@ExperimentalComposeApi
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
TestTable(
clazz = CheckQualityReportViewModel::class.java,
title = R.string.quality_report_title
) {
CheckQualityReportForm(vo = it)
}
}
}
@Composable
private fun CheckQualityReportForm(
modifier: Modifier = Modifier, model: CheckQualityReportViewModel = viewModel(),
scaffoldModel: ScaffoldModel = viewModel(), vo: QualityReportVo
) {
Column(modifier = modifier) {
val baseHeight = 50.dp
RowItem(
modifier = Modifier.height(baseHeight),
key = R.string.petitioner,
value = vo.applyName
)
RowItem(
modifier = Modifier.height(baseHeight),
key = R.string.activity_name,
value = vo.activityName
)
RowItem(
modifier = Modifier.height(baseHeight * 3),
key = R.string.activity_merit,
value = vo.merit
)
RowItem(
modifier = Modifier.height(baseHeight * 3),
key = R.string.activitiy_defect,
value = vo.defect
)
RowItem(
modifier = Modifier.height(baseHeight),
key = R.string.activity_evaluate
) {
Row(
modifier = Modifier.fillMaxWidth(),
horizontalArrangement = Arrangement.Center
) {
repeat(MAX_SCORE.toInt()) {
Image(
modifier = Modifier.weight(1F / MAX_SCORE),
painter = painterResource(id = if (it < vo.score) R.drawable.ic_collection_fill else R.drawable.ic_collection),
contentDescription = null
)
}
}
}
RowItem(
modifier = Modifier.height(baseHeight), key = R.string.approver, value = ""
/**TODO 获取审批人**/
)
RowItem(modifier = Modifier.height(baseHeight * 3), key = R.string.approver_origin) {
BaseTextField(modifier = Modifier.fillMaxSize(), form = model.approverOrigin)
}
val message = stringResource(id = R.string.not_impl_error)
BottomButton(
confirmDesc = R.string.reported_btn, backDesc = R.string.reject_btn,
modifier = Modifier.fillMaxWidth()
) {
scaffoldModel.update(message = message)
}
}
}
}