Explorar el Código

访客管理新增核酸报告

master
YunLei hace 3 años
padre
commit
399afecb14
Se han modificado 9 ficheros con 294 adiciones y 70 borrados
  1. +1
    -1
      .idea/misc.xml
  2. +2
    -2
      app/build.gradle
  3. +16
    -1
      app/src/main/java/com/yzx/escreen/adapter/VisitorListAdapter.kt
  4. +56
    -15
      app/src/main/java/com/yzx/escreen/model/Visitor.kt
  5. +20
    -1
      app/src/main/java/com/yzx/escreen/widget/VisitorDialog.kt
  6. +142
    -46
      app/src/main/res/layout/dialog_visitor.xml
  7. +6
    -2
      app/src/main/res/layout/fragment_visitor.xml
  8. +50
    -2
      app/src/main/res/layout/layout_visitor_table.xml
  9. +1
    -0
      app/src/main/res/values/dimens.xml

+ 1
- 1
.idea/misc.xml Ver fichero

@@ -28,7 +28,7 @@
<entry key="..\:/work/escreen/app/src/main/res/layout/fragment_change.xml" value="0.10822707953855495" />
<entry key="..\:/work/escreen/app/src/main/res/layout/fragment_home.xml" value="0.10822707953855495" />
<entry key="..\:/work/escreen/app/src/main/res/layout/fragment_my.xml" value="0.10822707953855495" />
<entry key="..\:/work/escreen/app/src/main/res/layout/fragment_visitor.xml" value="0.22" />
<entry key="..\:/work/escreen/app/src/main/res/layout/fragment_visitor.xml" value="0.1" />
<entry key="..\:/work/escreen/app/src/main/res/layout/item_home.xml" value="0.12378472222222223" />
<entry key="..\:/work/escreen/app/src/main/res/layout/layout_change_table.xml" value="0.12378472222222223" />
<entry key="..\:/work/escreen/app/src/main/res/layout/layout_empty.xml" value="0.37135416666666665" />


+ 2
- 2
app/build.gradle Ver fichero

@@ -19,8 +19,8 @@ android {
// minSdkVersion 26
minSdkVersion 21
targetSdkVersion 25
versionCode 16
versionName "2.1.1"
versionCode 18
versionName "2.1.3"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

// ndk {


+ 16
- 1
app/src/main/java/com/yzx/escreen/adapter/VisitorListAdapter.kt Ver fichero

@@ -19,7 +19,7 @@ class VisitorListAdapter(list: MutableList<Visitor>) :
addChildClickViewIds(R.id.cancelBtn)
}

@SuppressLint("SetTextI18n")
@SuppressLint("SetTextI18n", "Range")
override fun convert(holder: BaseViewHolder, item: Visitor) {
holder.itemView.userName.text = item.user_name
if (item.face_key.isNotEmpty()) {
@@ -66,6 +66,21 @@ class VisitorListAdapter(list: MutableList<Visitor>) :
holder.itemView.healthCodeImg.visibility = View.GONE
}
}
if(item.nuclein_file_key.isNullOrBlank()){
holder.itemView.nucleinEmpty.visibility = View.VISIBLE
holder.itemView.nucleinImg.visibility = View.GONE
}else{
holder.itemView.nucleinImg.visibility = View.VISIBLE
holder.itemView.nucleinEmpty.visibility = View.GONE
holder.itemView.nucleinImg.setSrc(item.nuclein_file_identity, item.nuclein_file_key)
}
if(item.nuclein_time>0){
holder.itemView.nucleinStatusLayout.visibility = View.VISIBLE
holder.itemView.nucleinStatus.text = item.getNucleinStatusObj().nuclein_name
holder.itemView.nucleinStatus.setTextColor(Color.parseColor(item.getNucleinStatusObj().nuclein_color))
}else{
holder.itemView.nucleinStatusLayout.visibility = View.GONE
}
if (item.trip_code_key.isNullOrBlank()) {
holder.itemView.tripCodeEmpty.visibility = View.VISIBLE
holder.itemView.tripCodeImg.visibility = View.GONE


+ 56
- 15
app/src/main/java/com/yzx/escreen/model/Visitor.kt Ver fichero

@@ -1,5 +1,7 @@
package com.yzx.escreen.model

import kotlin.math.abs

data class Visitor(
val add_time: Int = 0,
val auditRecordOuts: MutableList<AuditRecordOut> = mutableListOf(),
@@ -29,28 +31,67 @@ data class Visitor(
val user_name: String = "",
val user_phone: String = "",
val user_type: Int = 0,
val visit_reason: String = ""
){
val visit_reason: String = "",
val nuclein_file_key: String = "",
val nuclein_file_identity: String = "",
val nuclein_time: Int = 0,
val nuclein_result: Int = 0
) {
fun getStatusImg(): String {
return when (audit_status) {
0 -> "https://oa-edu-1259243469.cos.ap-chengdu.myqcloud.com/public/v_status_0.png"
1 -> "https://oa-edu-1259243469.cos.ap-chengdu.myqcloud.com/public/v_status_1.png"
2 -> "https://oa-edu-1259243469.cos.ap-chengdu.myqcloud.com/public/v_status_2.png"
-1 -> "https://oa-edu-1259243469.cos.ap-chengdu.myqcloud.com/public/v_status_-1.png"
else -> "--"
}
0 -> "https://oa-edu-1259243469.cos.ap-chengdu.myqcloud.com/public/v_status_0.png"
1 -> "https://oa-edu-1259243469.cos.ap-chengdu.myqcloud.com/public/v_status_1.png"
2 -> "https://oa-edu-1259243469.cos.ap-chengdu.myqcloud.com/public/v_status_2.png"
-1 -> "https://oa-edu-1259243469.cos.ap-chengdu.myqcloud.com/public/v_status_-1.png"
else -> "--"
}
}

fun getStep():MutableList<AuditRecordOut>{
fun getStep(): MutableList<AuditRecordOut> {
val list = mutableListOf<AuditRecordOut>()
list.add(AuditRecordOut(add_time=add_time, typeTxt = "发起申请"))
list.add(AuditRecordOut(add_time = add_time, typeTxt = "发起申请"))
auditRecordOuts.forEach {
list.add(it.getCopyItem())
}
return list
}

fun getNucleinStatusObj(): NucleinStatusObj {
val time = abs(add_time - nuclein_time)
val nucleinResultName = if (nuclein_result == 2) {
"阳性"
} else {
"阴性"
}
var name = ""
var color = "#5DAD64"
when {
time < 24 * 60 * 60 -> {
name = "省内24小时:${nucleinResultName}"
color = "#5DAD64";
}
time < 48 * 60 * 60 -> {
name = "省内48小时:${nucleinResultName}"
color = "#3c7ef6";
}
time < 72 * 60 * 60 -> {
name = "省内72小时:${nucleinResultName}"
color = "#62D5FF";
}
else -> {
name = "省内72小时以上:${nucleinResultName}"
color = "#999999";
}
}
if (nuclein_result == 2) {
color = "#ff4040"
}
return NucleinStatusObj(name, color)
}
}

data class NucleinStatusObj(val nuclein_name: String = "",
val nuclein_color: String = "#333333")
data class AuditRecordOut(
val add_time: Int = 0,
val audit_remark: String = "",
@@ -58,15 +99,15 @@ data class AuditRecordOut(
val audit_user_name: String = "",
val typeTxt: String = "",
val id: Int = 0
){
fun getTitle():String{
if(typeTxt.isNotEmpty()){
) {
fun getTitle(): String {
if (typeTxt.isNotEmpty()) {
return typeTxt
}
return "接待人审批"
}

fun getCopyItem():AuditRecordOut{
return AuditRecordOut(add_time,audit_remark,audit_status, audit_user_name, typeTxt, id)
fun getCopyItem(): AuditRecordOut {
return AuditRecordOut(add_time, audit_remark, audit_status, audit_user_name, typeTxt, id)
}
}

+ 20
- 1
app/src/main/java/com/yzx/escreen/widget/VisitorDialog.kt Ver fichero

@@ -54,7 +54,7 @@ class VisitorDialog(
setOnClickListener { } //阻止事件冒泡
}

@SuppressLint("SetTextI18n")
@SuppressLint("SetTextI18n", "Range")
fun setData(detail: Visitor) {
//处理弹窗显示
find<TextView>(R.id.userName).text = "${detail.user_name} ${detail.user_phone}"
@@ -117,10 +117,29 @@ class VisitorDialog(
find<View>(R.id.trip_empty).visibility = View.VISIBLE
find<View>(R.id.trip_img).visibility = View.GONE
}
if(detail.nuclein_file_key.isNullOrBlank()){
nuclein_img.visibility = View.GONE
nuclein_empty.visibility = View.VISIBLE
}else{
nuclein_img.visibility = View.VISIBLE
nuclein_empty.visibility = View.GONE
nuclein_img.setSrc(detail.nuclein_file_identity, detail.nuclein_file_key)
}
if(detail.nuclein_time>0){
nucleinStatusLayout.visibility = VISIBLE
nucleinStatus.text = detail.getNucleinStatusObj().nuclein_name
nucleinStatus.setTextColor(Color.parseColor(detail.getNucleinStatusObj().nuclein_color))
}else{
nucleinStatusLayout.visibility = GONE
}
find<ImageView>(R.id.trip_img).setOnClickListener {
EventBus.getDefault()
.post(ViewImage(detail.id, detail.trip_code_identity, detail.trip_code_key))
}
find<ImageView>(R.id.nuclein_img).setOnClickListener {
EventBus.getDefault()
.post(ViewImage(detail.id, detail.nuclein_file_identity, detail.nuclein_file_key))
}
find<TextView>(R.id.reception_user).text = "${detail.reception_user}"
find<TextView>(R.id.visit_reason).text = "${detail.visit_reason}"
find<TextView>(R.id.is_drive).text = when (detail.is_drive) {


+ 142
- 46
app/src/main/res/layout/dialog_visitor.xml Ver fichero

@@ -54,17 +54,19 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout style="@style/visitor_dialog_row"

<LinearLayout
style="@style/visitor_dialog_row"
android:gravity="center_vertical">

<View
android:layout_width="90dp"
android:layout_height="@dimen/d_20"/>
android:layout_height="@dimen/d_20" />

<View
android:layout_width="4dp"
android:layout_height="@dimen/d_20"
android:background="@color/colorPrimary"/>
android:background="@color/colorPrimary" />

<TextView
style="@style/leave_dialog_title"
@@ -72,6 +74,7 @@
android:text="访客信息" />

</LinearLayout>

<LinearLayout style="@style/visitor_dialog_row">

<TextView
@@ -83,6 +86,7 @@
style="@style/leave_dialog_left_content"
android:text="颜小华 18780170404" />
</LinearLayout>

<LinearLayout style="@style/visitor_dialog_row">

<TextView
@@ -101,125 +105,205 @@
style="@style/leave_dialog_title"
android:layout_width="100dp"
android:text="" />

<LinearLayout
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_weight="1"
android:orientation="vertical">

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="人脸"
android:textSize="@dimen/sp20"/>
android:textSize="@dimen/sp20" />

<com.qmuiteam.qmui.widget.QMUIRadiusImageView
android:id="@+id/face_img"
android:layout_width="180dp"
android:layout_height="222dp"
android:layout_width="match_parent"
android:layout_height="190dp"
android:text="颜小华"
app:qmui_border_color="@color/white"
app:qmui_corner_radius="@dimen/d_5" />

<TextView
android:id="@+id/face_empty"
android:layout_width="180dp"
android:layout_height="222dp"
android:layout_width="match_parent"
android:layout_height="190dp"
android:background="@color/gray_2"
android:gravity="center"
android:text="未设置"
android:textColor="@color/white"
app:qmui_corner_radius="@dimen/d_5"
android:visibility="gone"/>
android:visibility="gone"
app:qmui_corner_radius="@dimen/d_5" />
</LinearLayout>

<LinearLayout
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginStart="@dimen/d_20">
android:layout_marginStart="@dimen/d_20"
android:layout_weight="1"
android:gravity="center_horizontal"
android:orientation="vertical">

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="健康码"
android:textSize="@dimen/sp20"/>
android:textSize="@dimen/sp20" />

<LinearLayout
android:id="@+id/healthCodeStatusLayout"
android:layout_width="180dp"
android:layout_height="222dp"
android:orientation="vertical"
android:gravity="center">
android:layout_width="match_parent"
android:layout_height="190dp"
android:gravity="center"
android:orientation="vertical">

<TextView
android:id="@+id/healthCodeStatus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="状态:绿码"
android:textSize="@dimen/d_20"/>
android:textSize="@dimen/d_20" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="成都大数据中心提供"
android:textColor="@color/gray_1"
android:textSize="@dimen/d_15"/>
android:textSize="@dimen/d_15" />
</LinearLayout>

<com.qmuiteam.qmui.widget.QMUIRadiusImageView
android:id="@+id/health_img"
android:layout_width="180dp"
android:layout_height="222dp"
android:layout_width="match_parent"
android:layout_height="190dp"
android:text="颜小华"
app:qmui_border_color="@color/white"
app:qmui_corner_radius="@dimen/d_5" />

<TextView
android:id="@+id/health_empty"
android:layout_width="180dp"
android:layout_height="222dp"
android:layout_width="match_parent"
android:layout_height="190dp"
android:background="@color/gray_2"
android:gravity="center"
android:text="未上传"
android:textColor="@color/white"
app:qmui_corner_radius="@dimen/d_5"
android:visibility="gone"/>
android:visibility="gone"
app:qmui_corner_radius="@dimen/d_5" />
</LinearLayout>

<LinearLayout
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginStart="@dimen/d_20">
android:layout_marginStart="@dimen/d_20"
android:layout_weight="1"
android:gravity="center_horizontal"
android:orientation="vertical">

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="行程码"
android:textSize="@dimen/sp20"/>
android:textSize="@dimen/sp20" />

<com.qmuiteam.qmui.widget.QMUIRadiusImageView
android:id="@+id/trip_img"
android:layout_width="180dp"
android:layout_height="222dp"
android:layout_width="match_parent"
android:layout_height="190dp"
android:text="颜小华"
app:qmui_border_color="@color/white"
app:qmui_corner_radius="@dimen/d_5" />

<TextView
android:id="@+id/trip_empty"
android:layout_width="180dp"
android:layout_height="222dp"
android:layout_width="108dp"
android:layout_height="190dp"
android:background="@color/gray_2"
android:gravity="center"
android:text="未上传"
android:textColor="@color/white"
android:visibility="gone"
app:qmui_corner_radius="@dimen/d_5" />
</LinearLayout>

<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/d_20"
android:layout_weight="1"
android:orientation="vertical">

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="核酸报告"
android:textSize="@dimen/sp20" />


<com.qmuiteam.qmui.widget.QMUIRadiusImageView
android:id="@+id/nuclein_img"
android:layout_width="match_parent"
android:layout_height="190dp"
android:text="颜小华"
app:qmui_border_color="@color/white"
app:qmui_corner_radius="@dimen/d_5" />

<TextView
android:id="@+id/nuclein_empty"
android:layout_width="match_parent"
android:layout_height="190dp"
android:background="@color/gray_2"
android:gravity="center"
android:text="未上传"
android:textColor="@color/white"
app:qmui_corner_radius="@dimen/d_5"
android:visibility="gone"/>
android:visibility="gone"
app:qmui_corner_radius="@dimen/d_5" />

<LinearLayout
android:id="@+id/nucleinStatusLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">

<TextView
android:id="@+id/nucleinStatus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="省内24小时:阴性"
android:textSize="@dimen/d_16" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="成都大数据中心提供"
android:textColor="@color/gray_1"
android:textSize="@dimen/d_15" />
</LinearLayout>
</LinearLayout>


</LinearLayout>
<LinearLayout style="@style/visitor_dialog_row"

<LinearLayout
style="@style/visitor_dialog_row"
android:gravity="center_vertical">

<View
android:layout_width="90dp"
android:layout_height="@dimen/d_20"/>
android:layout_height="@dimen/d_20" />

<View
android:layout_width="4dp"
android:layout_height="@dimen/d_20"
android:background="@color/colorPrimary"/>
android:background="@color/colorPrimary" />

<TextView
style="@style/leave_dialog_title"
@@ -227,6 +311,7 @@
android:text="来访信息" />

</LinearLayout>

<LinearLayout style="@style/visitor_dialog_row">

<TextView
@@ -250,6 +335,7 @@
style="@style/leave_dialog_left_content"
android:text="颜小华" />
</LinearLayout>

<LinearLayout style="@style/visitor_dialog_row">

<TextView
@@ -261,23 +347,26 @@
style="@style/leave_dialog_left_content"
android:text="颜小华" />
</LinearLayout>

<LinearLayout
android:id="@+id/carLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<LinearLayout style="@style/visitor_dialog_row"

<LinearLayout
style="@style/visitor_dialog_row"
android:gravity="center_vertical">

<View
android:layout_width="90dp"
android:layout_height="@dimen/d_20"/>
android:layout_height="@dimen/d_20" />

<View
android:layout_width="4dp"
android:layout_height="@dimen/d_20"
android:background="@color/colorPrimary"/>
android:background="@color/colorPrimary" />

<TextView
style="@style/leave_dialog_title"
@@ -285,6 +374,7 @@
android:text="车辆信息" />

</LinearLayout>

<LinearLayout style="@style/visitor_dialog_row">

<TextView
@@ -297,6 +387,7 @@
android:textColor="@color/colorPrimary"
tools:text="2022年4月21日15:38:15" />
</LinearLayout>

<LinearLayout style="@style/visitor_dialog_row">

<TextView
@@ -310,23 +401,26 @@
tools:text="2022年4月21日15:38:15" />
</LinearLayout>
</LinearLayout>

<LinearLayout
android:id="@+id/doorLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="visible">
<LinearLayout style="@style/visitor_dialog_row"

<LinearLayout
style="@style/visitor_dialog_row"
android:gravity="center_vertical">

<View
android:layout_width="90dp"
android:layout_height="@dimen/d_20"/>
android:layout_height="@dimen/d_20" />

<View
android:layout_width="4dp"
android:layout_height="@dimen/d_20"
android:background="@color/colorPrimary"/>
android:background="@color/colorPrimary" />

<TextView
style="@style/leave_dialog_title"
@@ -334,6 +428,7 @@
android:text="进出信息" />

</LinearLayout>

<LinearLayout style="@style/visitor_dialog_row">

<TextView
@@ -346,6 +441,7 @@
android:textColor="@color/colorPrimary"
tools:text="2022年4月21日15:38:15" />
</LinearLayout>

<LinearLayout style="@style/visitor_dialog_row">

<TextView


+ 6
- 2
app/src/main/res/layout/fragment_visitor.xml Ver fichero

@@ -179,13 +179,13 @@

<TextView
style="@style/table_header"
android:layout_weight="1.5"
android:layout_weight="0.6"
android:paddingStart="@dimen/dp_40"
android:text="姓名" />

<TextView
style="@style/table_header"
android:layout_weight="1"
android:layout_weight="0.6"
android:text="人脸" />

<TextView
@@ -197,6 +197,10 @@
style="@style/table_header"
android:layout_weight="1"
android:text="行程码" />
<TextView
style="@style/table_header"
android:layout_weight="1.5"
android:text="核酸报告" />


<TextView


+ 50
- 2
app/src/main/res/layout/layout_visitor_table.xml Ver fichero

@@ -16,13 +16,13 @@
<TextView
android:id="@+id/userName"
style="@style/table_cell"
android:layout_weight="1.5"
android:layout_weight="0.6"
android:paddingStart="@dimen/dp_40"
android:text="请假学生" />

<FrameLayout
style="@style/table_cell"
android:layout_weight="1">
android:layout_weight="0.6">

<com.qmuiteam.qmui.widget.QMUIRadiusImageView
android:id="@+id/faceImg"
@@ -52,6 +52,7 @@
android:id="@+id/healthCodeStatusLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:orientation="vertical">
<TextView
android:id="@+id/healthCodeStatus"
@@ -112,6 +113,53 @@
app:qmui_radius="@dimen/d_5" />
</FrameLayout>

<FrameLayout
style="@style/table_cell"
android:layout_weight="1.5">
<com.qmuiteam.qmui.widget.QMUIRadiusImageView
android:id="@+id/nucleinImg"
android:layout_width="@dimen/d_70"
android:layout_height="@dimen/d_70"
app:qmui_border_color="@color/white"
app:qmui_corner_radius="@dimen/d_5"
android:visibility="gone"/>

<com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
android:id="@+id/nucleinEmpty"
android:layout_width="@dimen/d_70"
android:layout_height="@dimen/d_70"
android:paddingTop="@dimen/d_5"
android:paddingBottom="@dimen/d_5"
android:text="未上传"
android:textColor="@color/white"
app:qmui_backgroundColor="#ccc"
app:qmui_borderColor="#ccc"
app:qmui_radius="@dimen/d_5"
android:visibility="visible"/>
<LinearLayout
android:id="@+id/nucleinStatusLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center_vertical"
android:layout_gravity="center_vertical"
android:layout_marginStart="@dimen/d_80">
<TextView
android:id="@+id/nucleinStatus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="状态:绿码"
android:textSize="@dimen/d_20"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="成都大数据中心提供"
android:textColor="@color/gray_1"
android:textSize="@dimen/d_15"/>
</LinearLayout>

</FrameLayout>

<TextView
android:id="@+id/isDrive"
style="@style/table_cell"


+ 1
- 0
app/src/main/res/values/dimens.xml Ver fichero

@@ -40,6 +40,7 @@
<dimen name="d_29">29dp</dimen>
<dimen name="d_30">30dp</dimen>
<dimen name="d_70">70dp</dimen>
<dimen name="d_80">80dp</dimen>


<!-- Default screen margins, per the Android Design guidelines. -->


Cargando…
Cancelar
Guardar