DeviceServiceConfigDialog.vue 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <template>
  2. <confirm-dialog
  3. ref="configDialog"
  4. :title="title"
  5. @confirm="onSave"
  6. >
  7. <div class="c-grid-form mini u-align-self--center">
  8. <span class="c-grid-form__label u-bold">开启</span>
  9. <div class="l-flex--row c-grid-form__option">
  10. <el-switch
  11. v-model="deviceServiceConfig.enabled"
  12. active-color="#13ce66"
  13. inactive-color="#ff4949"
  14. />
  15. </div>
  16. <span class="c-grid-form__label">抽帧间隔</span>
  17. <div class="c-grid-form__option">
  18. <el-input-number
  19. v-model="deviceServiceConfig.offset"
  20. :min="10"
  21. :max="3600"
  22. step-strictly
  23. />
  24. 秒(10~3600)
  25. </div>
  26. <span class="c-grid-form__label required">开始时间</span>
  27. <el-time-picker
  28. v-model="deviceServiceConfig.startTime"
  29. value-format="HH:mm:ss"
  30. :clearable="false"
  31. />
  32. <span class="c-grid-form__label required">结束时间</span>
  33. <el-time-picker
  34. v-model="deviceServiceConfig.endTime"
  35. value-format="HH:mm:ss"
  36. :clearable="false"
  37. />
  38. </div>
  39. </confirm-dialog>
  40. </template>
  41. <script>
  42. import {
  43. getDeviceServiceConfig,
  44. addDeviceServiceConfig,
  45. updateDeviceServiceConfig
  46. } from '../api'
  47. export default {
  48. name: 'DeviceServiceConfigDialog',
  49. data () {
  50. return {
  51. title: '',
  52. deviceServiceConfig: {}
  53. }
  54. },
  55. methods: {
  56. show (deviceId, name) {
  57. this.title = name ? `${name}服务配置` : '设备服务配置'
  58. getDeviceServiceConfig(deviceId).then(({ data }) => {
  59. this.deviceServiceConfig = data || {
  60. deviceId,
  61. enabled: false,
  62. offset: 10,
  63. startTime: '08:00:00',
  64. endTime: '23:59:59'
  65. }
  66. this.$refs.configDialog.show()
  67. })
  68. },
  69. onSave (done) {
  70. const { startTime, endTime } = this.deviceServiceConfig
  71. if (!startTime) {
  72. this.$message({
  73. type: 'warning',
  74. message: '请选择开始时间'
  75. })
  76. return
  77. }
  78. if (!endTime) {
  79. this.$message({
  80. type: 'warning',
  81. message: '请选择结束时间'
  82. })
  83. return
  84. }
  85. (this.deviceServiceConfig.id ? updateDeviceServiceConfig : addDeviceServiceConfig)(this.deviceServiceConfig).then(done)
  86. }
  87. }
  88. }
  89. </script>