소스 검색

Merge branch 'develop' into feature/1.5.3-partSetting-20231025

vothin 1 년 전
부모
커밋
45edfb7d15

+ 146 - 1
languages/en.js

@@ -908,6 +908,8 @@ module.exports = {
     hospital: 'Hospital',
     part: 'Department',
     shop: 'Institution',
+    partDirector: 'Department Director',
+    partNurseHead: 'Nurse Head',
     organization: 'Organization',
     shopMemberName: 'Administrator account',
     shopMemberNameMsg: 'The administrator account must be filled in',
@@ -1129,7 +1131,8 @@ module.exports = {
     changeBattery: 'Replace the battery of the device',
     interactionPush: 'Interactive record push configuration',
     interactionPushParamConfig: 'Push parameter configuration',
-    CustomerDistribution: 'User Distribution'
+    CustomerDistribution: 'User Distribution',
+    convenientDataSync: 'Convenient Data Sync'
   },
   deviceType: {
     NURSE_HOST: 'Nurse Host',
@@ -1432,5 +1435,147 @@ module.exports = {
     paramAlias: 'Parameter alias(rename the parameter)',
     exampleValue: 'Parameter example value',
     isEnable: 'Is it enabled'
+  },
+  boarderDesign: {
+    textDisplayModuleTitle: 'Content display unit',
+    textDisplay2ModuleTitle: 'Custom Display Item',
+    bedGridCellModuleTitle: 'Bed cell',
+    bedGridModuleTitle: 'Bed grid',
+    rowContainerModuleTitle: 'Row container',
+    columnContainerModuleTitle: 'Column container',
+    richTextModuleTitle: 'Rich text',
+    componentsList: 'Component List',
+    loadDefaultDesign: 'Load default design',
+    saveAsDefaultDesign: 'Save as default',
+    saveDesign: 'Save Design',
+    preview: 'Preview',
+    componentConfig: 'Component Configuration',
+    borderColor: 'Border Color',
+    borderWidth: 'Border width',
+    borderTopWidth: 'Border top width',
+    borderRighhWidth: 'Border right width',
+    borderBottomWidth: 'Border bottom width',
+    borderLeftWidth: 'Border left width',
+    borderRadius: 'Border radius',
+    backgroundColor: 'Background',
+    moduleHeight: 'Module height',
+    showShadow: 'Module Shadow',
+    shadowColor: 'Shadow color',
+    fixedToBottom: 'Fixed bottom',
+    showWhenPatientIn: 'Display non empty',
+    moduleMarginLeft: 'Module margin left',
+    moduleMarginRight: 'Module margin right',
+    moduleMarginTop: 'Module margin top',
+    moduleMarginBottom: 'Module margin bottom',
+    borderColorSameWith: 'Border Color Follow',
+    backgroundColorSameWith: 'Background Color Follow',
+    columnOccupyWidth: 'Column occupation(1-24)',
+    columnOffsetLeft: 'Column Left Offset',
+    columnPullRight: 'Column pull right',
+    columnPullLeft: 'Column pull left',
+    gridRows: 'Table Rows',
+    columnsPerRow: 'Columns per row',
+    contentAlign: 'Content alignment',
+    modulePadding: 'Module padding',
+    moduleMargin: 'Module margin',
+    showTitle: 'Display Heading',
+    showIcon: 'Display icon',
+    iconSelect: 'Select icon',
+    iconSize: 'Icon size',
+    iconColor: 'Icon Color',
+    iconMarginLeft: 'Icon margin left',
+    iconMarginRight: 'Icon margin right',
+    iconMarginTop: 'Icon margin top',
+    iconMarginBottom: 'Icon margin bottom',
+    titleText: 'Heading Text',
+    contentText: 'Content text',
+    fieldDisplay: 'Display Fields',
+    displayFormat: 'Display Format',
+    textFormat: 'Text Format',
+    dateFormat: 'Date Format',
+    currentDayColor: 'Current date color',
+    currentDayBackgroundColor: 'Current date background',
+    formatPattern: 'Format pattern',
+    titleTextSize: 'Heading Text Size',
+    titleTextMarginLeft: 'Heading magin left',
+    titleTextMarginRight: 'Heading magin right',
+    titleTextPaddingLeft: 'Heading padding left',
+    titleTextPaddingRight: 'Heading padding right',
+    titleTextWidth: 'Head width',
+    titleTextColor: 'Heading color',
+    titleTextColorSameWith: 'Heading color follows',
+    titleBorderRightWidth: 'Heading Right Border Width',
+    titleBorderBottomWidth: 'Heading Bottom Border Width',
+    titleBorderColor: 'Heading border color',
+    titleTextAlign: 'Heading text alignment',
+    titleTextMargin: 'Heading margin',
+    titleTextPadding: 'Heading padding',
+    titleTextStyle: 'Heading Text Style',
+    contentTextSize: 'Content Text Size',
+    contentTextMarginLeft: 'Content margin left',
+    contentTextMarginRight: 'Content margin right',
+    contentTextColor: 'Content Text Color',
+    contentTextColorSameWith: 'Content Color Follow',
+    contentTextStyle: 'Content Text Style',
+    normalStyle: 'Normal Style',
+    boldStyle: 'Bold Style',
+    alignLeft: 'left alignment',
+    alignCenter: 'center alignment',
+    alignRight: 'right alignment',
+    customerDisplay: 'Customize Display',
+    manulInputDisplay: 'Manual input display',
+    partInfo: 'Department Information',
+    partName: 'Department Name',
+    patientInfo: 'Patient Information',
+    bedNo: 'Bed number',
+    bedName: 'Bed Name',
+    patientName: 'Patient Name',
+    patientSex: 'Patient Gender',
+    patientAge: 'Patient age',
+    chargeDoctor: 'Responsible Doctor',
+    chargeNurse: 'Responsible nurse',
+    inDate: 'Date of hospitalization',
+    patientNo: 'Patient number',
+    systemInfo: 'system information',
+    systemTime: 'system time',
+    bedIcon: 'Bed icon',
+    bedIcon1: 'Bed icon1',
+    bedIcon2: 'Bed icon2',
+    bedIcon3: 'Bed icon3',
+    bedIcon4: 'Bed icon4',
+    doctorIcon: 'Doctor icon',
+    doctorIcon1: 'Doctor icon1',
+    doctorIcon2: 'Doctor icon2',
+    doctorIcon3: 'Doctor icon3',
+    doctorIcon4: 'Doctor icon4',
+    nurseIcon: 'Nurse icon',
+    nurseIcon1: 'Nurse icon1',
+    nurseIcon2: 'Nurse icon2',
+    nurseIcon3: 'Nurse icon3',
+    nurseIcon4: 'Nurse icon4',
+    nursingInfo: 'Nursing information',
+    statisticInfo: 'Statistic',
+    patientSexMale: 'Male',
+    patientSexFemale: 'Female',
+    patientSexUnkonw: 'Unknown',
+    contentTextDefault: 'Text content',
+    titleTextDefault: 'Default title',
+    bedsTotal: 'Beds total',
+    bedsUsedTotal: 'Total occupancy',
+    bedsEmptyTotal: 'Empty beds total',
+    bedsTodayInTotal: 'Hospitalization today',
+    yesterdayPatientTotal: 'Yesterday patients total',
+    patientToadyOutTotal: 'Discharged today'
+  },
+  convenientSync: {
+    regionLoadUrl: 'Region Load Address',
+    hospitalSelect: 'Choose a hospital',
+    hospitalRegion: 'Hospital area',
+    dataSyncUrl: 'Data synchronization address',
+    jsonData: 'Call system JSON data',
+    syncData: 'Synchronize data',
+    refreshJsonData: 'Refresh JSON data',
+    selectHospitalPls: 'Please select a hospital',
+    selectRegionPls: 'Please select an administrative region'
   }
 }

+ 146 - 1
languages/es.js

@@ -909,6 +909,8 @@ module.exports = {
     part: 'Departamento',
     shop: 'Institución',
     organization: 'Organización',
+    partDirector: 'director de departamento',
+    partNurseHead: 'jefe de enfermeras',
     shopMemberName: 'Cuenta de administrador',
     shopMemberNameMsg: 'Se debe completar la cuenta de administrador',
     inputShopMemberName: 'introduzca la cuenta de administrador',
@@ -1129,7 +1131,8 @@ module.exports = {
     changeBattery: 'Reemplazar la batería del dispositivo',
     interactionPush: 'Configuración push de registro interactivo',
     interactionPushParamConfig: 'Configuración de parámetros push',
-    CustomerDistribution: 'Distribución de usuarios'
+    CustomerDistribution: 'Distribución de usuarios',
+    convenientDataSync: 'Sincronización conveniente de datos'
   },
   deviceType: {
     NURSE_HOST: 'Enfermera asignada',
@@ -1432,5 +1435,147 @@ module.exports = {
     paramAlias: 'Alias de parámetros (renombrar parámetros)',
     exampleValue: 'Valor de ejemplo del parámetro',
     isEnable: 'Está habilitado'
+  },
+  boarderDesign: {
+    textDisplayModuleTitle: 'Visualización de contenido',
+    textDisplay2ModuleTitle: 'Pantalla personalizada',
+    bedGridCellModuleTitle: 'Celda de cama',
+    bedGridModuleTitle: 'Palacio de camas',
+    rowContainerModuleTitle: 'Contenedor de línea',
+    columnContainerModuleTitle: 'Contenedores de columnas',
+    richTextModuleTitle: 'Texto rico',
+    componentsList: 'Lista de componentes',
+    loadDefaultDesign: 'Cargar diseño predeterminado',
+    saveAsDefaultDesign: 'Guardar como predeterminado',
+    saveDesign: 'Guardar diseño',
+    preview: 'Vista previa',
+    componentConfig: 'Configuración del componente',
+    borderColor: 'Color del borde',
+    borderWidth: 'Ancho del borde',
+    borderTopWidth: 'Ancho superior',
+    borderRighhWidth: 'Ancho a la derecha',
+    borderBottomWidth: 'Ancho inferior',
+    borderLeftWidth: 'Ancho izquierdo',
+    borderRadius: 'Radio fronterizo',
+    backgroundColor: 'Color de fondo',
+    moduleHeight: 'Altura del módulo',
+    showShadow: 'Sombra del módulo',
+    shadowColor: 'Color de la sombra',
+    fixedToBottom: 'Fondo fijo',
+    showWhenPatientIn: 'Mostrar no vacío',
+    moduleMarginLeft: 'Distancia izquierda del módulo',
+    moduleMarginRight: 'Margen derecho del módulo',
+    moduleMarginTop: 'Margen superior del módulo',
+    moduleMarginBottom: 'Color del borde seguido',
+    borderColorSameWith: 'Цвет границы',
+    backgroundColorSameWith: 'Color de fondo seguido',
+    columnOccupyWidth: 'Ocupación de columnas(1-24)',
+    columnOffsetLeft: 'Desplazamiento a la izquierda de la columna',
+    columnPullRight: 'La columna se tira a la derecha',
+    columnPullLeft: 'La columna se tira a la izquierda',
+    gridRows: 'Número de líneas de la tabla',
+    columnsPerRow: 'Número de columnas por línea',
+    contentAlign: 'Alineación de contenidos',
+    modulePadding: 'Completar el módulo',
+    moduleMargin: 'Margen del módulo',
+    showTitle: 'Mostrar título',
+    showIcon: 'Mostrar iconos',
+    iconSelect: 'Seleccionar icono',
+    iconSize: 'Tamaño del icono',
+    iconColor: 'Color del icono',
+    iconMarginLeft: 'Distancia izquierda del icono',
+    iconMarginRight: 'Margen derecho del icono',
+    iconMarginTop: 'Margen superior del icono',
+    iconMarginBottom: 'Margen inferior del icono',
+    titleText: 'Texto del título',
+    contentText: 'Texto del contenido',
+    fieldDisplay: 'Mostrar Campos',
+    displayFormat: 'Formato de visualización',
+    textFormat: 'Formato de texto',
+    dateFormat: 'Formato de fecha',
+    currentDayColor: 'Color de la fecha actual',
+    currentDayBackgroundColor: 'Antecedentes de la fecha actual',
+    formatPattern: 'Patrón formateado',
+    titleTextSize: 'Tamaño del texto del título',
+    titleTextMarginLeft: 'Margen izquierdo del título',
+    titleTextMarginRight: 'Margen derecho del título',
+    titleTextPaddingLeft: 'El título se rellena a la izquierda',
+    titleTextPaddingRight: 'El título se rellena a la derecha',
+    titleTextWidth: 'Ancho de la cabeza',
+    titleTextColor: 'Color del título',
+    titleTextColorSameWith: 'Los colores del título son los siguientes',
+    titleBorderRightWidth: 'Ancho del borde derecho del título',
+    titleBorderBottomWidth: 'Ширина границы под заголовком',
+    titleBorderColor: 'Color del Encabezado',
+    titleTextAlign: 'Alineación del texto del título',
+    titleTextMargin: 'Margen del título',
+    titleTextPadding: 'Relleno de título',
+    titleTextStyle: 'Estilo de texto del título',
+    contentTextSize: 'Tamaño del texto del contenido',
+    contentTextMarginLeft: 'Margen de contenido izquierdo',
+    contentTextMarginRight: 'Permisos de margen de contenido',
+    contentTextColor: 'Color del texto del contenido',
+    contentTextColorSameWith: 'Seguimiento del color del contenido',
+    contentTextStyle: 'Estilo de texto de contenido',
+    normalStyle: 'Estilo ordinario',
+    boldStyle: 'Estilo en negrita',
+    alignLeft: 'Alinear a la izquierda',
+    alignCenter: 'Alinear en el Centro',
+    alignRight: 'Alinear a la derecha',
+    customerDisplay: 'Pantalla personalizada',
+    manulInputDisplay: 'Entrada manual para mostrar',
+    partInfo: 'Información sectorial',
+    partName: 'Nombre del Departamento',
+    patientInfo: 'Información del paciente',
+    bedNo: 'Número de cama',
+    bedName: 'Nombre de la cama',
+    patientName: 'Nombre del paciente',
+    patientSex: 'Sexo del paciente',
+    patientAge: 'Edad del paciente',
+    chargeDoctor: 'Médico responsable',
+    chargeNurse: 'Enfermera responsable',
+    inDate: 'Fecha de hospitalización',
+    patientNo: 'Número del paciente',
+    systemInfo: 'Información del sistema',
+    systemTime: 'Tiempo del sistema',
+    bedIcon: 'Icono de la cama',
+    bedIcon1: 'Icono de la cama1',
+    bedIcon2: 'Icono de la cama2',
+    bedIcon3: 'Icono de la cama3',
+    bedIcon4: 'Icono de la cama4',
+    doctorIcon: 'Icono del médico',
+    doctorIcon1: 'Icono del médico1',
+    doctorIcon2: 'Icono del médico2',
+    doctorIcon3: 'Icono del médico3',
+    doctorIcon4: 'Icono del médico4',
+    nurseIcon: 'Icono de la enfermera',
+    nurseIcon1: 'Icono de la enfermera1',
+    nurseIcon2: 'Icono de la enfermera2',
+    nurseIcon3: 'Icono de la enfermera3',
+    nurseIcon4: 'Icono de la enfermera4',
+    nursingInfo: 'Información de enfermería',
+    statisticInfo: 'Estadísticas',
+    patientSexMale: 'Hombre',
+    patientSexFemale: 'Mujer',
+    patientSexUnkonw: 'Desconocido',
+    contentTextDefault: 'Contenido del texto',
+    titleTextDefault: 'Título predeterminado',
+    bedsTotal: 'Número total de camas',
+    bedsUsedTotal: 'Tasa de ocupación total',
+    bedsEmptyTotal: 'Número total de camas vacías',
+    bedsTodayInTotal: 'Hospitalizado hoy',
+    yesterdayPatientTotal: 'Número total de pacientes ayer',
+    patientToadyOutTotal: 'Alta hoy'
+  },
+  convenientSync: {
+    regionLoadUrl: 'Dirección de carga regional',
+    hospitalSelect: 'Selección de hospitales',
+    hospitalRegion: 'Área hospitalaria',
+    dataSyncUrl: 'Dirección de sincronización de datos',
+    jsonData: 'Datos json del sistema de llamadas',
+    syncData: 'Datos sincronizados',
+    refreshJsonData: 'Actualizar los datos de json',
+    selectHospitalPls: 'Por favor, elija el hospital',
+    selectRegionPls: 'Por favor, elija el área administrativa'
   }
 }

+ 146 - 1
languages/ru-RU.js

@@ -908,6 +908,8 @@ module.exports = {
     hospital: 'Больница',
     part: 'Отдел',
     shop: 'Учреждение',
+    partDirector: 'Директор департамента',
+    partNurseHead: 'Главная медсестра',
     organization: 'Организация',
     shopMemberName: 'Аккаунт администратора',
     shopMemberNameMsg: 'Учетная запись администратора должна быть заполнена',
@@ -1129,7 +1131,8 @@ module.exports = {
     changeBattery: 'Замена батарей в оборудовании',
     interactionPush: 'Интерактивная запись push - конфигурация',
     interactionPushParamConfig: 'Настройка параметров push',
-    CustomerDistribution: 'Распределение пользователей'
+    CustomerDistribution: 'Распределение пользователей',
+    convenientDataSync: 'Удобная синхронизация данных'
   },
   deviceType: {
     NURSE_HOST: 'Устройство медсестры',
@@ -1432,5 +1435,147 @@ module.exports = {
     paramAlias: 'Параметры псевдонимы (переименование параметров)',
     exampleValue: 'Примерное значение параметров',
     isEnable: 'Открыть'
+  },
+  boarderDesign: {
+    textDisplayModuleTitle: 'Показать содержимое',
+    textDisplay2ModuleTitle: ' Настройка Показать',
+    bedGridCellModuleTitle: 'Кровать ячейки',
+    bedGridModuleTitle: 'Коечный дворец',
+    rowContainerModuleTitle: 'Строчный контейнер',
+    columnContainerModuleTitle: 'Столбцы',
+    richTextModuleTitle: 'Богатый текст',
+    componentsList: 'Список компонентов',
+    loadDefaultDesign: 'Загрузить дизайн по умолчанию',
+    saveAsDefaultDesign: 'Сохранить как по умолчанию',
+    saveDesign: 'Сохранить дизайн',
+    preview: 'Предварительный просмотр',
+    componentConfig: 'Настройка компонентов',
+    borderColor: 'Цвет границы',
+    borderWidth: 'Ширина границы',
+    borderTopWidth: 'Ширина сверху ',
+    borderRighhWidth: 'Ширина справа',
+    borderBottomWidth: 'Нижняя ширина',
+    borderLeftWidth: 'Ширина левого края',
+    borderRadius: 'Граничный радиус',
+    backgroundColor: 'Цвет фона',
+    moduleHeight: 'Высота модуля',
+    showShadow: 'Модульные тени',
+    shadowColor: 'Цвет тени',
+    fixedToBottom: 'Фиксированное дно',
+    showWhenPatientIn: 'Показать не пустые',
+    moduleMarginLeft: 'Шаг слева от модуля',
+    moduleMarginRight: 'Правая сторона модуля',
+    moduleMarginTop: 'Верхняя граница модуля',
+    moduleMarginBottom: 'Нижняя граница модуля',
+    borderColorSameWith: 'Border Color Follow',
+    backgroundColorSameWith: 'Цвет фона следует',
+    columnOccupyWidth: 'Занятость столбцов(1-24)',
+    columnOffsetLeft: 'Смещение столбца влево',
+    columnPullRight: 'Вставка тянется вправо.',
+    columnPullLeft: 'Толкай колонну влево.',
+    gridRows: 'Количество строк таблицы',
+    columnsPerRow: 'Количество столбцов в каждой строке',
+    contentAlign: 'Выравнивание содержимого',
+    modulePadding: 'Заполнение модулей',
+    moduleMargin: 'Модульный запас',
+    showTitle: 'Показать заголовок',
+    showIcon: 'Показать значок',
+    iconSelect: 'Выберите значок',
+    iconSize: 'Размер значка',
+    iconColor: 'Цвет значка',
+    iconMarginLeft: 'Значок слева',
+    iconMarginRight: 'Правая сторона значка',
+    iconMarginTop: 'Значок в верхней части страницы',
+    iconMarginBottom: 'Нижняя граница значка',
+    titleText: 'Заголовок',
+    contentText: 'Текст содержимого',
+    fieldDisplay: 'Показать поле',
+    displayFormat: 'Показать формат',
+    textFormat: 'Формат текста',
+    dateFormat: 'Формат даты',
+    currentDayColor: 'Цвет текущей даты',
+    currentDayBackgroundColor: 'Предыстория текущей даты',
+    formatPattern: 'Форматирование рисунков',
+    titleTextSize: 'Размер заголовка',
+    titleTextMarginLeft: 'Курс налево.',
+    titleTextMarginRight: 'Курс направо.',
+    titleTextPaddingLeft: 'Заполнить заголовок влево',
+    titleTextPaddingRight: 'Заголовок заполняется вправо',
+    titleTextWidth: 'Ширина затвора',
+    titleTextColor: 'Цвет заголовка',
+    titleTextColorSameWith: 'Цвет заголовка:',
+    titleBorderRightWidth: 'Ширина правой границы заголовка',
+    titleBorderBottomWidth: 'Ширина границы под заголовком',
+    titleBorderColor: 'Цвет границы заголовка',
+    titleTextAlign: 'Выровнять текст заголовка',
+    titleTextMargin: 'Границы заголовков',
+    titleTextPadding: 'Заголовок заполнен',
+    titleTextStyle: 'Стиль текста заголовка',
+    contentTextSize: 'Размер текста',
+    contentTextMarginLeft: 'Границы содержимого слева',
+    contentTextMarginRight: 'Границы доступа к содержимому',
+    contentTextColor: 'Цвет текста',
+    contentTextColorSameWith: 'Цвет содержимого следует',
+    contentTextStyle: 'Стиль текста содержимого',
+    normalStyle: 'Обычный стиль',
+    boldStyle: 'Жирный стиль',
+    alignLeft: 'Выровнять слева',
+    alignCenter: 'Выровнять по центру',
+    alignRight: 'Выровнять вправо',
+    customerDisplay: 'Настройка Показать',
+    manulInputDisplay: 'Показывать ввод вручную',
+    partInfo: 'Секторальная информация',
+    partName: 'Название департамента',
+    patientInfo: 'Информация о пациенте',
+    bedNo: 'Номер койки',
+    bedName: 'Название кровати',
+    patientName: 'Имя пациента',
+    patientSex: 'Пол пациента ',
+    patientAge: 'Возраст пациентов ',
+    chargeDoctor: 'Ответственный врач',
+    chargeNurse: 'Ответственная медсестра',
+    inDate: 'Дата госпитализации',
+    patientNo: 'Номер пациента',
+    systemInfo: 'Системная информация',
+    systemTime: 'Системное время',
+    bedIcon: 'Значок кровати',
+    bedIcon1: 'Значок кровати1',
+    bedIcon2: 'Значок кровати2',
+    bedIcon3: 'Значок кровати3',
+    bedIcon4: 'Значок кровати4',
+    doctorIcon: 'Значок врача',
+    doctorIcon1: 'Значок врача1',
+    doctorIcon2: 'Значок врача2',
+    doctorIcon3: 'Значок врача3',
+    doctorIcon4: 'Значок врача4',
+    nurseIcon: 'Значок медсестры',
+    nurseIcon1: 'Значок медсестры1',
+    nurseIcon2: 'Значок медсестры2',
+    nurseIcon3: 'Значок медсестры3',
+    nurseIcon4: 'Значок медсестры4',
+    nursingInfo: 'Информация об уходе',
+    statisticInfo: 'Статистические данные',
+    patientSexMale: 'Мужчины',
+    patientSexFemale: 'Женщины',
+    patientSexUnkonw: 'Неизвестно',
+    contentTextDefault: 'Содержание текста',
+    titleTextDefault: 'Заголовок по умолчанию',
+    bedsTotal: 'Общее число койко - мест',
+    bedsUsedTotal: 'Общая занятость',
+    bedsEmptyTotal: 'Общее количество свободных кроватей',
+    bedsTodayInTotal: 'Сегодня в больнице.',
+    yesterdayPatientTotal: 'Общее число пациентов вчера',
+    patientToadyOutTotal: 'Сегодня выписывают.'
+  },
+  convenientSync: {
+    regionLoadUrl: 'Адрес загрузки',
+    hospitalSelect: 'Выбрать больницу',
+    hospitalRegion: 'Больничный округ',
+    dataSyncUrl: 'Адрес синхронизации данных',
+    jsonData: 'Данные системы JSON',
+    syncData: 'Синхронизация данных',
+    refreshJsonData: 'Обновить данные JSON',
+    selectHospitalPls: 'Пожалуйста, выберите больницу.',
+    selectRegionPls: 'Выберите административный район'
   }
 }

+ 147 - 1
languages/zh-CN.js

@@ -918,6 +918,8 @@ module.exports = {
     shopParentName: '上级组织简称',
     shopParentFullName: '上级组织全称',
     shopParentId: '所属组织',
+    partDirector: '科室主任',
+    partNurseHead: '科室护士长',
     choiceShopParentId: '请选择上级组织',
     dayInfo: '白天参数设置',
     dayStart: '白天开始时间',
@@ -1129,7 +1131,8 @@ module.exports = {
     changeBattery: '更换设备电池',
     interactionPush: '交互记录推送配置',
     interactionPushParamConfig: '推送参数配置',
-    CustomerDistribution: '用户分布'
+    CustomerDistribution: '用户分布',
+    convenientDataSync: '便民服务数据同步'
   },
   deviceType: {
     NURSE_HOST: '护士主机',
@@ -1432,5 +1435,148 @@ module.exports = {
     paramAlias: '参数别名(重命名参数名称)',
     exampleValue: '参数示例值',
     isEnable: '是否开启'
+  },
+  boarderDesign: {
+    textDisplayModuleTitle: '内容显示单元',
+    textDisplay2ModuleTitle: '自定义看板项显示',
+    bedGridCellModuleTitle: '床位单元格',
+    bedGridModuleTitle: '床位宫格',
+    rowContainerModuleTitle: '行容器',
+    columnContainerModuleTitle: '列容器',
+    richTextModuleTitle: '富文本',
+    componentsList: '组件列表',
+    loadDefaultDesign: '载入默认设计',
+    saveAsDefaultDesign: '保存为默认设计',
+    saveDesign: '保存设计',
+    preview: '预览',
+    componentConfig: '组件配置',
+    borderColor: '边框颜色',
+    borderWidth: '边框宽度',
+    borderTopWidth: '上边框宽度',
+    borderRighhWidth: '右边框宽度',
+    borderBottomWidth: '下边框宽度',
+    borderLeftWidth: '左边框宽度',
+    borderRadius: '边界半径',
+    backgroundColor: '背景颜色',
+    moduleHeight: '模块高度',
+    showShadow: '显示模块阴影',
+    shadowColor: '阴影颜色',
+    fixedToBottom: '固定在底部',
+    showWhenPatientIn: '使用时显示',
+    moduleMarginLeft: '模块左外边距',
+    moduleMarginRight: '模块右外边距',
+    moduleMarginTop: '模块上外边距',
+    moduleMarginBottom: '模块下外边距',
+    borderColorSameWith: '边框颜色跟随',
+    backgroundColorSameWith: '背景颜色跟随',
+    columnOccupyWidth: '列占宽度(1-24)',
+    columnOffsetLeft: '列左偏移',
+    columnPullRight: '列右移宽度',
+    columnPullLeft: '列左移宽度',
+    gridRows: '表格显示行数',
+    columnsPerRow: '每行显示列数',
+    contentAlign: '内容对齐',
+    modulePadding: '模块内边距',
+    moduleMargin: '模块外边距',
+    showTitle: '显示抬头',
+    showIcon: '显示图标',
+    iconSelect: '选择图标',
+    iconSize: '图标大小',
+    iconColor: '图标颜色',
+    iconMarginLeft: '图标左外边距',
+    iconMarginRight: '图标右外边距',
+    iconMarginTop: '图标上外边距',
+    iconMarginBottom: '图标下外边距',
+    titleText: '抬头文本',
+    contentText: '内容文本',
+    fieldDisplay: '显示字段',
+    displayFormat: '显示格式',
+    textFormat: '文本格式',
+    dateFormat: '日期格式',
+    currentDayColor: '当天日期颜色',
+    currentDayBackgroundColor: '当天日期背景色',
+    formatPattern: '格式化模式',
+    titleTextSize: '抬头文本大小',
+    titleTextMarginLeft: '抬头左外边距',
+    titleTextMarginRight: '抬头右外边距',
+    titleTextPaddingLeft: '抬头左内边距',
+    titleTextPaddingRight: '抬头右内边距',
+    titleTextWidth: '抬头宽度',
+    titleTextColor: '抬头文字颜色',
+    titleTextColorSameWith: '抬头文字颜色跟随',
+    titleBorderRightWidth: '抬头右边框宽度',
+    titleBorderBottomWidth: '抬头下边框宽度',
+    titleBorderColor: '抬头边框颜色',
+    titleTextAlign: '抬头文本对齐',
+    titleTextMargin: '抬头外边距',
+    titleTextPadding: '抬头内边距',
+    titleTextStyle: '抬头文本样式',
+    contentTextSize: '内容文本大小',
+    contentTextMarginLeft: '内容左外边距',
+    contentTextMarginRight: '内容右外边距',
+    contentTextColor: '内容文本颜色',
+    contentTextColorSameWith: '内容颜色跟随',
+    contentTextStyle: '内容文本样式',
+    normalStyle: '普通样式',
+    boldStyle: '加粗样式',
+    alignLeft: '左对齐',
+    alignCenter: '居中对齐',
+    alignRight: '右对齐',
+    customerDisplay: '自定义显示',
+    manulInputDisplay: '手工输入显示',
+    partInfo: '科室信息',
+    partName: '科室名称',
+    patientInfo: '患者信息',
+    bedNo: '床位号',
+    bedName: '床位名称',
+    patientName: '患者姓名',
+    patientSex: '患者性别',
+    patientAge: '患者年龄',
+    chargeDoctor: '责任医生',
+    chargeNurse: '责任护士',
+    inDate: '入院日期',
+    patientNo: '住院号',
+    systemInfo: '系统信息',
+    systemTime: '系统时间',
+    bedIcon: '床位图标',
+    bedIcon1: '床位图标1',
+    bedIcon2: '床位图标2',
+    bedIcon3: '床位图标3',
+    bedIcon4: '床位图标4',
+    doctorIcon: '医生图标',
+    doctorIcon1: '医生图标1',
+    doctorIcon2: '医生图标2',
+    doctorIcon3: '医生图标3',
+    doctorIcon4: '医生图标4',
+    nurseIcon: '护士图标',
+    nurseIcon1: '护士图标1',
+    nurseIcon2: '护士图标2',
+    nurseIcon3: '护士图标3',
+    nurseIcon4: '护士图标4',
+    nursingInfo: '护理信息',
+    statisticInfo: '统计信息',
+    patientSexMale: '男',
+    patientSexFemale: '女',
+    patientSexUnkonw: '未知',
+    contentTextDefault: '文本内容',
+    titleTextDefault: '默认标题',
+    bedsTotal: '床位总数',
+    bedsUsedTotal: '入住总数',
+    bedsEmptyTotal: '空床位数',
+    bedsTodayInTotal: '今日入院',
+    yesterdayPatientTotal: '昨日患者数',
+    patientToadyOutTotal: '今日出院'
+  },
+  convenientSync: {
+    regionLoadUrl: '行政区加载地址',
+    hospitalSelect: '选择医院',
+    hospitalRegion: '医院行政区',
+    dataSyncUrl: '数据同步地址',
+    jsonData: '呼叫系统JSON数据',
+    syncData: '同步数据',
+    refreshJsonData: '刷新JSON数据',
+    selectHospitalPls: '请选择医院',
+    selectRegionPls: '请选择行政区域'
   }
+
 }

+ 29 - 0
src/api/ncs_convenient_sync.js

@@ -0,0 +1,29 @@
+import request from '@/utils/request'
+
+/** 同步数据 */
+export function structSync(baseUrl, param) {
+  return request({
+    baseURL: baseUrl || '',
+    url: '/ncs_sync/shop/json_data',
+    method: 'POST',
+    data: param
+  })
+}
+
+
+export function getShopList(partId) {
+  return request({
+    url: `/ncs/shop/getShopByHospitalId/${partId}`,
+    method: 'GET'
+  })
+}
+
+
+export function getPartList(depType) {
+  return request({
+    url: `/mgr/partinfo/list/${depType}`,
+    method: 'GET'
+  })
+}
+
+

+ 17 - 0
src/api/shop_regions.js

@@ -0,0 +1,17 @@
+import request from "@/utils/request";
+
+export function getRegionsByDepth(depth, baseUrl) {
+  return request({
+    baseURL: baseUrl || '',
+    url: `/regions/depth/${depth}`,
+    method: 'GET'
+  })
+}
+
+export function getRegionsChildren(id, baseUrl) {
+  return request({
+    baseURL: baseUrl || '',
+    url: `/regions/${id}/children`,
+    method: 'GET'
+  })
+}

+ 13 - 0
src/router/index.js

@@ -778,6 +778,19 @@ export const adminRoutes = [
     ]
   },
   {
+    path: '/convenient_sync',
+    component: Layout,
+    redirect: '/convenient_sync/index',
+    children: [
+      {
+        path: 'index',
+        component: () => import('@/views/convenient-data-sync/index'),
+        name: 'convenient-data-sync',
+        meta: { title: i18n.t('tab.convenientDataSync'), icon: 'el-icon-refresh', noCache: true }
+      }
+    ]
+  },
+  {
     path: '/device_frame',
     component: Layout,
     redirect: '/device_frame/index',

+ 14 - 0
src/utils/enum/InfomationBoardStatisticEnum.js

@@ -0,0 +1,14 @@
+import createEnum from '@/utils/enum/createEnum'
+import i18n from '@/utils/i18n'
+
+export const INFORMATION_BOARD_STATISTICS_ENUM = createEnum(
+  {
+    BEDS_TOTAL: ['总床位数', 'boarderDesign.bedsTotal'],
+    BEDS_USED_TOTAL: ['入住总数', 'boarderDesign.bedsUsedTotal'],
+    BEDS_EMPTY_TOTAL: ['空床位数', 'boarderDesign.bedsEmptyTotal'],
+    BEDS_TODAY_IN_TOTAL: ['今日入院', 'boarderDesign.bedsTodayInTotal'],
+    PATIENT_YESTERDAY_TOTAL: ['原有人数', 'boarderDesign.yesterdayPatientTotal'],
+    PATIENT_TODAY_OUT_TOTAL: ['今日出院', 'boarderDesign.patientToadyOutTotal']
+
+  }
+)

+ 226 - 0
src/views/convenient-data-sync/index.vue

@@ -0,0 +1,226 @@
+<template>
+    <div>
+        <el-main>
+            <el-form ref="editform" :rules="rules" label-width="150px" :model="formmodel">
+
+                <el-row>
+                    <el-col :span="24">
+                        <el-form-item :label="this.$t('convenientSync.regionLoadUrl')" prop="base_url">
+                            <el-input
+                                    v-model="formmodel.base_url"
+                                    clearable
+                            />
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :span="24">
+                        <el-form-item :label="this.$t('convenientSync.hospitalSelect')" prop="hospital_id">
+                            <el-select v-model="formmodel.hospital_id"
+                                       :placeholder="this.$t('convenientSync.hospitalSelect')" @change="hospitalChange"
+                                       clearable>
+                                <el-option
+                                        v-for="(item,index) in hospitals"
+                                        :key="index"
+                                        :label="item.shop_name"
+                                        :value="item.shop_id"
+                                />
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :span="24">
+                        <el-form-item :label="this.$t('convenientSync.hospitalRegion')" prop="region">
+                            <el-cascader :props="props" ref="cascader" clearable v-model="formmodel.region" filterable
+                                         @change="regionChange"></el-cascader>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+
+                <!--                <el-row>-->
+                <!--                    <el-col :span="24">-->
+                <!--                        <el-form-item label="医院地址" prop="address">-->
+                <!--                            <el-input-->
+                <!--                                    v-model="formmodel.address"-->
+                <!--                                    clearable-->
+                <!--                            />-->
+                <!--                        </el-form-item>-->
+                <!--                    </el-col>-->
+                <!--                </el-row>-->
+
+                <el-row>
+                    <el-col :span="24">
+                        <el-form-item :label="this.$t('convenientSync.dataSyncUrl')" prop="upload_url">
+                            <el-input
+                                    v-model="formmodel.upload_url"
+                                    clearable
+                            />
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+
+
+                <fieldset class="margin-top-sm">
+                    <legend>{{this.$t('convenientSync.jsonData')}}</legend>
+                    <json-viewer :expand-depth="100"
+                                 sort
+                                 :show-array-index="true"
+                                 copyable :value="paramExample"></json-viewer>
+                </fieldset>
+
+                <el-form-item align="center" class="margin-top-sm">
+                    <el-button type="success" @click="onSubmit('editform')">{{this.$t('convenientSync.syncData')}}
+                    </el-button>
+                    <el-button type="danger" @click="loadPartJson">{{this.$t('convenientSync.refreshJsonData')}}
+                    </el-button>
+
+                </el-form-item>
+            </el-form>
+        </el-main>
+
+    </div>
+</template>
+
+<script>
+    //便民服务数据结构同步
+    import * as  API_ShopRegions from '@/api/shop_regions'
+    import * as  API_Convenient from '@/api/ncs_convenient_sync'
+
+    const url = 'https://api.base.wdklian.com/'
+    export default {
+        name: "index",
+        data() {
+            let _this = this
+            return {
+                formmodel: {
+                    base_url: url,
+                    upload_url: url
+                },
+                props: {
+                    lazy: true,
+                    lazyLoad(node, resolve) {
+                        const {level} = node;
+
+                        if (level == 0) {
+                            API_ShopRegions.getRegionsByDepth(level + 1, _this.formmodel.base_url).then(res => {
+                                console.log(res)
+                                const nodes = res.map(item => ({
+                                    value: item.id,
+                                    label: item.local_name,
+                                    leaf: false
+                                }));
+                                resolve(nodes);
+                            })
+                        } else {
+                            const {value} = node.data
+                            API_ShopRegions.getRegionsChildren(value, _this.formmodel.base_url).then(res => {
+                                console.log(res)
+                                const nodes = res.map(item => ({
+                                    value: item.id,
+                                    label: item.local_name,
+                                    leaf: item.bool_leaf
+                                }));
+                                resolve(nodes);
+                            })
+                        }
+                    }
+                },
+                hospitals: [],
+                paramExample: {},
+                rules: {
+                    region: [
+                        {required: true, message: this.$t('convenientSync.selectHospitalPls'), trigger: 'blur'}
+                    ],
+                    hospital_id: [
+                        {required: true, message: this.$t('convenientSync.selectRegionPls'), trigger: 'blur'}
+                    ]
+                }
+            }
+        },
+        mounted() {
+            this.getHospitals()
+        },
+        methods: {
+            onSubmit(formName) {
+                this.$refs[formName].validate((valid) => {
+                    if (valid) {
+                        this.formmodel.json = JSON.stringify(this.paramExample)
+                        API_Convenient.structSync(this.formmodel.upload_url, this.formmodel).then(() => {
+
+                            this.$message.success(this.$t('action.saveSuccess'))
+                        })
+                    } else {
+                        this.$message.error(this.$t('action.fromError'))
+                    }
+                })
+
+            },
+            loadPartJson() {
+                if(this.formmodel.hospital_id){
+                    this.getJSON(this.formmodel.hospital_id)
+                }else{
+                    this.$message.error(this.$t('convenientSync.selectHospitalPls'))
+                }
+
+            },
+            getHospitals() {
+                API_Convenient.getPartList(6).then(res => {
+                    this.hospitals = [...res]
+                    if(res.length>0){
+                        this.formmodel.hospital_id=res[0].shop_id
+                        this.loadPartJson()
+                    }
+                }).catch(err => {
+
+                })
+            },
+            regionChange(val) {
+                if (val) {
+                    this.formmodel.region = val[val.length - 1]
+                } else {
+                    this.formmodel.region = null
+                }
+            },
+
+            hospitalChange(val) {
+                if (val) {
+                    this.getJSON(val)
+                } else {
+                    this.paramExample = {}
+                }
+
+            },
+            getJSON(val) {
+                API_Convenient.getShopList(val).then(res => {
+                    const partList = res.filter(item=>item.shop_id!==val).map(item => ({
+                        shopName: item.shop_name,
+                        unionId: item.union_id
+                    }))
+                    const hosptial = this.hospitals.find(p => p.shop_id === val)
+                    const {shop_name, union_id} = hosptial
+                    this.paramExample = {shopName: shop_name, unionId: union_id, partList}
+
+                }).catch(err => {
+
+                })
+            }
+
+        }
+    }
+</script>
+
+<style scoped>
+    /deep/ .el-cascader--medium {
+        width: 100%
+    }
+
+    fieldset {
+        border: 1px solid #DCDFE6;
+        border-radius: 5px;
+    }
+
+    .margin-top-sm {
+        margin-top: 20px;
+    }
+</style>

+ 20 - 9
src/views/custom-infoboard/infoboard-designer.vue

@@ -19,7 +19,7 @@
 <!--                        </div>-->
 <!--                    </template>-->
                     <el-header height="40px" class="_fc-r-tabs">
-                        <div >组件列表</div>
+                        <div >{{$t('boarderDesign.componentsList')}}</div>
                         <!--                            <div class="_fc-r-tab" v-if="!config || config.showFormConfig !== false" :class="{active: activeTab==='form' && !!activeRule}"-->
                         <!--                                 @click="activeTab='form'">表单配置-->
                         <!--                            </div>-->
@@ -30,7 +30,7 @@
                             <el-col :span="12" v-for="item in templateArray" class="draggableitem text-center"  :class="'item-' + item.tpl_id" :key="item.tpl_id">
                                 <div >
                                 <div class="iconfont" style="font-size: 26px"  :class="item.moduleIconClass"></div>
-                                <span class="text-tpl">{{ templates[item.tpl_id].title }}</span>
+                                <span class="text-tpl">{{$t(templates[item.tpl_id].title) }}</span>
                                 </div>
                             </el-col>
 
@@ -52,17 +52,17 @@
                         <el-header class="_fc-m-tools" height="45">
 
                             <el-button type="primary" icon="fc-icon icon-preview" plain round size="mini"
-                                       @click="getDefaultBoardTitle">载入默认设计
+                                       @click="getDefaultBoardTitle">{{$t('boarderDesign.loadDefaultDesign')}}
                             </el-button>
                             <el-button type="danger" icon="fc-icon icon-preview" plain round size="mini"
-                                       @click="saveAsDefault">保存为默认设计
+                                       @click="saveAsDefault">{{$t('boarderDesign.saveAsDefaultDesign')}}
                             </el-button>
 
                             <el-button type="primary" icon="fc-icon icon-preview" plain round size="mini"
-                                       @click="handleSaveFloor">保存设计
+                                       @click="handleSaveFloor">{{$t('boarderDesign.saveDesign')}}
                             </el-button>
                             <el-button type="success" icon="fc-icon icon-preview" plain round size="mini"
-                                       @click="preview">预 览
+                                       @click="preview">{{$t('boarderDesign.preview')}}
                             </el-button>
 
                         </el-header>
@@ -78,10 +78,10 @@
                 <el-aside class="_fc-r" width="320px" >
                     <el-container style="height: 100%;">
                         <el-header height="40px" class="_fc-r-tabs">
-                            <div>组件配置</div>
+                            <div>{{$t('boarderDesign.componentConfig')}}</div>
 
                         </el-header>
-                        <div class="text-center" style="color: #FF2E2E">{{ activeModuleTitle }}</div>
+                        <div class="text-center" style="color: #FF2E2E">{{$t(activeModuleTitle) }}</div>
                         <module-config :module-config="modueConfigModel"></module-config>
 
                     </el-container>
@@ -92,7 +92,7 @@
             </el-container>
         </el-main>
 
-        <el-dialog title="设计预览" fullscreen :visible.sync="previewVisible">
+        <el-dialog :title="this.$t('boarderDesign.preview')" fullscreen :visible.sync="previewVisible">
 
              <nest-component :tasks="floorList" :bind-data="boardBedsInfo" :show="show" :manual-input-board-items="manualInputBoardItems"  :board-customer-items="boardItems" :statistic-data="partStatistic"></nest-component>
 
@@ -417,6 +417,17 @@
                 let node =this.findNodeById(this.floorList,unique)
 
                 this.modueConfigModel=node.moduleConfig
+                //处理组件默认属性多语言显示
+                if(this.modueConfigModel.dataConfig&&this.modueConfigModel.dataConfig.contentText!==undefined){
+                    this.modueConfigModel.dataConfig.contentText=this.$t(this.modueConfigModel.dataConfig.contentText)
+                }
+                if(this.modueConfigModel.dataConfig&&this.modueConfigModel.dataConfig.titleText!==undefined){
+                    this.modueConfigModel.dataConfig.titleText=this.$t(this.modueConfigModel.dataConfig.titleText)
+                }
+                if(this.modueConfigModel.dataConfig&&this.modueConfigModel.dataConfig.textType!==undefined){
+                    this.modueConfigModel.dataConfig.textType=this.$t(this.modueConfigModel.dataConfig.textType)
+                }
+
                 this.activeModuleTitle = this.templates[node.tpl_id].title
             },
             preview(){

+ 1 - 1
src/views/custom-infoboard/templates/common/cloumn-container.vue

@@ -22,7 +22,7 @@
         name: "cloumn-container",
         components: {DragTool},
         mixins: [mixin],
-        title: '列布局',
+        title: 'boarderDesign.columnContainerModuleTitle',
         data(){
             return{
             }

+ 2 - 2
src/views/custom-infoboard/templates/common/html-display.vue

@@ -22,7 +22,7 @@
         name: "html-display",
         mixins:[mixin],
         components: {DragTool},
-        title:'富文本',
+        title: 'boarderDesign.richTextModuleTitle',//'富文本',
         unique:'',
         computed:{
             displayHtml(){
@@ -50,7 +50,7 @@
                         return customItem.item_name
                     }
                 }
-                return '标题'
+                return this.$t('boarderDesign.titleTextDefault')
             }
         },
         dataTpl:{

+ 1 - 1
src/views/custom-infoboard/templates/common/row-container.vue

@@ -18,7 +18,7 @@
         name: "row-container",
         components: {DragTool},
         mixins: [mixin],
-        title: '行布局',
+        title: 'boarderDesign.rowContainerModuleTitle', //行容器
         data(){
             return{
             }

+ 10 - 7
src/views/custom-infoboard/templates/common/text-display.vue

@@ -4,7 +4,7 @@
         <div :style="moduleComputedStyle" class="flex">
             <div class="iconfont" :class="data.moduleConfig.dataConfig.iconClass" v-if="data.moduleConfig.showIcon" :style="data.moduleConfig.iconStyle"></div>
     <div :style="titleComputedStyle" v-if="data.moduleConfig.showTitle" class="titlewrap">
-        <div class="titleStyle"> {{data.moduleConfig.dataConfig.titleText}}</div>
+        <div class="titleStyle"> {{this.$t(data.moduleConfig.dataConfig.titleText)}}</div>
     </div>
     <div :style="textComputedStyle" class="content_item">
       {{displayText}}
@@ -19,12 +19,14 @@
     import DragTool from "../DragTool";
     import mixin from '../../mixinnew'
     import {unix2Date,unix2DateWithTimeZone} from '@/utils/Foundation'
+
     export default {
         name: "text-display",
         mixins:[mixin],
         components: {DragTool},
-        title:'内容显示单元',
+        title:'boarderDesign.textDisplayModuleTitle',//内容显示单元
         unique:'',
+
         computed:{
           displayText(){
 
@@ -47,7 +49,7 @@
                         text = unix2DateWithTimeZone(text*1000,this.data.moduleConfig.dataConfig.textFormat)
                       }
                       if(this.data.moduleConfig.dataConfig.textWith==='patient.sex'){ //格式化性别
-                          text=(text===0?'女':text===1?'男':'未知')
+                          text=(text===0?this.$t('boarderDesign.patientSexFemale'):text===1?this.$t('boarderDesign.patientSexMale'):this.$t('boarderDesign.patientSexUnknow'))
                       }
                       if(this.data.moduleConfig.dataConfig.textWith==='patient.age'){
                           text = (text===null?'':text)+this.bindData.items[this.childDataIndex]['age_unit']
@@ -67,9 +69,10 @@
                       return statisticItem
                   }
               }else  {
-                  return this.data.moduleConfig.dataConfig.contentText
+                  return this.$t(this.data.moduleConfig.dataConfig.contentText)
               }
           }
+
         },
         dataTpl:{
             tpl_id: 7,
@@ -101,10 +104,10 @@
                     backgroundColorToday:''
                 },
                 dataConfig:{
-                    titleText:'Title',
-                    contentText:'文字',
+                    titleText:'boarderDesign.titleTextDefault',
+                    contentText:'boarderDesign.contentTextDefault',
                     textWith:'',
-                    textType:'文本',
+                    textType:'boarderDesign.textFormat',
                     textFormat:'',
                     iconClass:'' //图标样式类
                 },

+ 2 - 2
src/views/custom-infoboard/templates/common/text-display2.vue

@@ -19,7 +19,7 @@
         name: "text-display2",
         mixins:[mixin],
         components: {DragTool},
-        title:'自定义看板项显示',
+        title:'boarderDesign.textDisplay2ModuleTitle',//自定义看板项显示
         computed:{
             displayText(){
                 if(this.data.moduleConfig.dataConfig&&this.data.moduleConfig.dataConfig.displayCustomerItem!==null){ //看板项内容
@@ -45,7 +45,7 @@
                         return customItem.area_label
                     }
                 }
-               return '标题'
+               return this.$t('boarderDesign.titleTextDefault')
             }
 
         },

+ 1 - 1
src/views/custom-infoboard/templates/common/tpl-bed-unit.vue

@@ -18,7 +18,7 @@
         name: "tpl-bed-unit",
         components: {DragTool},
         mixins: [mixin],
-        title: '床位单元格',
+        title: 'boarderDesign.bedGridCellModuleTitle',//床位单元格
         data(){
             return{
             }

+ 1 - 1
src/views/custom-infoboard/templates/common/tpl-beds-grid.vue

@@ -31,7 +31,7 @@
             }
 
         },
-        title: '床位宫格',
+        title: 'boarderDesign.bedGridModuleTitle',//床位宫格
         dataTpl: {
             tpl_id: 5,
             tpl_type: 'BOARD_ITEM',

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 374 - 228
src/views/custom-infoboard/templates/moduleConfig.vue


+ 5 - 0
src/views/ncs-device/components/deviceManager.vue

@@ -1340,6 +1340,11 @@
                     val === DEVICE_TYPE.OWON_X5_GATEWAY ||
                     val === DEVICE_TYPE.HUMAN_DETECTION_RADAR ||
                     val === DEVICE_TYPE.INFORMATION_BOARD ||
+                    val === DEVICE_TYPE.ALARM_BUTTON_SOS ||
+                    val === DEVICE_TYPE.ALARM_BODY_INDUCTIVE ||
+                    val === DEVICE_TYPE.ALARM_WATER_OVERFLOW ||
+                    val === DEVICE_TYPE.ALARM_HOUSEHOLD_GAS ||
+                    val === DEVICE_TYPE.ALARM_HOUSEHOLD_SMOKE ||
                     val === DEVICE_TYPE.S433_TRANSFER_BOX ||
                     val === DEVICE_TYPE.S4GINTERCOM;
             },

+ 12 - 0
src/views/ncs-orginazition/components/partInfoEdit.vue

@@ -82,6 +82,18 @@
             </el-col>
 
           </el-row>
+          <el-row>
+            <el-col :span="8">
+              <el-form-item :label="this.$t('partInfo.partDirector')" prop="part_director">
+                <el-input v-model="formmodel.part_director" clearable :maxlength="100" :placeholder="this.$t('partInfo.partDirector')" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item :label="this.$t('partInfo.partNurseHead')" prop="part_nurse_head">
+                <el-input v-model="formmodel.part_nurse_head" clearable :maxlength="100" :placeholder="this.$t('partInfo.partNurseHead')" />
+              </el-form-item>
+            </el-col>
+          </el-row>
         </fieldset>
         <fieldset class="margin-top-sm">
           <legend>{{ this.$t('partInfo.dayInfo') }}</legend>