opt: 日志管理,用户,角色,系统管理实现国际化
This commit is contained in:
@@ -12,7 +12,7 @@
|
||||
icon="el-icon-plus"
|
||||
@click="crud.toAdd"
|
||||
>
|
||||
新增
|
||||
{{ $t('auto.common.Create') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="crud.optShow.edit"
|
||||
@@ -24,7 +24,7 @@
|
||||
:disabled="crud.selections.length !== 1"
|
||||
@click="crud.toEdit(crud.selections[0])"
|
||||
>
|
||||
修改
|
||||
{{ $t('auto.common.Update') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="crud.optShow.del"
|
||||
@@ -38,7 +38,7 @@
|
||||
:disabled="crud.selections.length === 0"
|
||||
@click="toDelete(crud.selections)"
|
||||
>
|
||||
删除
|
||||
{{ $t('auto.common.Delete') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="crud.optShow.download"
|
||||
@@ -49,7 +49,7 @@
|
||||
type="warning"
|
||||
icon="el-icon-download"
|
||||
@click="crud.doExport"
|
||||
>导出</el-button>
|
||||
>{{ $t('auto.common.Export') }}</el-button>
|
||||
<!--右侧-->
|
||||
<slot name="right" />
|
||||
</span>
|
||||
@@ -86,7 +86,7 @@
|
||||
:indeterminate="allColumnsSelectedIndeterminate"
|
||||
@change="handleCheckAllChange"
|
||||
>
|
||||
全选
|
||||
{{ $t('auto.common.SelectAll') }}
|
||||
</el-checkbox>
|
||||
<el-checkbox
|
||||
v-for="item in tableColumns"
|
||||
@@ -190,9 +190,9 @@ export default {
|
||||
this.tableColumns = columns
|
||||
},
|
||||
toDelete(datas) {
|
||||
this.$confirm(`确认删除选中的${datas.length}条数据?`, '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
this.$confirm(this.$t('auto.common.Tip1') + ` ${datas.length} ` + this.$t('auto.common.Tip2'), this.$t('auto.common.Tips'), {
|
||||
confirmButtonText: this.$t('auto.common.Confirm'),
|
||||
cancelButtonText: this.$t('auto.common.Cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.crud.delAllLoading = true
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
<el-button v-if="crud.optShow.reset" class="filter-item" size="mini" type="warning" icon="el-icon-refresh-left" @click="crud.resetQuery()">重置</el-button>
|
||||
-->
|
||||
<el-dropdown split-button type="primary" class="filter-item" @click="crud.toQuery">
|
||||
<i class="el-icon-search el-icon--left" />查询
|
||||
<i class="el-icon-search el-icon--left" />{{ $t('auto.common.Query') }}
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item icon="el-icon-zoom-out" @click.native="crud.resetQuery()">重置</el-dropdown-item>
|
||||
<el-dropdown-item icon="el-icon-zoom-out" @click.native="crud.resetQuery()">{{ $t('auto.common.Reset') }}</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-button v-if="isVisiableEdit" v-permission="permission.edit" type="text" :loading="crud.status.cu === 2" :disabled="disabledEdit" size="mini" icon="el-icon-edit" @click="crud.toEdit(data)">修改</el-button>
|
||||
<el-button v-if="isVisiableEdit" v-permission="permission.edit" type="text" :loading="crud.status.cu === 2" :disabled="disabledEdit" size="mini" icon="el-icon-edit" @click="crud.toEdit(data)">{{ $t('auto.common.Update') }}</el-button>
|
||||
<el-popover v-model="pop" v-permission="permission.del" placement="top" width="180" trigger="manual" @show="onPopoverShow" @hide="onPopoverHide">
|
||||
<p>{{ msg }}</p>
|
||||
<div style="text-align: right; margin: 0">
|
||||
<el-button size="mini" type="text" @click="doCancel">取消</el-button>
|
||||
<el-button :loading="crud.dataStatus[crud.getDataId(data)].delete === 2" type="primary" size="mini" @click="crud.doDelete(data)">确定</el-button>
|
||||
</div>
|
||||
<el-button v-if="isVisiableDel" slot="reference" type="text" :disabled="disabledDle" icon="el-icon-delete" size="mini" @click="toDelete">删除</el-button>
|
||||
<el-button v-if="isVisiableDel" slot="reference" type="text" :disabled="disabledDle" icon="el-icon-delete" size="mini" @click="toDelete">{{ $t('auto.common.Delete') }}</el-button>
|
||||
</el-popover>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { download, initData } from '@/api/data'
|
||||
import { downloadFile, parseTime } from '@/utils/index'
|
||||
import Vue from 'vue'
|
||||
import i18n from '@/i18n'
|
||||
|
||||
/**
|
||||
* CRUD配置
|
||||
@@ -84,7 +85,7 @@ function CRUD(options) {
|
||||
},
|
||||
// 标题
|
||||
get title() {
|
||||
return this.add > CRUD.STATUS.NORMAL ? `新增${crud.title}` : this.edit > CRUD.STATUS.NORMAL ? `编辑${crud.title}` : this.view > CRUD.STATUS.NORMAL ? `${crud.title}详情` : crud.title
|
||||
return this.add > CRUD.STATUS.NORMAL ? i18n.t('auto.common.Create') + ' ' + i18n.t(`${crud.title}`) : this.edit > CRUD.STATUS.NORMAL ? i18n.t('auto.common.Editors') + ' ' + i18n.t(`${crud.title}`) : crud.title
|
||||
}
|
||||
},
|
||||
msg: {
|
||||
@@ -363,6 +364,7 @@ function CRUD(options) {
|
||||
callVmHook(crud, CRUD.HOOK.afterSubmit)
|
||||
crud.refresh()
|
||||
}).catch(err => {
|
||||
console.log(err)
|
||||
crud.status.edit = CRUD.STATUS.NORMAL
|
||||
callVmHook(crud, CRUD.HOOK.afterEditError)
|
||||
})
|
||||
|
||||
@@ -1,26 +1,26 @@
|
||||
export default {
|
||||
'department': {
|
||||
'table_title': {
|
||||
'Department_name': 'Tên bộ phận',
|
||||
'enter_department_name': 'Vui lòng nhập tên bộ phận',
|
||||
'Department': 'Trang chủ',
|
||||
'select_dept': 'Chọn loại bộ phận'
|
||||
'Department_name': 'Nombre del Departamento',
|
||||
'enter_department_name': 'Por favor, introduzca el nombre del departamento.',
|
||||
'Department': 'Departamento',
|
||||
'select_dept': 'Selección de categorías sectoriales'
|
||||
},
|
||||
'table_value': {
|
||||
'Sort': 'Sắp xếp',
|
||||
'Name': 'Tên',
|
||||
'State': 'Trạng thái',
|
||||
'CreateDate': 'Ngày tạo',
|
||||
'Operate': 'Hoạt động',
|
||||
'top_departments': 'Bộ phận cao hơn'
|
||||
'Sort': 'Ordenar',
|
||||
'Name': 'Nombre',
|
||||
'State': 'Estado',
|
||||
'CreateDate': 'Fecha de creación',
|
||||
'Operate': 'Operación',
|
||||
'top_departments': 'Autoridades superiores'
|
||||
},
|
||||
'other': {
|
||||
'Department_code': 'Bộ mã hóa',
|
||||
'Department_sort': 'Phân loại ngành',
|
||||
'External_identification': 'Nhận dạng bên ngoài',
|
||||
'Top_departments': 'Bộ phận hàng đầu',
|
||||
'enable': 'Bật',
|
||||
'disable': 'Tắt',
|
||||
'Department_code': 'Código del Departamento',
|
||||
'Department_sort': 'Clasificación sectorial',
|
||||
'External_identification': 'Identificación externa',
|
||||
'Top_departments': 'Departamento superior',
|
||||
'enable': 'Habilitar',
|
||||
'disable': 'Desactivado',
|
||||
'Tip1': 'Hành động này sẽ"',
|
||||
'Tip2': '"',
|
||||
'Tip3': 'Bộ phận, có tiếp tục không?',
|
||||
@@ -32,9 +32,9 @@ export default {
|
||||
'confirm_delete_msg': 'Có xác định xóa bỏ không, nếu có các nút cấp dưới thì xóa cùng một, hành động này không thể hủy bỏ!'
|
||||
},
|
||||
'rules': {
|
||||
'name': 'Vui lòng nhập tên',
|
||||
'dept_sort': 'Vui lòng nhập số serial',
|
||||
'top_dept': 'Cấp trên không được để trống'
|
||||
'name': 'Por favor, introduzca el nombre',
|
||||
'dept_sort': 'Por favor, introduzca el número de serie',
|
||||
'top_dept': 'Las autoridades superiores no pueden estar vacías'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,16 +35,16 @@ export default {
|
||||
'login_rm': 'Ghi nhớ tôi',
|
||||
'login': 'Đăng nhập',
|
||||
'login_ing': 'Đăng nhập...',
|
||||
'Create': 'Mới',
|
||||
'Update': 'Sửa đổi',
|
||||
'Delete': 'Xoá',
|
||||
'Create': 'Nuevo',
|
||||
'Update': 'Modificación',
|
||||
'Delete': 'Eliminar',
|
||||
'Export': 'Xuất',
|
||||
'Editors': 'Chỉnh sửa',
|
||||
'SelectAll': 'Chọn tất cả',
|
||||
'Query': 'Yêu cầu',
|
||||
'Reset': 'Đặt lại',
|
||||
'Confirm': 'Xác nhận',
|
||||
'Cancel': 'Hủy bỏ',
|
||||
'Query': 'Consulta',
|
||||
'Reset': 'Restablecer',
|
||||
'Confirm': 'Confirmación',
|
||||
'Cancel': 'Cancelación',
|
||||
'Forced_cancellation': 'Buộc hủy',
|
||||
'Initialize': 'Khởi tạo',
|
||||
'Operate': 'Hoạt động',
|
||||
@@ -67,9 +67,9 @@ export default {
|
||||
'moreMenu': 'Thêm thực đơn',
|
||||
'browses': 'Duyệt',
|
||||
'fz': 'Zoom toàn màn hình',
|
||||
'Tips': 'Mẹo',
|
||||
'Tip1': 'Xác nhận xóa đã chọn',
|
||||
'Tip2': 'Dữ liệu?',
|
||||
'Tips': 'Consejos',
|
||||
'Tip1': 'Confirmar la eliminación de los seleccionados',
|
||||
'Tip2': '¿Datos?',
|
||||
'Tip3': 'Tên người dùng không được sử dụng như đăng nhập',
|
||||
'Tip4': 'Số điện thoại không được lặp lại',
|
||||
'Tip5': 'Vui lòng nhập số điện thoại',
|
||||
|
||||
49
wms_pro/qd/src/i18n/langs/eslog/en.js
Normal file
49
wms_pro/qd/src/i18n/langs/eslog/en.js
Normal file
@@ -0,0 +1,49 @@
|
||||
export default {
|
||||
'es_log': {
|
||||
'title': 'Exception log',
|
||||
'table': {
|
||||
'label': 'label',
|
||||
'Belonging_tags': 'Belonging tags',
|
||||
'level': 'Level',
|
||||
'log_level': 'Log Level',
|
||||
'api': 'Interface',
|
||||
'input_api': 'Please enter the interface',
|
||||
'keywords': 'Keywords',
|
||||
'content': 'Please enter the content',
|
||||
'tracking': 'Link Tracking',
|
||||
'table1': 'Please enter the link ID',
|
||||
'table2': 'SQL Log',
|
||||
'table3': 'HTTP Log',
|
||||
'table4': 'Time frame',
|
||||
'table5': 'Start Time',
|
||||
'table6': 'End Time',
|
||||
'table7': 'time slot',
|
||||
'table8': 'Please select a label',
|
||||
'table9': 'Switch query criteria',
|
||||
'table10': 'Display quantity',
|
||||
'table11': 'current page',
|
||||
'table12': 'Total number of articles',
|
||||
'table13': 'query',
|
||||
'table25': 'Clear logs',
|
||||
'table14': 'Last 5 minutes',
|
||||
'table15': 'Last 15 minutes',
|
||||
'table16': 'Last 30 minutes',
|
||||
'table17': 'Last hour',
|
||||
'table18': 'Last 3 hours',
|
||||
'table19': 'Last 6 hours',
|
||||
'table20': 'Last 12 hours',
|
||||
'table21': 'Last 24 hours',
|
||||
'table22': 'Last 2 days',
|
||||
'table23': 'Last 7 days',
|
||||
'table24': 'Last 14 days'
|
||||
},
|
||||
'placeholder': {
|
||||
'cleared': 'clear',
|
||||
'select': 'Please enter the content you want to search for'
|
||||
},
|
||||
'msg': {
|
||||
'message': 'Are you sure to clear all exception logs?',
|
||||
'title': 'Tips'
|
||||
}
|
||||
}
|
||||
}
|
||||
49
wms_pro/qd/src/i18n/langs/eslog/es.js
Normal file
49
wms_pro/qd/src/i18n/langs/eslog/es.js
Normal file
@@ -0,0 +1,49 @@
|
||||
export default {
|
||||
'es_log': {
|
||||
'title': 'Nhật ký ngoại lệ',
|
||||
'table': {
|
||||
'label': 'Etiquetas',
|
||||
'Belonging_tags': 'Etiqueta a la que pertenece',
|
||||
'level': 'Nivel',
|
||||
'log_level': 'Nivel de registro',
|
||||
'api': 'Interfaz',
|
||||
'input_api': 'Por favor, introduzca la interfaz',
|
||||
'keywords': 'Palabras clave',
|
||||
'content': 'Por favor, introduzca el contenido',
|
||||
'tracking': 'Rastreo de enlaces',
|
||||
'table1': 'Por favor, introduzca el id del enlace',
|
||||
'table2': 'Registro de SQL',
|
||||
'table3': 'Registro https',
|
||||
'table4': 'Rango de tiempo',
|
||||
'table5': 'Hora de inicio',
|
||||
'table6': 'Fin del tiempo',
|
||||
'table7': 'Período de tiempo',
|
||||
'table8': 'Por favor, seleccione la etiqueta',
|
||||
'table9': 'Cambiar las condiciones de consulta',
|
||||
'table10': 'Número de barras de visualización',
|
||||
'table11': 'Página actual',
|
||||
'table12': 'Número total de artículos',
|
||||
'table13': 'Consulta',
|
||||
'table25': 'Vaciar el registro',
|
||||
'table14': 'Últimos 5 minutos',
|
||||
'table15': 'Últimos 15 minutos',
|
||||
'table16': 'Últimos 30 minutos',
|
||||
'table17': 'Última Hora',
|
||||
'table18': 'Las últimas 3 horas',
|
||||
'table19': 'Las últimas 6 horas',
|
||||
'table20': 'Las últimas 12 horas',
|
||||
'table21': 'Las últimas 24 horas',
|
||||
'table22': 'Los últimos 2 días',
|
||||
'table23': 'Los últimos 7 días',
|
||||
'table24': 'Los últimos 14 días'
|
||||
},
|
||||
'placeholder': {
|
||||
'cleared': 'Trống rỗng',
|
||||
'select': 'Vui lòng nhập những gì bạn muốn tìm kiếm'
|
||||
},
|
||||
'msg': {
|
||||
'message': 'Xác nhận xóa tất cả nhật ký ngoại lệ?',
|
||||
'title': 'Mẹo'
|
||||
}
|
||||
}
|
||||
}
|
||||
49
wms_pro/qd/src/i18n/langs/eslog/zh.js
Normal file
49
wms_pro/qd/src/i18n/langs/eslog/zh.js
Normal file
@@ -0,0 +1,49 @@
|
||||
export default {
|
||||
'es_log': {
|
||||
'title': '异常日志',
|
||||
'table': {
|
||||
'label': '标签',
|
||||
'Belonging_tags': '所属标签',
|
||||
'level': '级别',
|
||||
'log_level': '日志级别',
|
||||
'api': '接口',
|
||||
'input_api': '请输入接口',
|
||||
'keywords': '关键字',
|
||||
'content': '请输入内容',
|
||||
'tracking': '链路追踪',
|
||||
'table1': '请输入链路id',
|
||||
'table2': 'sql日志',
|
||||
'table3': 'HTTP日志',
|
||||
'table4': '时间范围',
|
||||
'table5': '开始时间',
|
||||
'table6': '结束时间',
|
||||
'table7': '时间段',
|
||||
'table8': '请选择标签',
|
||||
'table9': '切换查询条件',
|
||||
'table10': '显示条数',
|
||||
'table11': '当前页',
|
||||
'table12': '总条数',
|
||||
'table13': '查询',
|
||||
'table25': '清除日志',
|
||||
'table14': '最近5分钟',
|
||||
'table15': '最近15分钟',
|
||||
'table16': '最近30分钟',
|
||||
'table17': '最近1小时',
|
||||
'table18': '最近3小时',
|
||||
'table19': '最近6小时',
|
||||
'table20': '最近12小时',
|
||||
'table21': '最近24小时',
|
||||
'table22': '最近2天',
|
||||
'table23': '最近7天',
|
||||
'table24': '最近14天'
|
||||
},
|
||||
'placeholder': {
|
||||
'cleared': '清空',
|
||||
'select': '请输入你要搜索的内容'
|
||||
},
|
||||
'msg': {
|
||||
'message': '确认清空所有异常日志吗?',
|
||||
'title': '提示'
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -36,7 +36,7 @@ export default {
|
||||
'default_title': 'Default Title',
|
||||
'zh_title': 'ZH-Title',
|
||||
'en_title': 'EN-Title',
|
||||
'id_title': 'ID-Title',
|
||||
'id_title': 'Spanish Title',
|
||||
'ko_title': 'KO-Title',
|
||||
'router_path': 'Router Path',
|
||||
'menu_sort': 'Menu Sort',
|
||||
|
||||
57
wms_pro/qd/src/i18n/langs/menu/es.js
Normal file
57
wms_pro/qd/src/i18n/langs/menu/es.js
Normal file
@@ -0,0 +1,57 @@
|
||||
export default {
|
||||
'menu': {
|
||||
'title': 'Thực đơn',
|
||||
'placeholder': {
|
||||
'fuzzy_search': 'Búsqueda inútil',
|
||||
'owning_system': 'Sistema afiliado',
|
||||
'choose_icon': 'Haga clic en el icono de selección',
|
||||
'component_tip': 'Coincide con el campo Nombre dentro del componente',
|
||||
'choose_superior_category': 'Selección de la categoría superior'
|
||||
},
|
||||
'table_title': {
|
||||
'menu_title': 'Título del menú',
|
||||
'system': 'Sistema afiliado',
|
||||
'icon': 'Iconos',
|
||||
'sort': 'Ordenar',
|
||||
'permission_ident': 'Identificación de permisos',
|
||||
'path': 'Ruta del componente',
|
||||
'outside_chain': 'Cadena externa',
|
||||
'cache': 'Caché',
|
||||
'visible': 'Visible',
|
||||
'create_time': 'Fecha de creación',
|
||||
'SystemParam': 'Parámetros del sistema',
|
||||
'dataPermission': 'Permisos de datos'
|
||||
},
|
||||
'dialog': {
|
||||
'menu_type': 'Tipo de menú',
|
||||
'system': 'Sistema',
|
||||
'catalogue': 'Catálogo',
|
||||
'menu': 'Menú',
|
||||
'button': 'Botones',
|
||||
'button_name': 'Nombre del botón',
|
||||
'menu_icon': 'Iconos del menú',
|
||||
'menu_chain': 'Menú de cadena exterior',
|
||||
'menu_cache': 'Caché de menú',
|
||||
'menu_visible': 'El menú es visible',
|
||||
'default_title': 'Título predeterminado',
|
||||
'zh_title': 'Título en chino',
|
||||
'en_title': 'Título en inglés',
|
||||
'id_title': 'Título español',
|
||||
'ko_title': '韩国标题',
|
||||
'router_path': 'Dirección de ruta',
|
||||
'menu_sort': 'Clasificación de menús',
|
||||
'component_name': 'Nombre del componente',
|
||||
'component_path': 'Ruta del componente',
|
||||
'superior_class': 'Categoría superior',
|
||||
'operate': 'Operación',
|
||||
'top_class': 'Categoría superior'
|
||||
},
|
||||
'msg': {
|
||||
'delete_msg': '¡¿ está seguro de eliminar? Cómo eliminar los nodos inferiores si existe, esta operación no se puede cancelar!'
|
||||
},
|
||||
'rules': {
|
||||
'title': 'Por favor, introduzca el título',
|
||||
'path': 'Por favor, introduzca la dirección'
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,57 +0,0 @@
|
||||
export default {
|
||||
'menu': {
|
||||
'title': 'Thực đơn',
|
||||
'placeholder': {
|
||||
'fuzzy_search': 'Tìm kiếm mờ',
|
||||
'owning_system': 'Hệ thống sở hữu',
|
||||
'choose_icon': 'Click chọn icon',
|
||||
'component_tip': 'Khớp trường name bên trong component',
|
||||
'choose_superior_category': 'Chọn loại cao hơn'
|
||||
},
|
||||
'table_title': {
|
||||
'menu_title': 'Tiêu đề menu',
|
||||
'system': 'Hệ thống sở hữu',
|
||||
'icon': 'Biểu tượng',
|
||||
'sort': 'Sắp xếp',
|
||||
'permission_ident': 'Nhận dạng quyền',
|
||||
'path': 'Đường dẫn thành phần',
|
||||
'outside_chain': 'Chuỗi ngoài',
|
||||
'cache': 'Bộ nhớ tạm',
|
||||
'visible': 'Hiển thị',
|
||||
'create_time': 'Ngày tạo',
|
||||
'SystemParam': 'Thông số hệ thống',
|
||||
'dataPermission': 'Quyền dữ liệu'
|
||||
},
|
||||
'dialog': {
|
||||
'menu_type': 'Loại menu',
|
||||
'system': 'Hệ thống',
|
||||
'catalogue': 'Thư mục',
|
||||
'menu': 'Thực đơn',
|
||||
'button': 'Nút bấm',
|
||||
'button_name': 'Tên nút',
|
||||
'menu_icon': 'Biểu tượng menu',
|
||||
'menu_chain': 'Thực đơn chuỗi bên ngoài',
|
||||
'menu_cache': 'Bộ nhớ cache trình đơn',
|
||||
'menu_visible': 'Hiển thị menu',
|
||||
'default_title': 'Tiêu đề mặc định',
|
||||
'zh_title': '中文标题',
|
||||
'en_title': '英文标题',
|
||||
'id_title': '印尼标题',
|
||||
'ko_title': '韩国标题',
|
||||
'router_path': 'Địa chỉ định tuyến',
|
||||
'menu_sort': 'Sắp xếp thực đơn',
|
||||
'component_name': 'Tên thành phần',
|
||||
'component_path': 'Đường dẫn thành phần',
|
||||
'superior_class': 'Lớp trên',
|
||||
'operate': 'Hoạt động',
|
||||
'top_class': 'Phân loại hàng đầu'
|
||||
},
|
||||
'msg': {
|
||||
'delete_msg': 'Có xác định xóa bỏ không, nếu có các nút cấp dưới thì xóa cùng một, hành động này không thể hủy bỏ!'
|
||||
},
|
||||
'rules': {
|
||||
'title': 'Vui lòng nhập tiêu đề',
|
||||
'path': 'Vui lòng nhập địa chỉ'
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -36,7 +36,7 @@ export default {
|
||||
'default_title': '默认标题',
|
||||
'zh_title': '中文标题',
|
||||
'en_title': '英文标题',
|
||||
'id_title': '印尼标题',
|
||||
'id_title': '西班牙标题',
|
||||
'ko_title': '韩国标题',
|
||||
'router_path': '路由地址',
|
||||
'menu_sort': '菜单排序',
|
||||
|
||||
32
wms_pro/qd/src/i18n/langs/role/es.js
Normal file
32
wms_pro/qd/src/i18n/langs/role/es.js
Normal file
@@ -0,0 +1,32 @@
|
||||
export default {
|
||||
'role': {
|
||||
'table_title': {
|
||||
'taskCode_or_instCode': 'Số lệnh (Directive Number)',
|
||||
'input_taskCode_or_instCode': 'Nhập số nhiệm vụ hoặc số lệnh',
|
||||
'input_name': 'Introduzca el nombre'
|
||||
},
|
||||
'table_value': {
|
||||
'roleList': 'Lista de personajes',
|
||||
'Name': 'Nombre del personaje',
|
||||
'Description': 'Descripción',
|
||||
'CreateDate': 'Fecha de creación',
|
||||
'Operate': 'Operación',
|
||||
'Role': 'Personajes',
|
||||
'remark': 'Nota',
|
||||
'Name2': 'Nombre'
|
||||
},
|
||||
'other': {
|
||||
'Menu_assignments': 'Asignación de menús',
|
||||
'Save': 'Guardar',
|
||||
'Menu_Tip': 'Seleccione el menú de asignación de roles especificado'
|
||||
},
|
||||
'msg': {
|
||||
'delete_msg': '¿Confirmar la eliminación de los 1 Datos seleccionados?',
|
||||
'saveSuccessful': 'Guardar con éxito'
|
||||
},
|
||||
'rules': {
|
||||
'name': 'Por favor, introduzca el nombre',
|
||||
'permission': 'Por favor, introduzca los permisos'
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
export default {
|
||||
'role': {
|
||||
'table_title': {
|
||||
'taskCode_or_instCode': 'Số lệnh (Directive Number)',
|
||||
'input_taskCode_or_instCode': 'Nhập số nhiệm vụ hoặc số lệnh',
|
||||
'input_name': 'Nhập tên'
|
||||
},
|
||||
'table_value': {
|
||||
'roleList': 'Danh sách nhân vật',
|
||||
'Name': 'Tên nhân vật',
|
||||
'Description': 'Mô tả',
|
||||
'CreateDate': 'Ngày tạo',
|
||||
'Operate': 'Hoạt động',
|
||||
'Role': 'Vai trò',
|
||||
'remark': 'Ghi chú',
|
||||
'Name2': 'Tên'
|
||||
},
|
||||
'other': {
|
||||
'Menu_assignments': 'Phân bổ menu',
|
||||
'Save': 'Lưu',
|
||||
'Menu_Tip': 'Chọn menu gán vai trò đã chỉ định'
|
||||
},
|
||||
'msg': {
|
||||
'delete_msg': 'Xác nhận xóa 1 mục dữ liệu đã chọn?',
|
||||
'saveSuccessful': 'Lưu thành công'
|
||||
},
|
||||
'rules': {
|
||||
'name': 'Vui lòng nhập tên',
|
||||
'permission': 'Vui lòng nhập quyền'
|
||||
}
|
||||
}
|
||||
}
|
||||
51
wms_pro/qd/src/i18n/langs/user/es.js
Normal file
51
wms_pro/qd/src/i18n/langs/user/es.js
Normal file
@@ -0,0 +1,51 @@
|
||||
export default {
|
||||
'user': {
|
||||
'table_title': {
|
||||
'Department_name': 'Nombre del Departamento',
|
||||
'enter_department_name': 'Por favor, introduzca el nombre del departamento.',
|
||||
'Account_Number (Name)': 'Cuenta (nombre)',
|
||||
'Enter_Account_Number (Name)': 'Introduzca la cuenta o el nombre',
|
||||
'State': 'Estado',
|
||||
'Search': 'Buscar',
|
||||
'System': 'Sistema afiliado'
|
||||
},
|
||||
'table_value': {
|
||||
'Username': 'Nombre de usuario',
|
||||
'Name': 'Nombre',
|
||||
'Sex': 'Género',
|
||||
'Phone': 'Teléfono',
|
||||
'Mailbox': 'Buzón',
|
||||
'Department': 'Departamento',
|
||||
'State': 'Estado',
|
||||
'create_Date': 'Fecha de creación',
|
||||
'Operate': 'Operación',
|
||||
'Password': 'Contraseña',
|
||||
'boy': 'Hombre',
|
||||
'girl': 'Mujer',
|
||||
'Select_Sector_Categories': 'Selección de categorías sectoriales',
|
||||
'User': 'Usuarios',
|
||||
'activation': 'Activar',
|
||||
'lock': 'Bloqueo'
|
||||
},
|
||||
'other': {
|
||||
'Revise': 'Modificación',
|
||||
'Delete': 'Eliminar',
|
||||
'More': 'Más',
|
||||
'Reset': 'Restablecer la contraseña',
|
||||
'Department_permissions': 'Competencias departamentales',
|
||||
'Data_Permissions': 'Permisos de datos',
|
||||
'Lock_account': 'Cuenta',
|
||||
'Assign_roles': 'Asignar roles'
|
||||
},
|
||||
'msg': {
|
||||
'delete_msg': '¿Confirmar la eliminación de los 1 Datos seleccionados?'
|
||||
},
|
||||
'rules': {
|
||||
'username1': 'Introduzca el nombre de usuario',
|
||||
'username2': 'Longitud entre 2 y 20 caracteres',
|
||||
'person_name1': 'Introduzca el nombre del usuario',
|
||||
'person_name2': 'Độ dài từ 2 đến 20 ký tự',
|
||||
'department': 'Por favor, elija el Departamento'
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
export default {
|
||||
'user': {
|
||||
'table_title': {
|
||||
'Department_name': 'Tên bộ phận',
|
||||
'enter_department_name': 'Vui lòng nhập tên bộ phận',
|
||||
'Account_Number (Name)': 'Số tài khoản (Tên)',
|
||||
'Enter_Account_Number (Name)': 'Vui lòng nhập số tài khoản hoặc tên',
|
||||
'State': 'Trạng thái',
|
||||
'Search': 'Tìm kiếm',
|
||||
'System': 'Hệ thống sở hữu'
|
||||
},
|
||||
'table_value': {
|
||||
'Username': 'Tên người dùng',
|
||||
'Name': 'Tên',
|
||||
'Sex': 'Giới tính',
|
||||
'Phone': 'Điện thoại',
|
||||
'Mailbox': 'Hộp thư',
|
||||
'Department': 'Trang chủ',
|
||||
'State': 'Trạng thái',
|
||||
'create_Date': 'Ngày tạo',
|
||||
'Operate': 'Hoạt động',
|
||||
'Password': 'Mật khẩu',
|
||||
'boy': 'Nam',
|
||||
'girl': 'Phụ nữ',
|
||||
'Select_Sector_Categories': 'Chọn loại bộ phận',
|
||||
'User': 'Người dùng',
|
||||
'activation': 'Kích hoạt',
|
||||
'lock': 'Khóa'
|
||||
},
|
||||
'other': {
|
||||
'Revise': 'Sửa đổi',
|
||||
'Delete': 'Xoá',
|
||||
'More': 'Thêm',
|
||||
'Reset': 'Đặt lại mật khẩu',
|
||||
'Department_permissions': 'Thẩm quyền bộ phận',
|
||||
'Data_Permissions': 'Quyền dữ liệu',
|
||||
'Lock_account': 'Số tài khoản',
|
||||
'Assign_roles': 'Phân bổ vai trò'
|
||||
},
|
||||
'msg': {
|
||||
'delete_msg': 'Xác nhận xóa 1 mục dữ liệu đã chọn?'
|
||||
},
|
||||
'rules': {
|
||||
'username1': 'Vui lòng nhập tên người dùng',
|
||||
'username2': 'Độ dài từ 2 đến 20 ký tự',
|
||||
'person_name1': 'Vui lòng nhập tên người dùng',
|
||||
'person_name2': 'Độ dài từ 2 đến 20 ký tự',
|
||||
'department': 'Vui lòng chọn bộ phận'
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
<template>
|
||||
<div class="navbar">
|
||||
<hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
|
||||
<breadcrumb id="breadcrumb-container" class="breadcrumb-container" v-if="!topNav"/>
|
||||
<top-nav id="topmenu-container" class="topmenu-container" v-if="topNav"/>
|
||||
<breadcrumb v-if="!topNav" id="breadcrumb-container" class="breadcrumb-container" />
|
||||
<top-nav v-if="topNav" id="topmenu-container" class="topmenu-container" />
|
||||
|
||||
<div class="right-menu">
|
||||
<template v-if="device!=='mobile'">
|
||||
@@ -15,8 +15,8 @@
|
||||
<el-tooltip content="全屏缩放" effect="dark" placement="bottom">
|
||||
<screenfull id="screenfull" class="right-menu-item hover-effect" />
|
||||
</el-tooltip>
|
||||
<notice-icon class="right-menu-item"/>
|
||||
<notice-icon-reader ref="noticeIconReader"/>
|
||||
<notice-icon class="right-menu-item" />
|
||||
<notice-icon-reader ref="noticeIconReader" />
|
||||
|
||||
<!-- <el-tooltip content="布局设置" effect="dark" placement="bottom">
|
||||
<size-select id="size-select" class="right-menu-item hover-effect" />
|
||||
@@ -66,14 +66,11 @@ import { mapGetters } from 'vuex'
|
||||
import Breadcrumb from '@/components/Breadcrumb'
|
||||
import Hamburger from '@/components/Hamburger'
|
||||
import TopNav from '@/components/TopNav'
|
||||
|
||||
import Doc from '@/components/Doc'
|
||||
import Screenfull from '@/components/Screenfull'
|
||||
import SizeSelect from '@/components/SizeSelect'
|
||||
import Search from '@/components/HeaderSearch'
|
||||
import Avatar from '@/assets/images/avatar.png'
|
||||
import NoticeIcon from "@/views/system/notice/NoticeIcon.vue";
|
||||
import NoticeIconReader from "@/views/system/notice/NoticeIconReader.vue";
|
||||
import NoticeIcon from '@/views/system/notice/NoticeIcon.vue'
|
||||
import NoticeIconReader from '@/views/system/notice/NoticeIconReader.vue'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
@@ -82,14 +79,9 @@ export default {
|
||||
Breadcrumb,
|
||||
Hamburger,
|
||||
Screenfull,
|
||||
SizeSelect,
|
||||
Search,
|
||||
Doc,
|
||||
TopNav
|
||||
},
|
||||
created() {
|
||||
this.setLang(localStorage.getItem('lang'))
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
Avatar: Avatar,
|
||||
@@ -97,6 +89,9 @@ export default {
|
||||
language: '简体中文'
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.setLang(localStorage.getItem('lang'))
|
||||
},
|
||||
computed: {
|
||||
...mapGetters([
|
||||
'sidebar',
|
||||
@@ -142,9 +137,9 @@ export default {
|
||||
this.$store.dispatch('app/toggleSideBar')
|
||||
},
|
||||
open() {
|
||||
this.$confirm('确定注销并退出系统吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
this.$confirm(this.$t('auto.common.Tip13'), this.$t('auto.common.Tips'), {
|
||||
confirmButtonText: this.$t('auto.common.Confirm'),
|
||||
cancelButtonText: this.$t('auto.common.Cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.logout()
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
<div class="head-container">
|
||||
<!--工具栏-->
|
||||
<el-form :inline="true" class="demo-form-inline" label-suffix=":" label-width="90px">
|
||||
<el-form-item label="标签">
|
||||
<el-form-item :label="$t('es_log.table.label')">
|
||||
<el-select
|
||||
v-model="system"
|
||||
clearable
|
||||
style="width: 100px; height: 35px;top: -5px;"
|
||||
placeholder="所属标签"
|
||||
:placeholder="$t('es_log.table.Belonging_tags')"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in systemOptions"
|
||||
@@ -18,12 +18,12 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="级别">
|
||||
<el-form-item :label="$t('es_log.table.level')">
|
||||
<el-select
|
||||
v-model="logLevelValue"
|
||||
clearable
|
||||
style="width: 100px; height: 35px;top: -5px;"
|
||||
placeholder="日志级别"
|
||||
:placeholder="$t('es_log.table.log_level')"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in labelsOptions"
|
||||
@@ -33,32 +33,32 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="接口">
|
||||
<el-form-item :label="$t('es_log.table.api')">
|
||||
<el-input
|
||||
v-model="requestMethod"
|
||||
size="mini"
|
||||
placeholder="请输入接口"
|
||||
:placeholder="$t('es_log.table.input_api')"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="关键字">
|
||||
<el-form-item :label="$t('es_log.table.keywords')">
|
||||
<el-input
|
||||
v-model="message"
|
||||
size="mini"
|
||||
placeholder="请输入内容"
|
||||
:placeholder="$t('es_log.table.content')"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="链路追踪">
|
||||
<el-form-item :label="$t('es_log.table.tracking')">
|
||||
<el-input
|
||||
v-model="traceId"
|
||||
size="mini"
|
||||
placeholder="请输入链路id"
|
||||
:placeholder="$t('es_log.table.table1')"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="SQL日志" prop="filterSql">
|
||||
<el-form-item :label="$t('es_log.table.table2')" prop="filterSql">
|
||||
<el-switch
|
||||
v-model="filterSql"
|
||||
active-color="#F56C6C"
|
||||
@@ -67,7 +67,7 @@
|
||||
inactive-valu="0"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="HTTP日志" prop="isRequest">
|
||||
<el-form-item :label="$t('es_log.table.table3')" prop="isRequest">
|
||||
<el-switch
|
||||
v-model="isRequest"
|
||||
active-color="#409EFF"
|
||||
@@ -77,22 +77,22 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item v-show="!showOptions" label="时间范围">
|
||||
<el-form-item v-show="!showOptions" :label="$t('es_log.table.table4')">
|
||||
<el-date-picker
|
||||
v-model="timeRange"
|
||||
size="mini"
|
||||
clearable
|
||||
type="datetimerange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
:start-placeholder="$t('es_log.table.table5')"
|
||||
:end-placeholder="$t('es_log.table.table6')"
|
||||
align="right"
|
||||
@change="queryData"
|
||||
@blur="queryData"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item v-show="showOptions" label="时间段">
|
||||
<el-select v-model="timeZoneValue" filterable placeholder="请选择标签" size="mini" @change="queryData">
|
||||
<el-form-item v-show="showOptions" :label="$t('es_log.table.table7')">
|
||||
<el-select v-model="timeZoneValue" filterable :placeholder="$t('es_log.table.table8')" size="mini" @change="queryData">
|
||||
<el-option
|
||||
v-for="item in timeZoneOptions"
|
||||
:key="item.index"
|
||||
@@ -102,11 +102,11 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-tooltip class="item" effect="dark" content="切换查询条件" placement="top">
|
||||
<el-tooltip class="item" effect="dark" :content="$t('es_log.table.table9')" placement="top">
|
||||
<span class="el-icon-sort" @click="changeShow" />
|
||||
</el-tooltip>
|
||||
</el-form-item>
|
||||
<el-form-item label="显示条数">
|
||||
<el-form-item :label="$t('es_log.table.table10')">
|
||||
<el-input-number
|
||||
v-model="size"
|
||||
size="mini"
|
||||
@@ -116,7 +116,7 @@
|
||||
:step="10"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="当前页">
|
||||
<el-form-item :label="$t('es_log.table.table11')">
|
||||
<el-input-number
|
||||
v-model="page"
|
||||
size="mini"
|
||||
@@ -126,7 +126,7 @@
|
||||
:step="1"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="总条数">
|
||||
<el-form-item :label="$t('es_log.table.table12')">
|
||||
<el-input
|
||||
v-model="total"
|
||||
size="small"
|
||||
@@ -136,14 +136,14 @@
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-dropdown split-button type="primary" size="mini" @click="queryData">
|
||||
查询
|
||||
{{ $t('es_log.table.table13') }}
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item v-for="(item, index) in runStatuOptions" :key="index" @click.native="startInterval(item)">{{ item.label }}</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="clearLogs">清空日志</el-button>
|
||||
<el-button @click="clearLogs">{{ $t('es_log.table.table25') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
@@ -244,37 +244,37 @@ export default {
|
||||
value: 1800000
|
||||
}],
|
||||
timeZoneOptions: [{
|
||||
label: '最近5分钟',
|
||||
label: this.$t('es_log.table.table14'),
|
||||
value: 300 * 1000
|
||||
}, {
|
||||
label: '最近15分钟',
|
||||
label: this.$t('es_log.table.table15'),
|
||||
value: 900 * 1000
|
||||
}, {
|
||||
label: '最近30分钟',
|
||||
label: this.$t('es_log.table.table16'),
|
||||
value: 1800 * 1000
|
||||
}, {
|
||||
label: '最近1小时',
|
||||
label: this.$t('es_log.table.table17'),
|
||||
value: 3600 * 1000
|
||||
}, {
|
||||
label: '最近3小时',
|
||||
label: this.$t('es_log.table.table18'),
|
||||
value: 3600 * 1000 * 3
|
||||
}, {
|
||||
label: '最近6小时',
|
||||
label: this.$t('es_log.table.table19'),
|
||||
value: 3600 * 1000 * 6
|
||||
}, {
|
||||
label: '最近12小时',
|
||||
label: this.$t('es_log.table.table20'),
|
||||
value: 3600 * 1000 * 12
|
||||
}, {
|
||||
label: '最近24小时',
|
||||
label: this.$t('es_log.table.table21'),
|
||||
value: 3600 * 1000 * 24
|
||||
}, {
|
||||
label: '最近2天',
|
||||
label: this.$t('es_log.table.table22'),
|
||||
value: 3600 * 1000 * 24 * 2
|
||||
}, {
|
||||
label: '最近7天',
|
||||
label: this.$t('es_log.table.table23'),
|
||||
value: 3600 * 1000 * 24 * 7
|
||||
}, {
|
||||
label: '最近15天',
|
||||
label: this.$t('es_log.table.table24'),
|
||||
value: 3600 * 1000 * 24 * 15
|
||||
}],
|
||||
timeZoneValue: '',
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
v-model="query.name"
|
||||
clearable
|
||||
size="mini"
|
||||
placeholder="输入部门名称搜索"
|
||||
:placeholder="$t('department.table_title.enter_department_name')"
|
||||
style="width: 200px;"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
@@ -17,7 +17,7 @@
|
||||
v-model="query.is_used"
|
||||
clearable
|
||||
size="mini"
|
||||
placeholder="状态"
|
||||
:placeholder="$t('department.table_value.State')"
|
||||
class="filter-item"
|
||||
style="width: 90px"
|
||||
@change="crud.toQuery"
|
||||
@@ -37,13 +37,13 @@
|
||||
width="500px"
|
||||
>
|
||||
<el-form ref="form" inline :model="form" :rules="rules" size="mini" label-width="80px">
|
||||
<el-form-item label="部门编码" prop="code">
|
||||
<el-form-item :label="$t('department.other.Department_code')" prop="code">
|
||||
<el-input v-model="form.code" :disabled="true" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="部门名称" prop="name">
|
||||
<el-form-item :label="$t('department.table_title.Department_name')" prop="name" :min-width="flexWidth('code',crud.data,$t('department.other.Department_code'))">
|
||||
<el-input v-model="form.name" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="部门排序" prop="dept_sort">
|
||||
<el-form-item :label="$t('department.other.Department_sort')" prop="dept_sort" :min-width="flexWidth('code',crud.data,$t('department.other.Department_code'))">
|
||||
<el-input-number
|
||||
v-model.number="form.dept_sort"
|
||||
:min="0"
|
||||
@@ -52,16 +52,18 @@
|
||||
style="width: 370px;"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="外部标识" prop="extId">
|
||||
<el-form-item :label="$t('department.other.External_identification')" prop="ext_id" :min-width="flexWidth('code',crud.data,$t('department.other.Department_code'))">
|
||||
<el-input v-model="form.ext_id" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="顶级部门">
|
||||
<el-form-item :label="$t('department.other.Top_departments')" :min-width="flexWidth('code',crud.data,$t('department.other.Department_code'))">
|
||||
<el-radio-group v-model="form.isTop" style="width: 140px">
|
||||
<el-radio label="1">是</el-radio>
|
||||
<el-radio label="0">否</el-radio>
|
||||
<el-row>
|
||||
<el-radio label="1">{{ $t('auto.common.true') }}</el-radio>
|
||||
<el-radio label="0">{{ $t('auto.common.false') }}</el-radio>
|
||||
</el-row>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" prop="isUesd">
|
||||
<el-form-item :label="$t('department.table_value.State')" prop="is_used" :min-width="flexWidth('code',crud.data,$t('department.other.Department_code'))">
|
||||
<el-switch
|
||||
v-model="form.is_used"
|
||||
active-color="#409EFF"
|
||||
@@ -70,7 +72,7 @@
|
||||
inactive-valu="false"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="form.isTop === '0'" style="margin-bottom: 0;" label="上级部门" prop="pid">
|
||||
<el-form-item v-if="form.isTop === '0'" style="margin-bottom: 0;" :label="$t('department.other.Top_departments')" prop="pid" :min-width="flexWidth('code',crud.data,$t('department.other.Department_code'))">
|
||||
<treeselect
|
||||
v-model="form.pid"
|
||||
:load-options="loadDepts"
|
||||
@@ -82,8 +84,8 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
||||
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
|
||||
<el-button type="text" @click="crud.cancelCU">{{ $t('task.select.Cancel') }}</el-button>
|
||||
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">{{ $t('task.select.Confirm') }}</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!--表格渲染 :load="getDeptDatas" 点击事件 row-key需要指定唯一的数据id-->
|
||||
@@ -101,23 +103,23 @@
|
||||
>
|
||||
<el-table-column :selectable="checkboxT" type="selection" width="55" />
|
||||
<!-- <el-table-column label="编码" prop="code" />-->
|
||||
<el-table-column label="名称" prop="name" />
|
||||
<el-table-column label="排序" prop="dept_sort" />
|
||||
<el-table-column label="状态" align="center" prop="is_used">
|
||||
<el-table-column :label="$t('department.table_value.Name')" prop="name" :min-width="flexWidth('name',crud.data,$t('department.table_value.Name'))" />
|
||||
<el-table-column :label="$t('department.table_value.Sort')" prop="dept_sort" :min-width="flexWidth('dept_sort',crud.data,$t('department.table_value.Sort'))" />
|
||||
<el-table-column :label="$t('department.table_value.State')" align="center" prop="is_used" :min-width="flexWidth('is_used',crud.data,$t('department.table_value.State'))">
|
||||
<template slot-scope="scope">
|
||||
<el-switch
|
||||
v-model="scope.row.is_used"
|
||||
:disabled="scope.row.id === 1"
|
||||
active-color="#409EFF"
|
||||
inactive-color="#F56C6C"
|
||||
@change="changeEnabled(scope.row, scope.row.is_used,)"
|
||||
@change="changeEnabled(scope.row, scope.row.is_used)"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="create_time" label="创建日期" />
|
||||
<el-table-column prop="create_time" :label="$t('department.table_value.CreateDate')" :min-width="flexWidth('create_time',crud.data,$t('department.table_value.CreateDate'))" />
|
||||
<el-table-column
|
||||
v-permission="['admin','dept:edit','dept:del']"
|
||||
label="操作"
|
||||
:label="$t('department.table_value.Operate')"
|
||||
width="130px"
|
||||
align="center"
|
||||
fixed="right"
|
||||
@@ -127,7 +129,7 @@
|
||||
:data="scope.row"
|
||||
:permission="permission"
|
||||
:disabled-dle="scope.row.id === 1"
|
||||
msg="确定删除吗,如果存在下级节点则一并删除,此操作不能撤销!"
|
||||
:msg="$t('menu.msg.delete_msg')"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -143,6 +145,7 @@ import CRUD, { crud, form, header, presenter } from '@crud/crud'
|
||||
import rrOperation from '@crud/RR.operation'
|
||||
import crudOperation from '@crud/CRUD.operation'
|
||||
import udOperation from '@crud/UD.operation'
|
||||
import i18n from '@/i18n'
|
||||
|
||||
const defaultForm = {
|
||||
code: null,
|
||||
@@ -158,7 +161,7 @@ export default {
|
||||
name: 'Dept',
|
||||
components: { Treeselect, crudOperation, rrOperation, udOperation },
|
||||
cruds() {
|
||||
return CRUD({ title: '部门', idField: 'dept_id', url: 'api/dept/vo', crudMethod: { ...crudDept }})
|
||||
return CRUD({ title: i18n.t('department.table_title.Department'), idField: 'dept_id', url: 'api/dept/vo', crudMethod: { ...crudDept }})
|
||||
},
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
// 设置数据字典
|
||||
@@ -265,7 +268,7 @@ export default {
|
||||
},
|
||||
// 改变状态
|
||||
changeEnabled(data, val) {
|
||||
const satus = this.enabledTypeOptions.find(item => { return item.key == data.is_used })
|
||||
const satus = this.enabledTypeOptions.find(item => { return item.key === data.is_used })
|
||||
|
||||
this.$confirm('此操作将 "' + satus.display_name + '" ' + data.name + '部门, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
v-model="query.blurry"
|
||||
clearable
|
||||
size="mini"
|
||||
placeholder="模糊搜索"
|
||||
:placeholder="$t('menu.placeholder.fuzzy_search')"
|
||||
style="width: 200px;margin-bottom: 10px"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="queryBlurry"
|
||||
@@ -16,11 +16,12 @@
|
||||
<el-select
|
||||
v-model="query.systemType"
|
||||
style="width: 100px; height: 35px;top: -5px;"
|
||||
placeholder="所属系统"
|
||||
:placeholder="$t('menu.placeholder.owning_system')"
|
||||
@change="changetype"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in dict.system_type"
|
||||
:key="item.id"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
@@ -39,15 +40,15 @@
|
||||
width="650px"
|
||||
>
|
||||
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="mini" label-width="80px">
|
||||
<el-form-item label="菜单类型" prop="type">
|
||||
<el-form-item :label="$t('menu.dialog.menu_type')" prop="type">
|
||||
<el-radio-group v-model="form.type" size="mini">
|
||||
<el-radio-button label="1">系统</el-radio-button>
|
||||
<el-radio-button label="2">目录</el-radio-button>
|
||||
<el-radio-button label="3">菜单</el-radio-button>
|
||||
<el-radio-button label="4">按钮</el-radio-button>
|
||||
<el-radio-button label="1">{{ $t('menu.dialog.system') }}</el-radio-button>
|
||||
<el-radio-button label="2">{{ $t('menu.dialog.catalogue') }}</el-radio-button>
|
||||
<el-radio-button label="3">{{ $t('menu.dialog.menu') }}</el-radio-button>
|
||||
<el-radio-button label="4">{{ $t('menu.dialog.button') }}</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item v-show="form.type.toString() !== '1' && form.type.toString() !== '4' " label="菜单图标" prop="icon">
|
||||
<el-form-item v-show="form.type.toString() !== '1' && form.type.toString() !== '4' " :label="$t('menu.dialog.menu_icon')" prop="icon">
|
||||
<el-popover
|
||||
placement="bottom-start"
|
||||
width="450"
|
||||
@@ -55,7 +56,7 @@
|
||||
@show="$refs['iconSelect'].reset()"
|
||||
>
|
||||
<IconSelect ref="iconSelect" @selected="selected" />
|
||||
<el-input slot="reference" v-model="form.icon" style="width: 450px;" placeholder="点击选择图标" readonly>
|
||||
<el-input slot="reference" v-model="form.icon" style="width: 450px;" :placeholder="$t('menu.placeholder.choose_icon')" readonly>
|
||||
<svg-icon
|
||||
v-if="form.icon"
|
||||
slot="prefix"
|
||||
@@ -67,41 +68,62 @@
|
||||
</el-input>
|
||||
</el-popover>
|
||||
</el-form-item>
|
||||
<el-form-item v-show="form.type.toString() !== '2' && form.type.toString() !== '1'" label="外链菜单" prop="iframe">
|
||||
<el-form-item v-show="form.type.toString() !== '2' && form.type.toString() !== '1'" :label="$t('menu.dialog.menu_chain')" prop="iframe">
|
||||
<el-radio-group v-model="form.iframe" size="mini">
|
||||
<el-radio-button label="true">是</el-radio-button>
|
||||
<el-radio-button label="false">否</el-radio-button>
|
||||
<el-radio-button label="true">{{ $t('auto.common.true') }}</el-radio-button>
|
||||
<el-radio-button label="false">{{ $t('auto.common.false') }}</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item v-show="form.type.toString() === '3'" label="菜单缓存" prop="cache">
|
||||
<el-form-item v-show="form.type.toString() === '2'" :label="$t('menu.dialog.menu_cache')" prop="cache">
|
||||
<el-radio-group v-model="form.cache" size="mini">
|
||||
<el-radio-button label="true">是</el-radio-button>
|
||||
<el-radio-button label="false">否</el-radio-button>
|
||||
<el-radio-button label="true">{{ $t('auto.common.true') }}</el-radio-button>
|
||||
<el-radio-button label="false">{{ $t('auto.common.false') }}</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item v-show="form.type.toString() !== '2' && form.type.toString() !== '1' " label="菜单隐藏" prop="hidden">
|
||||
<el-form-item v-show="form.type.toString() !== '2' && form.type.toString() !== '1' " :label="$t('menu.dialog.menu_visible')" prop="hidden">
|
||||
<el-radio-group v-model="form.hidden" size="mini">
|
||||
<el-radio-button label="true">是</el-radio-button>
|
||||
<el-radio-button label="false">否</el-radio-button>
|
||||
<el-radio-button label="false">{{ $t('auto.common.true') }}</el-radio-button>
|
||||
<el-radio-button label="true">{{ $t('auto.common.false') }}</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="form.type.toString() !== '2'" label="菜单标题" prop="title">
|
||||
<el-form-item v-if="form.type.toString() !== '2'" :label="$t('menu.dialog.default_title')" prop="title">
|
||||
<el-input
|
||||
v-model="form.title"
|
||||
:style=" form.type.toString() === '0' ? 'width: 450px' : 'width: 190px'"
|
||||
placeholder="菜单标题"
|
||||
:placeholder="$t('menu.dialog.default_title')"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="form.type.toString() === '2'" label="目录名称" prop="title">
|
||||
<el-input v-model="form.title" placeholder="目录名称" style="width: 190px;" />
|
||||
<el-form-item v-if="form.type.toString() !== '2'" :label="$t('menu.dialog.zh_title')" prop="zh_title">
|
||||
<el-input
|
||||
v-model="form.zh_title"
|
||||
:style=" form.type.toString() === '0' ? 'width: 450px' : 'width: 190px'"
|
||||
:placeholder="$t('menu.dialog.zh_title')"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item v-show="form.type.toString() !== '1' " label="权限标识" prop="permission">
|
||||
<el-input v-model="form.permission" :disabled="form.iframe" placeholder="权限标识" style="width: 190px;" />
|
||||
<el-form-item v-if="form.type.toString() !== '2'" :label="$t('menu.dialog.en_title')" prop="en_title">
|
||||
<el-input
|
||||
v-model="form.en_title"
|
||||
:style=" form.type.toString() === '0' ? 'width: 450px' : 'width: 190px'"
|
||||
:placeholder="$t('menu.dialog.en_title')"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="form.type.toString() !== '1' && form.type.toString() !== '2'" label="路由地址" prop="path">
|
||||
<el-input v-model="form.path" placeholder="路由地址" style="width: 190px;" />
|
||||
<el-form-item v-if="form.type.toString() !== '2'" :label="$t('menu.dialog.id_title')" prop="in_title">
|
||||
<el-input
|
||||
v-model="form.in_title"
|
||||
:style=" form.type.toString() === '0' ? 'width: 450px' : 'width: 190px'"
|
||||
:placeholder="$t('menu.dialog.id_title')"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="菜单排序" prop="menu_sort">
|
||||
<el-form-item v-if="form.type.toString() === '2'" :label="$t('menu.dialog.button_name')" prop="title">
|
||||
<el-input v-model="form.title" :placeholder="$t('menu.dialog.button_name')" style="width: 190px;" />
|
||||
</el-form-item>
|
||||
<el-form-item v-show="form.type.toString() !== '1' " :label="$t('menu.table_title.permission_ident')" prop="permission">
|
||||
<el-input v-model="form.permission" :disabled="form.iframe" :placeholder="$t('menu.table_title.permission_ident')" style="width: 190px;" />
|
||||
</el-form-item>
|
||||
<el-form-item v-if="form.type.toString() !== '1' && form.type.toString() !== '2'" :label="$t('menu.dialog.router_path')" prop="path">
|
||||
<el-input v-model="form.path" :placeholder="$t('menu.dialog.router_path')" style="width: 190px;" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('menu.dialog.menu_sort')" prop="menu_sort">
|
||||
<el-input-number
|
||||
v-model.number="form.menu_sort"
|
||||
:min="0"
|
||||
@@ -110,13 +132,13 @@
|
||||
style="width: 190px;"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item v-show="!form.iframe && form.type.toString() === '3' " label="组件名称" prop="componentName">
|
||||
<el-input v-model="form.componentName" style="width: 190px;" placeholder="匹配组件内Name字段" />
|
||||
<el-form-item v-show="!form.iframe && form.type.toString() === '3' " :label="$t('menu.dialog.component_name')" prop="component_name">
|
||||
<el-input v-model="form.component_name" style="width: 190px;" :placeholder="$t('menu.placeholder.component_tip')" />
|
||||
</el-form-item>
|
||||
<el-form-item v-show="!form.iframe && (form.type.toString() === '2' ||form.type.toString() === '3' ) " label="组件路径" prop="component">
|
||||
<el-input v-model="form.component" style="width: 190px;" placeholder="组件路径" />
|
||||
<el-form-item v-show="!form.iframe && (form.type.toString() === '2' ||form.type.toString() === '3' ) " :label="$t('menu.dialog.component_path')" prop="component">
|
||||
<el-input v-model="form.component" style="width: 190px;" :placeholder="$t('menu.dialog.component_path')" />
|
||||
</el-form-item>
|
||||
<el-form-item label="上级类目" prop="pid">
|
||||
<el-form-item :label="$t('menu.dialog.superior_class')" prop="pid">
|
||||
<!-- normalizer转换- loadMenus 点击扩展的时候会调用该方法-->
|
||||
<treeselect
|
||||
v-model="form.pid"
|
||||
@@ -124,13 +146,13 @@
|
||||
:load-options="loadMenus"
|
||||
:normalizer="normalizer"
|
||||
style="width: 450px;"
|
||||
placeholder="选择上级类目"
|
||||
:placeholder="$t('menu.placeholder.choose_superior_category')"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
||||
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
|
||||
<el-button type="text" @click="crud.cancelCU">{{ $t('auto.common.Cancel') }}</el-button>
|
||||
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">{{ $t('auto.common.Confirm') }}</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!--表格渲染-->
|
||||
@@ -149,46 +171,46 @@
|
||||
@selection-change="crud.selectionChangeHandler"
|
||||
>
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column label="菜单标题" prop="title" :min-width="100" />
|
||||
<el-table-column label="所属系统" prop="systemType" :min-width="flexWidth('systemType',crud.data,'所属系统')">
|
||||
<el-table-column :label="$t('menu.table_title.menu_title')" prop="title" :min-width="100" />
|
||||
<el-table-column :label="$t('menu.table_title.system')" prop="systemType" :min-width="flexWidth('systemType',crud.data,$t('menu.table_title.system'))">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.system_type[scope.row.systemType] }} : {{ scope.row.systemType }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="icon" label="图标" align="center" :min-width="flexWidth('icon',crud.data,'图标')">
|
||||
<el-table-column prop="icon" :label="$t('menu.table_title.icon')" align="center" :min-width="flexWidth('icon',crud.data,$t('menu.table_title.icon'))">
|
||||
<template slot-scope="scope">
|
||||
<svg-icon :icon-class="scope.row.icon ? scope.row.icon : ''" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="menu_sort" align="center" label="排序" :min-width="flexWidth('menu_sort',crud.data,'排序')">
|
||||
<el-table-column prop="menu_sort" align="center" :label="$t('menu.table_title.sort')" :min-width="flexWidth('menu_sort',crud.data,$t('menu.table_title.sort'))">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.menu_sort }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="permission" label="权限标识" :min-width="flexWidth('permission',crud.data,'权限标识')" />
|
||||
<el-table-column prop="component" label="组件路径" min-width="120" />
|
||||
<el-table-column prop="iframe" label="外链" :formatter="crud.formatIsOrNot" :min-width="flexWidth('iframe',crud.data,'外链')">
|
||||
<el-table-column prop="permission" :label="$t('menu.table_title.permission_ident')" :min-width="flexWidth('permission',crud.data,$t('menu.table_title.permission_ident'))" />
|
||||
<el-table-column prop="component" :label="$t('menu.table_title.path')" min-width="120" />
|
||||
<el-table-column prop="iframe" :label="$t('menu.table_title.outside_chain')" :formatter="crud.formatIsOrNot" :min-width="flexWidth('iframe',crud.data,$t('menu.table_title.outside_chain'))">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.iframe">是</span>
|
||||
<span v-else>否</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="cache" label="缓存" :formatter="crud.formatIsOrNot" :min-width="flexWidth('cache',crud.data,'缓存')">
|
||||
<el-table-column prop="cache" :label="$t('menu.table_title.cache')" :formatter="crud.formatIsOrNot" :min-width="flexWidth('cache',crud.data,$t('menu.table_title.cache'))">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.cache">是</span>
|
||||
<span v-else>否</span>
|
||||
<span v-if="scope.row.cache">YES</span>
|
||||
<span v-else> NO</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="hidden" label="可见" :formatter="crud.formatIsOrNot" :min-width="flexWidth('hidden',crud.data,'可见')">
|
||||
<el-table-column prop="hidden" :label="$t('menu.table_title.visible')" :formatter="crud.formatIsOrNot" :min-width="flexWidth('hidden',crud.data,$t('menu.table_title.visible'))">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.hidden">否</span>
|
||||
<span v-else>是</span>
|
||||
<span v-if="scope.row.hidden">NO</span>
|
||||
<span v-else>YES</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createTime" label="创建日期" :min-width="flexWidth('createTime',crud.data,'创建日期')" />
|
||||
<el-table-column prop="createTime" :label="$t('menu.table_title.create_time')" :min-width="flexWidth('createTime',crud.data,$t('menu.table_title.create_time'))" />
|
||||
<el-table-column
|
||||
v-permission="['admin','menu:edit','menu:del']"
|
||||
label="操作"
|
||||
:label="$t('auto.common.Operate')"
|
||||
width="130px"
|
||||
align="center"
|
||||
fixed="right"
|
||||
@@ -197,7 +219,7 @@
|
||||
<udOperation
|
||||
:data="scope.row"
|
||||
:permission="permission"
|
||||
msg="确定删除吗,如果存在下级节点则一并删除,此操作不能撤销!"
|
||||
:msg="$t('menu.msg.delete_msg')"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -216,6 +238,7 @@ import rrOperation from '@crud/RR.operation'
|
||||
import crudOperation from '@crud/CRUD.operation'
|
||||
import udOperation from '@crud/UD.operation'
|
||||
import Dict from '../../../components/Dict/Dict'
|
||||
import i18n from '@/i18n'
|
||||
|
||||
// crud交由presenter持有
|
||||
const defaultForm = {
|
||||
@@ -240,7 +263,7 @@ export default {
|
||||
name: 'Menu',
|
||||
components: { Treeselect, IconSelect, crudOperation, rrOperation, udOperation },
|
||||
cruds() {
|
||||
return CRUD({ title: '菜单', idField: 'menu_id', url: 'api/sysMenu', crudMethod: { ...crudMenu }})
|
||||
return CRUD({ title: i18n.t('menu.title'), idField: 'menu_id', url: 'api/sysMenu', crudMethod: { ...crudMenu }})
|
||||
},
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
dicts: ['system_type'],
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
v-model="query.blurry"
|
||||
size="mini"
|
||||
clearable
|
||||
placeholder="输入名称"
|
||||
:placeholder="$t('role.table_title.input_name')"
|
||||
style="width: 200px;"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
@@ -27,16 +27,16 @@
|
||||
width="520px"
|
||||
>
|
||||
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="mini" label-width="80px">
|
||||
<el-form-item label="角色名称" prop="name">
|
||||
<el-form-item :label="$t('role.table_value.Name')" prop="name">
|
||||
<el-input v-model="form.name" style="width: 380px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="description">
|
||||
<el-form-item :label="$t('role.table_value.Name')" prop="description">
|
||||
<el-input v-model="form.remark" style="width: 380px;" rows="2" type="textarea" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
||||
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
|
||||
<el-button type="text" @click="crud.cancelCU">{{ $t('task.select.Cancel') }}</el-button>
|
||||
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">{{ $t('task.select.Confirm') }}</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-row :gutter="15">
|
||||
@@ -44,7 +44,7 @@
|
||||
<el-col :span="12" style="margin-bottom: 10px">
|
||||
<el-card class="box-card" shadow="never">
|
||||
<div slot="header" class="clearfix">
|
||||
<span class="role-span">角色列表</span>
|
||||
<span class="role-span">{{ $t('role.table_value.roleList') }}</span>
|
||||
</div>
|
||||
<el-table
|
||||
ref="table"
|
||||
@@ -56,16 +56,16 @@
|
||||
@current-change="handleCurrentChange"
|
||||
>
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column prop="name" label="名称" min-width="100" show-overflow-tooltip />
|
||||
<el-table-column show-overflow-tooltip prop="remark" label="描述" />
|
||||
<el-table-column show-overflow-tooltip width="135px" prop="createTime" label="创建日期">
|
||||
<el-table-column prop="name" :label="$t('role.table_value.Name')" :min-width="flexWidth('name',crud.data,$t('role.table_value.Name'))" show-overflow-tooltip />
|
||||
<el-table-column show-overflow-tooltip prop="remark" :label="$t('role.table_value.Description')" :min-width="flexWidth('remark',crud.data,$t('role.table_value.Description'))" />
|
||||
<el-table-column show-overflow-tooltip :min-width="flexWidth('create_time',crud.data,$t('role.table_value.CreateDate'))" prop="create_time" :label="$t('role.table_value.CreateDate')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||
<span>{{ parseTime(scope.row.create_time) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-permission="['admin','roles:edit','roles:del']"
|
||||
label="操作"
|
||||
:label="$t('role.table_value.Operate')"
|
||||
width="130px"
|
||||
align="center"
|
||||
fixed="right"
|
||||
@@ -87,7 +87,7 @@
|
||||
<el-card class="box-card" shadow="never">
|
||||
<div slot="header" class="clearfix">
|
||||
<el-tooltip class="item" effect="dark" content="选择指定角色分配菜单" placement="top">
|
||||
<span class="role-span">菜单分配</span>
|
||||
<span class="role-span">{{ $t('role.other.Menu_assignments') }}</span>
|
||||
</el-tooltip>
|
||||
<el-button
|
||||
v-permission="['admin','roles:edit']"
|
||||
@@ -98,7 +98,7 @@
|
||||
style="float: right; padding: 6px 10px"
|
||||
type="primary"
|
||||
@click="saveMenu"
|
||||
>保存
|
||||
>{{ $t('role.other.Save') }}
|
||||
</el-button>
|
||||
</div>
|
||||
|
||||
@@ -130,13 +130,14 @@ import rrOperation from '@crud/RR.operation'
|
||||
import crudOperation from '@crud/CRUD.operation'
|
||||
import udOperation from '@crud/UD.operation'
|
||||
import pagination from '@crud/Pagination'
|
||||
import i18n from '@/i18n'
|
||||
|
||||
const defaultForm = { role_id: null, name: null, remark: null }
|
||||
export default {
|
||||
name: 'Role',
|
||||
components: { pagination, crudOperation, rrOperation, udOperation, crudMenu },
|
||||
components: { pagination, crudOperation, rrOperation, udOperation },
|
||||
cruds() {
|
||||
return CRUD({ idField: 'role_id', title: '角色', url: 'api/sysRole', crudMethod: { ...crudRoles }})
|
||||
return CRUD({ idField: 'role_id', title: i18n.t('role.table_value.Role'), url: 'api/sysRole', crudMethod: { ...crudRoles }})
|
||||
},
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
data() {
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
v-model="deptName"
|
||||
clearable
|
||||
size="mini"
|
||||
placeholder="请输入部门名称"
|
||||
:placeholder="$t('user.table_title.enter_department_name')"
|
||||
prefix-icon="el-icon-search"
|
||||
class="filter-item"
|
||||
@input="getDeptDatas"
|
||||
@@ -30,7 +30,7 @@
|
||||
v-model="query.blurry"
|
||||
clearable
|
||||
size="mini"
|
||||
placeholder="输入账号或者名称"
|
||||
:placeholder="$t('user.table_title.Enter_Account_Number (Name)')"
|
||||
style="width: 200px;"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
@@ -39,7 +39,7 @@
|
||||
v-model="query.is_used"
|
||||
clearable
|
||||
size="mini"
|
||||
placeholder="状态"
|
||||
:placeholder="$t('user.table_title.State')"
|
||||
class="filter-item"
|
||||
style="width: 90px"
|
||||
@change="crud.toQuery"
|
||||
@@ -65,42 +65,42 @@
|
||||
width="700px"
|
||||
>
|
||||
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="mini" label-width="100px">
|
||||
<el-form-item label="用户名" prop="username">
|
||||
<el-form-item :label="$t('user.table_value.Username')" prop="username">
|
||||
<el-input v-model="form.username" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="电话" prop="phone">
|
||||
<el-form-item :label="$t('user.table_value.Phone')" prop="phone">
|
||||
<el-input v-model.number="form.phone" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="姓名" prop="preson_name">
|
||||
<el-form-item :label="$t('user.table_value.Name')" prop="preson_name">
|
||||
<el-input v-model="form.person_name" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="邮箱" prop="email">
|
||||
<el-form-item :label="$t('user.table_value.Mailbox')" prop="email">
|
||||
<el-input v-model="form.email" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<br v-if="!crud.status.edit">
|
||||
<el-form-item v-if="crud.status.add" label="部门" prop="depts" :rules="[{ required: true, message: '请选择部门', trigger: 'change' }]">
|
||||
<el-form-item v-if="crud.status.add" :label="$t('user.table_value.Department')" prop="depts" :rules="[{ required: true, message: '请选择部门', trigger: 'change' }]">
|
||||
<treeselect
|
||||
v-model="form.depts"
|
||||
:load-options="loadDepts"
|
||||
:options="deptDatas"
|
||||
style="width: 370px;"
|
||||
style="width: 200px;"
|
||||
:multiple="true"
|
||||
:flat="true"
|
||||
:normalizer="normalizer"
|
||||
placeholder="选择部门类目"
|
||||
:placeholder="$t('user.table_value.Select_Sector_Categories')"
|
||||
/>
|
||||
</el-form-item>
|
||||
<br v-if="!crud.status.add">
|
||||
<el-form-item v-if="crud.status.add" label="密码" prop="password">
|
||||
<el-form-item v-if="crud.status.add" :label="$t('user.table_value.Password')" prop="password">
|
||||
<el-input v-model="form.password" style="width: 200px;" show-password auto-complete="new-password" />
|
||||
</el-form-item>
|
||||
<el-form-item label="性别">
|
||||
<el-radio-group v-model="form.gender" style="width: 178px">
|
||||
<el-radio label="男">男</el-radio>
|
||||
<el-radio label="女">女</el-radio>
|
||||
<el-form-item :label="$t('user.table_value.Sex')">
|
||||
<el-radio-group v-model="form.gender" style="width: 200px">
|
||||
<el-radio :label="$t('user.table_value.boy')">{{ $t('user.table_value.boy') }}</el-radio>
|
||||
<el-radio :label="$t('user.table_value.girl')">{{ $t('user.table_value.girl') }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" prop="is_uesd">
|
||||
<el-form-item :label="$t('user.table_value.State')" prop="is_uesd">
|
||||
<el-switch
|
||||
v-model="form.is_used"
|
||||
active-color="#409EFF"
|
||||
@@ -108,14 +108,14 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<br v-if="!crud.status.edit">
|
||||
<el-form-item v-if="crud.status.add" style="margin-bottom: 0;" label="角色" prop="roles">
|
||||
<el-form-item v-if="crud.status.add" style="margin-bottom: 0;" :label="$t('role.table_value.Role')" prop="roles">
|
||||
<el-select
|
||||
v-model="roleDatas"
|
||||
style="width: 512px"
|
||||
style="width: 200px"
|
||||
multiple
|
||||
active-value="1"
|
||||
inactive-value="0"
|
||||
placeholder="请选择"
|
||||
:placeholder="$t('auto.common.please')"
|
||||
@remove-tag="deleteTag"
|
||||
@change="changeRole"
|
||||
>
|
||||
@@ -130,8 +130,8 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
||||
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
|
||||
<el-button type="text" @click="crud.cancelCU">{{ $t('auto.common.Cancel') }}</el-button>
|
||||
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">{{ $t('auto.common.Confirm') }}</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!--表格渲染-->
|
||||
@@ -143,48 +143,50 @@
|
||||
@selection-change="crud.selectionChangeHandler"
|
||||
>
|
||||
<el-table-column :selectable="checkboxT" type="selection" width="55" />
|
||||
<el-table-column prop="username" label="用户名" :min-width="flexWidth('username',crud.data,'用户名')" />
|
||||
<el-table-column prop="username" :label="$t('user.table_value.Username')" :min-width="flexWidth('username',crud.data,$t('user.table_value.Username'))" />
|
||||
<el-table-column
|
||||
prop="person_name"
|
||||
label="姓名"
|
||||
:min-width="flexWidth('person_name',crud.data,'姓名')"
|
||||
:label="$t('user.table_value.Name')"
|
||||
:min-width="flexWidth('person_name',crud.data,$t('user.table_value.Name'))"
|
||||
/>
|
||||
<el-table-column prop="gender" label="性别" :min-width="flexWidth('person_name',crud.data,'性别')" />
|
||||
<el-table-column prop="phone" label="电话" :min-width="flexWidth('phone',crud.data,'电话')" />
|
||||
<el-table-column prop="email" label="邮箱" :min-width="flexWidth('email',crud.data,'邮箱')" />
|
||||
<el-table-column show-overflow-tooltip prop="depts" label="部门">
|
||||
<el-table-column prop="gender" :label="$t('user.table_value.Sex')" :min-width="flexWidth('gender',crud.data,$t('user.table_value.Sex'))" />
|
||||
<el-table-column prop="phone" :label="$t('user.table_value.Phone')" :min-width="flexWidth('phone',crud.data,$t('user.table_value.Phone'))" />
|
||||
<el-table-column prop="email" :label="$t('user.table_value.Mailbox')" :min-width="flexWidth('email',crud.data,$t('user.table_value.Mailbox'))" />
|
||||
<el-table-column show-overflow-tooltip prop="depts" :label="$t('user.table_value.Department')" :min-width="flexWidth('depts',crud.data,$t('user.table_value.Department'))">
|
||||
<template slot-scope="scope">
|
||||
<span v-for=" item in scope.row.depts" :key="item.index">{{ item.name }} </span>
|
||||
<span v-for="(item, index) in scope.row.depts" :key="index">
|
||||
{{ item.name }}<span v-if="index !== scope.row.depts.length - 1">、</span>
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>>
|
||||
<el-table-column label="状态" align="center" prop="enabled">
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('user.table_value.State')" align="center" prop="enabled" :min-width="flexWidth('enabled',crud.data,$t('user.table_value.State'))">
|
||||
<template slot-scope="scope">
|
||||
<span :style="{'color': caseStatusColorFilter(scope.row.is_used)}">{{ enabledTypeOptions.find(item => {return item.key == scope.row.is_used}).display_name }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="create_time" label="创建日期" :min-width="flexWidth('create_time',crud.data,'创建日期')" />
|
||||
<el-table-column prop="create_time" :label="$t('user.table_value.create_Date')" :min-width="flexWidth('create_time',crud.data,$t('user.table_value.create_Date'))" />
|
||||
<el-table-column
|
||||
label="操作"
|
||||
:label="$t('user.table_value.Operate')"
|
||||
fixed="right"
|
||||
align="center"
|
||||
width="200"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="crud.toEdit(scope.row)">修改</el-button>
|
||||
<el-button size="mini" type="text" icon="el-icon-delete" @click="handdeleted(scope.row)">删除</el-button>
|
||||
<el-dropdown size="mini">
|
||||
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
|
||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="crud.toEdit(scope.row)">{{ $t('user.other.Revise') }}</el-button>
|
||||
<el-button size="mini" type="text" icon="el-icon-delete" @click="handdeleted(scope.row)">{{ $t('user.other.Delete') }}</el-button>
|
||||
<el-dropdown v-hasPermi="['system:user:resetPwd', 'system:user:edit']" size="mini">
|
||||
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">{{ $t('user.other.More') }}</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item icon="el-icon-refresh-right"><span @click="resetPassword(scope.row)">重置密码</span></el-dropdown-item>
|
||||
<el-dropdown-item icon="el-icon-refresh-right"><span @click="resetPassword(scope.row)">{{ $t('user.other.Reset') }}</span></el-dropdown-item>
|
||||
<el-dropdown-item icon="el-icon-key">
|
||||
<span @click="openDeptDrawer(scope.row)">分配部门</span>
|
||||
<span @click="openDeptDrawer(scope.row)">{{ $t('user.other.Department_permissions') }}</span>
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item icon="el-icon-key">
|
||||
<span @click="openDataDialog(scope.row)">数据权限</span>
|
||||
<span @click="openDataDialog(scope.row)">{{ $t('user.other.Data_Permissions') }}</span>
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item icon="el-icon-lock"><span @click="changeEnabled(scope.row)">{{ enabledTypeOptions.find(item => {return item.key !== scope.row.is_used}).display_name }}账号</span></el-dropdown-item>
|
||||
<el-dropdown-item icon="el-icon-lock"><span @click="changeEnabled(scope.row)">{{ enabledTypeOptions.find(item => {return item.key !== scope.row.is_used}).display_name }}{{ $t('user.other.Lock_account') }}</span></el-dropdown-item>
|
||||
<el-dropdown-item icon="el-icon-circle-check">
|
||||
<span @click="openRoleDrawer(scope.row)">分配角色</span>
|
||||
<span @click="openRoleDrawer(scope.row)">{{ $t('user.other.Assign_roles') }}</span>
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
@@ -323,13 +325,13 @@ import { getAll, getLevel } from '@/views/system/role/role'
|
||||
import CRUD, { crud, form, header, presenter } from '@crud/crud'
|
||||
import rrOperation from '@crud/RR.operation'
|
||||
import crudOperation from '@crud/CRUD.operation'
|
||||
import udOperation from '@crud/UD.operation'
|
||||
import pagination from '@crud/Pagination'
|
||||
import Treeselect, { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect'
|
||||
import { mapGetters } from 'vuex'
|
||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
import RelevanceUserDialog from '@/views/system/user/dialog/relevanceUserDialog'
|
||||
import RelevanceDeptDialog from '@/views/system/user/dialog/relevanceDeptDialog'
|
||||
import i18n from '@/i18n'
|
||||
|
||||
let userRoles = []
|
||||
const defaultForm = {
|
||||
@@ -346,9 +348,9 @@ const defaultForm = {
|
||||
}
|
||||
export default {
|
||||
name: 'User',
|
||||
components: { RelevanceDeptDialog, RelevanceUserDialog, Treeselect, crudOperation, rrOperation, udOperation, pagination },
|
||||
components: { RelevanceDeptDialog, RelevanceUserDialog, Treeselect, crudOperation, rrOperation, pagination },
|
||||
cruds() {
|
||||
return CRUD({ title: '用户', idField: 'user_id', url: 'api/users', crudMethod: { ...crudUser }})
|
||||
return CRUD({ title: i18n.t('user.table_value.User'), idField: 'user_id', url: 'api/users', crudMethod: { ...crudUser }})
|
||||
},
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
// 数据字典
|
||||
@@ -366,8 +368,8 @@ export default {
|
||||
del: ['admin', 'user:del']
|
||||
},
|
||||
enabledTypeOptions: [
|
||||
{ key: true, display_name: '激活' },
|
||||
{ key: false, display_name: '锁定' }
|
||||
{ key: true, display_name: i18n.t('user.table_value.activation') },
|
||||
{ key: false, display_name: i18n.t('user.table_value.lock') }
|
||||
],
|
||||
rules: {
|
||||
username: [
|
||||
@@ -445,7 +447,6 @@ export default {
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
|
||||
this.crud.delAllLoading = true
|
||||
this.crud.doDelete(datas)
|
||||
}).catch(() => {
|
||||
@@ -583,7 +584,6 @@ export default {
|
||||
},
|
||||
// 切换部门
|
||||
handleNodeClick(data) {
|
||||
|
||||
this.query.dept_id = data.dept_id
|
||||
this.query.needAll = true
|
||||
this.crud.toQuery()
|
||||
@@ -696,7 +696,7 @@ export default {
|
||||
this.$nextTick(function() {
|
||||
for (var index = 0; index < res.length; index++) {
|
||||
for (var i = 0; i < this.dataDialog.dataScopeType.length; i++) {
|
||||
if (this.dataDialog.dataScopeType[i].value == res[index].permissionScopeType) {
|
||||
if (this.dataDialog.dataScopeType[i].value === res[index].permissionScopeType) {
|
||||
this.dataDialog.dataScopeType[i].permissionId = res[index].permissionId
|
||||
if (res[index].users) this.dataDialog.dataScopeType[i].users = res[index].users
|
||||
if (res[index].depts) this.dataDialog.dataScopeType[i].depts = res[index].depts
|
||||
@@ -716,7 +716,7 @@ export default {
|
||||
},
|
||||
openRelevance(row, index) {
|
||||
for (var i = 0; i < this.permissions.length; i++) {
|
||||
if (this.permissions[i].permissionId != undefined && this.permissions[i].permissionId && this.permissions[i].permissionId != row.permissionId) {
|
||||
if (this.permissions[i].permissionId !== undefined && this.permissions[i].permissionId && this.permissions[i].permissionId !== row.permissionId) {
|
||||
this.$delete(this.dataDialog.dataScopeType[index], this.permissions[i].permissionId.toString())
|
||||
}
|
||||
}
|
||||
@@ -725,15 +725,15 @@ export default {
|
||||
this.deptIds = []
|
||||
this.userIds = []
|
||||
console.log(row)
|
||||
if (row.permissionId == '1605129738328870912') { // 选择用户
|
||||
if (row.permissionId === '1605129738328870912') { // 选择用户
|
||||
this.userIds = this.dataDialog.dataScopeType[index].users
|
||||
this.rowData = row
|
||||
this.relevanceUser = true
|
||||
} else if (row.permissionId == '1605129882164137984') { // 选择部门
|
||||
} else if (row.permissionId === '1605129882164137984') { // 选择部门
|
||||
this.deptIds = this.dataDialog.dataScopeType[index].depts
|
||||
this.rowData = row
|
||||
this.relevanceDept = true
|
||||
} else if (row.permissionId == '1605128919449735168') { // 自身
|
||||
} else if (row.permissionId === '1605128919449735168') { // 自身
|
||||
const param = {
|
||||
user_id: this.dataDialog.user_id
|
||||
}
|
||||
@@ -746,8 +746,8 @@ export default {
|
||||
},
|
||||
selectUsers(row) { // row对话框传来的数据
|
||||
for (var i = 0; i < this.dataDialog.dataScopeType.length; i++) {
|
||||
if (this.dataDialog.dataScopeType[i].dictId == this.rowData.dictId) {
|
||||
if (this.dataDialog.dataScopeType[i].depts != undefined && this.dataDialog.dataScopeType[i].depts.length > 0) this.dataDialog.dataScopeType[i].depts = []
|
||||
if (this.dataDialog.dataScopeType[i].dictId === this.rowData.dictId) {
|
||||
if (this.dataDialog.dataScopeType[i].depts !== undefined && this.dataDialog.dataScopeType[i].depts.length > 0) this.dataDialog.dataScopeType[i].depts = []
|
||||
this.dataDialog.dataScopeType[i].users = row
|
||||
break
|
||||
}
|
||||
@@ -756,8 +756,8 @@ export default {
|
||||
},
|
||||
selectDepts(row) {
|
||||
for (var i = 0; i < this.dataDialog.dataScopeType.length; i++) {
|
||||
if (this.dataDialog.dataScopeType[i].dictId == this.rowData.dictId) {
|
||||
if (this.dataDialog.dataScopeType[i].users != undefined && this.dataDialog.dataScopeType[i].users.length > 0) this.dataDialog.dataScopeType[i].users = []
|
||||
if (this.dataDialog.dataScopeType[i].dictId === this.rowData.dictId) {
|
||||
if (this.dataDialog.dataScopeType[i].users !== undefined && this.dataDialog.dataScopeType[i].users.length > 0) this.dataDialog.dataScopeType[i].users = []
|
||||
this.dataDialog.dataScopeType[i].depts = row
|
||||
break
|
||||
}
|
||||
@@ -855,7 +855,7 @@ export default {
|
||||
checkNode.parent.indeterminate = false
|
||||
}
|
||||
// 如果取消所有第二节点的勾选状态,则第一层父节点也取消勾选
|
||||
if (checkNode.level == 2 && checkNode.parent.childNodes.every(ele => !ele.checked)) {
|
||||
if (checkNode.level === 2 && checkNode.parent.childNodes.every(ele => !ele.checked)) {
|
||||
checkNode.parent.checked = false
|
||||
checkNode.parent.indeterminate = false
|
||||
}
|
||||
@@ -880,4 +880,13 @@ export default {
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
}
|
||||
.el-form-item__label {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.no-wrap {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user