desc:查询数据筛选参数

main
xiaowusky 2 years ago
parent 01e113ca09
commit faebb2b5b0

@ -54,8 +54,6 @@ dependencies {
implementation rootProject.ext.dependencies.jxl
//
implementation 'com.github.loper7:DateTimePicker:0.6.3'
implementation('androidx.activity:activity:1.7.2')
implementation('androidx.activity:activity-ktx:1.7.2')
implementation 'com.google.android.material:material:1.5.0'
annotationProcessor 'androidx.lifecycle:lifecycle-compiler:2.0.0'

@ -0,0 +1,19 @@
package com.yinuo.safetywatcher.watcher.constant
import androidx.annotation.IntDef
@IntDef(
TimeStep.SECOND_30,
TimeStep.MINUTE_1,
TimeStep.MINUTE_3,
TimeStep.MINUTE_5,
)
annotation class TimeStep() {
companion object {
const val SECOND_30 = 30
const val MINUTE_1 = 60
const val MINUTE_3 = 180
const val MINUTE_5 = 300
}
}

@ -2,10 +2,14 @@ package com.yinuo.safetywatcher.watcher.ui
import android.content.Context
import android.content.Intent
import android.text.TextUtils
import android.view.View
import com.yinuo.safetywatcher.R
import com.yinuo.safetywatcher.databinding.ActivityChooseParamsBinding
import com.yinuo.safetywatcher.watcher.base.NoOptionsActivity
import com.yinuo.safetywatcher.watcher.constant.TimeStep
import com.yinuo.safetywatcher.watcher.utils.DateUtils
import com.yinuo.safetywatcher.watcher.utils.showToast
class ChooseParamsActivity : NoOptionsActivity() {
private val mBinding by lazy {
@ -13,19 +17,26 @@ class ChooseParamsActivity : NoOptionsActivity() {
}
companion object {
private const val START_TIME = "startTime"
private const val END_TIME = "endTime"
private const val TIME_STEP = "step"
private const val WARN_TYPE = "warnType"
const val START_TIME = "startTime"
const val END_TIME = "endTime"
const val TIME_STEP = "step"
const val WARN_TYPE = "warnType"
fun open(context: Context, startTime: Long, endTime: Long, timeStep: Int, warnType: String? = null) {
val intent = Intent()
fun open(
context: Context,
startTime: Long = 0L,
endTime: Long = 0L,
@TimeStep timeStep: Int = 0,
warnType: String? = null
): Intent {
val intent = Intent(context, ChooseParamsActivity::class.java)
intent.putExtra(START_TIME, startTime)
intent.putExtra(END_TIME, endTime)
intent.putExtra(TIME_STEP, timeStep)
warnType?.let {
intent.putExtra(WARN_TYPE, warnType)
}
return intent
}
}
@ -37,6 +48,85 @@ class ChooseParamsActivity : NoOptionsActivity() {
return mBinding.root
}
private var startTime: Long = -1L
private var endTime: Long = -1L
override fun initView() {
intent?.apply {
startTime = getLongExtra(START_TIME, -1L)
endTime = getLongExtra(END_TIME, -1L)
var timeStep = getIntExtra(TIME_STEP, -1)
var warnType = getStringExtra(WARN_TYPE)
val currentTime = System.currentTimeMillis()
if (startTime < 0) {
startTime = currentTime - DateUtils.ONE_DAY_MS
}
if (endTime < 0) {
endTime = currentTime
}
if (timeStep < 0) {
timeStep = TimeStep.SECOND_30
}
// updateUI
mBinding.apply {
// pickers
startPicker.setDefaultMillisecond(startTime)
endPicker.setDefaultMillisecond(endTime)
// timeStep
when (timeStep) {
TimeStep.SECOND_30 -> rbS30.isChecked = true
TimeStep.MINUTE_1 -> rbM1.isChecked = true
TimeStep.MINUTE_3 -> rbM3.isChecked = true
TimeStep.MINUTE_5 -> rbM5.isChecked = true
}
// warnType
warnTypeContainer.visibility =
if (TextUtils.isEmpty(warnType)) View.GONE else View.VISIBLE
tvConfirm.setOnClickListener {
returnDataback()
}
startPicker.setOnDateTimeChangedListener {
startTime = it
endPicker.setMaxMillisecond(startTime + DateUtils.ONE_DAY_MS)
}
endPicker.setOnDateTimeChangedListener {
endTime = it
}
}
}
}
private fun returnDataback() {
if (startTime >= endTime) {
showToast(getString(R.string.error_interval_tip))
return
}
if (endTime - startTime > DateUtils.MAX_QUERY_TIME_INTERVAL) {
showToast(getString(R.string.over_max_interval_tip))
return
}
val timeStep = when (mBinding.rgTimeStep.checkedRadioButtonId) {
mBinding.rbS30.id -> TimeStep.SECOND_30
mBinding.rbM1.id -> TimeStep.MINUTE_1
mBinding.rbM3.id -> TimeStep.MINUTE_3
mBinding.rbM5.id -> TimeStep.MINUTE_5
else -> {
TimeStep.SECOND_30
}
}
val intent = Intent()
intent.putExtra(START_TIME, startTime)
intent.putExtra(END_TIME, endTime)
intent.putExtra(TIME_STEP, timeStep)
// intent.putExtra()
setResult(RESULT_OK, intent)
finish()
}
}

@ -1,6 +1,6 @@
package com.yinuo.safetywatcher.watcher.ui
import android.content.Intent
import android.annotation.SuppressLint
import android.view.View
import androidx.activity.result.contract.ActivityResultContracts
import androidx.recyclerview.widget.LinearLayoutManager
@ -9,6 +9,7 @@ import com.yinuo.safetywatcher.databinding.ActivityQueryDataBinding
import com.yinuo.safetywatcher.watcher.adapter.HistoryDataAdapter
import com.yinuo.safetywatcher.watcher.base.BaseActivity
import com.yinuo.safetywatcher.watcher.bean.HistoryData
import com.yinuo.safetywatcher.watcher.constant.TimeStep
import com.yinuo.safetywatcher.watcher.utils.DateUtils
import com.yinuo.safetywatcher.watcher.view.CommonTopBar
@ -41,29 +42,70 @@ class QueryDataActivity : BaseActivity() {
return mBinding.root
}
// registerForActivityResult
private var startTime = -1L
private var endTime = -1L
private var timeStep = TimeStep.SECOND_30
private val mAdapter = HistoryDataAdapter()
private val paramsLauncher =
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
if (result.resultCode == RESULT_OK) {
val intent = result.data
intent?.apply {
startTime = getLongExtra(ChooseParamsActivity.START_TIME, startTime)
endTime = getLongExtra(ChooseParamsActivity.END_TIME, endTime)
timeStep = getIntExtra(ChooseParamsActivity.TIME_STEP, timeStep)
initDefaultParamsUi()
queryData()
}
}
}
override fun initView() {
initDefaultParams()
ActivityResultContracts.StartActivityForResult
initDefaultParamsUi()
mBinding.tvModifyParams.setOnClickListener {
startActivity(Intent(this@QueryDataActivity, ChooseParamsActivity::class.java))
paramsLauncher.launch(
ChooseParamsActivity.open(
this@QueryDataActivity,
startTime,
endTime,
timeStep
)
)
}
mBinding.rvData.layoutManager = LinearLayoutManager(this@QueryDataActivity)
mBinding.rvData.adapter = mAdapter
queryData()
}
@SuppressLint("SetTextI18n")
private fun initDefaultParamsUi() {
if (startTime < 0) {
startTime = System.currentTimeMillis() - DateUtils.ONE_DAY_MS
}
if (endTime < 0) {
endTime = System.currentTimeMillis()
}
val startTimeStr = DateUtils.formatHistoryTime(this.startTime)
val endTimeStr = DateUtils.formatHistoryTime(this.endTime)
val timeStepStr = when (timeStep) {
TimeStep.SECOND_30 -> getString(R.string.second_30)
TimeStep.MINUTE_1 -> getString(R.string.minute_1)
TimeStep.MINUTE_3 -> getString(R.string.minute_3)
TimeStep.MINUTE_5 -> getString(R.string.minute_5)
else -> getString(R.string.second_30)
}
mBinding.tvParams.text =
"时间: $startTimeStr——$endTimeStr 数据间隔:$timeStepStr"
}
val adapter = HistoryDataAdapter()
private fun queryData() {
val datas = mutableListOf<HistoryData>()
datas.add(HistoryData(0, "气体传感器"))
datas.add(HistoryData(0, "温度传感器"))
adapter.setData(datas)
mBinding.rvData.adapter = adapter
}
private fun initDefaultParams() {
val startTime = DateUtils.formatHistoryTime(System.currentTimeMillis())
val endTime = DateUtils.formatHistoryTime(System.currentTimeMillis())
val step = 30;
mBinding.tvParams.text = "时间: $startTime——$endTime 数据间隔:$step"
mAdapter.setData(datas)
}
}

@ -1,13 +1,14 @@
package com.yinuo.safetywatcher.watcher.ui
import android.content.Intent
import android.view.View
import androidx.activity.result.contract.ActivityResultContracts
import androidx.recyclerview.widget.LinearLayoutManager
import com.yinuo.safetywatcher.R
import com.yinuo.safetywatcher.databinding.ActivityWarndataBinding
import com.yinuo.safetywatcher.watcher.adapter.WarnDataAdapter
import com.yinuo.safetywatcher.watcher.base.BaseActivity
import com.yinuo.safetywatcher.watcher.bean.WarnData
import com.yinuo.safetywatcher.watcher.constant.TimeStep
import com.yinuo.safetywatcher.watcher.utils.DateUtils
import com.yinuo.safetywatcher.watcher.view.CommonTopBar
@ -40,29 +41,73 @@ class WarnDataActivity : BaseActivity() {
return mBinding.root
}
private var startTime = -1L
private var endTime = -1L
private var timeStep = TimeStep.SECOND_30
private var warnType = ""
private val mAdapter = WarnDataAdapter()
private val paramsLauncher =
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
if (result.resultCode == RESULT_OK) {
val intent = result.data
intent?.apply {
startTime = getLongExtra(ChooseParamsActivity.START_TIME, startTime)
endTime = getLongExtra(ChooseParamsActivity.END_TIME, endTime)
timeStep = getIntExtra(ChooseParamsActivity.TIME_STEP, timeStep)
warnType = getStringExtra(ChooseParamsActivity.WARN_TYPE) ?: warnType
initDefaultParamsUi()
queryData()
}
}
}
override fun initView() {
// 初始化默认查询参数
initDefaultParams()
initDefaultParamsUi()
mBinding.tvModifyParams.setOnClickListener {
startActivity(Intent(this@WarnDataActivity, ChooseParamsActivity::class.java))
paramsLauncher.launch(
ChooseParamsActivity.open(
this@WarnDataActivity,
startTime,
endTime,
timeStep
)
)
}
// 测试数据
mBinding.rvData.layoutManager = LinearLayoutManager(this@WarnDataActivity)
val adapter = WarnDataAdapter()
mBinding.rvData.adapter = mAdapter
queryData()
}
private fun initDefaultParamsUi() {
if (startTime < 0) {
startTime = System.currentTimeMillis() - DateUtils.ONE_DAY_MS
}
if (endTime < 0) {
endTime = System.currentTimeMillis()
}
val startTimeStr = DateUtils.formatHistoryTime(startTime)
val endTimeStr = DateUtils.formatHistoryTime(endTime)
val timeStepStr = when (timeStep) {
TimeStep.SECOND_30 -> getString(R.string.second_30)
TimeStep.MINUTE_1 -> getString(R.string.minute_1)
TimeStep.MINUTE_3 -> getString(R.string.minute_3)
TimeStep.MINUTE_5 -> getString(R.string.minute_5)
else -> getString(R.string.second_30)
}
warnType = "温度超标"
mBinding.tvParams.text =
"时间: $startTimeStr——$endTimeStr 数据间隔:$timeStepStr 告警类型:$warnType"
}
private fun queryData() {
val datas = mutableListOf<WarnData>()
datas.add(WarnData(0, "二氧化碳浓度过高"))
datas.add(WarnData(0, "温度超标"))
adapter.setData(datas)
mBinding.rvData.adapter = adapter
}
private fun initDefaultParams() {
val startTime = DateUtils.formatHistoryTime(System.currentTimeMillis())
val endTime = DateUtils.formatHistoryTime(System.currentTimeMillis())
val step = 30;
val type = "温度超标"
mBinding.tvParams.text = "时间: $startTime——$endTime 数据间隔:$step 告警类型:$type"
mAdapter.setData(datas)
}
}

@ -4,8 +4,10 @@ import java.text.SimpleDateFormat
import java.util.Locale
object DateUtils {
private val dataFormat = SimpleDateFormat("yyyy/MM/dd HH:mm:ss", Locale.ROOT)
const val ONE_DAY_MS = 24 * 60 * 60 * 1000
const val MAX_QUERY_TIME_INTERVAL = ONE_DAY_MS
private val dataFormat = SimpleDateFormat("yyyy/MM/dd HH:mm:ss", Locale.ROOT)
fun formatHistoryTime(time: Long): String? {
return dataFormat.format(time)
}

@ -0,0 +1,8 @@
package com.yinuo.safetywatcher.watcher.utils
import android.content.Context
import android.widget.Toast
fun Context.showToast(msg: String) {
Toast.makeText(this, msg, Toast.LENGTH_SHORT).show()
}

@ -6,92 +6,207 @@
android:gravity="center_horizontal"
android:orientation="vertical">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="@dimen/_960dp"
android:layout_height="@dimen/_580dp"
android:layout_marginTop="@dimen/_201dp"
android:background="@drawable/warn_setting_btn_bg">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="@dimen/_20dp">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<View
android:id="@+id/divider"
android:layout_width="@dimen/_6dp"
android:layout_height="@dimen/_28dp"
android:layout_marginStart="@dimen/_55dp"
android:background="@drawable/white_rectangle"
app:layout_constraintBottom_toBottomOf="@id/tv_startTime"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_startTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/_6dp"
android:text="@string/start_time"
android:textColor="@color/white"
android:textSize="@dimen/_30dp"
app:layout_constraintStart_toEndOf="@id/divider"
app:layout_constraintTop_toTopOf="parent" />
<com.loper7.date_time_picker.DateTimePicker
android:id="@+id/start_picker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginEnd="@dimen/_40dp"
android:background="@drawable/datepicker_bg"
android:paddingHorizontal="@dimen/_40dp"
android:paddingVertical="@dimen/_66dp"
app:dt_dividerColor="#00000000"
app:dt_layout="@layout/layout_date_picker_globalization1"
app:dt_normalTextSize="@dimen/_28dp"
app:dt_selectTextSize="@dimen/_30dp"
app:dt_selectedTextBold="true"
app:dt_showLabel="true"
app:dt_textBold="true"
app:dt_textColor="@color/color_offline"
app:dt_themeColor="@color/white"
app:layout_constraintStart_toStartOf="@id/tv_startTime"
app:layout_constraintTop_toBottomOf="@id/tv_startTime" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<View
android:id="@+id/divider2"
android:layout_width="@dimen/_6dp"
android:layout_height="@dimen/_28dp"
android:layout_marginStart="@dimen/_55dp"
android:background="@drawable/white_rectangle"
app:layout_constraintBottom_toBottomOf="@id/tv_endTime"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_endTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/_6dp"
android:text="@string/end_time"
android:textColor="@color/white"
android:textSize="@dimen/_30dp"
app:layout_constraintStart_toEndOf="@id/divider2"
app:layout_constraintTop_toTopOf="parent" />
<com.loper7.date_time_picker.DateTimePicker
android:id="@+id/end_picker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginEnd="@dimen/_40dp"
android:background="@drawable/datepicker_bg"
android:paddingHorizontal="@dimen/_40dp"
android:paddingVertical="@dimen/_66dp"
app:dt_dividerColor="#00000000"
app:dt_layout="@layout/layout_date_picker_globalization1"
app:dt_normalTextSize="@dimen/_28dp"
app:dt_selectTextSize="@dimen/_30dp"
app:dt_selectedTextBold="true"
app:dt_showLabel="true"
app:dt_textBold="true"
app:dt_textColor="@color/color_offline"
app:dt_themeColor="@color/white"
app:layout_constraintStart_toStartOf="@id/tv_endTime"
app:layout_constraintTop_toBottomOf="@id/tv_endTime" />
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/time_step_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingTop="@dimen/_20dp">
<View
android:id="@+id/divider"
android:layout_width="@dimen/_6dp"
android:layout_height="@dimen/_28dp"
android:layout_marginStart="@dimen/_40dp"
android:background="@drawable/white_rectangle"
app:layout_constraintBottom_toTopOf="@id/tv_cancel"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
android:layout_marginStart="@dimen/_55dp"
android:background="@drawable/white_rectangle" />
<TextView
android:id="@+id/tv_currentTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/_6dp"
android:text="@string/current_time"
android:text="@string/time_step"
android:textColor="@color/white"
android:textSize="@dimen/_30dp"
app:layout_constraintBottom_toTopOf="@id/tv_cancel"
app:layout_constraintStart_toEndOf="@id/divider"
app:layout_constraintTop_toTopOf="parent" />
android:textSize="@dimen/_30dp" />
<TextView
android:id="@+id/tv_time"
android:layout_width="wrap_content"
<RadioGroup
android:id="@+id/rg_time_step"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_6dp"
android:text="2023.5.31"
android:textColor="@color/white"
android:textSize="@dimen/_30dp"
app:layout_constraintStart_toStartOf="@id/tv_currentTime"
app:layout_constraintTop_toBottomOf="@id/tv_currentTime" />
android:layout_marginStart="@dimen/_20dp"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatRadioButton
android:id="@+id/rb_s_30"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/second_30"
android:textColor="@color/white"
android:textSize="@dimen/_28dp" />
<com.loper7.date_time_picker.DateTimePicker
android:id="@+id/picker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:paddingHorizontal="@dimen/_40dp"
android:paddingVertical="@dimen/_66dp"
android:background="@drawable/datepicker_bg"
android:layout_marginEnd="@dimen/_40dp"
app:dt_dividerColor="#00000000"
app:dt_layout="@layout/layout_date_picker_globalization1"
app:dt_normalTextSize="@dimen/_28dp"
app:dt_selectTextSize="@dimen/_30dp"
app:dt_selectedTextBold="true"
app:dt_showLabel="true"
app:dt_textBold="true"
app:dt_textColor="@color/color_offline"
app:dt_themeColor="@color/white"
app:layout_constraintBottom_toTopOf="@id/tv_confirm"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatRadioButton
android:id="@+id/rb_m_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/minute_1"
android:textColor="@color/white"
android:layout_marginStart="@dimen/_20dp"
android:textSize="@dimen/_28dp" />
<TextView
android:id="@+id/tv_cancel"
android:layout_width="@dimen/_480dp"
android:layout_height="@dimen/_81dp"
android:background="@drawable/cancel_btn_bg"
android:gravity="center"
android:text="@string/cancel"
android:textColor="@color/white_30"
android:textSize="@dimen/_36dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<androidx.appcompat.widget.AppCompatRadioButton
android:id="@+id/rb_m_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/minute_3"
android:textColor="@color/white"
android:layout_marginStart="@dimen/_20dp"
android:textSize="@dimen/_28dp" />
<androidx.appcompat.widget.AppCompatRadioButton
android:id="@+id/rb_m_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/minute_5"
android:textColor="@color/white"
android:layout_marginStart="@dimen/_20dp"
android:textSize="@dimen/_28dp" />
</RadioGroup>
</LinearLayout>
<LinearLayout
android:id="@+id/warn_type_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingTop="@dimen/_20dp">
<View
android:layout_width="@dimen/_6dp"
android:layout_height="@dimen/_28dp"
android:layout_marginStart="@dimen/_55dp"
android:background="@drawable/white_rectangle" />
<TextView
android:id="@+id/tv_confirm"
android:layout_width="@dimen/_480dp"
android:layout_height="@dimen/_81dp"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:background="@drawable/confirm_btn_bg"
android:gravity="center"
android:text="@string/confirm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/_6dp"
android:text="@string/warn_type"
android:textColor="@color/white"
android:textSize="@dimen/_36dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
android:textSize="@dimen/_30dp" />
</LinearLayout>
<TextView
android:id="@+id/tv_confirm"
android:layout_width="@dimen/_480dp"
android:layout_height="@dimen/_81dp"
android:background="@drawable/confirm_btn_bg"
android:layout_marginTop="@dimen/_20dp"
android:gravity="center"
android:text="@string/confirm"
android:textColor="@color/white"
android:textSize="@dimen/_36dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
</LinearLayout>

@ -125,7 +125,7 @@
<ImageView
android:layout_width="@dimen/_32dp"
android:layout_height="@dimen/_32dp"
android:src="@mipmap/ic_wraning" />
android:src="@mipmap/ic_video" />
<TextView
android:layout_width="match_parent"

@ -51,17 +51,6 @@
app:np_dividerThickness="0.6dp"
app:np_wheelItemCount="5" />
<TextView
android:layout_width="4dp"
android:layout_height="wrap_content"
android:text=":"
android:textColor="#999999"
android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/np_datetime_minute"
app:layout_constraintStart_toEndOf="@+id/np_datetime_hour"
app:layout_constraintTop_toTopOf="parent" />
<com.loper7.date_time_picker.number_picker.NumberPicker
android:id="@+id/np_datetime_minute"
android:layout_width="@dimen/_90dp"

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

@ -39,4 +39,16 @@
<string name="confirm">确认</string>
<string name="current_time">当前时间</string>
<string name="modify_params">修改筛选条件</string>
<string name="start_time">开始时间</string>
<string name="end_time">结束时间</string>
<string name="time_step">时间间隔</string>
<string name="warn_type">告警类型</string>
<string name="second_30">30秒</string>
<string name="minute_1">1分钟</string>
<string name="minute_3">3分钟</string>
<string name="minute_5">5分钟</string>
<string name="over_max_interval_tip">开始时间和结束时间间隔不能超过24小时请调整</string>
<string name="error_interval_tip">开始时间必须小于结束时间!请调整</string>
</resources>

Loading…
Cancel
Save