Selaa lähdekoodia

添加更新作业票进度接口;添加通用提示弹框;添加共锁人更新工作票进度逻辑

Frankensteinly 11 kuukautta sitten
vanhempi
sitoutus
41a90bd540

+ 41 - 0
app/src/main/java/com/grkj/iscs/dialog/TipDialog.kt

@@ -0,0 +1,41 @@
+package com.grkj.iscs.dialog
+
+import android.content.Context
+import com.grkj.iscs.base.BaseDialog
+import com.grkj.iscs.databinding.DialogTipBinding
+
+/**
+ * 通用提示弹框
+ */
+class TipDialog(ctx: Context) : BaseDialog<DialogTipBinding>(ctx) {
+
+    private var confirmListener: (() -> Unit)? = null
+    private var cancelListener: (() -> Unit)? = null
+
+    override val viewBinding: DialogTipBinding
+        get() = DialogTipBinding.inflate(layoutInflater)
+
+    override fun initView() {
+        mBinding?.btnConfirm?.setOnClickListener {
+            dismiss()
+            confirmListener?.invoke()
+        }
+
+        mBinding?.btnCancel?.setOnClickListener {
+            dismiss()
+            cancelListener?.invoke()
+        }
+    }
+
+    fun setTip(tip: String) {
+        mBinding?.tvTip?.text = tip
+    }
+
+    fun setConfirmListener(listener: () -> Unit) {
+        confirmListener = listener
+    }
+
+    fun setCancelListener(listener: () -> Unit) {
+        cancelListener = listener
+    }
+}

+ 5 - 0
app/src/main/java/com/grkj/iscs/model/UrlConsts.kt

@@ -106,4 +106,9 @@ object UrlConsts {
      * 取出钥匙
      */
     const val KEY_TAKE_UPDATE = "/iscs/hardware-api/updateTakeOutKey"
+
+    /**
+     * 更新作业票进度
+     */
+    const val TICKET_UPDATE_PROGRESS = "/iscs/ticket/updateProgress"
 }

+ 24 - 2
app/src/main/java/com/grkj/iscs/presenter/TicketDetailPresenter.kt

@@ -4,6 +4,7 @@ import com.grkj.iscs.BusinessManager
 import com.grkj.iscs.R
 import com.grkj.iscs.activity.TicketDetailActivity
 import com.grkj.iscs.base.BasePresenter
+import com.grkj.iscs.dialog.TipDialog
 import com.grkj.iscs.extentions.serialNo
 import com.grkj.iscs.iview.ITicketDetailView
 import com.grkj.iscs.modbus.ModBusController
@@ -160,14 +161,35 @@ class TicketDetailPresenter : BasePresenter<ITicketDetailView>() {
         }
         when(role.jobStatus) {
             JOB_STATUS_NOT_STARTED -> {
-                // TODO 调用更新接口
+                showTipDlg(mContext!!.getString(R.string.make_sure_to_colock)) {
+                    SPUtils.getLoginUser(mContext!!)?.userId?.let {
+                        NetApi.updateTicketProgress(ticketDetail.ticketId!!, it) {
+
+                        }
+                    }
+                }
             }
             JOB_STATUS_READY_TO_UNLOCK -> {
-                // TODO 调用更新接口
+                showTipDlg(mContext!!.getString(R.string.make_sure_to_unlock)) {
+                    SPUtils.getLoginUser(mContext!!)?.userId?.let {
+                        NetApi.updateTicketProgress(ticketDetail.ticketId!!, it) {
+
+                        }
+                    }
+                }
             }
             JOB_STATUS_UNLOCKED -> {
                 ToastUtils.tip(R.string.ticket_is_colocker_part_finished)
             }
         }
     }
+
+    private fun showTipDlg(tip: String, callback: () -> Unit) {
+        val dlg = TipDialog(mContext!!)
+        dlg.setTip(tip)
+        dlg.setConfirmListener {
+            callback.invoke()
+        }
+        dlg.showDialog()
+    }
 }

+ 17 - 0
app/src/main/java/com/grkj/iscs/util/NetApi.kt

@@ -378,4 +378,21 @@ object NetApi {
             }, isGet = false, isAuth = true
         )
     }
+
+    /**
+     * 更新作业票进度
+     */
+    fun updateTicketProgress(ticketId: Long, userId: Long, callBack: (Boolean) -> Unit) {
+        NetHttpManager.getInstance().doRequestNet(
+            UrlConsts.TICKET_UPDATE_PROGRESS,
+            false,
+            mapOf(
+                "ticketId" to ticketId,
+                "userId" to userId
+            ),
+            { res, _, _ ->
+                callBack.invoke(res != null)
+            }, isGet = false, isAuth = true
+        )
+    }
 }

+ 21 - 0
app/src/main/res/layout/dialog_tip.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:gravity="center"
+    android:orientation="vertical">
+
+    <TextView
+        android:id="@+id/tv_tip"
+        style="@style/CommonTextView" />
+
+    <Button
+        android:id="@+id/btn_confirm"
+        style="@style/CommonBtn"
+        android:text="@string/confirm" />
+
+    <Button
+        android:id="@+id/btn_cancel"
+        style="@style/CommonBtn"
+        android:text="@string/cancel" />
+</LinearLayout>

+ 3 - 0
app/src/main/res/values/strings.xml

@@ -68,6 +68,9 @@
 
     <string name="key_not_exists">钥匙不存在</string>
 
+    <string name="make_sure_to_colock">确定要共锁吗?</string>
+    <string name="make_sure_to_unlock">确定要解锁吗?</string>
+
     <!--  演示页  -->
     <string name="presentation_select_sop">选择SOP</string>
     <string name="presentation_select_workshop">选择车间</string>