Bladeren bron

完成物资检查签名的回传

Frankensteinly 8 maanden geleden
bovenliggende
commit
8cd1656aba

+ 3 - 2
app/src/main/java/com/grkj/iscs_mc/extentions/Fragment.kt

@@ -3,6 +3,7 @@ package com.grkj.iscs_mc.extentions
 import android.os.Bundle
 import androidx.fragment.app.Fragment
 import androidx.navigation.NavDirections
+import androidx.navigation.NavOptions
 import androidx.navigation.fragment.findNavController
 import com.grkj.iscs_mc.util.Executor
 import com.grkj.iscs_mc.util.log.LogUtil
@@ -31,10 +32,10 @@ fun Fragment.navigateTo(direction: NavDirections) {
     }
 }
 
-fun Fragment.navigateTo(directionId: Int, bundle: Bundle) {
+fun Fragment.navigateTo(directionId: Int, bundle: Bundle, navOptions: NavOptions? = null) {
     Executor.runOnMain {
         try {
-            findNavController().navigate(directionId, bundle)
+            findNavController().navigate(directionId, bundle, navOptions)
         } catch (e: Exception) {
             LogUtil.e(e)
         }

+ 33 - 0
app/src/main/java/com/grkj/iscs_mc/util/ImgUtil.kt

@@ -0,0 +1,33 @@
+package com.grkj.iscs_mc.util
+
+import android.graphics.Bitmap
+import android.graphics.BitmapFactory
+import android.util.Base64
+import java.io.ByteArrayOutputStream
+
+object ImgUtil {
+
+    /**
+     * 图片转字符串
+     * @param bitmap 要转换的图片
+     * @return 图片转换后的字符串
+     */
+    fun imageToBase64(bitmap: Bitmap): String {
+        val byteArrayOutputStream = ByteArrayOutputStream()
+        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream)
+        val buffer = byteArrayOutputStream.toByteArray()
+
+        return Base64.encodeToString(buffer, Base64.DEFAULT)
+    }
+
+    /**
+     * 字符串转图片
+     * @param bitmap64 要转换的字符串
+     * @return 字符串转换后的图片
+     */
+    fun base64ToImage(bitmap64: String?): Bitmap {
+        val bytes: ByteArray = Base64.decode(bitmap64, Base64.DEFAULT)
+
+        return BitmapFactory.decodeByteArray(bytes, 0, bytes.size)
+    }
+}

+ 7 - 0
app/src/main/java/com/grkj/iscs_mc/view/fragment/MaterialInspectionPlanFragment.kt

@@ -6,6 +6,7 @@ import com.grkj.iscs_mc.databinding.FragmentMaterialInspectionPlanBinding
 import com.grkj.iscs_mc.extentions.navigateTo
 import com.grkj.iscs_mc.extentions.navigateUp
 import com.grkj.iscs_mc.model.vo.inspection.LatestInspectionPlanRespVO
+import com.grkj.iscs_mc.util.ImgUtil
 import com.grkj.iscs_mc.view.base.BaseMvpFragment
 import com.grkj.iscs_mc.view.iview.IMaterialInspectionPlanView
 import com.grkj.iscs_mc.view.presenter.MaterialInspectionPlanPresenter
@@ -70,6 +71,12 @@ class MaterialInspectionPlanFragment :
 
         }
 
+        val bundle = arguments
+        val bitmap = bundle?.getString("bitmap")
+        bitmap?.let {
+            // TODO 处理签名bitmap
+        }
+
 //        navigateTo(MaterialInspectionPlanFragmentDirections.actionInspectionPlanFragmentToInspectionTableFragment())
     }
 

+ 16 - 0
app/src/main/java/com/grkj/iscs_mc/view/fragment/MaterialInspectionSignatureFragment.kt

@@ -1,7 +1,12 @@
 package com.grkj.iscs_mc.view.fragment
 
+import android.os.Bundle
+import androidx.navigation.NavOptions
+import com.grkj.iscs_mc.R
 import com.grkj.iscs_mc.databinding.FragmentMaterialInspectionSignatureBinding
+import com.grkj.iscs_mc.extentions.navigateTo
 import com.grkj.iscs_mc.extentions.navigateUp
+import com.grkj.iscs_mc.util.ImgUtil
 import com.grkj.iscs_mc.view.base.BaseFragment
 
 /**
@@ -25,6 +30,17 @@ class MaterialInspectionSignatureFragment :
 
         mBinding?.cbConfirm?.setOnClickListener {
             val bitmap = mBinding?.sv?.drawingCache
+            val bundle = Bundle()
+            bundle.putString("bitmap", ImgUtil.imageToBase64(bitmap!!))
+
+            navigateTo(
+                R.id.action_inspection_signature_fragment_to_inspection_plan_fragment,
+                bundle,
+                NavOptions.Builder()
+                    .setLaunchSingleTop(true)
+                    .setPopUpTo(R.id.material_inspection_plan_fragment, true, false)
+                    .build()
+            )
         }
     }
 }

+ 9 - 1
app/src/main/res/navigation/nav_graph.xml

@@ -148,5 +148,13 @@
     <fragment
         android:id="@+id/material_inspection_signature_fragment"
         android:name="com.grkj.iscs_mc.view.fragment.MaterialInspectionSignatureFragment"
-        tools:layout="@layout/fragment_material_inspection_signature" />
+        tools:layout="@layout/fragment_material_inspection_signature">
+        <action
+            android:id="@+id/action_inspection_signature_fragment_to_inspection_plan_fragment"
+            app:destination="@id/material_inspection_plan_fragment"
+            app:enterAnim="@anim/slide_in_right"
+            app:exitAnim="@anim/slide_out_left"
+            app:popEnterAnim="@anim/slide_in_left"
+            app:popExitAnim="@anim/slide_out_right" />
+    </fragment>
 </navigation>