Jelajahi Sumber

增加led功能

vothin 3 tahun lalu
induk
melakukan
553406867c
5 mengubah file dengan 169 tambahan dan 2 penghapusan
  1. 10 1
      languages/en.js
  2. 10 1
      languages/zh-CN.js
  3. 43 0
      src/api/ncs_led.js
  4. 13 0
      src/router/index.js
  5. 93 0
      src/views/hospital/ledManager.vue

+ 10 - 1
languages/en.js

@@ -300,6 +300,14 @@ module.exports = {
     ledVoice: 'Voice playback',
     ledVoiceStatus: 'Enable voice',
     ledFontSize: 'Font size',
+    ledTiming: 'Dot matrix screen timing',
+    ledPowerOn: 'On dot matrix screen',
+    ledPowerOff: 'Off dot matrix screen',
+    ledRestart: 'Restart dot matrix screen',
+    ledRemoveAllProgram: 'Delete all programs',
+    ledUpdateDefaultProgram: 'Send default program',
+    ledOnlyTime: 'Time and date only',
+    ledAddCustom: 'Add custom',
     hostDeviceList: 'Nurse host list',
     webSocketSuccess: 'WebSocket connection is successful',
     webSocketError: 'An error occurred in the WebSocket connection'
@@ -820,7 +828,8 @@ module.exports = {
     organization: 'Organization',
     roleManage: 'Role management',
     debugging485: '485 debugging',
-    deviceFrame: 'Device space'
+    deviceFrame: 'Device space',
+    ledDevice: 'LED devices'
   },
   deviceType: {
     NURSE_HOST: 'Nurse Host',

+ 10 - 1
languages/zh-CN.js

@@ -302,6 +302,14 @@ module.exports = {
     ledVoice: '语音播放',
     ledVoiceStatus: '启用语音',
     ledFontSize: '字体大小',
+    ledTiming: '点阵屏校时',
+    ledPowerOn: '开点阵屏',
+    ledPowerOff: '关点阵屏',
+    ledRestart: '重启点阵屏',
+    ledRemoveAllProgram: '删除所有节目',
+    ledUpdateDefaultProgram: '发送默认节目',
+    ledOnlyTime: '仅时间日期',
+    ledAddCustom: '添加自定义',
     hostDeviceList: '护士主机列表',
     webSocketSuccess: 'WebSocket连接成功',
     webSocketError: 'WebSocket连接发生错误'
@@ -822,7 +830,8 @@ module.exports = {
     organization: '组织机构',
     roleManage: '角色管理',
     debugging485: '485调试',
-    deviceFrame: '设备空间'
+    deviceFrame: '设备空间',
+    ledDevice: 'LED点阵屏'
   },
   deviceType: {
     NURSE_HOST: '护士主机',

+ 43 - 0
src/api/ncs_led.js

@@ -0,0 +1,43 @@
+import request from '@/utils/request'
+
+/** 发送默认节目 */
+export function updateDefaultProgramHospitalId(params) {
+  return request({
+    url: '/ncs/led/update_default_program_hospital_id',
+    method: 'POST',
+    loading: true,
+    data: params
+  })
+}
+
+/** 开关屏 */
+export function powerOnOffByHospitalId(params) {
+  return request({
+    url: '/ncs/led/powerOnOffByHospitalId',
+    method: 'POST',
+    loading: true,
+    data: params
+  })
+}
+
+/** 校时 */
+export function timing(params) {
+  return request({
+    url: '/ncs/led/timing',
+    method: 'POST',
+    loading: true,
+    data: params
+  })
+}
+
+/** 删除所有节目 */
+export function removeAllProgramByHospitalId(params) {
+  return request({
+    url: '/ncs/led/removeAllProgramByHospitalId',
+    method: 'POST',
+    loading: true,
+    data: params
+  })
+}
+
+

+ 13 - 0
src/router/index.js

@@ -495,6 +495,19 @@ export const hospitalRoutes = [
       }
     ]
   },
+  {
+    path: '/hospital/ncs_led',
+    component: Layout,
+    redirect: '/ncs_led/index',
+    children: [
+      {
+        path: 'index',
+        component: () => import('@/views/hospital/ledManager'),
+        name: 'hospital_led',
+        meta: { title: i18n.t('tab.ledDevice'), icon: 'el-icon-message-solid', noCache: true }
+      }
+    ]
+  },
   { path: '*', redirect: '/404', hidden: true }
 ]
 export const adminRoutes = [

+ 93 - 0
src/views/hospital/ledManager.vue

@@ -0,0 +1,93 @@
+<template>
+  <div>
+    <el-card style="margin: 15px">
+      <el-form ref="editform" :rules="rules" label-width="140px" :model="formmodel">
+        <fieldset>
+          <legend>{{ this.$t('tab.ledDevice') }}</legend>
+
+          <el-row>
+            <el-form-item :label="this.$t('deviceManage.ledUpdateDefaultProgram')">
+              <el-radio v-model="isOnlyTime" :label="false">{{ this.$t('deviceManage.ledOnlyTime') }}</el-radio>
+              <el-radio v-model="isOnlyTime" :label="true">{{ this.$t('deviceManage.ledAddCustom') }}</el-radio>
+            </el-form-item>
+          </el-row>
+
+<!--          <el-row v-if="isOnlyTime">-->
+          <el-row>
+            <el-col :span="18">
+              <el-form-item :label="this.$t('deviceManage.ledAddCustom')">
+                <el-input v-model="addCustom" :maxlength="50" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+
+          <el-row>
+            <el-form-item>
+              <el-col :span="4">
+                <el-button type="primary">{{ this.$t('deviceManage.ledTiming') }}</el-button>
+              </el-col>
+
+              <el-col :span="4">
+                <el-button type="primary">{{ this.$t('deviceManage.ledUpdateDefaultProgram') }}</el-button>
+              </el-col>
+
+              <el-col :span="4">
+                <el-button type="primary">{{ this.$t('deviceManage.ledRemoveAllProgram') }}</el-button>
+              </el-col>
+
+              <el-col :span="4">
+                <el-button type="primary">{{ this.$t('deviceManage.ledPowerOn') }}</el-button>
+              </el-col>
+
+              <el-col :span="4">
+                <el-button type="primary">{{ this.$t('deviceManage.ledPowerOff') }}</el-button>
+              </el-col>
+
+              <el-col :span="4">
+                <el-button type="primary">{{ this.$t('deviceManage.ledRestart') }}</el-button>
+              </el-col>
+            </el-form-item>
+          </el-row>
+        </fieldset>
+      </el-form>
+    </el-card>
+  </div>
+</template>
+
+<script>
+
+import * as API_Led from '@/api/ncs_led'
+export default {
+  name: "ledManager",
+
+  data() {
+    return {
+      isOnlyTime: false,
+      addCustom: '',
+      hospital_id: this.$store.getters.partId
+    }
+  },
+  async mounted() {
+    this.isOnlyTime === false
+  },
+  methods: {
+    updateDefaultProgram() {
+      let text;
+      if (this.addCustom !== '') {
+        text = this.addCustom
+      }
+      const params = {}
+      params.hospital_id = this.hospital_id
+      params.text = this.text
+      API_Led.updateDefaultProgramHospitalId(params).then(r => {
+        this.$message.success(this.$t('action.saveSuccess'))
+      })
+
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>