diff --git a/.idea/misc.xml b/.idea/misc.xml
index cae34ec..2fcbc16 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -28,7 +28,7 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index 289f956..81a1260 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -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 {
diff --git a/app/src/main/java/com/yzx/escreen/adapter/VisitorListAdapter.kt b/app/src/main/java/com/yzx/escreen/adapter/VisitorListAdapter.kt
index f222c64..ce4abf2 100644
--- a/app/src/main/java/com/yzx/escreen/adapter/VisitorListAdapter.kt
+++ b/app/src/main/java/com/yzx/escreen/adapter/VisitorListAdapter.kt
@@ -19,7 +19,7 @@ class VisitorListAdapter(list: MutableList) :
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) :
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
diff --git a/app/src/main/java/com/yzx/escreen/model/Visitor.kt b/app/src/main/java/com/yzx/escreen/model/Visitor.kt
index 6ae7584..fc00685 100644
--- a/app/src/main/java/com/yzx/escreen/model/Visitor.kt
+++ b/app/src/main/java/com/yzx/escreen/model/Visitor.kt
@@ -1,5 +1,7 @@
package com.yzx.escreen.model
+import kotlin.math.abs
+
data class Visitor(
val add_time: Int = 0,
val auditRecordOuts: MutableList = 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{
+ fun getStep(): MutableList {
val list = mutableListOf()
- 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)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/yzx/escreen/widget/VisitorDialog.kt b/app/src/main/java/com/yzx/escreen/widget/VisitorDialog.kt
index c24aac0..33552ba 100644
--- a/app/src/main/java/com/yzx/escreen/widget/VisitorDialog.kt
+++ b/app/src/main/java/com/yzx/escreen/widget/VisitorDialog.kt
@@ -54,7 +54,7 @@ class VisitorDialog(
setOnClickListener { } //阻止事件冒泡
}
- @SuppressLint("SetTextI18n")
+ @SuppressLint("SetTextI18n", "Range")
fun setData(detail: Visitor) {
//处理弹窗显示
find(R.id.userName).text = "${detail.user_name} ${detail.user_phone}"
@@ -117,10 +117,29 @@ class VisitorDialog(
find(R.id.trip_empty).visibility = View.VISIBLE
find(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(R.id.trip_img).setOnClickListener {
EventBus.getDefault()
.post(ViewImage(detail.id, detail.trip_code_identity, detail.trip_code_key))
}
+ find(R.id.nuclein_img).setOnClickListener {
+ EventBus.getDefault()
+ .post(ViewImage(detail.id, detail.nuclein_file_identity, detail.nuclein_file_key))
+ }
find(R.id.reception_user).text = "${detail.reception_user}"
find(R.id.visit_reason).text = "${detail.visit_reason}"
find(R.id.is_drive).text = when (detail.is_drive) {
diff --git a/app/src/main/res/layout/dialog_visitor.xml b/app/src/main/res/layout/dialog_visitor.xml
index 10d63ac..bf577e0 100644
--- a/app/src/main/res/layout/dialog_visitor.xml
+++ b/app/src/main/res/layout/dialog_visitor.xml
@@ -54,17 +54,19 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
-
+ android:layout_height="@dimen/d_20" />
+ android:background="@color/colorPrimary" />
+
+
+
+
+ android:textSize="@dimen/sp20" />
+
+
+ android:visibility="gone"
+ app:qmui_corner_radius="@dimen/d_5" />
+
+ android:layout_marginStart="@dimen/d_20"
+ android:layout_weight="1"
+ android:gravity="center_horizontal"
+ android:orientation="vertical">
+
+ android:textSize="@dimen/sp20" />
+
+ android:layout_width="match_parent"
+ android:layout_height="190dp"
+ android:gravity="center"
+ android:orientation="vertical">
+
+ android:textSize="@dimen/d_20" />
+
+ android:textSize="@dimen/d_15" />
+
+
+ android:visibility="gone"
+ app:qmui_corner_radius="@dimen/d_5" />
+
+ android:layout_marginStart="@dimen/d_20"
+ android:layout_weight="1"
+ android:gravity="center_horizontal"
+ android:orientation="vertical">
+
+ android:textSize="@dimen/sp20" />
+
+
+
+
+
+
+
+
+
+
+
+
+ android:visibility="gone"
+ app:qmui_corner_radius="@dimen/d_5" />
+
+
+
+
+
+
+
-
+ android:layout_height="@dimen/d_20" />
+ android:background="@color/colorPrimary" />
+
+
+
-
+ android:layout_height="@dimen/d_20" />
+ android:background="@color/colorPrimary" />
+
+
+
-
+ android:layout_height="@dimen/d_20" />
+ android:background="@color/colorPrimary" />
+
+
+
+ android:layout_weight="0.6">
+
+
+
+
+
+
+
+
+
+
+
29dp
30dp
70dp
+ 80dp