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.
104 lines
3.7 KiB
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)
|
|
}
|
|
}
|
|
}
|
|
} |