Browse Source

早筛接入

hurixing 2 months ago
parent
commit
8ccd0c4cf0
21 changed files with 582 additions and 13 deletions
  1. 39 0
      baselib/src/main/java/com/yingyangfly/baselib/adapter/KeyValueSpinnerAdapter.java
  2. 12 0
      baselib/src/main/java/com/yingyangfly/baselib/bean/Hospital.kt
  3. 169 0
      baselib/src/main/java/com/yingyangfly/baselib/dialog/EarlyScreeningDialog.kt
  4. 13 11
      baselib/src/main/java/com/yingyangfly/baselib/utils/JumpUtil.kt
  5. 82 0
      baselib/src/main/java/com/yingyangfly/baselib/widget/BottomAlignedSpinner.java
  6. 22 0
      baselib/src/main/res/drawable/bg_go_mai_phone_hospital.xml
  7. BIN
      baselib/src/main/res/drawable/ic_arrow_drop_down.png
  8. 9 0
      baselib/src/main/res/drawable/spinner_dropdown_background.xml
  9. 136 0
      baselib/src/main/res/layout/dialog_early_screening.xml
  10. 11 0
      baselib/src/main/res/layout/spinner_dropdown_item.xml
  11. 12 0
      baselib/src/main/res/layout/spinner_item.xml
  12. BIN
      baselib/src/main/res/mipmap-xxhdpi/ic_arrow_drop_down.png
  13. 4 0
      login/src/main/java/com/yingyang/login/net/LoginApiService.kt
  14. 12 0
      login/src/main/java/com/yingyang/login/ui/login/LoginActivity.kt
  15. 11 0
      login/src/main/java/com/yingyang/login/ui/login/LoginViewModel.kt
  16. 1 1
      personalcenter/src/main/res/layout/activity_lease_agreement.xml
  17. 33 0
      webview/src/main/java/com/yingyangfly/webview/BridgeWebActivity.kt
  18. 14 0
      webview/src/main/res/layout/dialog_splash_cover.xml
  19. BIN
      webview/src/main/res/mipmap-xxhdpi/dialog_bg.png
  20. 1 0
      webview/src/main/res/values/colors.xml
  21. 1 1
      workbenches/src/main/java/com/yingyang/workbenches/trainreport/TrainReportViewModel.kt

+ 39 - 0
baselib/src/main/java/com/yingyangfly/baselib/adapter/KeyValueSpinnerAdapter.java

@@ -0,0 +1,39 @@
+package com.yingyangfly.baselib.adapter;
+
+import android.content.Context;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ArrayAdapter;
+import android.widget.TextView;
+
+import com.yingyangfly.baselib.R;
+import com.yingyangfly.baselib.bean.Hospital;
+
+import java.util.List;
+
+public class KeyValueSpinnerAdapter extends ArrayAdapter<Hospital> {
+
+    private Context context;
+    private List<Hospital> items;
+
+    public KeyValueSpinnerAdapter(Context context, List<Hospital> items) {
+        super(context, android.R.layout.simple_spinner_item, items);
+        this.context = context;
+        this.items = items;
+        setDropDownViewResource(R.layout.spinner_item);
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        TextView label = (TextView) super.getView(position, convertView, parent);
+        label.setText(items.get(position).getOrgName());
+        return label;
+    }
+
+    @Override
+    public View getDropDownView(int position, View convertView, ViewGroup parent) {
+        TextView label = (TextView) super.getDropDownView(position, convertView, parent);
+        label.setText(items.get(position).getOrgName());
+        return label;
+    }
+}

+ 12 - 0
baselib/src/main/java/com/yingyangfly/baselib/bean/Hospital.kt

@@ -0,0 +1,12 @@
+package com.yingyangfly.baselib.bean
+
+// 数据类定义
+data class Hospital(
+    val id: String,
+    val orgName: String
+
+)
+
+data class HospitalBean(
+    var hospitalList: List<Hospital>,var url:String
+)

+ 169 - 0
baselib/src/main/java/com/yingyangfly/baselib/dialog/EarlyScreeningDialog.kt

@@ -0,0 +1,169 @@
+package com.yingyangfly.baselib.dialog
+
+import android.content.Context
+import android.os.Bundle
+import android.text.TextUtils
+import android.util.Base64
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.AdapterView
+import androidx.appcompat.widget.AppCompatButton
+import androidx.appcompat.widget.AppCompatEditText
+import androidx.fragment.app.DialogFragment
+import com.gyf.immersionbar.BarHide
+import com.gyf.immersionbar.ktx.immersionBar
+import com.yingyangfly.baselib.R
+import com.yingyangfly.baselib.adapter.KeyValueSpinnerAdapter
+import com.yingyangfly.baselib.bean.Hospital
+import com.yingyangfly.baselib.ext.click
+import com.yingyangfly.baselib.ext.toast
+import com.yingyangfly.baselib.router.RouterUrlCommon
+import com.yingyangfly.baselib.utils.JumpUtil
+import com.yingyangfly.baselib.utils.ViewTool
+import com.yingyangfly.baselib.widget.BottomAlignedSpinner
+import kotlinx.android.synthetic.main.dialog_early_screening.spinner
+import java.io.UnsupportedEncodingException
+import java.net.URLEncoder
+
+
+class EarlyScreeningDialog: DialogFragment() {
+
+    private var tvCancel: AppCompatButton? = null
+    private var tvNotarize: AppCompatButton? = null
+    private var goMaiUsername: AppCompatEditText? = null
+    private var mContent: Context? = null
+    private var url = ""
+    private var hospitalList: List<Hospital>? = null
+    private var selectHospital: Hospital? = null
+
+    fun setUrl(url: String, hospitalList: List<Hospital>) {
+        this.url = url
+        this.hospitalList = hospitalList
+    }
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        isCancelable = false
+        dialog?.setCanceledOnTouchOutside(true)
+    }
+
+    override fun onStart() {
+        super.onStart()
+        dialog?.window?.setLayout(
+            ViewGroup.LayoutParams.MATCH_PARENT,
+            ViewGroup.LayoutParams.MATCH_PARENT
+        )
+        dialog?.window?.setBackgroundDrawableResource(R.color.transparent)
+    }
+
+    override fun onCreateView(
+        inflater: LayoutInflater,
+        container: ViewGroup?,
+        savedInstanceState: Bundle?
+    ): View? {
+        immersionBar {
+            hideBar(BarHide.FLAG_HIDE_BAR)
+            navigationBarColor(R.color.transparent)
+        }
+        val rootView = ViewTool.inflateFragmentPixels(
+            activity, R.layout.dialog_early_screening, container, 1194, 834
+        )
+        mContent = activity
+        findId(rootView)
+        initListener()
+        HospitalAdapter(rootView)
+        return rootView
+    }
+
+    private fun findId(rootView: View) {
+        tvCancel = rootView.findViewById(R.id.tvCancel)
+        tvNotarize = rootView.findViewById(R.id.tvNotarize)
+        goMaiUsername = rootView.findViewById(R.id.goMaiUsername)
+    }
+
+    private fun HospitalAdapter(rootView: View){
+        // 初始化Spinner
+        val spinner = rootView.findViewById<BottomAlignedSpinner>(R.id.spinner)
+        val adapter = KeyValueSpinnerAdapter(requireContext(), hospitalList)
+        spinner.adapter = adapter
+
+
+        spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
+            override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
+                val selectedItem: Hospital = parent!!.getItemAtPosition(position) as Hospital
+
+                selectHospital = selectedItem
+            }
+            override fun onNothingSelected(parent: AdapterView<*>?) {}
+        }
+    }
+
+
+//    private fun HospitalAdapter(rootView: View) {
+//        val hospitals = hospitalList?.toMutableList() ?: emptyList()
+//
+//        val spinner: Spinner = rootView.findViewById(R.id.spinner)
+//        val adapter = ArrayAdapter<Hospital>(
+//            requireContext(),
+//            R.layout.spinner_item,        // 使用修正后的布局
+//            R.id.tvGameName,              // 确保 ID 完全一致
+//            hospitals
+//        )
+//        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
+//
+//        spinner.adapter = adapter
+//        spinner.setSelection(0) // 默认选中第一个项
+//
+//        // 添加选择监听
+//        spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
+//            override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
+//                hospitals[position]?.let {
+//                    Log.d("Spinner", "选中: ${it.id} - ${it.orgName}")
+//                }
+//            }
+//            override fun onNothingSelected(parent: AdapterView<*>?) {}
+//        }
+//    }
+
+    private fun initListener() {
+        tvNotarize?.click {
+            if (mContent != null) {
+                if (goMaiUsername?.text.toString().trim().isEmpty()) {
+                    "请输入手机号".toast()
+                } else {
+                    if (selectHospital == null) {
+                        "请选择医院".toast()
+                    }else {
+                        var mobile = goMaiUsername?.text.toString().trim()
+                        val base64Encoded = if (mobile.isNotEmpty()) {
+                            // 使用 Android 内置的 Base64 类进行编码
+                            Base64.encodeToString(mobile.toByteArray(Charsets.UTF_8), Base64.NO_WRAP)
+                        } else {
+                            "" // 处理空字符串情况
+                        }
+                        val id: String = (selectHospital as Hospital).id
+                        val orgName: String = (selectHospital as Hospital).orgName
+                        val rawString = "view=android&phone=${base64Encoded}"+"&hospitalId="+id+"&hospitalName="+orgName
+                        val encodedString = try {
+                            URLEncoder.encode(rawString, "UTF-8")
+                        } catch (e: UnsupportedEncodingException) {
+                            e.printStackTrace()
+                            ""
+                        }
+                        if (TextUtils.isEmpty(url).not()) {
+                            var usl1 = url+"?"+ encodedString
+                            JumpUtil.jumpActivityWith(
+                                RouterUrlCommon.WEB_VIEW_INTERACTION_JS,true, usl1, requireContext()
+                            )
+                        }
+                        dismiss()
+                    }
+                }
+            }
+        }
+        tvCancel?.click {
+            dismiss()
+        }
+    }
+}

+ 13 - 11
baselib/src/main/java/com/yingyangfly/baselib/utils/JumpUtil.kt

@@ -48,17 +48,19 @@ object JumpUtil {
     }
 
     fun jumpActivityWithBoolean(path: String, ck: Boolean, content: Context) {
-        if (TextUtils.equals(RouterUrlCommon.home, path)) {
-            ARouter.getInstance().build(path)
-                .withBoolean("ck", ck)
-                .withTransition(R.anim.rightin, R.anim.rightout)
-                .navigation(content)
-        } else {
-            ARouter.getInstance().build(path)
-                .withBoolean("ck", ck)
-                .withTransition(R.anim.leftin, R.anim.leftout)
-                .navigation(content)
-        }
+        ARouter.getInstance().build(path)
+            .withBoolean("ck", ck)
+            .withTransition(R.anim.leftin, R.anim.leftout)
+            .navigation(content)
+    }
+
+
+    fun jumpActivityWith(path: String, ck: Boolean, url: String, content: Context) {
+        ARouter.getInstance().build(path)
+            .withBoolean("ck", ck)
+            .withString("url", url)
+            .withTransition(R.anim.rightin, R.anim.rightout)
+            .navigation(content)
     }
 
     fun jumpActivityWithString(path: String, string: Map.Entry<String, String>) {

+ 82 - 0
baselib/src/main/java/com/yingyangfly/baselib/widget/BottomAlignedSpinner.java

@@ -0,0 +1,82 @@
+package com.yingyangfly.baselib.widget;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.SpinnerAdapter;
+import androidx.appcompat.widget.AppCompatSpinner;
+
+public class BottomAlignedSpinner extends AppCompatSpinner {
+
+    private int dropdownHeight = ViewGroup.LayoutParams.WRAP_CONTENT;
+
+    public BottomAlignedSpinner(Context context) {
+        super(context);
+    }
+
+    public BottomAlignedSpinner(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    public BottomAlignedSpinner(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+    }
+
+    @Override
+    public boolean onTouchEvent(MotionEvent event) {
+        if (event.getAction() == MotionEvent.ACTION_UP) {
+            // 强制下拉菜单向下对齐
+            performClick();
+            return true;
+        }
+        return super.onTouchEvent(event);
+    }
+
+    // 设置下拉菜单高度
+    public void setDropdownHeight(int height) {
+        this.dropdownHeight = height;
+    }
+
+    // 获取下拉菜单高度
+    public int getDropdownHeight() {
+        return dropdownHeight;
+    }
+
+    @Override
+    public void setAdapter(SpinnerAdapter adapter) {
+        super.setAdapter(adapter);
+
+        // 当设置新适配器时自动计算合适的高度
+        post(() -> {
+            if (adapter != null && adapter.getCount() > 0) {
+                calculateOptimalDropdownHeight();
+            }
+        });
+    }
+
+    // 计算最佳下拉高度
+    private void calculateOptimalDropdownHeight() {
+        SpinnerAdapter adapter = getAdapter();
+        if (adapter == null || adapter.getCount() == 0) return;
+
+        // 计算单个项目的高度
+        View itemView = adapter.getView(0, null, this);
+        itemView.measure(
+                View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),
+                View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)
+        );
+
+        int itemHeight = itemView.getMeasuredHeight();
+
+        // 计算最大高度(最多显示5个项)
+        int maxHeight = itemHeight * Math.min(adapter.getCount(), 5);
+
+        // 添加10dp的垂直内边距
+        int verticalPadding = (int) (10 * getResources().getDisplayMetrics().density);
+
+        // 设置下拉高度
+        dropdownHeight = maxHeight + verticalPadding;
+    }
+}

+ 22 - 0
baselib/src/main/res/drawable/bg_go_mai_phone_hospital.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+    <!-- 背景形状 -->
+    <item>
+        <shape android:shape="rectangle">
+            <corners android:radius="8dp" />  <!-- 圆角半径 -->
+            <solid android:color="@color/color_eff3f5" />  <!-- 背景色 -->
+            <stroke
+                android:width="1dp"
+                android:color="@color/color_eff3f5" />  <!-- 边框颜色 -->
+        </shape>
+    </item>
+
+    <!-- 右侧下拉箭头图标 -->
+    <item
+        android:gravity="end|center_vertical"
+        android:right="15dp">
+        <bitmap
+            android:src="@drawable/ic_arrow_drop_down"
+        android:tint="#888888" />  <!-- 图标颜色 -->
+    </item>
+</layer-list>

BIN
baselib/src/main/res/drawable/ic_arrow_drop_down.png


+ 9 - 0
baselib/src/main/res/drawable/spinner_dropdown_background.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <solid android:color="#FFFFFF" />
+    <corners android:radius="4dp" />
+    <stroke
+        android:width="1dp"
+        android:color="#EEEEEE" />
+</shape>

+ 136 - 0
baselib/src/main/res/layout/dialog_early_screening.xml

@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="500dp">
+
+    <com.google.android.material.card.MaterialCardView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_gravity="center"
+        android:layout_marginStart="@dimen/divider_280px"
+        android:layout_marginTop="@dimen/divider_200px"
+        android:layout_marginEnd="@dimen/divider_280px"
+        android:layout_marginBottom="@dimen/divider_200px"
+        android:theme="@style/Theme.MaterialComponents.NoActionBar"
+        app:cardBackgroundColor="@android:color/white"
+        app:cardCornerRadius="@dimen/divider_50px"
+        app:cardElevation="@dimen/divider_8px"
+        app:strokeWidth="@dimen/divider_20px">
+
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            >
+
+            <TextView
+                android:id="@+id/headTitle"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/divider_40px"
+                android:textColor="@color/color_1B6FEC"
+                android:textSize="@dimen/divider_38px"
+                android:textStyle="bold"
+                android:text="请输入手机号"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toTopOf="parent"
+                />
+<!--            <TextView-->
+<!--                android:id="@+id/tsContent"-->
+<!--                android:layout_width="match_parent"-->
+<!--                android:layout_height="@dimen/divider_40px"-->
+<!--                android:layout_marginStart="@dimen/divider_50px"-->
+<!--                android:layout_marginTop="@dimen/divider_40px"-->
+<!--                android:layout_marginEnd="@dimen/divider_50px"-->
+<!--                android:gravity="center"-->
+<!--                android:text="您还未购买套餐或套餐已到期,请及时购买套餐~"-->
+<!--                android:textSize="@dimen/divider_28px"-->
+<!--                android:textColor="@color/color_333333"-->
+<!--                app:layout_constraintEnd_toEndOf="parent"-->
+<!--                app:layout_constraintStart_toStartOf="parent"-->
+<!--                app:layout_constraintTop_toBottomOf="@+id/headTitle"/>-->
+
+            <androidx.appcompat.widget.AppCompatEditText
+                android:id="@+id/goMaiUsername"
+                android:layout_width="match_parent"
+                android:layout_height="@dimen/divider_70px"
+                android:layout_marginStart="@dimen/divider_60px"
+                android:layout_marginTop="@dimen/divider_40px"
+                android:layout_marginEnd="@dimen/divider_50px"
+                android:background="@drawable/bg_go_mai_user_name"
+                android:hint="请输入手机号"
+                android:textColorHint="@color/color_999999"
+                android:inputType="number"
+                android:paddingStart="@dimen/divider_10px"
+                android:selectAllOnFocus="true"
+                android:textColor="@color/color_333333"
+                android:textSize="@dimen/divider_28px"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toBottomOf="@+id/headTitle" />
+
+
+
+            <!-- 带下拉箭头的Spinner -->
+            <com.yingyangfly.baselib.widget.BottomAlignedSpinner
+                android:id="@+id/spinner"
+                android:layout_width="match_parent"
+                android:layout_height="@dimen/divider_70px"
+                android:layout_marginStart="@dimen/divider_60px"
+                android:layout_marginTop="@dimen/divider_40px"
+                android:layout_marginEnd="@dimen/divider_50px"
+                android:background="@drawable/bg_go_mai_phone_hospital"
+                android:spinnerMode="dropdown"
+                android:dropDownVerticalOffset="48dp"
+                app:layout_constraintTop_toBottomOf="@+id/goMaiUsername"/>
+
+<!--            <TextView-->
+<!--                android:id="@+id/hint"-->
+<!--                android:layout_width="match_parent"-->
+<!--                android:layout_height="@dimen/divider_40px"-->
+<!--                android:layout_marginStart="@dimen/divider_60px"-->
+<!--                android:layout_marginTop="@dimen/divider_10px"-->
+<!--                android:layout_marginEnd="@dimen/divider_50px"-->
+<!--                android:text="请仔细确认充值手机账号"-->
+<!--                android:textSize="@dimen/divider_20px"-->
+<!--                android:textColor="@color/color_f38b8b"-->
+<!--                app:layout_constraintEnd_toEndOf="parent"-->
+<!--                app:layout_constraintStart_toStartOf="parent"-->
+<!--                app:layout_constraintTop_toBottomOf="@+id/goMaiUsername"/>-->
+
+
+            <androidx.appcompat.widget.AppCompatButton
+                android:id="@+id/tvNotarize"
+                android:layout_width="@dimen/divider_180px"
+                android:layout_height="@dimen/divider_68px"
+                android:layout_marginStart="@dimen/divider_60px"
+                android:background="@drawable/bg_go_mai_notarize"
+                android:gravity="center"
+                android:textColor="@color/white"
+                android:textSize="@dimen/divider_28px"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toBottomOf="@+id/spinner"
+                android:text="确认" />
+
+            <androidx.appcompat.widget.AppCompatButton
+                android:id="@+id/tvCancel"
+                android:layout_width="@dimen/divider_180px"
+                android:layout_height="@dimen/divider_68px"
+                android:layout_marginEnd="@dimen/divider_60px"
+                android:background="@drawable/bg_tv_cancel_btn"
+                android:gravity="center"
+                android:textColor="@android:color/white"
+                android:textSize="@dimen/divider_28px"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintTop_toBottomOf="@+id/spinner"
+                android:text="取消" />
+
+
+        </androidx.constraintlayout.widget.ConstraintLayout>
+
+    </com.google.android.material.card.MaterialCardView>
+
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 11 - 0
baselib/src/main/res/layout/spinner_dropdown_item.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@android:id/text1"
+    android:layout_width="match_parent"
+    android:layout_height="48dp"
+    android:singleLine="true"
+    android:ellipsize="end"
+    android:textSize="16sp"
+    android:paddingStart="16dp"
+    android:paddingEnd="16dp"
+    android:gravity="center_vertical"/>

+ 12 - 0
baselib/src/main/res/layout/spinner_item.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/text1"
+    android:layout_width="match_parent"
+    android:layout_height="48dp"
+    android:padding="12dp"
+    android:textColor="#999999"
+    android:background="#FFFFFF"
+    android:textSize="16sp"
+    android:gravity="center_vertical"
+    android:ellipsize="end"
+    android:maxLines="1"/>

BIN
baselib/src/main/res/mipmap-xxhdpi/ic_arrow_drop_down.png


+ 4 - 0
login/src/main/java/com/yingyang/login/net/LoginApiService.kt

@@ -1,5 +1,6 @@
 package com.yingyang.login.net
 
+import com.yingyangfly.baselib.bean.HospitalBean
 import com.yingyangfly.baselib.bean.UserInfoBean
 import com.yingyangfly.baselib.net.BaseResp
 import okhttp3.RequestBody
@@ -50,4 +51,7 @@ interface LoginApiService {
     @POST("app/reset/password")
     suspend fun resetPassWord(@Query("username") username: String,@Query("newPass") newPass:String,@Query("code") code:String): BaseResp<Boolean>
 
+
+    @POST("app/sysOrg/getHospitalList")
+    suspend fun getHospitalList(): BaseResp<HospitalBean>
 }

+ 12 - 0
login/src/main/java/com/yingyang/login/ui/login/LoginActivity.kt

@@ -29,6 +29,7 @@ import com.yingyang.login.R
 import com.yingyang.login.databinding.ActivityLoginBinding
 import com.yingyang.login.service.InitService
 import com.yingyangfly.baselib.dialog.BuyPackageDialog
+import com.yingyangfly.baselib.dialog.EarlyScreeningDialog
 import com.yingyangfly.baselib.ext.getEndAnimation
 import com.yingyangfly.baselib.ext.getScaleAnimation
 import com.yingyangfly.baselib.ext.setTextColorResource
@@ -370,6 +371,8 @@ class LoginActivity : BaseMVVMActivity<ActivityLoginBinding, LoginViewModel>(),
                     if (judgeResetPassCode()) {
                         sendChangePasswordCode()
                     }
+                } else if (v.id == R.id.eaBtn) {
+                    getHospitalList()
                 }
             }
 
@@ -382,6 +385,15 @@ class LoginActivity : BaseMVVMActivity<ActivityLoginBinding, LoginViewModel>(),
         return true
     }
 
+    private fun getHospitalList() {
+        viewModel.getHospitalList(fail = {it.toast()}, success = {
+            if (it != null) {
+                var  earlyScreeningDialog= EarlyScreeningDialog();
+                earlyScreeningDialog.setUrl(it.url,it.hospitalList)
+                earlyScreeningDialog.show(supportFragmentManager,"earlyScreeningDialog")
+            }
+        })
+    }
 
     /**
      * 密码重置

+ 11 - 0
login/src/main/java/com/yingyang/login/ui/login/LoginViewModel.kt

@@ -1,6 +1,7 @@
 package com.yingyang.login.ui.login
 
 import com.yingyang.login.net.LOGIN_API
+import com.yingyangfly.baselib.bean.HospitalBean
 import com.yingyangfly.baselib.bean.UserInfoBean
 import com.yingyangfly.baselib.mvvm.BaseViewModel
 import com.yingyangfly.baselib.net.XUtils
@@ -95,4 +96,14 @@ class LoginViewModel : BaseViewModel() {
         success,
         fail
     )
+
+    fun getHospitalList(
+        fail: ((msg: String) -> Unit)? = null,
+        success: ((success: HospitalBean?) -> Unit)? = null
+    ) = launchFlow(true) {
+        LOGIN_API.getHospitalList()
+    }.runUI(
+        success,
+        fail
+    )
 }

+ 1 - 1
personalcenter/src/main/res/layout/activity_lease_agreement.xml

@@ -79,7 +79,7 @@
                 <androidx.appcompat.widget.AppCompatTextView
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
-                    android:text="未来蓝豚强脑系统服务协议"
+                    android:text="未来蓝豚强脑系统认知训练服务协议"
                     android:textColor="@color/color_FFFFFF"
                     android:textSize="@dimen/divider_28px"
                     android:textStyle="bold" />

+ 33 - 0
webview/src/main/java/com/yingyangfly/webview/BridgeWebActivity.kt

@@ -1,9 +1,12 @@
 package com.yingyangfly.webview
 
 import android.annotation.SuppressLint
+import android.app.Dialog
 import android.content.pm.ActivityInfo
 import android.os.Build
 import android.os.Bundle
+import android.os.Handler
+import android.os.Looper
 import android.text.TextUtils
 import android.util.Log
 import android.view.ViewGroup
@@ -38,6 +41,7 @@ class BridgeWebActivity : AppCompatActivity() {
     private lateinit var binding: ActivityBridgeWebBinding
     private lateinit var webSettings: WebSettings
     private var url: String = ""
+    private var showDialog: Boolean = false
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
@@ -46,12 +50,41 @@ class BridgeWebActivity : AppCompatActivity() {
             navigationBarColor(R.color.transparent)
         }
         url = intent.getStringExtra("url") ?: ""
+        showDialog = intent.getBooleanExtra("ck",false)
         Log.e("wpp", "url------------------->" + url)
         binding = DataBindingUtil.setContentView(this, R.layout.activity_bridge_web)
         ViewTool.inflateLayoutPixels(this, binding.root, 1194, 834)
         initWebView()
         initView()
         initLiveData()
+        if (showDialog) {
+            showCoverDialog()
+        }
+    }
+
+    private fun showCoverDialog() {
+        // 创建全屏对话框
+        val dialog = Dialog(this, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen).apply {
+            // 设置内容视图
+            setContentView(R.layout.dialog_splash_cover)
+
+            // 设置背景
+            window?.setBackgroundDrawableResource(android.R.color.transparent)
+
+            // 设置不可取消
+            setCancelable(false)
+            setCanceledOnTouchOutside(false)
+        }
+
+        // 显示对话框
+        dialog.show()
+
+        // 5秒后自动关闭
+        Handler(Looper.getMainLooper()).postDelayed({
+            if (dialog.isShowing) {
+                dialog.dismiss()
+            }
+        }, 5000)
     }
 
     @SuppressLint("JavascriptInterface", "SetJavaScriptEnabled")

+ 14 - 0
webview/src/main/res/layout/dialog_splash_cover.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    tools:ignore="ResourceName">
+
+    <FrameLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@mipmap/dialog_bg"
+    android:alpha="0.9">  <!-- 可选透明度 -->
+
+</FrameLayout>
+
+</layout>

BIN
webview/src/main/res/mipmap-xxhdpi/dialog_bg.png


+ 1 - 0
webview/src/main/res/values/colors.xml

@@ -1,4 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources xmlns:tools="http://schemas.android.com/tools">
     <color name="transparent" tools:ignore="ResourceName">#00000000</color><!-- 透明   -->
+    <color name="CC000000" tools:ignore="ResourceName">#CC000000</color>
 </resources>

+ 1 - 1
workbenches/src/main/java/com/yingyang/workbenches/trainreport/TrainReportViewModel.kt

@@ -20,7 +20,7 @@ class TrainReportViewModel : BaseViewModel() {
         index: Int,
         showLoading: Boolean,
         fail: ((msg: String) -> Unit)? = null,
-        success: ((success: TrainReportBean?) -> Unit)? = null,
+        success: ((success: TrainReportBean?) -> Unit)? = null
     ) = launchFlow(showLoading) {
         val requestBean = PagingBean().apply {
             page = index