Ver Fonte

调整项目代码目录结构;添加首页菜单适配器;添加车江岗位页基础、工艺SOP页基础、作业执行页基础

Frankensteinly há 10 meses atrás
pai
commit
72fe9a032e
32 ficheiros alterados com 275 adições e 35 exclusões
  1. 1 1
      app/src/main/java/com/grkj/iscs/presentation/PresentationActivity.kt
  2. 1 1
      app/src/main/java/com/grkj/iscs/view/activity/CreateTicketActivity.kt
  3. 27 1
      app/src/main/java/com/grkj/iscs/view/activity/HomeActivity.kt
  4. 1 1
      app/src/main/java/com/grkj/iscs/view/activity/MainActivity.kt
  5. 1 1
      app/src/main/java/com/grkj/iscs/view/activity/test/SopActivity.kt
  6. 25 0
      app/src/main/java/com/grkj/iscs/view/adapter/MenuAdapter.kt
  7. 24 0
      app/src/main/java/com/grkj/iscs/view/fragment/JobExecutionFragment.kt
  8. 26 1
      app/src/main/java/com/grkj/iscs/view/fragment/JobManagementFragment.kt
  9. 25 0
      app/src/main/java/com/grkj/iscs/view/fragment/TechnologySopFragment.kt
  10. 24 0
      app/src/main/java/com/grkj/iscs/view/fragment/WorkshopFragment.kt
  11. 6 0
      app/src/main/java/com/grkj/iscs/view/iview/IJobExecutionView.kt
  12. 6 0
      app/src/main/java/com/grkj/iscs/view/iview/ITechnologySopView.kt
  13. 6 0
      app/src/main/java/com/grkj/iscs/view/iview/IWorkshopView.kt
  14. 7 0
      app/src/main/java/com/grkj/iscs/view/presenter/JobExecutionPresenter.kt
  15. 7 0
      app/src/main/java/com/grkj/iscs/view/presenter/TechnologySopPresenter.kt
  16. 7 0
      app/src/main/java/com/grkj/iscs/view/presenter/WorkshopPresenter.kt
  17. 1 1
      app/src/main/java/com/grkj/iscs/view/widget/PageControl.java
  18. 1 1
      app/src/main/java/com/grkj/iscs/view/widget/RvTab.kt
  19. 1 1
      app/src/main/java/com/grkj/iscs/view/widget/SelectableInput.kt
  20. 1 1
      app/src/main/java/com/grkj/iscs/view/widget/TitleBar.kt
  21. 10 10
      app/src/main/res/layout/activity_create_ticket.xml
  22. 1 1
      app/src/main/res/layout/activity_home.xml
  23. 9 9
      app/src/main/res/layout/activity_presentation.xml
  24. 1 1
      app/src/main/res/layout/activity_sop.xml
  25. 1 1
      app/src/main/res/layout/activity_ticket_list.xml
  26. 1 1
      app/src/main/res/layout/activity_web_socket.xml
  27. 8 0
      app/src/main/res/layout/fragment_job_execution.xml
  28. 12 2
      app/src/main/res/layout/fragment_job_management.xml
  29. 8 0
      app/src/main/res/layout/fragment_technology_sop.xml
  30. 8 0
      app/src/main/res/layout/fragment_workshop.xml
  31. 13 0
      app/src/main/res/layout/item_rv_job_management.xml
  32. 5 0
      app/src/main/res/values/strings.xml

+ 1 - 1
app/src/main/java/com/grkj/iscs/presentation/PresentationActivity.kt

@@ -16,7 +16,7 @@ import com.grkj.iscs.model.DeviceConst
 import com.grkj.iscs.model.WorkTicketBean
 import com.grkj.iscs.util.ToastUtils
 import com.grkj.iscs.util.log.LogUtil
-import com.grkj.iscs.widget.SelectableInput
+import com.grkj.iscs.view.widget.SelectableInput
 import com.manu.mdatepicker.MDatePicker
 import com.zhy.adapter.recyclerview.CommonAdapter
 import com.zhy.adapter.recyclerview.base.ViewHolder

+ 1 - 1
app/src/main/java/com/grkj/iscs/view/activity/CreateTicketActivity.kt

@@ -9,7 +9,7 @@ import com.grkj.iscs.model.vo.ticket.CreateTicketReqVO
 import com.grkj.iscs.model.vo.sop.SopPageRespVO
 import com.grkj.iscs.view.presenter.CreateTicketPresenter
 import com.grkj.iscs.util.ToastUtils
-import com.grkj.iscs.widget.SelectableInput
+import com.grkj.iscs.view.widget.SelectableInput
 import com.manu.mdatepicker.MDatePicker
 import java.text.SimpleDateFormat
 import java.util.Date

+ 27 - 1
app/src/main/java/com/grkj/iscs/view/activity/HomeActivity.kt

@@ -1,23 +1,49 @@
 package com.grkj.iscs.view.activity
 
-import com.grkj.iscs.view.base.BaseMvpActivity
+import com.grkj.iscs.R
 import com.grkj.iscs.databinding.ActivityHomeBinding
+import com.grkj.iscs.view.adapter.MenuAdapter
+import com.grkj.iscs.view.base.BaseFragment
+import com.grkj.iscs.view.base.BaseMvpActivity
+import com.grkj.iscs.view.fragment.JobManagementFragment
+import com.grkj.iscs.view.fragment.MaterialManagementFragment
 import com.grkj.iscs.view.iview.IHomeView
 import com.grkj.iscs.view.presenter.HomePresenter
+import com.zhy.adapter.recyclerview.CommonAdapter
+import com.zhy.adapter.recyclerview.base.ViewHolder
 
 /**
  * 首页
  */
 class HomeActivity : BaseMvpActivity<IHomeView, HomePresenter, ActivityHomeBinding>() {
 
+    private lateinit var mMenuList: MutableList<Menu>
+
     override val viewBinding: ActivityHomeBinding
         get() = ActivityHomeBinding.inflate(layoutInflater)
 
     override fun initView() {
+        mMenuList = mutableListOf(
+            Menu(getString(R.string.job_management), fragment = JobManagementFragment()),
+            Menu(getString(R.string.material_management), fragment = MaterialManagementFragment())
+        )
+
         mBinding?.vp?.isUserInputEnabled = false
+        mBinding?.vp?.adapter = MenuAdapter(supportFragmentManager, lifecycle, mMenuList)
+
+        mBinding?.rvMenu?.adapter = object : CommonAdapter<Menu>(this, R.layout.item_rv_menu, mMenuList) {
+            override fun convert(holder: ViewHolder, data: Menu?, position: Int) {
+                holder.setText(R.id.tv_number, data?.title)
+                holder.setOnClickListener(R.id.root) {
+                    mBinding?.vp?.currentItem = position
+                }
+            }
+        }
     }
 
     override fun initPresenter(): HomePresenter {
         return HomePresenter()
     }
+
+    data class Menu(val title: String, val icon: String? = null, val fragment: BaseFragment<*>)
 }

+ 1 - 1
app/src/main/java/com/grkj/iscs/view/activity/MainActivity.kt

@@ -39,7 +39,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
         }
 
         mBinding?.home?.setOnClickListener {
-            startActivity(Intent(this, CustomHomeActivity::class.java))
+            startActivity(Intent(this, HomeActivity::class.java))
         }
 
         mBinding?.sop?.setOnClickListener {

+ 1 - 1
app/src/main/java/com/grkj/iscs/view/activity/test/SopActivity.kt

@@ -5,7 +5,7 @@ import com.grkj.iscs.databinding.ActivitySopBinding
 import com.grkj.iscs.view.iview.ISopView
 import com.grkj.iscs.view.presenter.SopPresenter
 import com.grkj.iscs.util.ToastUtils
-import com.grkj.iscs.widget.SelectableInput
+import com.grkj.iscs.view.widget.SelectableInput
 
 class SopActivity : BaseMvpActivity<ISopView, SopPresenter, ActivitySopBinding>() {
 

+ 25 - 0
app/src/main/java/com/grkj/iscs/view/adapter/MenuAdapter.kt

@@ -0,0 +1,25 @@
+package com.grkj.iscs.view.adapter
+
+import androidx.fragment.app.Fragment
+import androidx.fragment.app.FragmentManager
+import androidx.lifecycle.Lifecycle
+import androidx.viewpager2.adapter.FragmentStateAdapter
+import com.grkj.iscs.view.activity.HomeActivity.Menu
+
+/**
+ * 首页功能菜单适配器
+ */
+class MenuAdapter(
+    fragmentManager: FragmentManager,
+    lifecycle: Lifecycle,
+    private val fragmentList: MutableList<Menu>
+) : FragmentStateAdapter(fragmentManager, lifecycle) {
+
+    override fun getItemCount(): Int {
+        return fragmentList.size
+    }
+
+    override fun createFragment(position: Int): Fragment {
+        return fragmentList[position].fragment
+    }
+}

+ 24 - 0
app/src/main/java/com/grkj/iscs/view/fragment/JobExecutionFragment.kt

@@ -0,0 +1,24 @@
+package com.grkj.iscs.view.fragment
+
+import com.grkj.iscs.databinding.FragmentJobExecutionBinding
+import com.grkj.iscs.view.base.BaseMvpFragment
+import com.grkj.iscs.view.iview.IJobExecutionView
+import com.grkj.iscs.view.presenter.JobExecutionPresenter
+
+/**
+ * 作业执行页
+ */
+class JobExecutionFragment :
+    BaseMvpFragment<IJobExecutionView, JobExecutionPresenter, FragmentJobExecutionBinding>() {
+
+    override val viewBinding: FragmentJobExecutionBinding
+        get() = FragmentJobExecutionBinding.inflate(layoutInflater)
+
+    override fun initView() {
+
+    }
+
+    override fun initPresenter(): JobExecutionPresenter {
+        return JobExecutionPresenter()
+    }
+}

+ 26 - 1
app/src/main/java/com/grkj/iscs/view/fragment/JobManagementFragment.kt

@@ -1,9 +1,14 @@
 package com.grkj.iscs.view.fragment
 
-import com.grkj.iscs.view.base.BaseMvpFragment
+import com.grkj.iscs.R
 import com.grkj.iscs.databinding.FragmentJobManagementBinding
+import com.grkj.iscs.view.activity.HomeActivity.Menu
+import com.grkj.iscs.view.adapter.MenuAdapter
+import com.grkj.iscs.view.base.BaseMvpFragment
 import com.grkj.iscs.view.iview.IJobManagementView
 import com.grkj.iscs.view.presenter.JobManagementPresenter
+import com.zhy.adapter.recyclerview.CommonAdapter
+import com.zhy.adapter.recyclerview.base.ViewHolder
 
 /**
  * 作业管理页
@@ -11,11 +16,31 @@ import com.grkj.iscs.view.presenter.JobManagementPresenter
 class JobManagementFragment :
     BaseMvpFragment<IJobManagementView, JobManagementPresenter, FragmentJobManagementBinding>() {
 
+    private lateinit var mMenuList: MutableList<Menu>
+
     override val viewBinding: FragmentJobManagementBinding
         get() = FragmentJobManagementBinding.inflate(layoutInflater)
 
     override fun initView() {
+        mMenuList = mutableListOf(
+            Menu(getString(R.string.workshop), fragment = WorkshopFragment()),
+            Menu(getString(R.string.technology_sop), fragment = TechnologySopFragment()),
+            Menu(getString(R.string.job_execution), fragment = JobExecutionFragment())
+        )
+
+        mBinding?.vp?.isUserInputEnabled = false
+        mBinding?.vp?.adapter = MenuAdapter(requireActivity().supportFragmentManager, lifecycle, mMenuList)
 
+        mBinding?.rvTab?.adapter = object : CommonAdapter<Menu>(activity, R.layout.item_rv_job_management, mMenuList) {
+            override fun convert(holder: ViewHolder, t: Menu?, position: Int) {
+                holder.setText(R.id.tv_number, t?.title)
+                holder.setOnClickListener(R.id.root) {
+                    if (position == 0) {
+                        mBinding?.vp?.currentItem = 0
+                    }
+                }
+            }
+        }
     }
 
     override fun initPresenter(): JobManagementPresenter {

+ 25 - 0
app/src/main/java/com/grkj/iscs/view/fragment/TechnologySopFragment.kt

@@ -0,0 +1,25 @@
+package com.grkj.iscs.view.fragment
+
+import com.grkj.iscs.databinding.FragmentTechnologySopBinding
+import com.grkj.iscs.view.base.BaseMvpFragment
+import com.grkj.iscs.view.iview.ITechnologySopView
+import com.grkj.iscs.view.presenter.TechnologySopPresenter
+
+/**
+ * 工艺SOP页
+ */
+class TechnologySopFragment :
+    BaseMvpFragment<ITechnologySopView, TechnologySopPresenter, FragmentTechnologySopBinding>() {
+
+    override val viewBinding: FragmentTechnologySopBinding
+        get() = FragmentTechnologySopBinding.inflate(layoutInflater)
+
+    override fun initView() {
+
+    }
+
+    override fun initPresenter(): TechnologySopPresenter {
+        return TechnologySopPresenter()
+    }
+
+}

+ 24 - 0
app/src/main/java/com/grkj/iscs/view/fragment/WorkshopFragment.kt

@@ -0,0 +1,24 @@
+package com.grkj.iscs.view.fragment
+
+import com.grkj.iscs.databinding.FragmentWorkshopBinding
+import com.grkj.iscs.view.base.BaseMvpFragment
+import com.grkj.iscs.view.iview.IWorkshopView
+import com.grkj.iscs.view.presenter.WorkshopPresenter
+
+/**
+ * 车间岗位页
+ */
+class WorkshopFragment :
+    BaseMvpFragment<IWorkshopView, WorkshopPresenter, FragmentWorkshopBinding>() {
+
+    override val viewBinding: FragmentWorkshopBinding
+        get() = FragmentWorkshopBinding.inflate(layoutInflater)
+
+    override fun initView() {
+
+    }
+
+    override fun initPresenter(): WorkshopPresenter {
+        return WorkshopPresenter()
+    }
+}

+ 6 - 0
app/src/main/java/com/grkj/iscs/view/iview/IJobExecutionView.kt

@@ -0,0 +1,6 @@
+package com.grkj.iscs.view.iview
+
+import com.grkj.iscs.view.base.IView
+
+interface IJobExecutionView : IView {
+}

+ 6 - 0
app/src/main/java/com/grkj/iscs/view/iview/ITechnologySopView.kt

@@ -0,0 +1,6 @@
+package com.grkj.iscs.view.iview
+
+import com.grkj.iscs.view.base.IView
+
+class ITechnologySopView : IView {
+}

+ 6 - 0
app/src/main/java/com/grkj/iscs/view/iview/IWorkshopView.kt

@@ -0,0 +1,6 @@
+package com.grkj.iscs.view.iview
+
+import com.grkj.iscs.view.base.IView
+
+class IWorkshopView : IView {
+}

+ 7 - 0
app/src/main/java/com/grkj/iscs/view/presenter/JobExecutionPresenter.kt

@@ -0,0 +1,7 @@
+package com.grkj.iscs.view.presenter
+
+import com.grkj.iscs.view.base.BasePresenter
+import com.grkj.iscs.view.iview.IJobExecutionView
+
+class JobExecutionPresenter : BasePresenter<IJobExecutionView>() {
+}

+ 7 - 0
app/src/main/java/com/grkj/iscs/view/presenter/TechnologySopPresenter.kt

@@ -0,0 +1,7 @@
+package com.grkj.iscs.view.presenter
+
+import com.grkj.iscs.view.base.BasePresenter
+import com.grkj.iscs.view.iview.ITechnologySopView
+
+class TechnologySopPresenter : BasePresenter<ITechnologySopView>() {
+}

+ 7 - 0
app/src/main/java/com/grkj/iscs/view/presenter/WorkshopPresenter.kt

@@ -0,0 +1,7 @@
+package com.grkj.iscs.view.presenter
+
+import com.grkj.iscs.view.base.BasePresenter
+import com.grkj.iscs.view.iview.IWorkshopView
+
+class WorkshopPresenter : BasePresenter<IWorkshopView>() {
+}

+ 1 - 1
app/src/main/java/com/grkj/iscs/widget/PageControl.java → app/src/main/java/com/grkj/iscs/view/widget/PageControl.java

@@ -1,4 +1,4 @@
-package com.grkj.iscs.widget;
+package com.grkj.iscs.view.widget;
 
 
 import android.content.Context;

+ 1 - 1
app/src/main/java/com/grkj/iscs/widget/RvTab.kt → app/src/main/java/com/grkj/iscs/view/widget/RvTab.kt

@@ -1,4 +1,4 @@
-package com.grkj.iscs.widget
+package com.grkj.iscs.view.widget
 
 import android.content.Context
 import android.util.AttributeSet

+ 1 - 1
app/src/main/java/com/grkj/iscs/widget/SelectableInput.kt → app/src/main/java/com/grkj/iscs/view/widget/SelectableInput.kt

@@ -1,4 +1,4 @@
-package com.grkj.iscs.widget
+package com.grkj.iscs.view.widget
 
 import android.content.Context
 import android.util.AttributeSet

+ 1 - 1
app/src/main/java/com/grkj/iscs/widget/TitleBar.kt → app/src/main/java/com/grkj/iscs/view/widget/TitleBar.kt

@@ -1,4 +1,4 @@
-package com.grkj.iscs.widget
+package com.grkj.iscs.view.widget
 
 import android.content.Context
 import android.util.AttributeSet

+ 10 - 10
app/src/main/res/layout/activity_create_ticket.xml

@@ -16,7 +16,7 @@
         android:layout_height="match_parent"
         android:orientation="vertical">
 
-        <com.grkj.iscs.widget.SelectableInput
+        <com.grkj.iscs.view.widget.SelectableInput
             android:id="@+id/si_sop"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
@@ -25,7 +25,7 @@
             app:name="@string/presentation_select_sop"
             app:required="true" />
 
-        <com.grkj.iscs.widget.SelectableInput
+        <com.grkj.iscs.view.widget.SelectableInput
             android:id="@+id/si_workshop"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
@@ -35,7 +35,7 @@
             app:mode="input"
             app:name="@string/presentation_select_workshop" />
 
-        <com.grkj.iscs.widget.SelectableInput
+        <com.grkj.iscs.view.widget.SelectableInput
             android:id="@+id/si_line"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
@@ -45,7 +45,7 @@
             app:mode="input"
             app:name="@string/presentation_select_line" />
 
-        <com.grkj.iscs.widget.SelectableInput
+        <com.grkj.iscs.view.widget.SelectableInput
             android:id="@+id/si_ticket_name"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
@@ -65,7 +65,7 @@
                 android:layout_alignParentRight="true"
                 android:layout_centerVertical="true" />
 
-            <com.grkj.iscs.widget.SelectableInput
+            <com.grkj.iscs.view.widget.SelectableInput
                 android:id="@+id/si_ticket_number"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
@@ -76,7 +76,7 @@
                 app:name="@string/presentation_ticket_number" />
         </RelativeLayout>
 
-        <com.grkj.iscs.widget.SelectableInput
+        <com.grkj.iscs.view.widget.SelectableInput
             android:id="@+id/si_ticket_type"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
@@ -86,7 +86,7 @@
             app:mode="input"
             app:name="@string/presentation_ticket_type" />
 
-        <com.grkj.iscs.widget.SelectableInput
+        <com.grkj.iscs.view.widget.SelectableInput
             android:id="@+id/si_segregation_point"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
@@ -96,7 +96,7 @@
             app:mode="input"
             app:name="@string/presentation_segregation_point" />
 
-        <com.grkj.iscs.widget.SelectableInput
+        <com.grkj.iscs.view.widget.SelectableInput
             android:id="@+id/si_person_lock"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
@@ -125,7 +125,7 @@
                 style="@style/CommonRecyclerView" />
         </LinearLayout>
 
-        <com.grkj.iscs.widget.SelectableInput
+        <com.grkj.iscs.view.widget.SelectableInput
             android:id="@+id/si_person_safety"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
@@ -134,7 +134,7 @@
             app:mode="select"
             app:name="@string/presentation_person_safety" />
 
-        <com.grkj.iscs.widget.SelectableInput
+        <com.grkj.iscs.view.widget.SelectableInput
             android:id="@+id/si_content"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"

+ 1 - 1
app/src/main/res/layout/activity_home.xml

@@ -13,7 +13,7 @@
         android:layout_width="0dp"
         android:layout_height="0dp"
         app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintHorizontal_weight="35"
+        app:layout_constraintHorizontal_weight="40"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintRight_toLeftOf="@id/rl_page"
         app:layout_constraintTop_toTopOf="parent">

+ 9 - 9
app/src/main/res/layout/activity_presentation.xml

@@ -17,7 +17,7 @@
         android:layout_height="match_parent"
         android:orientation="vertical">
 
-        <com.grkj.iscs.widget.SelectableInput
+        <com.grkj.iscs.view.widget.SelectableInput
             android:id="@+id/si_sop"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
@@ -26,7 +26,7 @@
             app:name="@string/presentation_select_sop"
             app:required="true" />
 
-        <com.grkj.iscs.widget.SelectableInput
+        <com.grkj.iscs.view.widget.SelectableInput
             android:id="@+id/si_workshop"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
@@ -36,7 +36,7 @@
             app:mode="input"
             app:name="@string/presentation_select_workshop" />
 
-        <com.grkj.iscs.widget.SelectableInput
+        <com.grkj.iscs.view.widget.SelectableInput
             android:id="@+id/si_line"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
@@ -46,7 +46,7 @@
             app:mode="input"
             app:name="@string/presentation_select_line" />
 
-        <com.grkj.iscs.widget.SelectableInput
+        <com.grkj.iscs.view.widget.SelectableInput
             android:id="@+id/si_ticket_name"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
@@ -55,7 +55,7 @@
             app:mode="input"
             app:name="@string/presentation_ticket_name" />
 
-        <com.grkj.iscs.widget.SelectableInput
+        <com.grkj.iscs.view.widget.SelectableInput
             android:id="@+id/si_ticket_number"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
@@ -65,7 +65,7 @@
             app:mode="input"
             app:name="@string/presentation_ticket_number" />
 
-        <com.grkj.iscs.widget.SelectableInput
+        <com.grkj.iscs.view.widget.SelectableInput
             android:id="@+id/si_ticket_type"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
@@ -75,7 +75,7 @@
             app:mode="input"
             app:name="@string/presentation_ticket_type" />
 
-        <com.grkj.iscs.widget.SelectableInput
+        <com.grkj.iscs.view.widget.SelectableInput
             android:id="@+id/si_segregation_point"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
@@ -85,7 +85,7 @@
             app:mode="input"
             app:name="@string/presentation_segregation_point" />
 
-        <com.grkj.iscs.widget.SelectableInput
+        <com.grkj.iscs.view.widget.SelectableInput
             android:id="@+id/si_person_lock"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
@@ -114,7 +114,7 @@
                 style="@style/CommonRecyclerView" />
         </LinearLayout>
 
-        <com.grkj.iscs.widget.SelectableInput
+        <com.grkj.iscs.view.widget.SelectableInput
             android:id="@+id/si_person_safety"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"

+ 1 - 1
app/src/main/res/layout/activity_sop.xml

@@ -6,7 +6,7 @@
     android:layout_height="match_parent"
     tools:context=".view.activity.test.SopActivity">
 
-    <com.grkj.iscs.widget.SelectableInput
+    <com.grkj.iscs.view.widget.SelectableInput
         android:id="@+id/si_test"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"

+ 1 - 1
app/src/main/res/layout/activity_ticket_list.xml

@@ -14,7 +14,7 @@
         android:text="@string/exit"
         android:textColor="@color/main_color" />
 
-    <com.grkj.iscs.widget.RvTab
+    <com.grkj.iscs.view.widget.RvTab
         android:id="@+id/rv_tab"
         android:layout_width="wrap_content"
         android:layout_height="40dp" />

+ 1 - 1
app/src/main/res/layout/activity_web_socket.xml

@@ -7,7 +7,7 @@
     android:background="#123456"
     tools:context=".view.activity.test.WebSocketActivity">
 
-    <com.grkj.iscs.widget.PageControl
+    <com.grkj.iscs.view.widget.PageControl
         android:id="@+id/page"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content" />

+ 8 - 0
app/src/main/res/layout/fragment_job_execution.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".view.fragment.JobExecutionFragment">
+
+</FrameLayout>

+ 12 - 2
app/src/main/res/layout/fragment_job_management.xml

@@ -1,10 +1,20 @@
 <?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:padding="@dimen/fragment_padding"
+    android:orientation="vertical"
     tools:context=".view.fragment.JobManagementFragment">
 
+    <androidx.recyclerview.widget.RecyclerView
+        android:id="@+id/rv_tab"
+        style="@style/CommonRecyclerView"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal" />
 
-</RelativeLayout>
+    <androidx.viewpager2.widget.ViewPager2
+        android:id="@+id/vp"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" />
+</LinearLayout>

+ 8 - 0
app/src/main/res/layout/fragment_technology_sop.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".view.fragment.TechnologySopFragment">
+
+</FrameLayout>

+ 8 - 0
app/src/main/res/layout/fragment_workshop.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".view.fragment.WorkshopFragment">
+
+</FrameLayout>

+ 13 - 0
app/src/main/res/layout/item_rv_job_management.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/root"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_margin="@dimen/rv_item_margin"
+    android:orientation="vertical">
+
+    <TextView
+        android:id="@+id/tv_number"
+        style="@style/CommonTextView" />
+
+</LinearLayout>

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

@@ -102,4 +102,9 @@
 
     <!--  设计图  -->
     <string name="app_title">Mars\n智能锁控</string>
+    <string name="job_management">作业管理</string>
+    <string name="material_management">物资管理</string>
+    <string name="workshop">车间岗位</string>
+    <string name="technology_sop">工艺SOP</string>
+    <string name="job_execution">作业执行</string>
 </resources>