Browse Source

Merge branch 'languages/1.3.7-es' into feature/1.3.7-lang-20221117

# Conflicts:
#	languages/ru-RU.js
#	src/views/ncs-chars/info.vue
#	src/views/ncs-interaction/index.vue
vothin 2 năm trước cách đây
mục cha
commit
4bf1eaedf9

+ 15 - 5
languages/en.js

@@ -1,12 +1,14 @@
 module.exports = {
   action: {
-    wdklCallingSystem: 'Wreadycare Calling System',
+    wdklCallingSystem: 'System Configuration',
     home: 'Home',
     add: 'Add',
     edit: 'Edit',
     more: 'More',
     delete: 'Delete',
     login: 'Login',
+    usernameMsg: 'Username',
+    passwordMsg: 'Password',
     loginError: 'Your login status has expired, please login again!',
     permissionError: 'Permission Error',
     logout: 'Log out',
@@ -134,7 +136,8 @@ module.exports = {
     paste: 'paste',
     colour: 'Colour',
     searchDateRange: 'Search time period',
-    to: 'to',
+    to: ' to ',
+    of: ' of ',
     index: 'Serial number',
     null: 'None',
     all: 'All',
@@ -197,7 +200,12 @@ module.exports = {
     excelUpload: 'Upload an excel sheet',
     play: 'Play',
     pause: 'Pause',
-    noFile: 'File does not exist, cannot be played'
+    noFile: 'File does not exist, cannot be played',
+    inputMsg: 'Please enter the content!',
+    year: 'year',
+    month: 'month',
+    day: 'day',
+    timeMsg: 'Please select a time range!'
   },
   member: {
     face: 'Avatar',
@@ -609,7 +617,9 @@ module.exports = {
     MaxNum2: 'Maximum on time',
     SumNum: 'Total call time',
     total: 'Total',
-    recordPlay: 'Play the audio recording'
+    recordPlay: 'Play the audio recording',
+    eventStatistics: 'Event Statistics',
+    statisticalTable: 'Statistical table'
   },
   frameGroup: {
     frameGroupAdd: 'New area',
@@ -1019,7 +1029,7 @@ module.exports = {
     DEVICE: 'Device',
     DATA: 'Data',
     EVENT: 'Event',
-    SIDE: 'Outside Information',
+    SIDE: 'nursing',
     BROADCAST: 'Broadcast',
     TIME: 'Time',
     ENTRACEGUARD: 'Access Control',

+ 63 - 6
languages/es.js

@@ -1,12 +1,14 @@
 module.exports = {
   action: {
-    wdklCallingSystem: 'Sistema de llamadas Wreadycare',
+    wdklCallingSystem: 'Configuración del sistema',
     home: 'Hogar',
     add: 'Agregar',
     edit: 'Editar',
     more: 'mas',
     delete: 'Eliminar',
     login: 'Iniciar sesión',
+    usernameMsg: 'Nombre de usuario',
+    passwordMsg: 'Palabras clave',
     loginError: 'Su estado de inicio de sesión ha caducado, ¡inicie sesión de nuevo!',
     permissionError: 'Error de permiso',
     logout: 'Cerrar sesión',
@@ -84,6 +86,53 @@ module.exports = {
     every: 'Cada',
     times: 'Tiempos',
     choice: 'Por favor elija',
+    choiceAllSearchResults: '(elegir todos los resultados de búsqueda)',
+    searchOoo: 'Buscar...',
+    blanks: '(espacio)',
+    noMatches: 'No hay resultados coincidentes',
+    filterOoo: 'Valor de filtro...',
+    equals: 'igual a',
+    notEqual: 'no igual a',
+    empty: 'Seleccione un registro',
+    lessThan: 'menos que',
+    greaterThan: 'mayor que',
+    lessThanOrEqual: 'menor que o igual a',
+    greatThanOrEqual: 'mayor que o igual a',
+    inRange: 'Rango',
+    inRangeStart: 'a',
+    inRangeEnd: 'desde',
+    contains: 'contiene',
+    notContains: 'no contiene',
+    startsWith: 'comienza con',
+    endsWith: 'termina con',
+    andCondition: 'y',
+    orCondition: 'o',
+    applyFilter: 'Aplicar',
+    resetFilter: 'restablecer',
+    clearFilter: 'Borrar',
+    cancelarFiltro: 'Cancelar',
+    textFilter: 'filtro de texto',
+    numberFilter: 'filtro de números',
+    dateFilter: 'filtro de fecha',
+    setFilter: 'filtro de lista',
+    columnas: 'columnas',
+    filters: 'filtro',
+    loadingOoo: 'Cargando...',
+    noRowsToShow: 'No hay datos para mostrar',
+    enabled: 'abierto',
+    pinColumn: 'columna fija',
+    pinLeft: 'Fijo a la izquierda',
+    pinRight: 'Fijo a la derecha',
+    noPin: 'no fijo',
+    autosizeThiscolumn: 'Escalar automáticamente esta columna',
+    autosizeAllColumns: 'Escalar automáticamente todas las columnas',
+    groupBy: 'grupo',
+    resetColumns: 'Restablecer configuración de columna',
+    expandAll: 'Expandir todo',
+    colapsarTodo: 'Contraer todo',
+    copy: 'Copiar',
+    copyWithHeaders: 'Copiar con encabezados',
+    paste: 'pegar',
     choiceAll: 'Todos',
     choiceAllSearchResults: '(elegir todos los resultados de búsqueda)',
     searchOoo: 'Buscar...',
@@ -134,7 +183,8 @@ module.exports = {
     paste: 'pegar',
     colour: 'Color',
     searchDateRange: 'Período de tiempo de búsqueda',
-    to: 'Para',
+    to: ' Para ',
+    of: ' De ',
     index: 'Número de serie',
     null: 'Ninguno',
     all: 'todo',
@@ -197,7 +247,12 @@ module.exports = {
     excelUpload: 'Cargar una hoja de Excel',
     play: 'Jugar',
     pause: 'Pausa',
-    noFile: 'El archivo no existe, no se puede reproducir'
+    noFile: 'El archivo no existe, no se puede reproducir',
+    inputMsg: '¡Por favor, introduzca el contenido!',
+    year: 'Año',
+    month: 'Mes',
+    day: 'Día',
+    timeMsg: '¡Por favor, seleccione el rango de tiempo!'
   },
   member: {
     face: 'Avatar',
@@ -609,7 +664,9 @@ module.exports = {
     MaxNum2: 'Tiempo máximo',
     SumNum: 'Tiempo total de llamada',
     total: 'Total',
-    recordPlay: 'Reproducir la grabación de audio'
+    recordPlay: 'Reproducir la grabación de audio',
+    eventStatistics: 'Tabla estadística de eventos',
+    statisticalTable: 'Cuadro estadístico'
   },
   frameGroup: {
     frameGroupAdd: 'Nueva área',
@@ -1008,7 +1065,7 @@ module.exports = {
     EPIDEMIC_PATTERN: 'Modo de prevención de epidemias',
     CARING_PATTERN: 'Modo de cuidado de ancianos'
   },
-  TcpType: {
+  tcpType: {
     CALLCACK: 'Comentarios de TCP',
     VOICE: 'Voz',
     VIDEO: 'Vídeo',
@@ -1018,7 +1075,7 @@ module.exports = {
     DEVICE: 'Dispositivo',
     DATA: 'Datos',
     EVENT: 'Evento',
-    SIDE: 'Información Externa',
+    SIDE: 'Enfermería',
     BROADCAST: 'Transmisión',
     TIME: 'tiempo',
     ENTRACEGUARD: 'Control de Acceso',

+ 29 - 43
languages/ru-RU.js

@@ -3,10 +3,12 @@ module.exports = {
     wdklCallingSystem: 'Система палтной сигнализации',
     home: 'Домой',
     add: 'Добавить',
-    edit: 'Редактировать',
+    edit: 'редактор',
     more: 'Больше',
     delete: 'Удалить',
     login: 'Войти',
+    usernameMsg: 'Имя пользователя',
+    passwordMsg: 'арготизм',
     loginError: 'Ваш статус входа в систему истек, пожалуйста, войдите снова!',
     permissionError: 'Ошибка разрешения',
     logout: 'Выйти',
@@ -134,7 +136,8 @@ module.exports = {
     paste: 'вставить',
     colour: 'Цвет',
     searchDateRange: 'Период поиска',
-    to: 'к',
+    to: ' к ',
+    of: ' в ',
     index: 'Серийный номер',
     null: 'Нет',
     all: 'Все',
@@ -160,8 +163,8 @@ module.exports = {
     uploaderDownload: 'Загрузить вложение',
     uploaderImg: 'Загружать вложения можно только в формате txt,doc,docx,xls,xlsx,jpg,png,jpeg!',
     uploaderImg2: 'Загружать изображения аватара можно только в формате JPG, PNG, GIF!',
-    uploaderSize: 'Загрузка вложений не может превышать 5 МБ!',
-    uploaderSize2: 'Размер загруженного изображения аватара не может превышать 2 МБ!',
+    uploaderSize: 'Размер загружаемого вложения не может превышать 5 МБ!',
+    uploaderSize2: 'Размер загружаемого аватара не может превышать 2 МБ!',
     uploaderImgMsg: 'Ширина изображения должна быть от 100 до 500, а соотношение сторон 1:1! ',
     uploaderImgMsg2: 'Пожалуйста, загрузите изображение с соотношением сторон 1:1',
     uploaderImgMsg3: 'Высота изображения должна быть между 100 и 500! ',
@@ -170,7 +173,7 @@ module.exports = {
     uploadFileMsg: 'Перетащите файл сюда или',
     uploadFileMsg2: 'Нажмите, чтобы загрузить',
     uploadFileMsg3: 'Можно загружать только файлы mp3 или flac',
-    uploadFileMsg4: 'Загрузка вложений не может превышать 50 МБ!',
+    uploadFileMsg4: 'Размер загружаемого вложения не может превышать 50 МБ!',
     uploadFileMsg5: 'Загружать только APK-файлы',
     uploadFileName: 'Имя файла',
     uploadFileNameMsg: 'Имя файла не может быть пустым',
@@ -186,8 +189,8 @@ module.exports = {
     inputUploadVersionCode: 'Пожалуйста, введите информацию о версии',
     uploadVersionCodeMsg: 'Информация о версии не может быть пустой',
     initialing: 'Инициализация, пожалуйста, подождите...',
-    deviceFrame: 'Пространство устройства',
-    synchroDevice: 'Синхронное устройство',
+    deviceFrame: 'оборудование',
+    synchroDevice: 'синхронный',
     excelFile: 'Файл Excel будет экспортирован. Продолжить?',
     statisticSubTable: 'статистическая подтаблица',
     byPerson: 'От человека',
@@ -197,7 +200,12 @@ module.exports = {
     excelUpload: 'Отправка листа Excel',
     play: 'Играть',
     pause: 'Тайм-аут',
-    noFile: 'Файл не существует и не может быть воспроизведен'
+    noFile: 'Файл не существует и не может быть воспроизведен',
+    inputMsg: 'Введите содержимое!',
+    year: 'год',
+    month: 'месяц',
+    day: 'день',
+    timeMsg: 'Выберите диапазон времени!'
   },
   member: {
     face: 'Аватар',
@@ -381,7 +389,7 @@ module.exports = {
     deviceLocationLevel: 'Пожалуйста, выберите уровень местоположения устройства',
     assignment: 'Назначение в один клик',
     assignmentMsg: 'Нет свободных выделенных устройств!',
-    assignmentMsg2: 'Номера и кровати оборудованы и могут быть автоматически назначены только оборудованием уровня отдела!',
+    assignmentMsg2: 'В палатах и ​​кроватях есть устройства, и только устройства на уровне отделения могут быть назначены автоматически!',
     assignmentMsg3: 'Начать автоматическое назначение!',
     assignmentMsg4: 'Автоматическое назначение завершено, необходимо вручную назначить полный уровень устройства, после завершения назначения нажмите [Сохранить]!',
     reset: 'Сброс в один клик',
@@ -473,12 +481,12 @@ module.exports = {
     commentTime: 'Время:',
     commentName: 'Отметить человека:',
     addRemark: 'Добавить примечание',
-    outBed: 'Выписать из кровати',
+    outBed: 'покидать',
     outBed2: 'Отменить регистрацию',
     outBed3: 'Отменить регистрацию',
     sureOutBed: 'Вы уверены насчет удаления из кровати? ',
     outBedSuccess: 'Удалено из кровати успешно! ',
-    changeBed: 'Поменять кровать',
+    changeBed: 'замена',
     changeBed2: 'Изменить местоположение',
     changeBed3: 'изменить',
     changeBedSuccess: '',
@@ -490,10 +498,7 @@ module.exports = {
     customerStatus: 'Текущий статус',
     customerStatusTrue: 'Регистрация',
     customerStatusFalse: 'Оставлено',
-    footprint: 'Отпечаток',
-    babyName: 'имя ребенка',
-    babySex: 'детский секс',
-    babyBirthday: 'день рождения ребенка'
+    footprint: 'Отпечаток'
   },
   vital: {
     customerVital: 'Журнал пользователя',
@@ -558,7 +563,7 @@ module.exports = {
     taskPlanTime2: 'Время выполнения плана:',
     taskToTime: 'Фактическое время выполнения задачи',
     taskToName: 'Оператор задачи',
-    doTask: 'Операционная задача',
+    doTask: 'управлять',
     creatName: 'Создатель',
     choiceTaskPlanTime: 'Пожалуйста, выберите запланированное время выполнения задачи',
     inputTaskContent: 'Пожалуйста, введите содержание задачи',
@@ -573,8 +578,6 @@ module.exports = {
     actionTime: 'Количество взаимодействий',
     actionTime2: 'Количество звонков',
     success: 'Успех',
-    excelFileMsg: 'Файл Excel будет экспортирован, продолжить?',
-    statisticTable: 'статистическая таблица событий',
     successInteraction: 'Ответ на взаимодействие',
     successInteraction2: 'Вызов был подключен',
     unSuccessInteraction: 'Незавершенное взаимодействие',
@@ -609,7 +612,9 @@ module.exports = {
     MaxNum2: 'Максимум по времени',
     SumNum: 'Общее время разговора',
     total: 'Всего',
-    recordPlay: 'Воспроизведение аудио- и видеозаписей'
+    recordPlay: 'Воспроизведение аудио- и видеозаписей',
+    eventStatistics: 'Таблица событий',
+    statisticalTable: 'Статистические таблицы'
   },
   frameGroup: {
     frameGroupAdd: 'Новая область',
@@ -899,24 +904,6 @@ module.exports = {
     roleEdit: 'Редактировать событие роли',
     onChoiceRole: 'Роль не выбрана!'
   },
-  his: {
-    hisPart: 'Запрос отдела',
-    hisPartKeyval: 'Отделите его первичный ключ',
-    hisPartName: 'Название отдела',
-    summary: 'Введение в отдел',
-    tel: 'Телефон отдела',
-    hisError: 'его ошибка',
-    hisPatient: 'Пациент',
-    hisPatientKeyval: 'Занять его первичный ключ',
-    hisPatientInfo: 'Запросить информацию',
-    hisClerk: 'Персонал',
-    hisClerkKeyval: 'Установить его первичный ключ',
-    hisDockerKeyval: 'Ответственный врач — его первичный ключ',
-    hisNurseKeyval: 'Ответственная медсестра его первичный ключ',
-    passNo: 'Карта контроля доступа',
-    hisNurseConfig: 'Элемент медсестры',
-    hisNurseOptionsKeyval: 'Классификация предметов медсестры его первичным ключом'
-  },
   tab: {
     home: 'Дом',
     frameManage: 'Позиция в пространстве',
@@ -930,18 +917,17 @@ module.exports = {
     sosDeviceSettingManage: 'Тревожное устройство',
     channelManage: 'Внутренний канал',
     channelImHistory: 'История сообщений канала',
-    commentManage: 'Управление заметками',
+    remarkManage: 'Управление заметками',
     taskManage: 'Управление задачами',
-    InteractionHistory: 'История взаимодействия',
+    interactionHistory: 'История взаимодействия',
     frameGroupManage: 'Управление регионами',
     frameGroupEdit: 'Редактировать информацию об области',
     watchFrameManage: 'Пространство мобильного устройства',
     broadcastManage: 'Настройки трансляции',
     broadcastEdit: 'Редактировать информацию о трансляции',
-    NurseConfig: 'Параметры ухода',
+    nurseConfig: 'Параметры ухода',
     boardManage: 'Настройки информационной доски',
     eventManage: 'Управление событиями кнопки',
-    hisManage: 'his查询',
     interactionChars: 'Статистика взаимодействия',
     partSetting: 'Настройки организации',
     allClerk: 'Все сотрудники',
@@ -1008,7 +994,7 @@ module.exports = {
     EPIDEMIC_PATTERN: 'Режим профилактики эпидемий',
     CARING_PATTERN: 'Режим ухода за пожилыми людьми'
   },
-  TCPType: {
+  tcpType: {
     CALLBACK: 'TCP-обратная связь',
     VOICE: 'Голос',
     VIDEO: 'Видео',
@@ -1018,7 +1004,7 @@ module.exports = {
     DEVICE: 'Данные',
     DATA: 'Событие',
     EVENT: 'Внешняя информация',
-    SIDE: 'Трансляция',
+    SIDE: 'уход',
     BROADCAST: 'Время',
     TIME: 'Время',
     ENTRACEGUARD: 'Контроль доступа',

+ 14 - 4
languages/zh-CN.js

@@ -1,12 +1,14 @@
 module.exports = {
   action: {
-    wdklCallingSystem: '维鼎康联呼叫系统配置中心',
+    wdklCallingSystem: '呼叫系统配置中心',
     home: '首页',
     add: '新增',
     edit: '编辑',
     more: '更多',
     delete: '删除',
     login: '登录',
+    usernameMsg: 'Username',
+    passwordMsg: 'Password',
     loginError: '您的登录状态已失效,请重新登录!',
     permissionError: '权限错误',
     logout: '退出登录',
@@ -135,6 +137,7 @@ module.exports = {
     colour: '颜色',
     searchDateRange: '搜索时间段',
     to: '至',
+    of: '的',
     index: '序号',
     null: '无',
     all: '全部',
@@ -197,7 +200,12 @@ module.exports = {
     excelUpload: '上传excel表',
     play: '播放',
     pause: '暂停',
-    noFile: '文件不存在,无法播放'
+    noFile: '文件不存在,无法播放',
+    inputMsg: '请输入内容!',
+    year: '年',
+    month: '月',
+    day: '日',
+    timeMsg: '请选择时间范围!'
   },
   member: {
     face: '头像',
@@ -609,7 +617,9 @@ module.exports = {
     MaxNum2: '最大接通时间',
     SumNum: '总通话时间',
     total: '总量',
-    recordPlay: '播放录音录像'
+    recordPlay: '播放录音录像',
+    eventStatistics: '事件统计表',
+    statisticalTable: '统计表'
   },
   frameGroup: {
     frameGroupAdd: '新建区域',
@@ -1019,7 +1029,7 @@ module.exports = {
     DEVICE: '设备',
     DATA: '数据',
     EVENT: '事件',
-    SIDE: '边外信息',
+    SIDE: '护理',
     BROADCAST: '广播',
     TIME: '时间',
     ENTRACEGUARD: '门禁',

BIN
src/assets/avatar.png


BIN
src/assets/logo.png


+ 1 - 1
src/layout/components/Navbar.vue

@@ -69,7 +69,7 @@ import ErrorLog from '@/components/ErrorLog'
 import Screenfull from '@/components/Screenfull'
 import SizeSelect from '@/components/SizeSelect'
 import Search from '@/components/HeaderSearch'
-import avator from '@/assets/avatar.jpeg'
+import avator from '@/assets/avatar.png'
 import * as API_Part from '@/api/calling-part'
 import Storage from '@/utils/storage'
 export default {

+ 15 - 1
src/settings.js

@@ -1,5 +1,19 @@
+const Cookies = require('js-cookie')
+
+function getTitle() {
+  let lang = Cookies.get('DefaultLanguage')
+
+  if (lang === 'zh') {
+    return '呼叫系统配置中心'
+  } else if (lang === 'en') {
+    return 'System Configuration'
+  } else {
+    return 'Configuración del sistema'
+  }
+}
+
 module.exports = {
-  title: '维鼎康联呼叫中心',
+  title: getTitle(),
 
   /**
    * @type {boolean} true | false

+ 1 - 0
src/utils/i18n.js

@@ -1,6 +1,7 @@
 import Vue from 'vue'
 import enLang from 'element-ui/lib/locale/lang/en'// 如果使用中文语言包请默认支持,无需额外引入,请删除该依赖
 import esLang from 'element-ui/lib/locale/lang/es'
+import ruLang from 'element-ui/lib/locale/lang/ru-RU'
 import zhLang from 'element-ui/lib/locale/lang/zh-CN'
 import ruLang from 'element-ui/lib/locale/lang/ru-RU'
 import VueI18n from 'vue-i18n'

+ 0 - 1
src/views/customer/components/patientManager.vue

@@ -531,7 +531,6 @@
     import * as API_NurseConfig from '@/api/ncs_nurse_config'
     import vitalSignLog from '@/views/vital-sign/log'
     import vueQr from "vue-qr";
-    import avator from "@/assets/avatar.jpeg";
     import {FRAME_TYPE} from "@/utils/enum/FrameTypeEnum";
     import * as API_SystemConfig from "@/api/ncs_systemconfig";
     import * as shop_API from "@/api/ncs_shop";

+ 4 - 4
src/views/login/index.vue

@@ -9,14 +9,14 @@
             <h3 class="title">{{ this.$t('action.wdklCallingSystem') }}</h3>
           </div>
 
-          <el-form-item prop="username">
+          <el-form-item :prop="this.$t('action.usernameMsg')">
             <span class="svg-container">
               <svg-icon icon-class="user" />
             </span>
             <el-input
               ref="username"
               v-model="loginForm.username"
-              placeholder="Username"
+              :placeholder="this.$t('action.usernameMsg')"
               name="username"
               type="text"
               tabindex="1"
@@ -25,7 +25,7 @@
           </el-form-item>
 
           <el-tooltip v-model="capsTooltip" content="Caps lock is On" placement="right" manual>
-            <el-form-item prop="password">
+            <el-form-item :prop="this.$t('action.passwordMsg')">
               <span class="svg-container">
                 <svg-icon icon-class="password" />
               </span>
@@ -34,7 +34,7 @@
                 ref="password"
                 v-model="loginForm.password"
                 :type="passwordType"
-                placeholder="Password"
+                :placeholder="this.$t('action.passwordMsg')"
                 name="password"
                 tabindex="2"
                 autocomplete="on"

+ 5 - 3
src/views/ncs-chars/index.vue

@@ -462,12 +462,12 @@ export default {
         this.sssparams.year = object.date_val.getFullYear()
         this.sssparams.month = this.checkTime(object.date_val.getMonth() + 1)
         this.sssparams.day = this.checkTime(object.date_val.getDate())
-        this.infoDay = this.sssparams.year + '年' + this.sssparams.month + '月' + this.sssparams.day + '日'
+        this.infoDay = this.sssparams.year + this.$t('interaction.year') + this.sssparams.month + this.$t('interaction.month') + this.sssparams.day + this.$t('interaction.day')
       } else {
         this.sssparams.year = object.year
         this.sssparams.month = object.month
         this.sssparams.cycle_type = object.type
-        this.infoDay = this.sssparams.year + '年' + this.sssparams.month
+        this.infoDay = this.sssparams.year + this.$t('interaction.year') + this.sssparams.month
       }
       this.getLogCharsJS()
       if (this.activeName !== 'ALL') {
@@ -498,6 +498,8 @@ export default {
           return this.$t('tcpType.SOS')
         case 'PHONE':
           return this.$t('tcpType.PHONE')
+        case 'SIDE':
+          return this.$t('tcpType.SIDE')
         default:
           return this.$t('tcpType.UNKNOWN')
       }
@@ -577,7 +579,7 @@ export default {
             tHeader.push(this.$t('interaction.SumNum'))
             filterVal.push('sum_num')
           }
-          const tit = _this.infoDay + _this.formatterType(_this.activeName) + '统计表'
+          const tit = _this.infoDay + _this.formatterType(_this.activeName) + $t('interaction.statisticalTable')
           const data = _this.formatJson(filterVal, _this.userActionList)
           excel.export_json_to_excel({
             header: tHeader,

+ 3 - 3
src/views/ncs-chars/info.vue

@@ -2,7 +2,7 @@
   <div>
     <div style="padding: 10px;margin: 10px;">
       <div style="padding: 10px;">
-        <el-button type="primary" @click="exportExcel">导出</el-button>
+        <el-button type="primary" @click="exportExcel">{{ this.$t('action.export') }}</el-button>
       </div>
       <div class="table-wrapper">
         <el-table :data="userActionList" stripe border :default-sort = "{prop: 'num', order: 'descending'}" style="width: 100%">
@@ -107,7 +107,7 @@ export default {
     },
     exportExcel() {
       const _this = this
-      this.$confirm(this.$t('interaction.excelFileMsg'), this.$t('action.tips'), {
+      this.$confirm(this.$t('action.excelFile'), this.$t('action.prompt'), {
         type: 'warning'
       }).then(() => {
         _this.loading = false
@@ -115,7 +115,7 @@ export default {
           const tHeader = [this.sssparams.eventType ? this.$t('member.name') : this.$t('tcpType.EVENT'), this.$t('interaction.actionTime'),
             this.$t('interaction.unSuccessTime'), this.$t('interaction.avgResponseNum'), this.$t('interaction.MinNum'), this.$t('interaction.MaxNum')] // 表头
           const filterVal = ['name', 'num', 'error_num', 'avg_num', 'min_num', 'max_num']
-          const tit = this.infoName + this.$t('interaction.statisticalTable')
+          const tit = this.infoName + this.$t('action.eventStatistics')
           const data = _this.formatJson(filterVal, this.userActionList)
           excel.export_json_to_excel({
             header: tHeader,

+ 14 - 13
src/views/ncs-interaction/index.vue

@@ -398,7 +398,7 @@ export default {
         }
         return named
       } else {
-        return row.data.from_member_name + '的' + row.data.relative_name
+        return row.data.from_member_name + this.$t('action.of') + row.data.relative_name
       }
     },
     formatterToName(row) {
@@ -445,6 +445,7 @@ export default {
       }
     },
     formatterResponseTime(params) {
+      console.log(params.data)
       let responseTime = 0;
       if (params.data.action_end !== null) {
         if (params.data.action_type === TCP_TYPE.VOICE ||
@@ -452,10 +453,14 @@ export default {
             params.data.action_type === TCP_TYPE.PHONE
         ) {
           if (params.data.action_start !== null && params.data.action_accept !== null) {
+            console.log("params.data.action_accept : " +  params.data.action_accept)
+            console.log("params.data.action_start : " + params.data.action_start)
             responseTime = params.data.action_accept - params.data.action_start
             return this.formateSeconds(responseTime)
           }
         } else {
+          console.log("params.data.action_end : " +  params.data.action_end)
+          console.log("params.data.action_start : " + params.data.action_start)
           responseTime = params.data.action_end - params.data.action_start
           return this.formateSeconds(responseTime)
         }
@@ -531,13 +536,13 @@ export default {
     },
     daochu() {
       const _this = this
-      this.$confirm('将导出交互信息Excel文件,是否继续?', '提示', {
+      this.$confirm(this.$t('action.excelFile'), this.$t('action.prompt'), {
         type: 'warning'
       }).then(() => {
         _this.loading = true
         const params = _this.MixinClone(_this.params)
         if (!params.start_date || !params.end_date) {
-          _this.$message.info('请选择时间范围!')
+          _this.$message.info(this.$t('action.timeMsg'))
           return
         }
         params.page_size = this.pageData.data_total
@@ -545,11 +550,10 @@ export default {
         API_interaction.getList(params).then(res => {
           _this.loading = false
           import('@/vendor/Export2Excel').then(excel => {
-            const tHeader = [this.$t('interaction.fromMemberName'), this.$t('interaction.toMemberName'), this.$t('interaction.actionType'),
-              this.$t('interaction.actionEnd'), this.$t('interaction.data'), this.$t('interaction.responseTime'),
+            const tHeader = [this.$t('interaction.fromMemberName'), this.$t('interaction.toMemberName'), this.$t('interaction.actionType'), this.$t('interaction.actionEnd'), this.$t('interaction.data'),
               this.$t('interaction.createDate')] // 表头
-            const filterVal = ['fromMemberName', 'toMemberName', 'action_type', 'action_end', 'data', 'responseTime', 'create_date']
-            const tit = params.start_date + '至' + params.end_date + '交互记录'
+            const filterVal = ['fromMemberName', 'toMemberName', 'action_type', 'action_end', 'data', 'create_date']
+            const tit = params.start_date + this.$t('action.to') + params.end_date + this.$t('interaction.interactionRecord')
             const data = _this.formatJson(filterVal, res.data)
             excel.export_json_to_excel({
               header: tHeader,
@@ -567,15 +571,12 @@ export default {
           return this.formatterFromName({data: v})
         } else if (j === 'toMemberName') {
           return this.formatterToName({data: v})
-        } else if (j === 'action_type') {
+        }else if (j === 'action_type') {
           return this.formatterType({value: v[j]})
-        } else if (j === 'action_end') {
+        }else if (j === 'action_end') {
           return this.formatterResult2(v[j])
-        } else if (j === 'create_date') {
+        }else if (j === 'create_date') {
           return this.formatterDate({value: v[j]})
-        } else if (j === 'responseTime') {
-          console.log(v)
-          return this.formatterResponseTime({data: v})
         } else {
           return v[j]
         }

+ 15 - 15
src/views/ncs-orginazition/components/partInfoEdit.vue

@@ -528,21 +528,21 @@
               </el-form-item>
             </el-col>
 
-            <el-col :span="8">
-              <el-form-item :label="this.$t('action.excelUpload')">
-                <el-upload
-                    class="excel-uploader"
-                    :action="`${excelUploadUrl}`"
-                    :show-file-list="false"
-                    :on-success="excelUploaded"
-                    :before-upload="handleExcelBefore"
-                    :limit="1"
-                >
-                  <el-button size="small" type="primary">{{ this.$t('action.uploadFile') }}</el-button>
-                </el-upload>
-                <el-link :href="excelUploadDemo" type="primary" target="_blank" icon="el-icon-download" :underline="false">excel表格模板</el-link>
-              </el-form-item>
-            </el-col>
+<!--            <el-col :span="8">-->
+<!--              <el-form-item :label="this.$t('action.excelUpload')">-->
+<!--                <el-upload-->
+<!--                    class="excel-uploader"-->
+<!--                    :action="`${excelUploadUrl}`"-->
+<!--                    :show-file-list="false"-->
+<!--                    :on-success="excelUploaded"-->
+<!--                    :before-upload="handleExcelBefore"-->
+<!--                    :limit="1"-->
+<!--                >-->
+<!--                  <el-button size="small" type="primary">{{ this.$t('action.uploadFile') }}</el-button>-->
+<!--                </el-upload>-->
+<!--                <el-link :href="excelUploadDemo" type="primary" target="_blank" icon="el-icon-download" :underline="false">excel表格模板</el-link>-->
+<!--              </el-form-item>-->
+<!--            </el-col>-->
           </el-row>
         </fieldset>
 

+ 1 - 1
src/views/ncs-orginazition/index.vue

@@ -239,7 +239,7 @@ export default {
         filter: false,
         pinned: 'right',
         lockPinned: true,
-        minWidth: this.$i18n.locale === 'zh' ? 230 : 310,
+        minWidth: this.$i18n.locale === 'zh' ? 230 : 330,
         resizable: false,
         sortable: false },
 

+ 4 - 4
src/views/ncs-remark/index.vue

@@ -107,7 +107,7 @@
                 userInfo: this.$store.getters.userInfo,
                 content: null,
                 rules: {
-                    content: [{required: true, message: '请输入备注内容', trigger: 'blur'}],
+                    content: [{required: true, message: this.$t('customerManage.inputRemarks'), trigger: 'blur'}],
                 },
               remarkContent: this.$t('remark.remarkContent'),
               remarkCreateTime: this.$t('remark.remarkCreateTime'),
@@ -212,11 +212,11 @@
                     const isImg = hz === 'jpeg' || hz === 'png' || hz === 'jpg' || hz === 'txt'  || hz === 'doc' || hz === 'docx' || hz === 'xls' || hz === 'xlsx'
                     const isLt5M = file.size / 1024 / 1024 < 5
                     if (!isImg) {
-                        _this.$message.error('上传附件只能是txt,doc,docx,xls,xlsx,jpg,png,jpeg格式!')
+                        _this.$message.error(this.$t('action.uploaderImg'))
                         reject()
                     }
                     if (!isLt5M) {
-                        _this.$message.error('上传附件大小不能超过 5MB!')
+                        _this.$message.error(this.$t('action.uploaderSize'))
                         reject()
                     }
                     resolve()
@@ -224,7 +224,7 @@
             },
             addRemark() {
                 if (!this.content) {
-                    this.$message.info('请输入内容!')
+                    this.$message.info(this.$t('action.inputMsg'))
                     return
                 }
                 if (!this.filePath) {