app/src/main/java/cn/flightfeather/thirdappmodule/module/inspection/InspectionDetailActivity.kt
@@ -75,6 +75,22 @@
    //菜单按钮列表
    protected val menuList = ArrayList<LinearLayout>()
    private lateinit var ln_patrol_problem_recheck :LinearLayout
    private lateinit var ln_patrol_take_evidence :LinearLayout
    private lateinit var ln_patrol_problem_list :LinearLayout
    private lateinit var ln_patrol_change :LinearLayout
    private lateinit var ln_patrol_camera :LinearLayout
    private lateinit var ln_patrol_newgit :LinearLayout
    private lateinit var ln_patrol_promiss :LinearLayout
    private lateinit var ln_patrol_rate :LinearLayout
    private lateinit var ln_patrol_navi :LinearLayout
    private lateinit var ln_patrol_chose_latlng :LinearLayout
    private lateinit var ln_patrol_edit :LinearLayout
    private lateinit var ln_patrol_share :LinearLayout
    private lateinit var ln_patrol_check :LinearLayout
    private lateinit var ln_patrol_change_check :LinearLayout
    private lateinit var ln_patrol_pic_evidence :LinearLayout
    private var problemEditable = false
    private var timer = Timer("track")
@@ -197,6 +213,7 @@
        }
    }
    override fun onResume() {
        startTracking()
        super.onResume()
@@ -260,26 +277,43 @@
        val iconPage1 = View.inflate(this, R.layout.page_patrol_icons_first, null)
        val iconPage2 = View.inflate(this, R.layout.page_patrol_icons_second, null)
        ln_patrol_problem_recheck = iconPage1.findViewById(R.id.ln_patrol_problem_recheck)
        ln_patrol_take_evidence = iconPage1.findViewById(R.id.ln_patrol_take_evidence)
        ln_patrol_problem_list = iconPage1.findViewById(R.id.ln_patrol_problem_list)
        ln_patrol_change = iconPage1.findViewById(R.id.ln_patrol_change)
        ln_patrol_camera = iconPage1.findViewById(R.id.ln_patrol_camera)
        ln_patrol_newgit = iconPage1.findViewById(R.id.ln_patrol_newgit)
        ln_patrol_promiss = iconPage1.findViewById(R.id.ln_patrol_promiss)
        ln_patrol_rate = iconPage1.findViewById(R.id.ln_patrol_rate)
        ln_patrol_navi = iconPage2.findViewById(R.id.ln_patrol_navi)
        ln_patrol_chose_latlng = iconPage2.findViewById(R.id.ln_patrol_chose_latlng)
        ln_patrol_edit = iconPage2.findViewById(R.id.ln_patrol_edit)
        ln_patrol_share = iconPage2.findViewById(R.id.ln_patrol_share)
        ln_patrol_check = iconPage2.findViewById(R.id.ln_patrol_check)
        ln_patrol_change_check = iconPage2.findViewById(R.id.ln_patrol_change_check)
        ln_patrol_pic_evidence = iconPage2.findViewById(R.id.ln_patrol_pic_evidence)
        menuList.apply{
            add(iconPage1.findViewById(R.id.ln_patrol_problem_recheck))
            add(iconPage1.findViewById(R.id.ln_patrol_take_evidence))
            add(iconPage1.findViewById(R.id.ln_patrol_problem_list))
            add(iconPage1.findViewById(R.id.ln_patrol_change))
            add(iconPage1.findViewById(R.id.ln_patrol_camera))
            add(iconPage1.findViewById(R.id.ln_patrol_newgit))
            add(iconPage1.findViewById(R.id.ln_patrol_promiss))
            add(iconPage1.findViewById(R.id.ln_patrol_rate))
            add(iconPage2.findViewById(R.id.ln_patrol_navi))
            add(iconPage2.findViewById(R.id.ln_patrol_chose_latlng))
            add(iconPage2.findViewById(R.id.ln_patrol_edit))
            add(iconPage2.findViewById(R.id.ln_patrol_share))
            add(iconPage2.findViewById(R.id.ln_patrol_check))
            add(iconPage2.findViewById(R.id.ln_patrol_change_check))
            //判断用户权限,只有管理员可见问题审核图标
            if (viewModel.userTypeId != Domain.USER_ADMIN.toByte()) {
                menuList[menuList.lastIndex - 1].visibility = View.INVISIBLE
                menuList.last().visibility = View.INVISIBLE
            }
            add(ln_patrol_problem_recheck)
            add(ln_patrol_take_evidence)
            add(ln_patrol_problem_list)
            add(ln_patrol_change)
            add(ln_patrol_camera)
            add(ln_patrol_newgit)
            add(ln_patrol_promiss)
            add(ln_patrol_rate)
            add(ln_patrol_navi)
            add(ln_patrol_chose_latlng)
            add(ln_patrol_edit)
            add(ln_patrol_share)
            add(ln_patrol_check)
            add(ln_patrol_change_check)
            add(ln_patrol_pic_evidence)
        }
        //判断用户权限,只有管理员可见问题审核图标
        if (viewModel.userTypeId != Domain.USER_ADMIN.toByte()) {
            ln_patrol_check.visibility = View.INVISIBLE
            ln_patrol_change_check.visibility = View.INVISIBLE
        }
        vp_patrol_icons.adapter = IconsPageAdapter(ArrayList<View>().apply {
@@ -428,6 +462,18 @@
                        CameraPosition(LatLng(s.latitude, s.longitude), zoomLevel, 0F, 0F)
                )
        )
        // 2025.10.22 当场景是工地类型时,显示修改施工阶段按钮
        if (s.typeid.toString() == Constant.SCENE_TYPE_SITE) {
            scene_status.visibility = View.VISIBLE
            scene_status.setOnClickListener(this)
        } else {
            scene_status.visibility = View.GONE
        }
        scene_detail.setOnClickListener(this)
        scene_detail.callOnClick()
    }
    /**
@@ -453,15 +499,41 @@
        menuList.let {m ->
            when (status) {
                Domain.TASK_STATUS_WAITING -> {
                    for (i in m.indices) {
                        if (i <= 7 || i == 12 || i == 13) {
                            m[i].alpha = 0.2F
                            m[i].setOnClickListener(showNeedStartTaskListener())
                        } else {
                            m[i].alpha = 1F
                            m[i].setOnClickListener(this)
                        }
//                    for (i in m.indices) {
//                        if (i <= 7 || i == 12 || i == 13) {
//                            m[i].alpha = 0.2F
//                            m[i].setOnClickListener(showNeedStartTaskListener())
//                        } else {
//                            m[i].alpha = 1F
//                            m[i].setOnClickListener(this)
//                        }
//                    }
                    listOf(
                            ln_patrol_problem_recheck,
                            ln_patrol_take_evidence,
                            ln_patrol_problem_list,
                            ln_patrol_change,
                            ln_patrol_camera,
                            ln_patrol_newgit,
                            ln_patrol_promiss,
                            ln_patrol_rate,
                            ln_patrol_check,
                            ln_patrol_change_check,
                            ln_patrol_pic_evidence
                    ).forEach {
                        it.alpha = 0.2F
                        it.setOnClickListener(showNeedStartTaskListener())
                    }
                    listOf(
                            ln_patrol_navi,
                            ln_patrol_chose_latlng,
                            ln_patrol_edit,
                            ln_patrol_share
                    ).forEach {
                        it.alpha = 1F
                        it.setOnClickListener(this)
                    }
                }
                Domain.TASK_STATUS_RUNNING -> {
                    m.forEach {
@@ -470,25 +542,80 @@
                    }
                }
                Domain.TASK_STATUS_FINISHED -> {
                    for (i in m.indices) {
                        if (i == 1) {
                            m[i].alpha = 0.2F
                            m[i].isClickable = false
                        } else {
                            m[i].alpha = 1F
                            m[i].setOnClickListener(this)
                        }
//                    for (i in m.indices) {
//                        if (i == 1) {
//                            m[i].alpha = 0.2F
//                            m[i].isClickable = false
//                        } else {
//                            m[i].alpha = 1F
//                            m[i].setOnClickListener(this)
//                        }
//                    }
                    listOf(
                            ln_patrol_take_evidence,
                            ln_patrol_pic_evidence
                    ).forEach {
                        it.alpha = 0.2F
                        it.isClickable = false
                    }
                    listOf(
                            ln_patrol_problem_recheck,
                            ln_patrol_problem_list,
                            ln_patrol_change,
                            ln_patrol_camera,
                            ln_patrol_newgit,
                            ln_patrol_promiss,
                            ln_patrol_rate,
                            ln_patrol_navi,
                            ln_patrol_chose_latlng,
                            ln_patrol_edit,
                            ln_patrol_share,
                            ln_patrol_check,
                            ln_patrol_change_check
                    ).forEach {
                        it.alpha = 1F
                        it.setOnClickListener(this)
                    }
                }
            }
            if (viewModel.userTypeId == Domain.USER_COMPTENT.toByte()) {
                for (i in m.indices) {
                    when (i) {
                        1, in 3..4, in 7..11 -> {
                            m[i].alpha = 0.2F
                            m[i].isClickable = false
                        }
                    }
//                for (i in m.indices) {
//                    when (i) {
//                        1, in 3..4, in 7..11 -> {
//                            m[i].alpha = 0.2F
//                            m[i].isClickable = false
//                        }
//                    }
//                }
//                ln_patrol_problem_recheck
//                ln_patrol_take_evidence
//                ln_patrol_problem_list
//                ln_patrol_change
//                ln_patrol_camera
//                ln_patrol_newgit
//                ln_patrol_promiss
//                ln_patrol_rate
//                ln_patrol_navi
//                ln_patrol_chose_latlng
//                ln_patrol_edit
//                ln_patrol_share
//                ln_patrol_check
//                ln_patrol_change_check
//                ln_patrol_pic_evidence
                listOf(
                        ln_patrol_take_evidence,
                        ln_patrol_change,
                        ln_patrol_camera,
                        ln_patrol_rate,
                        ln_patrol_navi,
                        ln_patrol_chose_latlng,
                        ln_patrol_edit,
                        ln_patrol_share,
                        ln_patrol_pic_evidence
                ).forEach {
                    it.alpha = 0.2F
                    it.isClickable = false
                }
            }
        }
@@ -706,6 +833,19 @@
    override fun onClick(v: View?) {
        when (v?.id) {
            R.id.scene_detail -> {
                val intent = Intent(this, MenuSceneHistoryActivity::class.java).apply {
                    putExtra("scene", viewModel.scene.value)
                }
                startActivity(intent)
            }
            // 修改工地施工阶段
            R.id.scene_status ->{
                val intent = Intent(this, MenuSceneInfoActivity::class.java).apply {
                    putExtra("scene", viewModel.scene.value)
                }
                startActivity(intent)
            }
            // 查看或获取用户账户信息
            R.id.user_account -> {
                val intent = Intent(this, MenuSceneAccountActivity::class.java).apply {
@@ -834,7 +974,7 @@
                // fixme: 2020/8/3 此处以徐汇区作为测试,首先使用新的评分规则,之后逐步替换
                val intentEvaluation = if (viewModel.scene.value?.districtcode == "310104") {
                    Intent(this, MenuGradeActivity::class.java)
                }else {
                } else {
                    Intent(this, GradeActivity::class.java)
                }
                intentEvaluation.putExtra("inspectionGuid", viewModel.inspection.value?.guid)
@@ -888,6 +1028,17 @@
                }
                startActivity(intent)
            }
            // 根据任意图片和飞羽环境系统中的台账图片创建问题
            R.id.ln_patrol_pic_evidence -> {
                val intent = Intent(this, PicEvidenceActivity::class.java).apply {
                    putExtra("subTask", viewModel.subTask.value)
                    putExtra("inspection", viewModel.inspection.value)
                    putExtra("scene", viewModel.scene.value)
                    putExtra("lat", latitudeCurrent)
                    putExtra("lng", longitudeCurrent)
                }
                startActivity(intent)
            }
        }
    }
}