部分模块增加中英文
This commit is contained in:
@@ -2,14 +2,16 @@
|
||||
<el-breadcrumb class="app-breadcrumb" separator="/">
|
||||
<transition-group name="breadcrumb">
|
||||
<el-breadcrumb-item v-for="(item,index) in levelList" v-if="item.meta.title" :key="item.path">
|
||||
<span v-if="item.redirect==='noredirect'||index==levelList.length-1" class="no-redirect">{{ item.meta.title }}</span>
|
||||
<router-link v-else :to="item.redirect||item.path">{{ item.meta.title }}</router-link>
|
||||
<span v-if="item.redirect==='noredirect'||index==levelList.length-1" class="no-redirect">{{ translateMenuTitle(item.meta.title) }}</span>
|
||||
<router-link v-else :to="item.redirect||item.path">{{ translateMenuTitle(item.meta.title) }}</router-link>
|
||||
</el-breadcrumb-item>
|
||||
</transition-group>
|
||||
</el-breadcrumb>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { translateMenuTitle } from '@/utils/i18n'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@@ -25,6 +27,7 @@ export default {
|
||||
this.getBreadcrumb()
|
||||
},
|
||||
methods: {
|
||||
translateMenuTitle,
|
||||
getBreadcrumb() {
|
||||
let matched = this.$route.matched.filter(item => item.name)
|
||||
const first = matched[0]
|
||||
|
||||
@@ -10,5 +10,399 @@ export default {
|
||||
language: 'Language',
|
||||
chinese: 'Chinese',
|
||||
english: 'English'
|
||||
},
|
||||
login: {
|
||||
systemName: 'Intelligent Assembly Line Information Management System',
|
||||
usernamePlaceholder: 'Please enter username',
|
||||
passwordPlaceholder: 'Please enter password',
|
||||
rememberPassword: 'Remember password',
|
||||
changePassword: 'Change password',
|
||||
loginButton: 'Login',
|
||||
account: 'Attendance No.',
|
||||
oldPassword: 'Old password',
|
||||
newPassword: 'New password',
|
||||
confirmPassword: 'Confirm password',
|
||||
confirmPasswordPlaceholder: 'Please enter confirm password',
|
||||
oldPasswordPlaceholder: 'Please enter old password',
|
||||
newPasswordPlaceholder: 'Please enter new password',
|
||||
passwordNotSame: 'The two passwords do not match',
|
||||
changeSuccess: 'Changed successfully',
|
||||
editFailed: 'Edit failed',
|
||||
accountPasswordError: 'Incorrect username or password'
|
||||
},
|
||||
menuManagement: {
|
||||
filterPlaceholder: 'Enter keyword to filter',
|
||||
menuName: 'Menu Name',
|
||||
firstLevelMenuName: 'First-Level Menu',
|
||||
secondLevelMenuName: 'Second-Level Menu',
|
||||
roleName: 'Role Name',
|
||||
role: 'Role:',
|
||||
selectPlaceholder: 'Please select',
|
||||
sequence: 'No.',
|
||||
addFirstLevelModule: 'Add First-Level Menu',
|
||||
assignFirstLevelTooltip: 'Assign the selected first-level menu to this role',
|
||||
assignSecondLevelTooltip: 'Assign the selected second-level menu to the selected first-level menu of this role',
|
||||
moveUp: 'Move Up',
|
||||
moveDown: 'Move Down',
|
||||
remove: 'Remove',
|
||||
prompt: 'Prompt',
|
||||
confirmReturnMenu: 'Confirm removing the assigned menu?',
|
||||
confirmAssignFirstLevelMenu: 'Confirm assigning the selected first-level menu to the selected role?',
|
||||
confirmAssignSecondLevelMenu: 'Confirm assigning the selected second-level menu to the selected first-level menu of the selected role?',
|
||||
operationSuccess: 'Operation succeeded',
|
||||
operationFailed: 'Operation failed',
|
||||
operationCanceled: 'Operation canceled',
|
||||
moveUpSuccess: 'Moved up successfully',
|
||||
moveUpFailed: 'Failed to move up',
|
||||
alreadyFirst: 'The current item is already first',
|
||||
alreadyLast: 'The current item is already last',
|
||||
assignOneFirstLevelOnly: 'Can only assign to one first-level menu',
|
||||
requiredInput: 'Please enter'
|
||||
},
|
||||
personnelManagement: {
|
||||
add: 'Add',
|
||||
edit: 'Edit',
|
||||
delete: 'Delete',
|
||||
peopleName: 'Employee Name:',
|
||||
peopleNamePlaceholder: 'Please enter employee name',
|
||||
resign: 'Resign',
|
||||
resignedList: 'Resigned List',
|
||||
move: 'Move',
|
||||
selectDepartmentPlaceholder: 'Please select department',
|
||||
departmentMaintenance: 'Department Maintenance',
|
||||
expand: 'Expand',
|
||||
sequence: 'No.',
|
||||
departmentName: 'Dep. Name',
|
||||
attendanceNo: 'Employee ID',
|
||||
jobNo: 'Employee ID',
|
||||
password: 'Password',
|
||||
employeeName: 'User Name',
|
||||
operation: 'Operation',
|
||||
addDepartment: 'Add Department',
|
||||
editDepartment: 'Edit Department',
|
||||
addEmployee: 'Add Employee',
|
||||
editEmployeeTitle: 'Edit Employee',
|
||||
uploadPicture: 'Upload Picture',
|
||||
prompt: 'Prompt',
|
||||
requiredInput: 'Please enter',
|
||||
confirmDeleteResignedEmployee: 'This action will permanently delete the resigned employee record. Continue?',
|
||||
confirmDeleteImage: 'This action will permanently delete the image. Continue?',
|
||||
confirmDeleteDepartment: 'This action will permanently delete this data. Continue?',
|
||||
confirmResign: 'This action will permanently remove this row. Continue?',
|
||||
deleteSuccess: 'Deleted successfully',
|
||||
deleteFailed: 'Delete failed',
|
||||
deleteCanceled: 'Delete canceled',
|
||||
cancelDelete: 'Deletion canceled',
|
||||
uploadSuccess: 'Uploaded successfully!',
|
||||
imageOnly: 'Only image files can be uploaded',
|
||||
uploadLimitOne: 'Only one photo can be uploaded',
|
||||
selectDepartmentToEdit: 'Please select the department to edit',
|
||||
addSuccess: 'Added successfully',
|
||||
addFailed: 'Add failed',
|
||||
editSuccess: 'Edited successfully',
|
||||
editFailed: 'Edit failed',
|
||||
deleteCompleted: 'Deleted successfully',
|
||||
selectDepartment: 'Please select department',
|
||||
enterPeopleName: 'Please enter employee name',
|
||||
selectDepartmentName: 'Please select department name',
|
||||
selectEmployeesForResign: 'Please select employees to resign',
|
||||
resignSuccess: 'Resigned successfully',
|
||||
resignFailed: 'Resign failed',
|
||||
resignCanceled: 'Resign operation canceled',
|
||||
moveGroupSuccess: 'Moved successfully',
|
||||
updateFailed: 'Update failed',
|
||||
selectAtLeastOnePerson: 'Please select at least one person'
|
||||
},
|
||||
systemRoleMaintenance: {
|
||||
add: 'Add',
|
||||
roleCode: 'Role Code',
|
||||
roleFunction: 'Role Function',
|
||||
operation: 'Operation',
|
||||
addRole: 'Add Role',
|
||||
editRole: 'Edit Role',
|
||||
roleName: 'Role Name',
|
||||
roleFunctionPlaceholder: 'Role function',
|
||||
enterRoleName: 'Please enter role name',
|
||||
prompt: 'Prompt',
|
||||
addSuccess: 'Added successfully',
|
||||
addFailed: 'Add failed',
|
||||
editSuccess: 'Edited successfully',
|
||||
editFailed: 'Edit failed',
|
||||
confirmDelete: 'This action will permanently delete this row. Continue?',
|
||||
deleteSuccess: 'Deleted successfully',
|
||||
deleteFailed: 'Delete failed',
|
||||
deleteCanceled: 'Delete canceled'
|
||||
},
|
||||
workshopPersonnelRoleMana: {
|
||||
staffName: 'Staff Name',
|
||||
roleName: 'Role Name',
|
||||
search: 'Search',
|
||||
add: 'Add',
|
||||
edit: 'Edit',
|
||||
sequence: 'No.',
|
||||
departmentName: 'Department',
|
||||
attendanceNo: 'Attendance No.',
|
||||
operation: 'Operation',
|
||||
personnelInfo: 'Personnel Info',
|
||||
name: 'Name',
|
||||
gender: 'Gender',
|
||||
doubleClickSelect: 'Double-click to select',
|
||||
selectStaffName: 'Please select employee name',
|
||||
selectStaffRole: 'Please select employee role',
|
||||
prompt: 'Prompt',
|
||||
addSuccess: 'Added successfully',
|
||||
addFailed: 'Add failed',
|
||||
editSuccess: 'Updated successfully',
|
||||
editFailed: 'Update failed',
|
||||
confirmDelete: 'This action will permanently delete this row. Continue?',
|
||||
deleteSuccess: 'Deleted successfully',
|
||||
deleteFailed: 'Delete failed',
|
||||
deleteCanceled: 'Delete canceled'
|
||||
},
|
||||
stationInformationMaintenance: {
|
||||
sequence: 'No.',
|
||||
stationNumber: 'Station No.',
|
||||
stationName: 'Station Name',
|
||||
stationMESFunction: 'MES Function',
|
||||
enabled: 'Enabled',
|
||||
disabled: 'Disabled',
|
||||
mesDll: 'MES_DLL',
|
||||
operation: 'Operation',
|
||||
edit: 'Edit',
|
||||
add: 'Add',
|
||||
addStationInfo: 'Add Station Info',
|
||||
editStationInfo: 'Edit Station Info',
|
||||
electricalComponents: 'Electrical Components',
|
||||
number: 'Number',
|
||||
description: 'Description',
|
||||
disabledStatus: 'Disabled Status',
|
||||
remarks: 'Remarks',
|
||||
import: 'Import',
|
||||
importToDatabase: 'Import to Database',
|
||||
enterStationName: 'Please enter station name',
|
||||
selectStationMES: 'Please select whether to enable station MES',
|
||||
prompt: 'Prompt',
|
||||
addSuccess: 'Added successfully',
|
||||
addFailed: 'Add failed!',
|
||||
editSuccess: 'Updated successfully',
|
||||
editFailed: 'Update failed!',
|
||||
deleteSuccess: 'Deleted successfully',
|
||||
deleteFailed: 'Delete failed!',
|
||||
deleteCanceled: 'Delete canceled',
|
||||
duplicateStationCode: 'Duplicate station code. Please re-enter.',
|
||||
confirmClose: 'Confirm close?',
|
||||
noData: 'No data',
|
||||
selectRowToCopy: 'Please select a row to copy.',
|
||||
confirmDelete: 'This action will permanently delete this row. Continue?',
|
||||
alreadyExistsCheckFile: ' already exists. Please check whether the file is correct',
|
||||
stationNumberRequired: 'Station number cannot be empty',
|
||||
confirmImportFile: 'Please check whether the import file is correct',
|
||||
importCompleted: 'Import completed',
|
||||
importFailedCountPrefix: 'Import failed count: ',
|
||||
importFailedCountSuffix: '. Please check whether the file is correct',
|
||||
importDataErrorFile: 'Import data error. Please check whether the import file is correct',
|
||||
importFailedForStation: ' import failed',
|
||||
duplicateDataForStation: ' has duplicate data',
|
||||
importDataError: 'Import data error'
|
||||
},
|
||||
releaseOfProductionPlan: {
|
||||
orderNumberLabel: 'Order No.',
|
||||
filterOrderNumber: 'Please enter order number',
|
||||
productModelLabel: 'Product Model',
|
||||
selectProductModel: 'Please select product model',
|
||||
startDateLabel: 'Start Date',
|
||||
endDateLabel: 'End Date',
|
||||
selectStartDate: 'Please select start date',
|
||||
selectEndDate: 'Please select end date',
|
||||
searchOrder: 'Search',
|
||||
createOrder: 'Create Order',
|
||||
loadingData: 'Loading data',
|
||||
sort: 'Sort',
|
||||
sequence: 'No.',
|
||||
crankcaseAssemblyNo: 'Crankcase Assembly No.',
|
||||
onlineTime: 'Online Time',
|
||||
offlineTime: 'Offline Time',
|
||||
orderNumber: 'Order No.',
|
||||
productModel: 'Pro. Model',
|
||||
planQuantity: 'Planned Qty',
|
||||
planStartDate: 'Planned Start Time',
|
||||
planEndDate: 'Planned Finish Time',
|
||||
productionStatus: 'Production Status',
|
||||
notStarted: 'Not Started',
|
||||
inProduction: 'In Production',
|
||||
completed: 'Completed',
|
||||
operation: 'Operation',
|
||||
completeOrder: 'Complete',
|
||||
modify: 'Edit',
|
||||
delete: 'Delete',
|
||||
issue: 'Issue',
|
||||
withdraw: 'Withdraw',
|
||||
moveUp: 'Up',
|
||||
moveDown: 'Down',
|
||||
createProductionOrder: 'Create Production Order',
|
||||
editProductionOrder: 'Edit Production Order',
|
||||
enterOrderNumber: 'Please enter order number',
|
||||
enterPlanQuantity: 'Please enter planned quantity',
|
||||
planStartTime: 'Start Time',
|
||||
planEndTime: 'Finish Time',
|
||||
selectStartTime: 'Please select start time',
|
||||
selectEndTime: 'Please select end time',
|
||||
orderImport: 'Order Import',
|
||||
importToDatabase: 'Import to Database',
|
||||
printTransmissionBarcode: 'Print Transmission Barcode',
|
||||
enterProductModel: 'Please enter product model',
|
||||
assemblyNo: 'Assembly No.',
|
||||
enterAssemblyNo: 'Please enter assembly number',
|
||||
serialNo: 'Start Serial No.',
|
||||
enterEightDigitSerialNo: 'Please enter an 8-digit start serial number',
|
||||
printDate: 'Print Date',
|
||||
selectPrintDate: 'Please select print date',
|
||||
printQuantity: 'Print Quantity',
|
||||
enterPrintQuantity: 'Please enter print quantity',
|
||||
printProgress: 'Print Progress: ',
|
||||
enterAssemblyNoRequired: 'Please enter assembly number',
|
||||
enterOrderNumberRequired: 'Please enter order number',
|
||||
enterProductModelRequired: 'Please enter product model',
|
||||
serialNoMinLength: 'Minimum length is 8 characters',
|
||||
selectPrintDateRequired: 'Please select print date',
|
||||
enterPrintQuantityRequired: 'Please enter print quantity',
|
||||
enterPlanQuantityRequired: 'Please enter planned quantity',
|
||||
selectEngineTypeRequired: 'Please select model',
|
||||
selectAssemblyNoRequired: 'Please select assembly number',
|
||||
selectPlanStartTimeRequired: 'Please select planned start time',
|
||||
selectPlanEndTimeRequired: 'Please select planned finish time',
|
||||
enterPlannedCompletionRequired: 'Please enter planned completion quantity',
|
||||
enterIssuedQuantityRequired: 'Please enter issued quantity',
|
||||
prompt: 'Prompt',
|
||||
noPartCodeForModel: 'No part number is mapped to this model',
|
||||
orderCreateSuccess: 'Order created successfully',
|
||||
orderDuplicateCreateFailed: 'Duplicate order. Creation failed!',
|
||||
orderCreateFailed: 'Order creation failed!',
|
||||
startPrintingTransmissionBarcode: 'Start printing transmission barcodes',
|
||||
printTransmissionBarcodeFailed: 'Failed to print transmission barcode!',
|
||||
allBarcodesPrinted: 'All barcodes printed',
|
||||
recordFailed: 'Record failed!',
|
||||
confirmDeleteOrder: 'This action will permanently delete this row. Continue?',
|
||||
orderDeleteSuccess: 'Order deleted successfully',
|
||||
orderDeleteFailed: 'Order deletion failed!',
|
||||
deleteCanceled: 'Deletion canceled',
|
||||
orderEditSuccess: 'Order updated successfully',
|
||||
confirmIssueOrder: 'Confirm issuing order {orderNo}?',
|
||||
orderIssueSuccess: 'Order issued successfully!',
|
||||
orderIssueFailed: 'Order issuance failed!',
|
||||
confirmWithdrawOrder: 'Confirm withdrawing order {orderNo}?',
|
||||
orderWithdrawSuccess: 'Order withdrawn successfully!',
|
||||
orderWithdrawFailed: 'Order withdrawal failed!',
|
||||
contentEmpty: 'Content is empty',
|
||||
materialDictionaryUpdated: 'Material dictionary updated successfully',
|
||||
alreadyExistsCheckFile: '{name} already exists. Please check whether the file is correct',
|
||||
orderNumberRequired: 'Order number cannot be empty',
|
||||
planQuantityRequired: 'Planned quantity cannot be empty',
|
||||
confirmImportFile: 'Please check whether the import file is correct',
|
||||
importCompleted: 'Import completed',
|
||||
importFailedCount: 'Import failed count: {count}. Please check whether the file is correct',
|
||||
importDataErrorFile: 'Import data error. Please check whether the import file is correct',
|
||||
importFailedSuffix: '{value} import failed',
|
||||
duplicateDataSuffix: '{value} has duplicate data',
|
||||
importDataError: 'Import data error',
|
||||
noData: 'No data',
|
||||
selectOrder: 'Please select an order!',
|
||||
confirmCompleteOrder: 'Confirm early completion for order {orderNo}?'
|
||||
},
|
||||
menu: {
|
||||
'主页': 'Home',
|
||||
'菜单管理': 'Menus',
|
||||
'系统管理': 'Admin',
|
||||
'工厂日历': 'Calendar',
|
||||
'人员管理': 'Users',
|
||||
'系统角色维护': 'Roles',
|
||||
'人员角色分配': 'User Roles',
|
||||
'生产计划管理': 'Prod. Planning',
|
||||
'生产计划': 'Prod. Plan',
|
||||
'计划状态查看': 'Plan Status',
|
||||
'工艺管理': 'Process',
|
||||
'MES消息维护': 'MES Message',
|
||||
'界面标签语言维护': 'UI Labels',
|
||||
'界面模块维护': 'UI Modules',
|
||||
'检查内容维护': 'Inspection',
|
||||
'工艺图片维护': 'Process Images',
|
||||
'物料扫码维护': 'Material Scan',
|
||||
'工艺PDF维护': 'Process PDFs',
|
||||
'Andon呼叫维护': 'Andon Calls',
|
||||
'工艺参数维护': 'Process Params',
|
||||
'测量范围维护': 'Meas. Range',
|
||||
'工艺节拍维护': 'Takt Time',
|
||||
'拧紧位置维护': 'Tightening',
|
||||
'线外工位验证维护': 'Offline Verify',
|
||||
'质量管理': 'Quality',
|
||||
'质量数据查询': 'Quality Data',
|
||||
'物料数据查询': 'Material Data',
|
||||
'过站信息查询': 'Station Pass',
|
||||
'分线质量查询': 'Line Quality',
|
||||
'分线物料查询': 'Line Material',
|
||||
'生产计划订单完工': 'Order Complete',
|
||||
'SPC分析': 'SPC Analysis',
|
||||
'基本趋势图': 'Trend Chart',
|
||||
'样本趋势图': 'Sample Trend',
|
||||
'直方图': 'Histogram',
|
||||
'工序能力分析': 'Process Capability',
|
||||
'排列图': 'Pareto',
|
||||
'均值极差图': 'Xbar-R',
|
||||
'均值标准差图': 'Xbar-S',
|
||||
'SPC': 'SPC',
|
||||
'设备运行分析': 'Equip. Ops',
|
||||
'设备基本信息维护': 'Equip. Info',
|
||||
'设备状态监控': 'Equip. Status',
|
||||
'设备维修记录': 'Repair Records',
|
||||
'设备实时状态': 'Live Status',
|
||||
'设备保养计划': 'Maint. Plan',
|
||||
'设备保养内容': 'Maint. Content',
|
||||
'设备当前保养计划': 'Current Maint.',
|
||||
'设备能耗信息': 'Energy Usage',
|
||||
'ANDON系统': 'ANDON',
|
||||
'物料ANDON查询': 'Material ANDON',
|
||||
'物料ANDON统计': 'Material ANDON',
|
||||
'质量ANDON查询': 'Quality ANDON',
|
||||
'质量ANDON统计': 'Quality ANDON',
|
||||
'设备ANDON查询': 'Equip. ANDON',
|
||||
'设备ANDON统计': 'Equip. Stats',
|
||||
'班次管理': 'Shifts',
|
||||
'配方管理': 'Recipes',
|
||||
'基础数据管理': 'Basic Data',
|
||||
'产品型号': 'Product Model',
|
||||
'电气元件参数': 'Elec. Params',
|
||||
'基础数据维护': 'Basic Data',
|
||||
'工位信息维护': 'Station Info',
|
||||
'基本变量写入': 'Write Variable',
|
||||
'分配工位号': 'Assign Station',
|
||||
'基本变量查询': 'Query Variable',
|
||||
'变量设备类型维护': 'Var. Equip. Types',
|
||||
'FTT趋势图': 'FTT Trend',
|
||||
'JPH趋势图': 'JPH Trend',
|
||||
'OEE趋势图': 'OEE Trend',
|
||||
'点检信息维护': 'Spot Check',
|
||||
'点检记录查询': 'Spot Check Logs',
|
||||
'报警变量维护': 'Alarm Vars',
|
||||
'监控数据查询': 'Monitor Data',
|
||||
'BOM管理': 'BOM',
|
||||
'工序工位计划管理': 'Station Plans',
|
||||
'系统日志': 'System Logs',
|
||||
'扫码记录': 'Scan Logs',
|
||||
'工位录入项维护': 'Station Inputs',
|
||||
'工位录入查询': 'Station Logs',
|
||||
'每日数据统计': 'Daily Stats',
|
||||
'工位报警日志': 'Station Alarms',
|
||||
'停机记录查询': 'Downtime',
|
||||
'检查记录查询': 'Inspection Logs',
|
||||
'工位呼叫统计': 'Call Stats',
|
||||
'类型呼叫统计': 'Call Type Stats',
|
||||
'接口维护': 'Interfaces',
|
||||
'接口列表': 'Interface List',
|
||||
'工位接口设置': 'IF Settings',
|
||||
'工位接口监控': 'IF Monitor',
|
||||
'首件管理': 'First Article',
|
||||
'数据录入': 'Data Entry',
|
||||
'检测项维护': 'Inspect Items',
|
||||
'看板参数管理': 'TV Params'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,5 +10,399 @@ export default {
|
||||
language: '语言',
|
||||
chinese: '中文',
|
||||
english: 'English'
|
||||
},
|
||||
login: {
|
||||
systemName: '智能装配线信息管理系统',
|
||||
usernamePlaceholder: '请输入用户名',
|
||||
passwordPlaceholder: '请输入密码',
|
||||
rememberPassword: '记住密码',
|
||||
changePassword: '修改密码',
|
||||
loginButton: '登录',
|
||||
account: '考勤编号',
|
||||
oldPassword: '原始密码',
|
||||
newPassword: '新密码',
|
||||
confirmPassword: '确认密码',
|
||||
confirmPasswordPlaceholder: '请输入确认密码',
|
||||
oldPasswordPlaceholder: '请输入原始密码',
|
||||
newPasswordPlaceholder: '请输入新密码',
|
||||
passwordNotSame: '两次输入密码不同',
|
||||
changeSuccess: '修改成功',
|
||||
editFailed: '编辑失败',
|
||||
accountPasswordError: '用户名或密码不正确'
|
||||
},
|
||||
menuManagement: {
|
||||
filterPlaceholder: '输入关键字进行过滤',
|
||||
menuName: '菜单名称',
|
||||
firstLevelMenuName: '一级菜单名称',
|
||||
secondLevelMenuName: '二级菜单名称',
|
||||
roleName: '角色名称',
|
||||
role: '角色:',
|
||||
selectPlaceholder: '请选择',
|
||||
sequence: '序号',
|
||||
addFirstLevelModule: '新增一级菜单',
|
||||
assignFirstLevelTooltip: '将选中一级菜单分配给该角色',
|
||||
assignSecondLevelTooltip: '将选中二级菜单分配给该角色选中的一级菜单',
|
||||
moveUp: '上移',
|
||||
moveDown: '下移',
|
||||
remove: '移除',
|
||||
prompt: '提示',
|
||||
confirmReturnMenu: '确定撤回分配菜单?',
|
||||
confirmAssignFirstLevelMenu: '确定将选中的一级菜单分配给选中角色?',
|
||||
confirmAssignSecondLevelMenu: '确定将选中的二级菜单分配给选中角色的选中一级菜单?',
|
||||
operationSuccess: '操作成功',
|
||||
operationFailed: '操作失败',
|
||||
operationCanceled: '取消操作',
|
||||
moveUpSuccess: '上移成功',
|
||||
moveUpFailed: '上移失败',
|
||||
alreadyFirst: '当前已经排在第一',
|
||||
alreadyLast: '当前已经排在最后',
|
||||
assignOneFirstLevelOnly: '只可以分配给一个一级菜单',
|
||||
requiredInput: '请输入'
|
||||
},
|
||||
personnelManagement: {
|
||||
add: '新增',
|
||||
edit: '编辑',
|
||||
delete: '删除',
|
||||
peopleName: '人员名称:',
|
||||
peopleNamePlaceholder: '请输入人员名称',
|
||||
resign: '离职',
|
||||
resignedList: '离职名单',
|
||||
move: '移动',
|
||||
selectDepartmentPlaceholder: '请选择部门',
|
||||
departmentMaintenance: '部门维护',
|
||||
expand: '展开',
|
||||
sequence: '序号',
|
||||
departmentName: '部门名称',
|
||||
attendanceNo: '考勤编号',
|
||||
jobNo: '工号',
|
||||
password: '密码',
|
||||
employeeName: '姓名',
|
||||
operation: '操作',
|
||||
addDepartment: '新增部门',
|
||||
editDepartment: '编辑部门',
|
||||
addEmployee: '新增人员',
|
||||
editEmployeeTitle: '编辑人员',
|
||||
uploadPicture: '上传图片',
|
||||
prompt: '提示',
|
||||
requiredInput: '请输入',
|
||||
confirmDeleteResignedEmployee: '此操作将永久删除该离职员工信息, 是否继续?',
|
||||
confirmDeleteImage: '此操作将永久删除该图片, 是否继续?',
|
||||
confirmDeleteDepartment: '此操作将永久删除该数据, 是否继续?',
|
||||
confirmResign: '此操作将永久删除该行, 是否继续?',
|
||||
deleteSuccess: '删除成功',
|
||||
deleteFailed: '删除失败',
|
||||
deleteCanceled: '已取消删除',
|
||||
cancelDelete: '取消删除',
|
||||
uploadSuccess: '上传成功!',
|
||||
imageOnly: '只能上传图片',
|
||||
uploadLimitOne: '仅可上传一张照片',
|
||||
selectDepartmentToEdit: '请选择要修改的部门',
|
||||
addSuccess: '添加成功',
|
||||
addFailed: '添加失败',
|
||||
editSuccess: '编辑成功',
|
||||
editFailed: '编辑失败',
|
||||
deleteCompleted: '已被成功删除',
|
||||
selectDepartment: '请选择部门',
|
||||
enterPeopleName: '请输入人员姓名',
|
||||
selectDepartmentName: '请选择部门名称',
|
||||
selectEmployeesForResign: '请选择进行离职操作的员工',
|
||||
resignSuccess: '离职成功',
|
||||
resignFailed: '离职失败',
|
||||
resignCanceled: '已取消离职操作',
|
||||
moveGroupSuccess: '移组成功',
|
||||
updateFailed: '更新失败',
|
||||
selectAtLeastOnePerson: '请至少选择一个人员'
|
||||
},
|
||||
systemRoleMaintenance: {
|
||||
add: '增加',
|
||||
roleCode: '角色编号',
|
||||
roleFunction: '角色功能',
|
||||
operation: '操作',
|
||||
addRole: '新增角色',
|
||||
editRole: '编辑角色',
|
||||
roleName: '角色名称',
|
||||
roleFunctionPlaceholder: '角色功能',
|
||||
enterRoleName: '请输入角色名称',
|
||||
prompt: '提示',
|
||||
addSuccess: '增加成功',
|
||||
addFailed: '增加失败',
|
||||
editSuccess: '编辑成功',
|
||||
editFailed: '编辑失败',
|
||||
confirmDelete: '此操作将永久删除该行, 是否继续?',
|
||||
deleteSuccess: '删除成功',
|
||||
deleteFailed: '删除失败',
|
||||
deleteCanceled: '已取消删除'
|
||||
},
|
||||
workshopPersonnelRoleMana: {
|
||||
staffName: '员工姓名',
|
||||
roleName: '角色名称',
|
||||
search: '查询',
|
||||
add: '增加',
|
||||
edit: '编辑',
|
||||
sequence: '序号',
|
||||
departmentName: '所属部门',
|
||||
attendanceNo: '考勤编号',
|
||||
operation: '操作',
|
||||
personnelInfo: '人员信息',
|
||||
name: '姓名',
|
||||
gender: '性别',
|
||||
doubleClickSelect: '请双击选择',
|
||||
selectStaffName: '请选择员工姓名',
|
||||
selectStaffRole: '请选择员工角色',
|
||||
prompt: '提示',
|
||||
addSuccess: '增加成功',
|
||||
addFailed: '增加失败',
|
||||
editSuccess: '修改成功',
|
||||
editFailed: '修改失败',
|
||||
confirmDelete: '此操作将永久删除该行, 是否继续?',
|
||||
deleteSuccess: '删除成功',
|
||||
deleteFailed: '删除失败',
|
||||
deleteCanceled: '已取消删除'
|
||||
},
|
||||
stationInformationMaintenance: {
|
||||
sequence: '序号',
|
||||
stationNumber: '工位号',
|
||||
stationName: '工位名称',
|
||||
stationMESFunction: '工位MES功能',
|
||||
enabled: '启用',
|
||||
disabled: '禁用',
|
||||
mesDll: 'MES_DLL',
|
||||
operation: '操作',
|
||||
edit: '编辑',
|
||||
add: '增加',
|
||||
addStationInfo: '添加工位信息',
|
||||
editStationInfo: '编辑工位信息',
|
||||
electricalComponents: '电气元器件',
|
||||
number: '编号',
|
||||
description: '描述',
|
||||
disabledStatus: '是否禁用',
|
||||
remarks: '备注',
|
||||
import: '导入',
|
||||
importToDatabase: '导入到数据库',
|
||||
enterStationName: '请输入工位名称',
|
||||
selectStationMES: '请选择是否启用工位MES',
|
||||
prompt: '提示',
|
||||
addSuccess: '增加成功',
|
||||
addFailed: '增加失败!',
|
||||
editSuccess: '修改成功',
|
||||
editFailed: '修改失败!',
|
||||
deleteSuccess: '删除成功',
|
||||
deleteFailed: '删除失败!',
|
||||
deleteCanceled: '已取消删除',
|
||||
duplicateStationCode: '工位代码重复,请重新输入!',
|
||||
confirmClose: '确认关闭?',
|
||||
noData: '暂无数据',
|
||||
selectRowToCopy: '请选中一行信息进行复制!',
|
||||
confirmDelete: '此操作将永久删除该行, 是否继续?',
|
||||
alreadyExistsCheckFile: '已经存在,请确认文件是否正确',
|
||||
stationNumberRequired: '工位号不能为空',
|
||||
confirmImportFile: '请确认导入文件是否正确',
|
||||
importCompleted: '导入完成',
|
||||
importFailedCountPrefix: '导入失败零件个数为',
|
||||
importFailedCountSuffix: ',请检查文件是否正确',
|
||||
importDataErrorFile: '导入数据错误,请检查导入文件是否正确',
|
||||
importFailedForStation: '导入失败',
|
||||
duplicateDataForStation: '存在重复数据',
|
||||
importDataError: '导入数据错误'
|
||||
},
|
||||
releaseOfProductionPlan: {
|
||||
orderNumberLabel: '订单号',
|
||||
filterOrderNumber: '请输入订单号',
|
||||
productModelLabel: '产品型号',
|
||||
selectProductModel: '请选择产品型号',
|
||||
startDateLabel: '开始日期',
|
||||
endDateLabel: '结束日期',
|
||||
selectStartDate: '请选择开始日期',
|
||||
selectEndDate: '请选择结束日期',
|
||||
searchOrder: '查询',
|
||||
createOrder: '创建订单',
|
||||
loadingData: '数据加载中',
|
||||
sort: '排序',
|
||||
sequence: '序号',
|
||||
crankcaseAssemblyNo: '曲轴箱总成号',
|
||||
onlineTime: '上线时间',
|
||||
offlineTime: '下线时间',
|
||||
orderNumber: '订单号',
|
||||
productModel: '产品型号',
|
||||
planQuantity: '计划数量',
|
||||
planStartDate: '计划开始时间',
|
||||
planEndDate: '计划完成时间',
|
||||
productionStatus: '生产状态',
|
||||
notStarted: '未开始',
|
||||
inProduction: '生产中',
|
||||
completed: '已完成',
|
||||
operation: '操作',
|
||||
completeOrder: '完工',
|
||||
modify: '修改',
|
||||
delete: '删除',
|
||||
issue: '下发',
|
||||
withdraw: '撤回',
|
||||
moveUp: '上移',
|
||||
moveDown: '下移',
|
||||
createProductionOrder: '创建生产订单',
|
||||
editProductionOrder: '修改生产订单',
|
||||
enterOrderNumber: '请输入订单号',
|
||||
enterPlanQuantity: '请输入计划数量',
|
||||
planStartTime: '计划开始时间',
|
||||
planEndTime: '计划完成时间',
|
||||
selectStartTime: '请选择开始时间',
|
||||
selectEndTime: '请选择结束时间',
|
||||
orderImport: '订单导入',
|
||||
importToDatabase: '导入到数据库',
|
||||
printTransmissionBarcode: '打印变速器条码',
|
||||
enterProductModel: '请输入产品型号',
|
||||
assemblyNo: '总成号',
|
||||
enterAssemblyNo: '请输入总成号',
|
||||
serialNo: '起始号码',
|
||||
enterEightDigitSerialNo: '请输入八位起始号码',
|
||||
printDate: '打印日期',
|
||||
selectPrintDate: '请选择打印日期',
|
||||
printQuantity: '打印数量',
|
||||
enterPrintQuantity: '请输入打印数量',
|
||||
printProgress: '打印进度:',
|
||||
enterAssemblyNoRequired: '请输入总成号',
|
||||
enterOrderNumberRequired: '请输入订单号',
|
||||
enterProductModelRequired: '请输入产品型号',
|
||||
serialNoMinLength: '长度最少为八位',
|
||||
selectPrintDateRequired: '请选择打印日期',
|
||||
enterPrintQuantityRequired: '请输入打印数量',
|
||||
enterPlanQuantityRequired: '请输入计划数量',
|
||||
selectEngineTypeRequired: '请选择机型',
|
||||
selectAssemblyNoRequired: '请选择总成号',
|
||||
selectPlanStartTimeRequired: '请选择计划开始时间',
|
||||
selectPlanEndTimeRequired: '请选择计划结束时间',
|
||||
enterPlannedCompletionRequired: '请输入计划完成数量',
|
||||
enterIssuedQuantityRequired: '请输入订单下发数量',
|
||||
prompt: '提示',
|
||||
noPartCodeForModel: '该机型没有对应的零件号',
|
||||
orderCreateSuccess: '订单创建成功',
|
||||
orderDuplicateCreateFailed: '订单重复,创建失败!',
|
||||
orderCreateFailed: '订单创建失败!',
|
||||
startPrintingTransmissionBarcode: '开始打印变速器条码',
|
||||
printTransmissionBarcodeFailed: '打印变速器条码失败!',
|
||||
allBarcodesPrinted: '全部条码打印完成',
|
||||
recordFailed: '记录失败!',
|
||||
confirmDeleteOrder: '此操作将永久删除该行, 是否继续?',
|
||||
orderDeleteSuccess: '订单删除成功',
|
||||
orderDeleteFailed: '订单删除失败!',
|
||||
deleteCanceled: '已取消删除',
|
||||
orderEditSuccess: '订单修改成功',
|
||||
confirmIssueOrder: '确定下达订单{orderNo}吗?',
|
||||
orderIssueSuccess: '订单下发成功!',
|
||||
orderIssueFailed: '订单下发失败!',
|
||||
confirmWithdrawOrder: '确定取消订单{orderNo}吗?',
|
||||
orderWithdrawSuccess: '订单撤回成功!',
|
||||
orderWithdrawFailed: '订单撤回失败!',
|
||||
contentEmpty: '内容为空',
|
||||
materialDictionaryUpdated: '物料字典信息更新成功',
|
||||
alreadyExistsCheckFile: '{name}已经存在,请确认文件是否正确',
|
||||
orderNumberRequired: '订单号不能为空',
|
||||
planQuantityRequired: '计划数量不能为空',
|
||||
confirmImportFile: '请确认导入文件是否正确',
|
||||
importCompleted: '导入完成',
|
||||
importFailedCount: '导入失败零件个数为{count},请检查文件是否正确',
|
||||
importDataErrorFile: '导入数据错误,请检查导入文件是否正确',
|
||||
importFailedSuffix: '{value}导入失败',
|
||||
duplicateDataSuffix: '{value}存在重复数据',
|
||||
importDataError: '导入数据错误',
|
||||
noData: '暂无数据',
|
||||
selectOrder: '请选择订单!',
|
||||
confirmCompleteOrder: '确定要提前完工订单:{orderNo}吗?'
|
||||
},
|
||||
menu: {
|
||||
'主页': '主页',
|
||||
'菜单管理': '菜单管理',
|
||||
'系统管理': '系统管理',
|
||||
'工厂日历': '工厂日历',
|
||||
'人员管理': '人员管理',
|
||||
'系统角色维护': '系统角色维护',
|
||||
'人员角色分配': '人员角色分配',
|
||||
'生产计划管理': '生产计划管理',
|
||||
'生产计划': '生产计划',
|
||||
'计划状态查看': '计划状态查看',
|
||||
'工艺管理': '工艺管理',
|
||||
'MES消息维护': 'MES消息维护',
|
||||
'界面标签语言维护': '界面标签语言维护',
|
||||
'界面模块维护': '界面模块维护',
|
||||
'检查内容维护': '检查内容维护',
|
||||
'工艺图片维护': '工艺图片维护',
|
||||
'物料扫码维护': '物料扫码维护',
|
||||
'工艺PDF维护': '工艺PDF维护',
|
||||
'Andon呼叫维护': 'Andon呼叫维护',
|
||||
'工艺参数维护': '工艺参数维护',
|
||||
'测量范围维护': '测量范围维护',
|
||||
'工艺节拍维护': '工艺节拍维护',
|
||||
'拧紧位置维护': '拧紧位置维护',
|
||||
'线外工位验证维护': '线外工位验证维护',
|
||||
'质量管理': '质量管理',
|
||||
'质量数据查询': '质量数据查询',
|
||||
'物料数据查询': '物料数据查询',
|
||||
'过站信息查询': '过站信息查询',
|
||||
'分线质量查询': '分线质量查询',
|
||||
'分线物料查询': '分线物料查询',
|
||||
'生产计划订单完工': '生产计划订单完工',
|
||||
'SPC分析': 'SPC分析',
|
||||
'基本趋势图': '基本趋势图',
|
||||
'样本趋势图': '样本趋势图',
|
||||
'直方图': '直方图',
|
||||
'工序能力分析': '工序能力分析',
|
||||
'排列图': '排列图',
|
||||
'均值极差图': '均值极差图',
|
||||
'均值标准差图': '均值标准差图',
|
||||
'SPC': 'SPC',
|
||||
'设备运行分析': '设备运行分析',
|
||||
'设备基本信息维护': '设备基本信息维护',
|
||||
'设备状态监控': '设备状态监控',
|
||||
'设备维修记录': '设备维修记录',
|
||||
'设备实时状态': '设备实时状态',
|
||||
'设备保养计划': '设备保养计划',
|
||||
'设备保养内容': '设备保养内容',
|
||||
'设备当前保养计划': '设备当前保养计划',
|
||||
'设备能耗信息': '设备能耗信息',
|
||||
'ANDON系统': 'ANDON系统',
|
||||
'物料ANDON查询': '物料ANDON查询',
|
||||
'物料ANDON统计': '物料ANDON统计',
|
||||
'质量ANDON查询': '质量ANDON查询',
|
||||
'质量ANDON统计': '质量ANDON统计',
|
||||
'设备ANDON查询': '设备ANDON查询',
|
||||
'设备ANDON统计': '设备ANDON统计',
|
||||
'班次管理': '班次管理',
|
||||
'配方管理': '配方管理',
|
||||
'基础数据管理': '基础数据管理',
|
||||
'产品型号': '产品型号',
|
||||
'电气元件参数': '电气元件参数',
|
||||
'基础数据维护': '基础数据维护',
|
||||
'工位信息维护': '工位信息维护',
|
||||
'基本变量写入': '基本变量写入',
|
||||
'分配工位号': '分配工位号',
|
||||
'基本变量查询': '基本变量查询',
|
||||
'变量设备类型维护': '变量设备类型维护',
|
||||
'FTT趋势图': 'FTT趋势图',
|
||||
'JPH趋势图': 'JPH趋势图',
|
||||
'OEE趋势图': 'OEE趋势图',
|
||||
'点检信息维护': '点检信息维护',
|
||||
'点检记录查询': '点检记录查询',
|
||||
'报警变量维护': '报警变量维护',
|
||||
'监控数据查询': '监控数据查询',
|
||||
'BOM管理': 'BOM管理',
|
||||
'工序工位计划管理': '工序工位计划管理',
|
||||
'系统日志': '系统日志',
|
||||
'扫码记录': '扫码记录',
|
||||
'工位录入项维护': '工位录入项维护',
|
||||
'工位录入查询': '工位录入查询',
|
||||
'每日数据统计': '每日数据统计',
|
||||
'工位报警日志': '工位报警日志',
|
||||
'停机记录查询': '停机记录查询',
|
||||
'检查记录查询': '检查记录查询',
|
||||
'工位呼叫统计': '工位呼叫统计',
|
||||
'类型呼叫统计': '类型呼叫统计',
|
||||
'接口维护': '接口维护',
|
||||
'接口列表': '接口列表',
|
||||
'工位接口设置': '工位接口设置',
|
||||
'工位接口监控': '工位接口监控',
|
||||
'首件管理': '首件管理',
|
||||
'数据录入': '数据录入',
|
||||
'检测项维护': '检测项维护',
|
||||
'看板参数管理': '看板参数管理'
|
||||
}
|
||||
}
|
||||
|
||||
14
src/utils/i18n.js
Normal file
14
src/utils/i18n.js
Normal file
@@ -0,0 +1,14 @@
|
||||
import i18n, { DEFAULT_LOCALE } from '@/lang'
|
||||
|
||||
export function translateMenuTitle(title, locale) {
|
||||
if (!title) return title
|
||||
|
||||
const normalizedTitle = String(title).trim()
|
||||
const currentLocale = locale || i18n.locale
|
||||
const messages = i18n.getLocaleMessage(currentLocale) || {}
|
||||
const defaultMessages = i18n.getLocaleMessage(DEFAULT_LOCALE) || {}
|
||||
const menuMessages = messages.menu || {}
|
||||
const defaultMenuMessages = defaultMessages.menu || {}
|
||||
|
||||
return menuMessages[normalizedTitle] || defaultMenuMessages[normalizedTitle] || title
|
||||
}
|
||||
@@ -7,7 +7,7 @@
|
||||
<!-- </el-card>-->
|
||||
<el-card style="height: 550px">
|
||||
<div slot="header">
|
||||
<el-input v-model="filterTextLeft" clearable placeholder="输入关键字进行过滤" size="small"/>
|
||||
<el-input v-model="filterTextLeft" clearable :placeholder="$t('menuManagement.filterPlaceholder')" size="small"/>
|
||||
</div>
|
||||
<el-table
|
||||
ref="multipleTableLeft"
|
||||
@@ -19,16 +19,16 @@
|
||||
@selection-change="handleSelectionChangeLeft">
|
||||
<el-table-column :selectable="selectable" align="center" type="selection" width="55"/>
|
||||
<el-table-column align="center" type="index" width="60"/>
|
||||
<el-table-column align="center" label="模块名称">
|
||||
<el-table-column align="center" :label="$t('menuManagement.firstLevelMenuName')">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.title }}
|
||||
{{ translateMenuTitle(scope.row.title) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-card>
|
||||
</el-col>
|
||||
<el-col :span="1">
|
||||
<el-tooltip class="item" content="将选中一级菜单分配给该角色" effect="dark" placement="top-start">
|
||||
<el-tooltip class="item" :content="$t('menuManagement.assignFirstLevelTooltip')" effect="dark" placement="top-start">
|
||||
<el-button
|
||||
:disabled="!roleName || selectLeft.length === 0"
|
||||
icon="el-icon-right"
|
||||
@@ -44,11 +44,11 @@
|
||||
<!-- </el-card>-->
|
||||
<el-card style="height: 550px">
|
||||
<div slot="header">
|
||||
<span>角色:</span>
|
||||
<span>{{ $t('menuManagement.role') }}</span>
|
||||
<el-select
|
||||
v-model="roleName"
|
||||
filterable
|
||||
placeholder="请选择"
|
||||
:placeholder="$t('menuManagement.selectPlaceholder')"
|
||||
size="small"
|
||||
style="width:150px;margin-left:10px"
|
||||
@change="getModule">
|
||||
@@ -58,7 +58,7 @@
|
||||
:label="item.label"
|
||||
:value="item.value"/>
|
||||
</el-select>
|
||||
<el-input v-model="filterText" clearable placeholder="输入关键字进行过滤" size="small" style="width:200px;margin-left:10px"/>
|
||||
<el-input v-model="filterText" clearable :placeholder="$t('menuManagement.filterPlaceholder')" size="small" style="width:200px;margin-left:10px"/>
|
||||
</div>
|
||||
<el-tree
|
||||
ref="moduleTree"
|
||||
@@ -71,26 +71,26 @@
|
||||
show-checkbox
|
||||
@check-change="treeCheck">
|
||||
<span slot-scope="{ node, data }" class="custom-tree-node">
|
||||
<span>{{ node.label }}</span>
|
||||
<span>{{ translateMenuTitle(node.label) }}</span>
|
||||
<span>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
@click="() => moveUp(node, data)">
|
||||
上移
|
||||
{{ $t('menuManagement.moveUp') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
@click="() => moveDown(node, data)">
|
||||
下移
|
||||
{{ $t('menuManagement.moveDown') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
:disabled="data.children && data.children.length!==0"
|
||||
size="mini"
|
||||
type="text"
|
||||
@click="() => returnModule(node, data)">
|
||||
移除
|
||||
{{ $t('menuManagement.remove') }}
|
||||
</el-button>
|
||||
</span>
|
||||
</span>
|
||||
@@ -98,7 +98,7 @@
|
||||
</el-card>
|
||||
</el-col>
|
||||
<el-col :span="1">
|
||||
<el-tooltip class="item" content="将选中二级菜单分配给该角色选中的一级菜单" effect="dark" placement="top-start">
|
||||
<el-tooltip class="item" :content="$t('menuManagement.assignSecondLevelTooltip')" effect="dark" placement="top-start">
|
||||
<el-button
|
||||
:disabled="treeCheckList.length !== 1 || selectRight.length === 0 || treeCheckListJudge"
|
||||
icon="el-icon-back"
|
||||
@@ -117,7 +117,7 @@
|
||||
<!-- </el-card>-->
|
||||
<el-card style="height: 550px;">
|
||||
<div slot="header">
|
||||
<el-input v-model="filterTextRight" clearable placeholder="输入关键字进行过滤" size="small"/>
|
||||
<el-input v-model="filterTextRight" clearable :placeholder="$t('menuManagement.filterPlaceholder')" size="small"/>
|
||||
</div>
|
||||
<el-table
|
||||
ref="multipleTableRight"
|
||||
@@ -129,9 +129,9 @@
|
||||
@selection-change="handleSelectionChangeRight">
|
||||
<el-table-column :selectable="selectable" align="center" type="selection" width="55"/>
|
||||
<el-table-column align="center" type="index" width="60"/>
|
||||
<el-table-column align="center" label="模块名称">
|
||||
<el-table-column align="center" :label="$t('menuManagement.secondLevelMenuName')">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.title }}
|
||||
{{ translateMenuTitle(scope.row.title) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@@ -145,20 +145,20 @@
|
||||
<el-select
|
||||
v-model="TitleValue"
|
||||
filterable
|
||||
placeholder="请选择"
|
||||
:placeholder="$t('menuManagement.selectPlaceholder')"
|
||||
size="small"
|
||||
style="width:200px;margin-left:10px"
|
||||
@change="getTitle">
|
||||
<el-option
|
||||
v-for="item in Title"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:label="translateMenuTitle(item.label)"
|
||||
:value="item.value"/>
|
||||
</el-select>
|
||||
</div>
|
||||
<el-table :data="RoleNameasd" border height="200" size="mini" stripe style="width: 465px">
|
||||
<el-table-column align="center" label="序号" type="index" width="50"/>
|
||||
<el-table-column align="center" label="模块名称" width="400">
|
||||
<el-table-column align="center" :label="$t('menuManagement.sequence')" type="index" width="50"/>
|
||||
<el-table-column align="center" :label="$t('menuManagement.roleName')" width="400">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.角色功能 }}
|
||||
</template>
|
||||
@@ -167,7 +167,7 @@
|
||||
</el-card>
|
||||
</el-row>
|
||||
|
||||
<el-dialog :visible.sync="dialogVisible1" center style="min-height: 300px" title="新增一级模块" width="400px">
|
||||
<el-dialog :visible.sync="dialogVisible1" center style="min-height: 300px" :title="$t('menuManagement.addFirstLevelModule')" width="400px">
|
||||
<el-form
|
||||
ref="form1"
|
||||
:model="form1"
|
||||
@@ -175,7 +175,7 @@
|
||||
class="demo-ruleForm"
|
||||
label-position="left"
|
||||
label-width="110px">
|
||||
<el-form-item label="模块名称" prop="moduleName">
|
||||
<el-form-item :label="$t('menuManagement.menuName')" prop="moduleName">
|
||||
<el-input
|
||||
v-model="form1.moduleName"
|
||||
size="small"
|
||||
@@ -183,14 +183,15 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogVisible1=false">取消</el-button>
|
||||
<el-button type="primary" @click="submitAdd()">确定</el-button>
|
||||
<el-button @click="dialogVisible1=false">{{ $t('common.cancel') }}</el-button>
|
||||
<el-button type="primary" @click="submitAdd()">{{ $t('common.confirm') }}</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { translateMenuTitle } from '@/utils/i18n'
|
||||
import {
|
||||
getRole,
|
||||
getModule,
|
||||
@@ -262,12 +263,13 @@ export default {
|
||||
this.getRoleTitle()
|
||||
},
|
||||
methods: {
|
||||
// 撤回分配模块
|
||||
translateMenuTitle,
|
||||
// 撤回分配菜单
|
||||
returnModule(node, data) {
|
||||
console.log(node, data, 123)
|
||||
this.$confirm('确定撤回分配模块?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
this.$confirm(this.$t('menuManagement.confirmReturnMenu'), this.$t('menuManagement.prompt'), {
|
||||
confirmButtonText: this.$t('common.confirm'),
|
||||
cancelButtonText: this.$t('common.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
returnModule(data.id, this.roleName).then(response => {
|
||||
@@ -278,15 +280,15 @@ export default {
|
||||
this.getModule()
|
||||
this.initFisrtLevel()
|
||||
this.initSecondLevel()
|
||||
this.$message.success('操作成功')
|
||||
this.$message.success(this.$t('menuManagement.operationSuccess'))
|
||||
} else {
|
||||
this.$message.error('操作失败')
|
||||
this.$message.error(this.$t('menuManagement.operationFailed'))
|
||||
}
|
||||
})
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '取消操作'
|
||||
message: this.$t('menuManagement.operationCanceled')
|
||||
})
|
||||
})
|
||||
},
|
||||
@@ -301,13 +303,13 @@ export default {
|
||||
this.getModule()
|
||||
this.initFisrtLevel()
|
||||
this.initSecondLevel()
|
||||
this.$message.success('上移成功')
|
||||
this.$message.success(this.$t('menuManagement.moveUpSuccess'))
|
||||
} else {
|
||||
this.$message.error('上移失败')
|
||||
this.$message.error(this.$t('menuManagement.moveUpFailed'))
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message.error('当前已经排在第一')
|
||||
this.$message.error(this.$t('menuManagement.alreadyFirst'))
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -322,21 +324,21 @@ export default {
|
||||
this.getModule()
|
||||
this.initFisrtLevel()
|
||||
this.initSecondLevel()
|
||||
this.$message.success('操作成功')
|
||||
this.$message.success(this.$t('menuManagement.operationSuccess'))
|
||||
} else {
|
||||
this.$message.error('操作失败')
|
||||
this.$message.error(this.$t('menuManagement.operationFailed'))
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message.error('当前已经排在最后')
|
||||
this.$message.error(this.$t('menuManagement.alreadyLast'))
|
||||
}
|
||||
})
|
||||
},
|
||||
// 分配一级
|
||||
// 分配一级菜单
|
||||
giveFirstLevel() {
|
||||
this.$confirm('确定将选中的一级模块分配给选中角色?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
this.$confirm(this.$t('menuManagement.confirmAssignFirstLevelMenu'), this.$t('menuManagement.prompt'), {
|
||||
confirmButtonText: this.$t('common.confirm'),
|
||||
cancelButtonText: this.$t('common.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
giveFirstLevel(this.selectLeft, this.roleName).then(response => {
|
||||
@@ -347,24 +349,24 @@ export default {
|
||||
this.getModule()
|
||||
this.initFisrtLevel()
|
||||
this.initSecondLevel()
|
||||
this.$message.success('操作成功')
|
||||
this.$message.success(this.$t('menuManagement.operationSuccess'))
|
||||
} else {
|
||||
this.$message.error('操作失败')
|
||||
this.$message.error(this.$t('menuManagement.operationFailed'))
|
||||
}
|
||||
})
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '取消操作'
|
||||
message: this.$t('menuManagement.operationCanceled')
|
||||
})
|
||||
})
|
||||
},
|
||||
// 分配二级
|
||||
// 分配二级菜单
|
||||
giveSecondLevel() {
|
||||
if (this.$refs.moduleTree.getCheckedKeys().length === 1) {
|
||||
this.$confirm('确定将选中的二级模块分配给选中角色的选中一级模块?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
this.$confirm(this.$t('menuManagement.confirmAssignSecondLevelMenu'), this.$t('menuManagement.prompt'), {
|
||||
confirmButtonText: this.$t('common.confirm'),
|
||||
cancelButtonText: this.$t('common.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
giveSecondLevel(this.selectRight, this.roleName, this.$refs.moduleTree.getCheckedKeys()).then(response => {
|
||||
@@ -375,19 +377,19 @@ export default {
|
||||
this.getModule()
|
||||
this.initFisrtLevel()
|
||||
this.initSecondLevel()
|
||||
this.$message.success('操作成功')
|
||||
this.$message.success(this.$t('menuManagement.operationSuccess'))
|
||||
} else {
|
||||
this.$message.error('操作失败')
|
||||
this.$message.error(this.$t('menuManagement.operationFailed'))
|
||||
}
|
||||
})
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '取消操作'
|
||||
message: this.$t('menuManagement.operationCanceled')
|
||||
})
|
||||
})
|
||||
} else {
|
||||
this.$message.error('只可以分配给一个一级菜单')
|
||||
this.$message.error(this.$t('menuManagement.assignOneFirstLevelOnly'))
|
||||
}
|
||||
},
|
||||
// 控制某行是否可选
|
||||
@@ -494,7 +496,7 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
// 根据角色查模块
|
||||
// 根据角色查菜单
|
||||
getModule() {
|
||||
this.$refs.multipleTableLeft.clearSelection()
|
||||
this.$refs.multipleTableRight.clearSelection()
|
||||
@@ -511,7 +513,7 @@ export default {
|
||||
if (!value) return true
|
||||
return data.label.indexOf(value) !== -1
|
||||
},
|
||||
// 初始化模块
|
||||
// 初始化菜单
|
||||
getRoleTitle() {
|
||||
getRoleTitle().then(response => {
|
||||
for (let i = 0; i < response.data.length; i++) {
|
||||
|
||||
@@ -7,29 +7,29 @@
|
||||
icon="el-icon-circle-plus-outline"
|
||||
size="small"
|
||||
type="distribution"
|
||||
@click="handleAdd('department_Form')">新增
|
||||
@click="handleAdd('department_Form')">{{ $t('personnelManagement.add') }}
|
||||
</el-button>
|
||||
<el-button icon="el-icon-edit" plain size="small" type="warning" @click="handleEdit()">编辑</el-button>
|
||||
<el-button icon="el-icon-delete" plain size="small" type="danger" @click="deleteTable()">删除</el-button>
|
||||
<el-button icon="el-icon-edit" plain size="small" type="warning" @click="handleEdit()">{{ $t('personnelManagement.edit') }}</el-button>
|
||||
<el-button icon="el-icon-delete" plain size="small" type="danger" @click="deleteTable()">{{ $t('personnelManagement.delete') }}</el-button>
|
||||
</el-card>
|
||||
</el-col>
|
||||
<el-col :span="18">
|
||||
<el-card>
|
||||
<span>人员名称:</span>
|
||||
<span>{{ $t('personnelManagement.peopleName') }}</span>
|
||||
<el-input
|
||||
v-model="Name"
|
||||
class="input-with-select"
|
||||
clearable
|
||||
placeholder="请输入人员名称"
|
||||
:placeholder="$t('personnelManagement.peopleNamePlaceholder')"
|
||||
size="small"
|
||||
style="width: 200px; margin-right: 15px">
|
||||
<el-button slot="append" icon="el-icon-search" @click="fetchPeopleForName"/>
|
||||
</el-input>
|
||||
<el-button icon="el-icon-circle-plus-outline" size="small" type="distribution" @click="addPeople()">新增
|
||||
<el-button icon="el-icon-circle-plus-outline" size="small" type="distribution" @click="addPeople()">{{ $t('personnelManagement.add') }}
|
||||
</el-button>
|
||||
<el-button icon="el-icon-circle-close-outline" plain size="small" type="danger" @click="Quit()">离职
|
||||
<el-button icon="el-icon-circle-close-outline" plain size="small" type="danger" @click="Quit()">{{ $t('personnelManagement.resign') }}
|
||||
</el-button>
|
||||
<el-button plain size="small" style="float: right" type="text" @click="searchLeavingList">离职名单</el-button>
|
||||
<el-button plain size="small" style="float: right" type="text" @click="searchLeavingList">{{ $t('personnelManagement.resignedList') }}</el-button>
|
||||
<el-button
|
||||
v-popover:popover4
|
||||
:disabled="disabledMove"
|
||||
@@ -37,7 +37,7 @@
|
||||
plain
|
||||
size="small"
|
||||
type="success"
|
||||
@click="moveGroup">移动
|
||||
@click="moveGroup">{{ $t('personnelManagement.move') }}
|
||||
</el-button>
|
||||
<!--<el-button size="small" @click="postMaintain()">岗位维护</el-button>-->
|
||||
<el-popover
|
||||
@@ -51,10 +51,10 @@
|
||||
<el-input
|
||||
v-model="nodeName1"
|
||||
:disabled="true"
|
||||
placeholder="请选择部门"
|
||||
:placeholder="$t('personnelManagement.selectDepartmentPlaceholder')"
|
||||
size="small"/>
|
||||
<el-button size="small" style="margin-left: 50px; margin-top: 15px" type="text" @click="moveGroupConfim">
|
||||
确认
|
||||
{{ $t('common.confirm') }}
|
||||
</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-tree
|
||||
@@ -76,8 +76,8 @@
|
||||
<el-col :span="6">
|
||||
<el-card class="box-card" style="min-height: 600px; max-height: 650px">
|
||||
<div slot="header" class="clearfix">
|
||||
<span>部门维护</span>
|
||||
<el-button style="float: right; padding: 3px 0" type="text" @click="expandALL()">展开</el-button>
|
||||
<span>{{ $t('personnelManagement.departmentMaintenance') }}</span>
|
||||
<el-button style="float: right; padding: 3px 0" type="text" @click="expandALL()">{{ $t('personnelManagement.expand') }}</el-button>
|
||||
</div>
|
||||
<div style="height: 600px">
|
||||
<el-tree
|
||||
@@ -107,7 +107,7 @@
|
||||
align="center"
|
||||
type="selection"
|
||||
width="50"/>
|
||||
<el-table-column align="center" type="index" label="序号" />
|
||||
<el-table-column align="center" type="index" :label="$t('personnelManagement.sequence')" />
|
||||
<!--<el-table-column align="center" label="照片" width="200">-->
|
||||
<!-- <template slot-scope="scope">-->
|
||||
<!-- <el-popover-->
|
||||
@@ -136,22 +136,22 @@
|
||||
<!-- </span>-->
|
||||
<!-- </template>-->
|
||||
<!--</el-table-column>-->
|
||||
<el-table-column align="center" label="部门名称" width="120">
|
||||
<el-table-column align="center" :label="$t('personnelManagement.departmentName')" width="150">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.节点名称 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="考勤编号" width="140">
|
||||
<el-table-column align="center" :label="$t('personnelManagement.attendanceNo')" width="150">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.考勤编号 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="密码" width="150">
|
||||
<el-table-column align="center" :label="$t('personnelManagement.password')" width="150">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.密码 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="姓名" width="120">
|
||||
<el-table-column align="center" :label="$t('personnelManagement.employeeName')" width="120">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.姓名 }}
|
||||
</template>
|
||||
@@ -210,7 +210,7 @@
|
||||
<!-- {{ scope.row.家庭住址 }}-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column align="center" label="操作" width="150">
|
||||
<el-table-column align="center" :label="$t('personnelManagement.operation')" width="150">
|
||||
<template slot-scope="scope">
|
||||
<!-- <el-button-->
|
||||
<!-- :disabled="scope.row.文件标识 && scope.row.文件标识 !== 'null'"-->
|
||||
@@ -222,7 +222,7 @@
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
type="primary"
|
||||
@click="handleEditPeople(scope.row)">编辑
|
||||
@click="handleEditPeople(scope.row)">{{ $t('personnelManagement.edit') }}
|
||||
</el-button>
|
||||
<!--<el-button-->
|
||||
<!--size="mini"-->
|
||||
@@ -249,7 +249,7 @@
|
||||
<!--新增和编辑部门-->
|
||||
<el-dialog
|
||||
v-el-drag-dialog
|
||||
:title="department_Title"
|
||||
:title="departmentDialogTitle"
|
||||
:visible.sync="department_DFV"
|
||||
center
|
||||
style="min-height: 200px"
|
||||
@@ -261,30 +261,30 @@
|
||||
class="demo-ruleForm"
|
||||
label-position="left"
|
||||
label-width="110px">
|
||||
<el-form-item label="部门名称" prop="DepartmentName">
|
||||
<el-form-item :label="$t('personnelManagement.departmentName')" prop="DepartmentName">
|
||||
<el-input v-model="department_Form.DepartmentName" size="small" style="width:200px"/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancel">取消</el-button>
|
||||
<el-button @click="cancel">{{ $t('common.cancel') }}</el-button>
|
||||
<el-button
|
||||
v-if="department_Title==='新增部门'"
|
||||
v-if="department_Title==='add'"
|
||||
:disabled="handleAdd_disable"
|
||||
type="primary"
|
||||
@click="submitAdd('department_Form')">确定
|
||||
@click="submitAdd('department_Form')">{{ $t('common.confirm') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
v-else-if="department_Title==='编辑部门'"
|
||||
v-else-if="department_Title==='edit'"
|
||||
:disabled="handleAdd_disable"
|
||||
type="primary"
|
||||
@click="submitEdit('department_Form')">确定
|
||||
@click="submitEdit('department_Form')">{{ $t('common.confirm') }}
|
||||
</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog
|
||||
v-el-drag-dialog
|
||||
:title="people_title"
|
||||
:title="peopleDialogTitle"
|
||||
:visible.sync="people_DFV"
|
||||
center
|
||||
style="min-height: 200px"
|
||||
@@ -297,13 +297,13 @@
|
||||
label-position="left"
|
||||
label-width="110px">
|
||||
<el-row>
|
||||
<el-form-item label="姓名" prop="Name">
|
||||
<el-form-item :label="$t('personnelManagement.employeeName')" prop="Name">
|
||||
<el-input v-model="people_form.Name" size="small" style="width:200px"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="工号" prop="AccountNumber">
|
||||
<el-form-item :label="$t('personnelManagement.jobNo')" prop="AccountNumber">
|
||||
<el-input v-model="people_form.AccountNumber" size="small" style="width:200px"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="密码" prop="Password">
|
||||
<el-form-item :label="$t('personnelManagement.password')" prop="Password">
|
||||
<el-input v-model="people_form.Password" size="small" style="width:200px"/>
|
||||
</el-form-item>
|
||||
|
||||
@@ -407,20 +407,20 @@
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button :loading="btnLoading" @click="cancel">取消</el-button>
|
||||
<el-button :loading="btnLoading" @click="cancel">{{ $t('common.cancel') }}</el-button>
|
||||
<el-button
|
||||
v-if="people_title === '新增人员'"
|
||||
v-if="people_title === 'add'"
|
||||
:disabled="addPeople_disable"
|
||||
:loading="btnLoading"
|
||||
type="primary"
|
||||
@click="submitAddPeople">确定
|
||||
@click="submitAddPeople">{{ $t('common.confirm') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
v-else-if="people_title === '编辑人员'"
|
||||
v-else-if="people_title === 'edit'"
|
||||
:disabled="addPeople_disable"
|
||||
:loading="btnLoading"
|
||||
type="primary"
|
||||
@click="submitEditPeople">确定
|
||||
@click="submitEditPeople">{{ $t('common.confirm') }}
|
||||
</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
@@ -431,7 +431,7 @@
|
||||
:visible.sync="LeavingListVisiable"
|
||||
center
|
||||
style="height: 800px"
|
||||
title="离职名单"
|
||||
:title="$t('personnelManagement.resignedList')"
|
||||
width="40%">
|
||||
<el-table
|
||||
:data="LeavingList"
|
||||
@@ -442,23 +442,23 @@
|
||||
stripe
|
||||
style="width: 100%"
|
||||
tooltip-effect="dark">
|
||||
<el-table-column align="center" type="index" label="序号" />
|
||||
<el-table-column align="center" label="部门名称" width="100">
|
||||
<el-table-column align="center" type="index" :label="$t('personnelManagement.sequence')" />
|
||||
<el-table-column align="center" :label="$t('personnelManagement.departmentName')" width="100">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.节点名称 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="工号" width="100">
|
||||
<el-table-column align="center" :label="$t('personnelManagement.jobNo')" width="100">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.考勤编号 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="密码" width="100">
|
||||
<el-table-column align="center" :label="$t('personnelManagement.password')" width="100">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.密码 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="姓名" >
|
||||
<el-table-column align="center" :label="$t('personnelManagement.employeeName')" >
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.姓名 }}
|
||||
</template>
|
||||
@@ -512,13 +512,13 @@
|
||||
<!-- {{ scope.row.家庭住址 }}-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column align="center" label="操作" width="100">
|
||||
<el-table-column align="center" :label="$t('personnelManagement.operation')" width="100">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
icon="el-icon-circle-close-outline"
|
||||
size="mini"
|
||||
type="danger"
|
||||
@click="deletePeople(scope.row)">删除
|
||||
@click="deletePeople(scope.row)">{{ $t('personnelManagement.delete') }}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -539,7 +539,7 @@
|
||||
:visible.sync="dialogFormVisible"
|
||||
center
|
||||
style="height: 800px"
|
||||
title="上传图片"
|
||||
:title="$t('personnelManagement.uploadPicture')"
|
||||
width="300px">
|
||||
<el-upload
|
||||
id="invoiceScan"
|
||||
@@ -560,8 +560,8 @@
|
||||
<i class="el-icon-plus"/>
|
||||
</el-upload>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormVisible=false">取消</el-button>
|
||||
<el-button style="width: 70px" type="primary" @click="submitPerson()">确定</el-button>
|
||||
<el-button @click="dialogFormVisible=false">{{ $t('common.cancel') }}</el-button>
|
||||
<el-button style="width: 70px" type="primary" @click="submitPerson()">{{ $t('common.confirm') }}</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
@@ -588,6 +588,7 @@ import request, { readFile, url } from '@/utils/request'
|
||||
// import { base64ImgtoFile } from '../../../utils/tool'
|
||||
|
||||
export default {
|
||||
name: 'PersonnelManagement',
|
||||
data() {
|
||||
// const validateUsername = (rule, value, callback) => {
|
||||
// if (!isvalidUsername(value)) {
|
||||
@@ -669,11 +670,39 @@ export default {
|
||||
PeopleID: null,
|
||||
TeamValue: ''
|
||||
},
|
||||
rules: {
|
||||
Name: [{ required: true, message: '请输入', trigger: 'blur' }],
|
||||
AccountNumber: [{ required: true, message: '请输入', trigger: 'blur' }],
|
||||
SexData: [{
|
||||
value: 1,
|
||||
label: '男'
|
||||
}, {
|
||||
value: 2,
|
||||
label: '女'
|
||||
}],
|
||||
EducationDate: [],
|
||||
PostData: [],
|
||||
multipleSelection: [],
|
||||
nodeName1: '',
|
||||
count1: 0,
|
||||
count2: 0,
|
||||
isShowPersonnelUpLoad: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
departmentDialogTitle() {
|
||||
return this.department_Title === 'edit'
|
||||
? this.$t('personnelManagement.editDepartment')
|
||||
: this.$t('personnelManagement.addDepartment')
|
||||
},
|
||||
peopleDialogTitle() {
|
||||
return this.people_title === 'edit'
|
||||
? this.$t('personnelManagement.editEmployeeTitle')
|
||||
: this.$t('personnelManagement.addEmployee')
|
||||
},
|
||||
rules() {
|
||||
return {
|
||||
Name: [{ required: true, message: this.$t('personnelManagement.requiredInput'), trigger: 'blur' }],
|
||||
AccountNumber: [{ required: true, message: this.$t('personnelManagement.requiredInput'), trigger: 'blur' }],
|
||||
// AccountNumber: [{ required: true, trigger: 'blur', validator: validateUsername }],
|
||||
Password: [{ required: true, message: '请输入', trigger: 'blur' }]
|
||||
Password: [{ required: true, message: this.$t('personnelManagement.requiredInput'), trigger: 'blur' }]
|
||||
// Sex: [{ required: true, message: '请输入', trigger: 'change' }],
|
||||
// Birthday: [{ required: true, message: '请输入', trigger: 'change' }],
|
||||
// IDcard: [{ required: true, message: '请输入', trigger: 'blur' }, {
|
||||
@@ -700,21 +729,7 @@ export default {
|
||||
// PositionStatus: [{ required: true, message: '请输入', trigger: 'change' }],
|
||||
// Education: [{ required: true, message: '请输入', trigger: 'change' }],
|
||||
// DepartmentName: [{ required: true, message: '请输入', trigger: 'blur' }]
|
||||
},
|
||||
SexData: [{
|
||||
value: 1,
|
||||
label: '男'
|
||||
}, {
|
||||
value: 2,
|
||||
label: '女'
|
||||
}],
|
||||
EducationDate: [],
|
||||
PostData: [],
|
||||
multipleSelection: [],
|
||||
nodeName1: '',
|
||||
count1: 0,
|
||||
count2: 0,
|
||||
isShowPersonnelUpLoad: false
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
@@ -752,9 +767,9 @@ export default {
|
||||
},
|
||||
// 删除离职人员信息
|
||||
deletePeople(row) {
|
||||
this.$confirm('此操作将永久删除该离职员工信息, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
this.$confirm(this.$t('personnelManagement.confirmDeleteResignedEmployee'), this.$t('personnelManagement.prompt'), {
|
||||
confirmButtonText: this.$t('common.confirm'),
|
||||
cancelButtonText: this.$t('common.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
var param = []
|
||||
@@ -762,24 +777,24 @@ export default {
|
||||
var Data = this.CreateData('12', '人事档案管理_离职人员_删除数据', param)
|
||||
this.ExecDatabase(Data).then(response => {
|
||||
if (response.data[0].result === '1') {
|
||||
this.$message.success('删除成功')
|
||||
this.$message.success(this.$t('personnelManagement.deleteSuccess'))
|
||||
this.searchLeavingList()
|
||||
} else {
|
||||
this.$message.error('删除失败')
|
||||
this.$message.error(this.$t('personnelManagement.deleteFailed'))
|
||||
}
|
||||
})
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消删除'
|
||||
message: this.$t('personnelManagement.deleteCanceled')
|
||||
})
|
||||
})
|
||||
},
|
||||
// 删除人员照片
|
||||
deletePhoto(row) {
|
||||
this.$confirm('此操作将永久删除该图片, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
this.$confirm(this.$t('personnelManagement.confirmDeleteImage'), this.$t('personnelManagement.prompt'), {
|
||||
confirmButtonText: this.$t('common.confirm'),
|
||||
cancelButtonText: this.$t('common.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
request({
|
||||
@@ -791,16 +806,16 @@ export default {
|
||||
}
|
||||
}).then(response => {
|
||||
if (response.data[0].result === '1') {
|
||||
this.$message.success('删除成功')
|
||||
this.$message.success(this.$t('personnelManagement.deleteSuccess'))
|
||||
this.handleNodeClick()
|
||||
} else {
|
||||
this.$message.error('删除失败')
|
||||
this.$message.error(this.$t('personnelManagement.deleteFailed'))
|
||||
}
|
||||
})
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '取消删除'
|
||||
message: this.$t('personnelManagement.cancelDelete')
|
||||
})
|
||||
})
|
||||
},
|
||||
@@ -870,7 +885,7 @@ export default {
|
||||
}
|
||||
},
|
||||
uploadSuccess(res) { // 上传成功回调
|
||||
this.$message.success('上传成功!')
|
||||
this.$message.success(this.$t('personnelManagement.uploadSuccess'))
|
||||
this.getTableData()
|
||||
this.dialogFormVisible = false
|
||||
this.$refs.upload.clearFiles()
|
||||
@@ -884,12 +899,12 @@ export default {
|
||||
beforeUpload(file) { // 上传前检测
|
||||
const isJPG = /^image\/.*/.test(file.type)
|
||||
if (!isJPG) {
|
||||
this.$message.error('只能上传图片。。')
|
||||
this.$message.error(this.$t('personnelManagement.imageOnly'))
|
||||
}
|
||||
return isJPG
|
||||
},
|
||||
warningExceed() {
|
||||
this.$message.error('仅可上传一张照片')
|
||||
this.$message.error(this.$t('personnelManagement.uploadLimitOne'))
|
||||
},
|
||||
handlePicture(row) {
|
||||
this.dialogFormVisible = true
|
||||
@@ -919,7 +934,7 @@ export default {
|
||||
if (this.count1 !== 1) {
|
||||
this.$refs[formName].resetFields()
|
||||
}
|
||||
this.department_Title = '新增部门'
|
||||
this.department_Title = 'add'
|
||||
this.handleAdd_disable = false
|
||||
this.department_DFV = true
|
||||
},
|
||||
@@ -929,12 +944,12 @@ export default {
|
||||
handleEdit() {
|
||||
this.addForm('department_Form')
|
||||
if (this.id) {
|
||||
this.department_Title = '编辑部门'
|
||||
this.department_Title = 'edit'
|
||||
this.department_Form.DepartmentName = this.nodeName
|
||||
this.handleAdd_disable = false
|
||||
this.department_DFV = true
|
||||
} else {
|
||||
this.$message.warning(`请选择要修改的部门`)
|
||||
this.$message.warning(this.$t('personnelManagement.selectDepartmentToEdit'))
|
||||
}
|
||||
},
|
||||
submitAdd(formName) {
|
||||
@@ -946,20 +961,20 @@ export default {
|
||||
addDepartmentName(this.id, this.department_Form.DepartmentName, 0).then(response => {
|
||||
if (response.data[0].result === '1') {
|
||||
this.getTreeData()
|
||||
this.$message.success('添加成功')
|
||||
this.$message.success(this.$t('personnelManagement.addSuccess'))
|
||||
this.i = 0
|
||||
} else {
|
||||
this.$message.error('添加失败')
|
||||
this.$message.error(this.$t('personnelManagement.addFailed'))
|
||||
}
|
||||
})
|
||||
} else {
|
||||
addDepartmentName(0, this.department_Form.DepartmentName, 0).then(response => {
|
||||
if (response.data[0].result === '1') {
|
||||
this.getTreeData()
|
||||
this.$message.success('添加成功')
|
||||
this.$message.success(this.$t('personnelManagement.addSuccess'))
|
||||
this.i = 1
|
||||
} else {
|
||||
this.$message.error('添加失败')
|
||||
this.$message.error(this.$t('personnelManagement.addFailed'))
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -976,9 +991,9 @@ export default {
|
||||
editList(this.id, this.department_Form.DepartmentName).then(response => {
|
||||
if (response.data[0].result === '1') {
|
||||
this.getTreeData()
|
||||
this.$message.success('编辑成功')
|
||||
this.$message.success(this.$t('personnelManagement.editSuccess'))
|
||||
} else {
|
||||
this.$message.error('编辑失败')
|
||||
this.$message.error(this.$t('personnelManagement.editFailed'))
|
||||
}
|
||||
})
|
||||
} else {
|
||||
@@ -988,9 +1003,9 @@ export default {
|
||||
},
|
||||
deleteTable() {
|
||||
if (this.id) {
|
||||
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
this.$confirm(this.$t('personnelManagement.confirmDeleteDepartment'), this.$t('personnelManagement.prompt'), {
|
||||
confirmButtonText: this.$t('common.confirm'),
|
||||
cancelButtonText: this.$t('common.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
delList(this.id).then(response => {
|
||||
@@ -999,7 +1014,7 @@ export default {
|
||||
this.i = 1
|
||||
this.id = ''
|
||||
this.$message({
|
||||
message: '已被成功删除',
|
||||
message: this.$t('personnelManagement.deleteCompleted'),
|
||||
type: 'success'
|
||||
})
|
||||
}
|
||||
@@ -1007,11 +1022,11 @@ export default {
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消删除'
|
||||
message: this.$t('personnelManagement.deleteCanceled')
|
||||
})
|
||||
})
|
||||
} else {
|
||||
this.$message.warning(`请选择部门`)
|
||||
this.$message.warning(this.$t('personnelManagement.selectDepartment'))
|
||||
}
|
||||
},
|
||||
cancel() {
|
||||
@@ -1033,18 +1048,18 @@ export default {
|
||||
this.List = response.data
|
||||
})
|
||||
} else {
|
||||
this.$message.warning(`请输入人员姓名`)
|
||||
this.$message.warning(this.$t('personnelManagement.enterPeopleName'))
|
||||
this.List = []
|
||||
}
|
||||
},
|
||||
addPeople() {
|
||||
if (this.id) {
|
||||
this.people_title = '新增人员'
|
||||
this.people_title = 'add'
|
||||
this.addPeople_disable = false
|
||||
this.people_DFV = true
|
||||
this.addForm('people_form')
|
||||
} else {
|
||||
this.$message.warning(`请选择部门名称`)
|
||||
this.$message.warning(this.$t('personnelManagement.selectDepartmentName'))
|
||||
}
|
||||
},
|
||||
submitAddPeople() {
|
||||
@@ -1056,16 +1071,16 @@ export default {
|
||||
this.people_DFV = false
|
||||
this.i = 0
|
||||
this.handleNodeClick()
|
||||
this.$message.success('添加成功')
|
||||
this.$message.success(this.$t('personnelManagement.addSuccess'))
|
||||
} else {
|
||||
this.$message.error('添加失败')
|
||||
this.$message.error(this.$t('personnelManagement.addFailed'))
|
||||
this.addPeople_disable = false
|
||||
}
|
||||
})
|
||||
},
|
||||
handleEditPeople(row) {
|
||||
console.log(row, 'roworowowow')
|
||||
this.people_title = '编辑人员'
|
||||
this.people_title = 'edit'
|
||||
this.people_DFV = true
|
||||
this.addPeople_disable = false
|
||||
this.addForm('people_form')
|
||||
@@ -1104,10 +1119,10 @@ export default {
|
||||
} else {
|
||||
this.feathPeopleForName()
|
||||
}
|
||||
this.$message.success('编辑成功')
|
||||
this.$message.success(this.$t('personnelManagement.editSuccess'))
|
||||
this.people_DFV = false
|
||||
} else {
|
||||
this.$message.error('编辑失败')
|
||||
this.$message.error(this.$t('personnelManagement.editFailed'))
|
||||
this.addPeople_disable = false
|
||||
}
|
||||
})
|
||||
@@ -1144,31 +1159,31 @@ export default {
|
||||
},
|
||||
Quit() {
|
||||
if (this.multipleSelection.length === 0) {
|
||||
this.$message.warning('请选择进行离职操作的员工')
|
||||
this.$message.warning(this.$t('personnelManagement.selectEmployeesForResign'))
|
||||
} else {
|
||||
this.$confirm('此操作将永久删除该行, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
this.$confirm(this.$t('personnelManagement.confirmResign'), this.$t('personnelManagement.prompt'), {
|
||||
confirmButtonText: this.$t('common.confirm'),
|
||||
cancelButtonText: this.$t('common.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
for (let i = 0; i < this.multipleSelection.length; i++) {
|
||||
quit(this.multipleSelection[i].人员编号).then(response => {
|
||||
if (response.data[0].result === '1') {
|
||||
this.$message.success('离职成功')
|
||||
this.$message.success(this.$t('personnelManagement.resignSuccess'))
|
||||
this.getTableData()
|
||||
// getTablePeople(this.id, this.PageCurrent, this.PageSize).then(response => {
|
||||
// this.List = response.data.rows
|
||||
// this.total = response.data.total
|
||||
// })
|
||||
} else {
|
||||
this.$message.error('离职失败')
|
||||
this.$message.error(this.$t('personnelManagement.resignFailed'))
|
||||
}
|
||||
})
|
||||
}
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消离职操作'
|
||||
message: this.$t('personnelManagement.resignCanceled')
|
||||
})
|
||||
})
|
||||
}
|
||||
@@ -1184,10 +1199,10 @@ export default {
|
||||
if (response.data[0].result === '1') {
|
||||
this.handleNodeClick()
|
||||
if (i === this.multipleSelection.length - 1) {
|
||||
this.$message.success('移组成功')
|
||||
this.$message.success(this.$t('personnelManagement.moveGroupSuccess'))
|
||||
}
|
||||
} else {
|
||||
this.$message.error('更新失败')
|
||||
this.$message.error(this.$t('personnelManagement.updateFailed'))
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -1198,7 +1213,7 @@ export default {
|
||||
},
|
||||
moveGroup() {
|
||||
if (this.multipleSelection.length === 0) {
|
||||
this.$message.warning('请至少选择一个人员')
|
||||
this.$message.warning(this.$t('personnelManagement.selectAtLeastOnePerson'))
|
||||
}
|
||||
},
|
||||
NodeClick(data) {
|
||||
@@ -1244,4 +1259,3 @@ export default {
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
|
||||
|
||||
@@ -3,14 +3,14 @@
|
||||
<el-card>
|
||||
<!--<el-input v-model="RoleFunctioning" size="small" clearable placeholder="请输入角色功能" style="width:200px"/>-->
|
||||
<!--<el-button type="primary" icon="el-icon-search" size="small" style="margin-left: 15px" plain @click="searchData()">查询</el-button>-->
|
||||
<el-button type="distribution" icon="el-icon-circle-plus-outline" size="small" @click="handleAdd()">增加</el-button>
|
||||
<el-button type="distribution" icon="el-icon-circle-plus-outline" size="small" @click="handleAdd()">{{ $t('systemRoleMaintenance.add') }}</el-button>
|
||||
<el-table v-loading="loading" :data="tableData" height="640" highlight-current-row border style="width: 550px;">
|
||||
<el-table-column align="center" label="角色编号" width="100">
|
||||
<el-table-column align="center" :label="$t('systemRoleMaintenance.roleCode')" width="100">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.角色编号 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="角色功能" width="300">
|
||||
<el-table-column align="center" :label="$t('systemRoleMaintenance.roleFunction')" width="300">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.角色功能 }}
|
||||
</template>
|
||||
@@ -20,7 +20,7 @@
|
||||
<!--{{ scope.row.操作日期 }}-->
|
||||
<!--</template>-->
|
||||
<!--</el-table-column>-->
|
||||
<el-table-column label="操作" fixed="right" align="center">
|
||||
<el-table-column :label="$t('systemRoleMaintenance.operation')" fixed="right" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="text" plain icon="el-icon-edit" @click="handleEdit(scope.row)"/>
|
||||
<el-button size="mini" type="text" plain icon="el-icon-delete" @click="handleDelete(scope.row)"/>
|
||||
@@ -39,37 +39,37 @@
|
||||
<!-- </div>-->
|
||||
</el-card>
|
||||
|
||||
<el-dialog v-el-drag-dialog :visible.sync="dialogFormVisible1" title="新增角色" center style="min-height: 200px" width="400px">
|
||||
<el-dialog v-el-drag-dialog :visible.sync="dialogFormVisible1" :title="$t('systemRoleMaintenance.addRole')" center style="min-height: 200px" width="400px">
|
||||
<el-form ref="form" :model="form" :rules="rules" label-position="left" label-width="110px">
|
||||
<el-form-item label="角色名称" prop="角色功能" style="display: inline-block">
|
||||
<el-form-item :label="$t('systemRoleMaintenance.roleName')" prop="角色功能" style="display: inline-block">
|
||||
<el-input
|
||||
v-model="form.角色功能"
|
||||
clearable
|
||||
size="small"
|
||||
placeholder="角色功能"
|
||||
:placeholder="$t('systemRoleMaintenance.roleFunctionPlaceholder')"
|
||||
style="width: 200px;"/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button size="small" @click="dialogFormVisible1 = false">取消</el-button>
|
||||
<el-button :disabled="handleAdd_disable" type="primary" size="small" @click="submitAdd1('form')">确定</el-button>
|
||||
<el-button size="small" @click="dialogFormVisible1 = false">{{ $t('common.cancel') }}</el-button>
|
||||
<el-button :disabled="handleAdd_disable" type="primary" size="small" @click="submitAdd1('form')">{{ $t('common.confirm') }}</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog :visible.sync="dialogFormVisible2" title="编辑角色" center style="min-height: 200px" width="400px">
|
||||
<el-dialog :visible.sync="dialogFormVisible2" :title="$t('systemRoleMaintenance.editRole')" center style="min-height: 200px" width="400px">
|
||||
<el-form ref="form2" :model="form2" :rules="rules2" label-position="left" label-width="110px">
|
||||
<el-form-item label="角色名称" prop="角色功能" style="display: inline-block">
|
||||
<el-form-item :label="$t('systemRoleMaintenance.roleName')" prop="角色功能" style="display: inline-block">
|
||||
<el-input
|
||||
v-model="form2.角色功能"
|
||||
clearable
|
||||
size="small"
|
||||
placeholder="角色功能"
|
||||
:placeholder="$t('systemRoleMaintenance.roleFunctionPlaceholder')"
|
||||
style="width: 200px;"/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button size="small" @click="dialogFormVisible2 = false">取消</el-button>
|
||||
<el-button :disabled="handleAdd_disable" type="primary" size="small" @click="submitAdd2('form2')">确定</el-button>
|
||||
<el-button size="small" @click="dialogFormVisible2 = false">{{ $t('common.cancel') }}</el-button>
|
||||
<el-button :disabled="handleAdd_disable" type="primary" size="small" @click="submitAdd2('form2')">{{ $t('common.confirm') }}</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
@@ -78,6 +78,7 @@
|
||||
<script>
|
||||
import { InitRolefunction, deleteData, searchTable, addData, addData2 } from '@/api/BasicData/SystemRrolemaintenance'
|
||||
export default {
|
||||
name: 'SystemRrolemaintenance',
|
||||
data() {
|
||||
return {
|
||||
handleAdd_disable: false,
|
||||
@@ -94,11 +95,23 @@ export default {
|
||||
form2: {
|
||||
角色功能: ''
|
||||
},
|
||||
rules: {
|
||||
角色功能: [{ required: true, message: '请输入角色名称', trigger: 'blur' }]
|
||||
},
|
||||
rules2: {
|
||||
角色功能: [{ required: true, message: '请输入角色名称', trigger: 'blur' }]
|
||||
rules: {},
|
||||
rules2: {}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
roleRules() {
|
||||
return {
|
||||
角色功能: [{ required: true, message: this.$t('systemRoleMaintenance.enterRoleName'), trigger: 'blur' }]
|
||||
}
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
roleRules: {
|
||||
immediate: true,
|
||||
handler(val) {
|
||||
this.rules = val
|
||||
this.rules2 = val
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -144,10 +157,10 @@ export default {
|
||||
this.handleAdd_disable = true
|
||||
addData2(this.form2.角色功能, this.num).then(response => {
|
||||
if (response.data[0].result === '1') {
|
||||
this.$message.success('编辑成功')
|
||||
this.$message.success(this.$t('systemRoleMaintenance.editSuccess'))
|
||||
this.fetchData()
|
||||
this.dialogFormVisible2 = false
|
||||
} else { this.$message.error('编辑失败') }
|
||||
} else { this.$message.error(this.$t('systemRoleMaintenance.editFailed')) }
|
||||
})
|
||||
}
|
||||
})
|
||||
@@ -158,11 +171,11 @@ export default {
|
||||
this.handleAdd_disable = true
|
||||
addData(this.form.角色功能).then(response => {
|
||||
if (response.data[0].result === '1') {
|
||||
this.$message.success('增加成功')
|
||||
this.$message.success(this.$t('systemRoleMaintenance.addSuccess'))
|
||||
this.form.角色功能 = ''
|
||||
this.fetchData()
|
||||
this.dialogFormVisible1 = false
|
||||
} else { this.$message.error('增加失败') }
|
||||
} else { this.$message.error(this.$t('systemRoleMaintenance.addFailed')) }
|
||||
})
|
||||
}
|
||||
})
|
||||
@@ -175,23 +188,23 @@ export default {
|
||||
this.dialogFormVisible1 = true
|
||||
},
|
||||
handleDelete(row) { // 删除
|
||||
this.$confirm('此操作将永久删除该行, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
this.$confirm(this.$t('systemRoleMaintenance.confirmDelete'), this.$t('systemRoleMaintenance.prompt'), {
|
||||
confirmButtonText: this.$t('common.confirm'),
|
||||
cancelButtonText: this.$t('common.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
deleteData(row.角色编号).then(response => {
|
||||
if (response.data[0].result === '1') {
|
||||
this.$message.success('删除成功')
|
||||
this.$message.success(this.$t('systemRoleMaintenance.deleteSuccess'))
|
||||
} else {
|
||||
this.$message.error('删除失败')
|
||||
this.$message.error(this.$t('systemRoleMaintenance.deleteFailed'))
|
||||
}
|
||||
this.fetchData()
|
||||
})
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消删除'
|
||||
message: this.$t('systemRoleMaintenance.deleteCanceled')
|
||||
})
|
||||
})
|
||||
}
|
||||
@@ -203,4 +216,3 @@ export default {
|
||||
margin: 5px;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
@@ -2,40 +2,40 @@
|
||||
<div class="app-container">
|
||||
<el-card>
|
||||
<div style="margin-top: 7px; margin-bottom: 7px">
|
||||
<el-input v-model="staffName" placeholder="员工姓名" size="small" clearable style="width:200px"/>
|
||||
<el-select v-model="roleName" placeholder="角色名称" clearable size="small" style="width:200px;margin-left:10px">
|
||||
<el-input v-model="staffName" :placeholder="$t('workshopPersonnelRoleMana.staffName')" size="small" clearable style="width:200px"/>
|
||||
<el-select v-model="roleName" :placeholder="$t('workshopPersonnelRoleMana.roleName')" clearable size="small" style="width:200px;margin-left:10px">
|
||||
<el-option
|
||||
v-for="item in roleNames"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"/>
|
||||
</el-select>
|
||||
<el-button type="primary" icon="el-icon-search" size="small" style="margin-left: 10px" plain @click="searchData">查询</el-button>
|
||||
<el-button type="distribution" icon="el-icon-circle-plus-outline" size="small" @click="handelAdd">增加</el-button>
|
||||
<el-button type="primary" icon="el-icon-search" size="small" style="margin-left: 10px" plain @click="searchData">{{ $t('workshopPersonnelRoleMana.search') }}</el-button>
|
||||
<el-button type="distribution" icon="el-icon-circle-plus-outline" size="small" @click="handelAdd">{{ $t('workshopPersonnelRoleMana.add') }}</el-button>
|
||||
</div>
|
||||
<el-table :data="tableData" highlight-current-row stripe size="mini" height="630" border style="width: 70%">
|
||||
<el-table-column label="序号" align="center" type="index" width="70"/>
|
||||
<el-table-column label="员工姓名" align="center">
|
||||
<el-table-column :label="$t('workshopPersonnelRoleMana.sequence')" align="center" type="index" width="70"/>
|
||||
<el-table-column :label="$t('workshopPersonnelRoleMana.staffName')" align="center">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.姓名 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column disabled label="所属部门" align="center">
|
||||
<el-table-column disabled :label="$t('workshopPersonnelRoleMana.departmentName')" align="center">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.部门名称 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="角色名称" align="center">
|
||||
<el-table-column :label="$t('workshopPersonnelRoleMana.roleName')" align="center">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.角色功能 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="考勤编号" align="center">
|
||||
<el-table-column :label="$t('workshopPersonnelRoleMana.attendanceNo')" align="center">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.考勤编号 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center">
|
||||
<el-table-column :label="$t('workshopPersonnelRoleMana.operation')" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="small"
|
||||
@@ -52,7 +52,7 @@
|
||||
</el-table>
|
||||
</el-card>
|
||||
|
||||
<el-dialog v-el-drag-dialog :visible.sync="dialogFormVisible" title="人员信息" center width="750px">
|
||||
<el-dialog v-el-drag-dialog :visible.sync="dialogFormVisible" :title="$t('workshopPersonnelRoleMana.personnelInfo')" center width="750px">
|
||||
<div style="height: 500px">
|
||||
<div style="float: left;margin-top: 10px;margin-left: 20px;overflow-y: scroll;height: 400px">
|
||||
<el-tree
|
||||
@@ -65,36 +65,36 @@
|
||||
/>
|
||||
</div>
|
||||
<el-table :data="List1" highlight-current-row height="400" style="width: 400px;float: left;margin-left: 30px" @row-click="handleCurrentChange">
|
||||
<el-table-column label="考勤编号" align="center" >
|
||||
<el-table-column :label="$t('workshopPersonnelRoleMana.attendanceNo')" align="center" >
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.考勤编号 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="姓名" align="center" >
|
||||
<el-table-column :label="$t('workshopPersonnelRoleMana.name')" align="center" >
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.姓名 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="性别" align="center">
|
||||
<el-table-column :label="$t('workshopPersonnelRoleMana.gender')" align="center">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.性别 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<el-button style="margin-left: 260px" @click="dialogFormVisible = false">取消</el-button>
|
||||
<el-button type="primary" style="margin-top: 20px" @click="getName">确认</el-button>
|
||||
<el-button style="margin-left: 260px" @click="dialogFormVisible = false">{{ $t('common.cancel') }}</el-button>
|
||||
<el-button type="primary" style="margin-top: 20px" @click="getName">{{ $t('common.confirm') }}</el-button>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog v-el-drag-dialog :visible.sync="dialogFormVisible1" title="增加" center style="min-height: 270px" width="800px">
|
||||
<el-form ref="form1" :model="form1" :rules="rules" label-position="left" label-width="110px" class="demo-ruleForm">
|
||||
<el-dialog v-el-drag-dialog :visible.sync="dialogFormVisible1" :title="$t('workshopPersonnelRoleMana.add')" center style="min-height: 270px" width="800px">
|
||||
<el-form ref="form1" :model="form1" :rules="rules" label-position="left" label-width="120px" class="demo-ruleForm">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="员工姓名" prop="staffName">
|
||||
<el-input v-model="form1.staffName" placeholder="请双击选择" size="small" readonly clearable style="width:200px" @dblclick.native="dialogTableVisible()"/>
|
||||
<el-form-item :label="$t('workshopPersonnelRoleMana.staffName')" prop="staffName">
|
||||
<el-input v-model="form1.staffName" :placeholder="$t('workshopPersonnelRoleMana.doubleClickSelect')" size="small" readonly clearable style="width:200px" @dblclick.native="dialogTableVisible()"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="角色名称" prop="roleName">
|
||||
<el-select v-model="form1.roleName" placeholder="角色名称" size="small" clearable style="width:200px">
|
||||
<el-form-item :label="$t('workshopPersonnelRoleMana.roleName')" prop="roleName">
|
||||
<el-select v-model="form1.roleName" :placeholder="$t('workshopPersonnelRoleMana.roleName')" size="small" clearable style="width:200px">
|
||||
<el-option
|
||||
v-for="item in roleNames"
|
||||
:key="item.value"
|
||||
@@ -104,34 +104,34 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="考勤编号" >
|
||||
<el-form-item :label="$t('workshopPersonnelRoleMana.attendanceNo')" >
|
||||
<el-input
|
||||
v-model="attendanceNumber"
|
||||
disabled
|
||||
size="small"
|
||||
style="width:200px"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="所属部门" >
|
||||
<el-form-item :label="$t('workshopPersonnelRoleMana.departmentName')" >
|
||||
<el-input v-model="department" size="small" style="width:200px"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="callOFF">取 消</el-button>
|
||||
<el-button :disabled="handelAdd_disable" type="primary" @click="submitAdd1()">确 定</el-button>
|
||||
<el-button @click="callOFF">{{ $t('common.cancel') }}</el-button>
|
||||
<el-button :disabled="handelAdd_disable" type="primary" @click="submitAdd1()">{{ $t('common.confirm') }}</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog v-el-drag-dialog :visible.sync="dialogFormVisible2" title="编辑" center style="min-height: 270px" width="800px">
|
||||
<el-form ref="form2" :model="form2" :rules="rules1" label-position="left" label-width="110px" class="demo-ruleForm">
|
||||
<el-dialog v-el-drag-dialog :visible.sync="dialogFormVisible2" :title="$t('workshopPersonnelRoleMana.edit')" center style="min-height: 270px" width="800px">
|
||||
<el-form ref="form2" :model="form2" :rules="rules1" label-position="left" label-width="120px" class="demo-ruleForm">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="员工姓名" >
|
||||
<el-form-item :label="$t('workshopPersonnelRoleMana.staffName')" >
|
||||
<el-input v-model="form2.staffName" disabled size="small" clearable style="width:200px"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="角色名称" prop="roleName">
|
||||
<el-select v-model="form2.roleName" placeholder="角色名称" clearable size="small" style="width:200px">
|
||||
<el-form-item :label="$t('workshopPersonnelRoleMana.roleName')" prop="roleName">
|
||||
<el-select v-model="form2.roleName" :placeholder="$t('workshopPersonnelRoleMana.roleName')" clearable size="small" style="width:200px">
|
||||
<el-option
|
||||
v-for="item in roleNames"
|
||||
:key="item.value"
|
||||
@@ -141,22 +141,22 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="考勤编号" >
|
||||
<el-form-item :label="$t('workshopPersonnelRoleMana.attendanceNo')" >
|
||||
<el-input
|
||||
v-model="attendanceNumber"
|
||||
disabled
|
||||
size="small"
|
||||
style="width:200px"/>
|
||||
</el-form-item>
|
||||
<el-form-item disabled="true" label="所属部门" >
|
||||
<el-form-item disabled="true" :label="$t('workshopPersonnelRoleMana.departmentName')" >
|
||||
<el-input v-model="department" disabled size="small" style="width:200px"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="callOFF">取消</el-button>
|
||||
<el-button :disabled="handelAdd_disable" type="primary" @click="submitAdd2()">确定</el-button>
|
||||
<el-button @click="callOFF">{{ $t('common.cancel') }}</el-button>
|
||||
<el-button :disabled="handelAdd_disable" type="primary" @click="submitAdd2()">{{ $t('common.confirm') }}</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
@@ -166,6 +166,7 @@
|
||||
<script>
|
||||
import { fn } from '@/api/BasicData/WorkshopPersonnelRoleMana'
|
||||
export default {
|
||||
name: 'WorkshopPersonnelRoleMana',
|
||||
data() {
|
||||
return {
|
||||
handelAdd_disable: false, // 禁止二次出发
|
||||
@@ -178,13 +179,8 @@ export default {
|
||||
staffName: '', // 员工姓名
|
||||
roleName: '' // 角色姓名
|
||||
},
|
||||
rules: { // 表单验证
|
||||
staffName: [{ required: true, message: '请选择员工姓名', trigger: 'change' }],
|
||||
roleName: [{ required: true, message: '请选择员工角色', trigger: 'change' }]
|
||||
},
|
||||
rules1: { // 表单验证
|
||||
roleName: [{ required: true, message: '请选择员工角色', trigger: 'change' }]
|
||||
},
|
||||
rules: {},
|
||||
rules1: {},
|
||||
staffName: '', // 员工姓名
|
||||
attendanceNumber: '', // 考勤编号
|
||||
List1: [], // 人员列表
|
||||
@@ -205,6 +201,33 @@ export default {
|
||||
dialogFormVisible: false // 控制人员对话框显示
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
addRules() {
|
||||
return {
|
||||
staffName: [{ required: true, message: this.$t('workshopPersonnelRoleMana.selectStaffName'), trigger: 'change' }],
|
||||
roleName: [{ required: true, message: this.$t('workshopPersonnelRoleMana.selectStaffRole'), trigger: 'change' }]
|
||||
}
|
||||
},
|
||||
editRules() {
|
||||
return {
|
||||
roleName: [{ required: true, message: this.$t('workshopPersonnelRoleMana.selectStaffRole'), trigger: 'change' }]
|
||||
}
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
addRules: {
|
||||
immediate: true,
|
||||
handler(val) {
|
||||
this.rules = val
|
||||
}
|
||||
},
|
||||
editRules: {
|
||||
immediate: true,
|
||||
handler(val) {
|
||||
this.rules1 = val
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.fetchData()
|
||||
},
|
||||
@@ -290,13 +313,13 @@ export default {
|
||||
var Data = this.CreateData('12', '菜单系统模块_项目角色员工综合_增加数据', param)
|
||||
this.ExecDatabase(Data).then(response => {
|
||||
if (response.data[0].result === '1') {
|
||||
this.$message.success('增加成功')
|
||||
this.$message.success(this.$t('workshopPersonnelRoleMana.addSuccess'))
|
||||
this.department = ''
|
||||
this.form1.staffName = ''
|
||||
this.form1.roleName = ''
|
||||
this.searchData()
|
||||
this.dialogFormVisible1 = false
|
||||
} else { this.$message.error('增加失败') }
|
||||
} else { this.$message.error(this.$t('workshopPersonnelRoleMana.addFailed')) }
|
||||
})
|
||||
} else {
|
||||
console.log('error submit!!')
|
||||
@@ -315,11 +338,11 @@ export default {
|
||||
var Data = this.CreateData('12', '菜单系统模块_项目角色员工综合_修改数据', param)
|
||||
this.ExecDatabase(Data).then(response => {
|
||||
if (response.data[0].result === '1') {
|
||||
this.$message.success('修改成功')
|
||||
this.$message.success(this.$t('workshopPersonnelRoleMana.editSuccess'))
|
||||
this.department = ''
|
||||
this.searchData()
|
||||
this.dialogFormVisible2 = false
|
||||
} else { this.$message.error('修改失败') }
|
||||
} else { this.$message.error(this.$t('workshopPersonnelRoleMana.editFailed')) }
|
||||
})
|
||||
} else {
|
||||
console.log('error submit!!')
|
||||
@@ -337,9 +360,9 @@ export default {
|
||||
})
|
||||
},
|
||||
handleDelete(row) { // 删除
|
||||
this.$confirm('此操作将永久删除该行, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
this.$confirm(this.$t('workshopPersonnelRoleMana.confirmDelete'), this.$t('workshopPersonnelRoleMana.prompt'), {
|
||||
confirmButtonText: this.$t('common.confirm'),
|
||||
cancelButtonText: this.$t('common.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
var param = []
|
||||
@@ -347,14 +370,14 @@ export default {
|
||||
var Data = this.CreateData('12', '菜单系统模块_项目角色员工综合_删除数据', param)
|
||||
this.ExecDatabase(Data).then(response => {
|
||||
if (response.data[0].result === '1') {
|
||||
this.$message.success('删除成功')
|
||||
} else { this.$message.error('删除失败') }
|
||||
this.$message.success(this.$t('workshopPersonnelRoleMana.deleteSuccess'))
|
||||
} else { this.$message.error(this.$t('workshopPersonnelRoleMana.deleteFailed')) }
|
||||
this.searchData()
|
||||
})
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消删除'
|
||||
message: this.$t('workshopPersonnelRoleMana.deleteCanceled')
|
||||
})
|
||||
})
|
||||
},
|
||||
@@ -382,4 +405,3 @@ export default {
|
||||
margin: 5px;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
style="width: 70%"
|
||||
@row-click="rowClick"
|
||||
>
|
||||
<el-table-column type="index" width="60" label="序号" align="center"/>
|
||||
<el-table-column type="index" width="60" :label="$t('stationInformationMaintenance.sequence')" align="center"/>
|
||||
<!-- <el-table-column label="MES工序号" width="110" align="center">-->
|
||||
<!-- <template slot-scope="scope">-->
|
||||
<!-- <template>-->
|
||||
@@ -27,14 +27,14 @@
|
||||
<!-- </template>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column label="工位号" width="110" align="center">
|
||||
<el-table-column :label="$t('stationInformationMaintenance.stationNumber')" width="110" align="center">
|
||||
<template slot-scope="scope">
|
||||
<template>
|
||||
{{ scope.row.工位号 }}
|
||||
</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="工位名称" min-width="150px" align="center">
|
||||
<el-table-column :label="$t('stationInformationMaintenance.stationName')" min-width="150px" align="center">
|
||||
<template slot-scope="scope">
|
||||
<template>
|
||||
{{ scope.row.工位名称 }}
|
||||
@@ -42,14 +42,14 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="工位MES功能" width="110px" align="center">
|
||||
<el-table-column :label="$t('stationInformationMaintenance.stationMESFunction')" width="110px" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-tag v-if="scope.row.是否启用MES" size="mini" type="success">启用</el-tag>
|
||||
<el-tag v-else size="mini" type="warning">禁用</el-tag>
|
||||
<el-tag v-if="scope.row.是否启用MES" size="mini" type="success">{{ $t('stationInformationMaintenance.enabled') }}</el-tag>
|
||||
<el-tag v-else size="mini" type="warning">{{ $t('stationInformationMaintenance.disabled') }}</el-tag>
|
||||
<!-- <el-checkbox v-model="scope.row.是否启用MES" @change="updateUsedMes(scope.row)" />-->
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="MES_DLL" width="110px" align="center">
|
||||
<el-table-column :label="$t('stationInformationMaintenance.mesDll')" width="110px" align="center">
|
||||
<template slot-scope="scope">
|
||||
<template>
|
||||
<span v-if="scope.row.是否启用MES">{{ scope.row.MesDll }}</span>
|
||||
@@ -57,7 +57,7 @@
|
||||
</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="150" align="center">
|
||||
<el-table-column :label="$t('stationInformationMaintenance.operation')" width="150" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
@@ -65,12 +65,12 @@
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
@click="editShiftTable(scope.row)"
|
||||
>编辑</el-button>
|
||||
>{{ $t('stationInformationMaintenance.edit') }}</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-card>
|
||||
<el-dialog v-el-drag-dialog :visible.sync="dialogFormVisible" :title="title" center style="min-height: 200px;" width="400px">
|
||||
<el-dialog v-el-drag-dialog :visible.sync="dialogFormVisible" :title="translateDialogTitle(title)" center style="min-height: 200px;" width="400px">
|
||||
<el-form ref="formData" :model="formData" :rules="rules" label-position="right" label-width="120px">
|
||||
<!-- <el-form-item label="MES工序号" prop="fileName">-->
|
||||
<!-- <el-input v-model="formData.fileName" readonly class="myReadOnly-input" size="small" placeholder="指南工位号"/>-->
|
||||
@@ -78,31 +78,31 @@
|
||||
<!-- <el-form-item label="MES资源号" prop="nameIndustrialComputer">-->
|
||||
<!-- <el-input v-model="formData.nameIndustrialComputer" readonly class="myReadOnly-input" size="small" placeholder="指南工位号"/>-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item label="工位号" prop="stationNumber">
|
||||
<el-input v-model="formData.stationNumber" readonly class="myReadOnly-input" size="small" placeholder="工位号"/>
|
||||
<el-form-item :label="$t('stationInformationMaintenance.stationNumber')" prop="stationNumber">
|
||||
<el-input v-model="formData.stationNumber" readonly class="myReadOnly-input" size="small" :placeholder="$t('stationInformationMaintenance.stationNumber')"/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="工位名称" prop="stationName">
|
||||
<el-input v-model="formData.stationName" clearable size="small" placeholder="工位名称"/>
|
||||
<el-form-item :label="$t('stationInformationMaintenance.stationName')" prop="stationName">
|
||||
<el-input v-model="formData.stationName" clearable size="small" :placeholder="$t('stationInformationMaintenance.stationName')"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="工位MES功能" prop="enableMES">
|
||||
<el-form-item :label="$t('stationInformationMaintenance.stationMESFunction')" prop="enableMES">
|
||||
<!-- <el-checkbox v-model="formData.enableMES" />-->
|
||||
<el-tag v-if="formData.enableMES" size="mini" type="success">启用</el-tag>
|
||||
<el-tag v-else size="mini" type="warning">禁用</el-tag>
|
||||
<el-tag v-if="formData.enableMES" size="mini" type="success">{{ $t('stationInformationMaintenance.enabled') }}</el-tag>
|
||||
<el-tag v-else size="mini" type="warning">{{ $t('stationInformationMaintenance.disabled') }}</el-tag>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="formData.enableMES" label="MES_DLL" prop="MesDll">
|
||||
<el-input v-model="formData.MesDll" readonly class="myReadOnly-input" size="small" placeholder="MES_DLL"/>
|
||||
<el-form-item v-if="formData.enableMES" :label="$t('stationInformationMaintenance.mesDll')" prop="MesDll">
|
||||
<el-input v-model="formData.MesDll" readonly class="myReadOnly-input" size="small" :placeholder="$t('stationInformationMaintenance.mesDll')"/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer">
|
||||
<el-button @click="callOff('formData')">取消</el-button>
|
||||
<el-button type="primary" @click="submitAdd1('formData')">确定</el-button>
|
||||
<el-button @click="callOff('formData')">{{ $t('common.cancel') }}</el-button>
|
||||
<el-button type="primary" @click="submitAdd1('formData')">{{ $t('common.confirm') }}</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-dialog :visible.sync="dialogFormVisible1" :title="title" center style="min-height: 200px;" width="400px">
|
||||
<el-dialog :visible.sync="dialogFormVisible1" :title="translateDialogTitle(title)" center style="min-height: 200px;" width="400px">
|
||||
<el-form ref="form" :model="form" :rules="rules" label-position="right" label-width="110px">
|
||||
<el-form-item label="电气元器件" prop="dataTypeValue">
|
||||
<el-select v-model="form.dataTypeValue" placeholder="电气元器件" clearable size="small" style="width:200px" @change="changeName(form.dataTypeValue)">
|
||||
<el-form-item :label="$t('stationInformationMaintenance.electricalComponents')" prop="dataTypeValue">
|
||||
<el-select v-model="form.dataTypeValue" :placeholder="$t('stationInformationMaintenance.electricalComponents')" clearable size="small" style="width:200px" @change="changeName(form.dataTypeValue)">
|
||||
<el-option
|
||||
v-for="item in dataType"
|
||||
:key="item.value"
|
||||
@@ -111,43 +111,43 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="编号" prop="value">
|
||||
<el-input v-model="form.value" clearable size="small" placeholder="序号"/>
|
||||
<el-form-item :label="$t('stationInformationMaintenance.number')" prop="value">
|
||||
<el-input v-model="form.value" clearable size="small" :placeholder="$t('stationInformationMaintenance.sequence')"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="描述" prop="descript">
|
||||
<el-form-item :label="$t('stationInformationMaintenance.description')" prop="descript">
|
||||
<el-input
|
||||
v-model="form.descript"
|
||||
clearable
|
||||
size="small"
|
||||
placeholder="描述"
|
||||
:placeholder="$t('stationInformationMaintenance.description')"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否禁用" prop="active">
|
||||
<el-select v-model="form.active" placeholder="是否禁用" clearable size="small" style="width:200px">
|
||||
<el-form-item :label="$t('stationInformationMaintenance.disabledStatus')" prop="active">
|
||||
<el-select v-model="form.active" :placeholder="$t('stationInformationMaintenance.disabledStatus')" clearable size="small" style="width:200px">
|
||||
<el-option
|
||||
v-for="item in active"
|
||||
v-for="item in activeOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="comments">
|
||||
<el-form-item :label="$t('stationInformationMaintenance.remarks')" prop="comments">
|
||||
<el-input
|
||||
v-model="form.comments"
|
||||
clearable
|
||||
size="small"
|
||||
placeholder="备注"
|
||||
:placeholder="$t('stationInformationMaintenance.remarks')"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button size="small" @click="callOff('form')">取消</el-button>
|
||||
<el-button v-if="title === '增加'" type="primary" size="small" @click="submitAdd('form')">确定</el-button>
|
||||
<el-button v-if="title === '编辑'" type="primary" size="small" @click="submitAdd1('form')">确定</el-button>
|
||||
<el-button size="small" @click="callOff('form')">{{ $t('common.cancel') }}</el-button>
|
||||
<el-button v-if="title === '增加'" type="primary" size="small" @click="submitAdd('form')">{{ $t('common.confirm') }}</el-button>
|
||||
<el-button v-if="title === '编辑'" type="primary" size="small" @click="submitAdd1('form')">{{ $t('common.confirm') }}</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-dialog :visible.sync="dialogFormVisible3" title="导入" center style="min-height: 200px" width="900px">
|
||||
<el-dialog :visible.sync="dialogFormVisible3" :title="$t('stationInformationMaintenance.import')" center style="min-height: 200px" width="900px">
|
||||
<div class="app-container">
|
||||
<upload-excel-component style="margin-left: 15%" @on-selected-file="selected"/>
|
||||
<div style="margin-left: 395px">
|
||||
@@ -155,7 +155,7 @@
|
||||
<el-upload :on-remove="handleRemove" :file-list="itemFile" style="width: 220px" action=""/>
|
||||
</div>
|
||||
<div v-if="worksheet.length !== 0" style="margin: 3px 0 0 395px">
|
||||
<el-button icon="el-icon-upload2" type="primary" size="small" @click="basicPartsToSQL">导入到数据库</el-button>
|
||||
<el-button icon="el-icon-upload2" type="primary" size="small" @click="basicPartsToSQL">{{ $t('stationInformationMaintenance.importToDatabase') }}</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</el-dialog>
|
||||
@@ -182,13 +182,6 @@ export default {
|
||||
PLCIP: [],
|
||||
tableData: [],
|
||||
activeValue: '',
|
||||
active: [{
|
||||
label: '启用',
|
||||
value: 1
|
||||
}, {
|
||||
label: '禁用',
|
||||
value: 0
|
||||
}],
|
||||
dialogFormVisible: false,
|
||||
dialogFormVisible1: false,
|
||||
dialogFormVisible3: false,
|
||||
@@ -201,10 +194,7 @@ export default {
|
||||
active: '',
|
||||
dataTypeValue: ''
|
||||
},
|
||||
rules: { // 表单验证规则
|
||||
stationName: [{ required: true, message: '请输入工位名称', trigger: 'blur' }],
|
||||
enableMES: [{ required: true, message: '请选择是否启用工位MES', trigger: 'blur' }]
|
||||
},
|
||||
rules: {},
|
||||
formData: {
|
||||
ID: '', // ID
|
||||
stationCode: '', // 工位代码
|
||||
@@ -280,6 +270,28 @@ export default {
|
||||
total: 0
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
activeOptions() {
|
||||
return [{
|
||||
label: this.$t('stationInformationMaintenance.enabled'),
|
||||
value: 1
|
||||
}, {
|
||||
label: this.$t('stationInformationMaintenance.disabled'),
|
||||
value: 0
|
||||
}]
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'$i18n.locale': {
|
||||
immediate: true,
|
||||
handler() {
|
||||
this.rules = {
|
||||
stationName: [{ required: true, message: this.$t('stationInformationMaintenance.enterStationName'), trigger: 'blur' }],
|
||||
enableMES: [{ required: true, message: this.$t('stationInformationMaintenance.selectStationMES'), trigger: 'blur' }]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getIP()
|
||||
this.getNumber()
|
||||
@@ -294,29 +306,38 @@ export default {
|
||||
this.ExecDatabase(Data).then(response => {
|
||||
if (response.data[0].result === '1') {
|
||||
this.$message({
|
||||
message: '修改成功',
|
||||
message: this.$t('stationInformationMaintenance.editSuccess'),
|
||||
type: 'success'
|
||||
})
|
||||
this.searchTable()
|
||||
} else {
|
||||
this.$message.error('修改失败!')
|
||||
this.$message.error(this.$t('stationInformationMaintenance.editFailed'))
|
||||
}
|
||||
})
|
||||
},
|
||||
selectCode(val) {
|
||||
for (let i = 0; i < this.tableData.length; i++) {
|
||||
if (val === this.tableData[i].工位代码) {
|
||||
this.$message.error('工位代码重复,请重新输入!')
|
||||
this.$message.error(this.$t('stationInformationMaintenance.duplicateStationCode'))
|
||||
}
|
||||
}
|
||||
},
|
||||
handleClose(done) {
|
||||
this.$confirm('确认关闭?')
|
||||
this.$confirm(this.$t('stationInformationMaintenance.confirmClose'))
|
||||
.then(_ => {
|
||||
done()
|
||||
})
|
||||
.catch(_ => {})
|
||||
},
|
||||
translateDialogTitle(title) {
|
||||
const titleMap = {
|
||||
'添加工位信息': this.$t('stationInformationMaintenance.addStationInfo'),
|
||||
'编辑工位信息': this.$t('stationInformationMaintenance.editStationInfo'),
|
||||
'增加': this.$t('stationInformationMaintenance.add'),
|
||||
'编辑': this.$t('stationInformationMaintenance.edit')
|
||||
}
|
||||
return titleMap[title] || title
|
||||
},
|
||||
getNumber() {
|
||||
this.dataType = []
|
||||
request({
|
||||
@@ -396,7 +417,7 @@ export default {
|
||||
var Data = this.CreateData('2001', '基础数据_工位信息维护_导出', param)
|
||||
this.exportExcel_NPOI(Data)
|
||||
} else {
|
||||
this.$message.warning('暂无数据')
|
||||
this.$message.warning(this.$t('stationInformationMaintenance.noData'))
|
||||
}
|
||||
},
|
||||
addShiftTable(formName) {
|
||||
@@ -545,13 +566,13 @@ export default {
|
||||
console.log(response)
|
||||
if (response.data[0].result === '1') {
|
||||
this.$message({
|
||||
message: '增加成功',
|
||||
message: this.$t('stationInformationMaintenance.addSuccess'),
|
||||
type: 'success'
|
||||
})
|
||||
this.dialogFormVisible = false
|
||||
this.searchTable()
|
||||
} else {
|
||||
this.$message.error('增加失败!')
|
||||
this.$message.error(this.$t('stationInformationMaintenance.addFailed'))
|
||||
}
|
||||
})
|
||||
this.drawer = false
|
||||
@@ -768,17 +789,17 @@ export default {
|
||||
this.ExecDatabase(Data).then(response => {
|
||||
if (response.data[0].result === '1') {
|
||||
this.$message({
|
||||
message: '增加成功',
|
||||
message: this.$t('stationInformationMaintenance.addSuccess'),
|
||||
type: 'success'
|
||||
})
|
||||
this.dialogFormVisible = false
|
||||
this.searchTable()
|
||||
} else {
|
||||
this.$message.error('增加失败!')
|
||||
this.$message.error(this.$t('stationInformationMaintenance.addFailed'))
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message.error('请选中一行信息进行复制!')
|
||||
this.$message.error(this.$t('stationInformationMaintenance.selectRowToCopy'))
|
||||
}
|
||||
},
|
||||
submitAdd1() {
|
||||
@@ -857,13 +878,13 @@ export default {
|
||||
this.ExecDatabase(Data).then(response => {
|
||||
if (response.data[0].result === '1') {
|
||||
this.$message({
|
||||
message: '修改成功',
|
||||
message: this.$t('stationInformationMaintenance.editSuccess'),
|
||||
type: 'success'
|
||||
})
|
||||
this.searchTable()
|
||||
this.dialogFormVisible = false
|
||||
} else {
|
||||
this.$message.error('修改失败!')
|
||||
this.$message.error(this.$t('stationInformationMaintenance.editFailed'))
|
||||
}
|
||||
})
|
||||
} else {
|
||||
@@ -872,9 +893,9 @@ export default {
|
||||
})
|
||||
},
|
||||
handleDelete(row) {
|
||||
this.$confirm('此操作将永久删除该行, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
this.$confirm(this.$t('stationInformationMaintenance.confirmDelete'), this.$t('stationInformationMaintenance.prompt'), {
|
||||
confirmButtonText: this.$t('common.confirm'),
|
||||
cancelButtonText: this.$t('common.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
var param = []
|
||||
@@ -883,18 +904,18 @@ export default {
|
||||
this.ExecDatabase(Data).then(response => {
|
||||
if (response.data[0].result === '1') {
|
||||
this.$message({
|
||||
message: '删除成功',
|
||||
message: this.$t('stationInformationMaintenance.deleteSuccess'),
|
||||
type: 'success'
|
||||
})
|
||||
this.searchTable()
|
||||
} else {
|
||||
this.$message.error('删除失败!')
|
||||
this.$message.error(this.$t('stationInformationMaintenance.deleteFailed'))
|
||||
}
|
||||
})
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消删除'
|
||||
message: this.$t('stationInformationMaintenance.deleteCanceled')
|
||||
})
|
||||
})
|
||||
},
|
||||
@@ -998,7 +1019,7 @@ export default {
|
||||
const response = await this.ExecDatabase(Data)
|
||||
const res = response.data
|
||||
if (res[0].Column1 !== 0) {
|
||||
this.$notify.error(`${this.worksheet[j].B2.v}已经存在,请确认文件是否正确`)
|
||||
this.$notify.error(`${this.worksheet[j].B2.v}${this.$t('stationInformationMaintenance.alreadyExistsCheckFile')}`)
|
||||
this.loading = false
|
||||
this.disabled = false
|
||||
return
|
||||
@@ -1138,7 +1159,7 @@ export default {
|
||||
if (!stationCode && !stationNumber && !guideStationNumber && !machineType && !stationName && !lineType) {
|
||||
break
|
||||
} else if (!stationNumber) { // 名称不能为空
|
||||
this.$notify.error(`工位号不能为空`)
|
||||
this.$notify.error(this.$t('stationInformationMaintenance.stationNumberRequired'))
|
||||
break
|
||||
} else {
|
||||
if (stationNumber) {
|
||||
@@ -1211,7 +1232,7 @@ export default {
|
||||
} else {
|
||||
this.loading = false
|
||||
this.disabled = false
|
||||
this.$notify.error(`请确认导入文件是否正确`)
|
||||
this.$notify.error(this.$t('stationInformationMaintenance.confirmImportFile'))
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -1219,14 +1240,16 @@ export default {
|
||||
}
|
||||
this.itemFile.splice(j, 1)
|
||||
this.worksheet.splice(j, 1)
|
||||
this.err === 0 ? this.$message.success(`导入完成`) : this.$message.error(`导入失败零件个数为${this.err},请检查文件是否正确`)
|
||||
this.err === 0
|
||||
? this.$message.success(this.$t('stationInformationMaintenance.importCompleted'))
|
||||
: this.$message.error(`${this.$t('stationInformationMaintenance.importFailedCountPrefix')}${this.err}${this.$t('stationInformationMaintenance.importFailedCountSuffix')}`)
|
||||
}
|
||||
this.loading = false
|
||||
this.searchTable()
|
||||
} catch (e) {
|
||||
this.err++
|
||||
this.loading = false
|
||||
this.$notify.error(`导入数据错误,请检查导入文件是否正确`)
|
||||
this.$notify.error(this.$t('stationInformationMaintenance.importDataErrorFile'))
|
||||
console.log(`导入数据错误${e}`)
|
||||
}
|
||||
},
|
||||
@@ -1369,19 +1392,19 @@ export default {
|
||||
const res = response.data
|
||||
if (Object.prototype.hasOwnProperty.call(res, 'output') === false) {
|
||||
if (res[0].result === '0') {
|
||||
this.$notify.error(`${stationNumber}导入失败`)
|
||||
this.$notify.error(`${stationNumber}${this.$t('stationInformationMaintenance.importFailedForStation')}`)
|
||||
}
|
||||
} else {
|
||||
if (res.result[0].result === '0') {
|
||||
this.$notify.error(`${stationNumber}导入失败`)
|
||||
this.$notify.error(`${stationNumber}${this.$t('stationInformationMaintenance.importFailedForStation')}`)
|
||||
}
|
||||
if (res.output[0].导入类型 === '2') {
|
||||
this.$notify.warning(`${stationNumber}存在重复数据`)
|
||||
this.$notify.warning(`${stationNumber}${this.$t('stationInformationMaintenance.duplicateDataForStation')}`)
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
this.err++
|
||||
this.$message.error(`导入数据错误`)
|
||||
this.$message.error(this.$t('stationInformationMaintenance.importDataError'))
|
||||
console.log(`导入数据错误${e}`)
|
||||
}
|
||||
},
|
||||
@@ -1419,4 +1442,3 @@ export default {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
@@ -150,6 +150,12 @@
|
||||
{{ scope.row.工位号 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="产品编号">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.发动机号 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column align="center" label="产品型号">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.发动机型号 }}
|
||||
@@ -175,11 +181,6 @@
|
||||
<!-- {{ scope.row.单元号 }}-->
|
||||
<!-- </template>-->
|
||||
<!--</el-table-column>-->
|
||||
<!-- <el-table-column align="center" label="产品编号">-->
|
||||
<!-- <template slot-scope="scope">-->
|
||||
<!-- {{ scope.row.发动机号 }}-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
|
||||
<!--<el-table-column align="center" label="工位名称">-->
|
||||
<!-- <template slot-scope="scope">-->
|
||||
@@ -324,7 +325,6 @@ export default {
|
||||
var param = []
|
||||
var Data = this.CreateData('11', 'MES_计划BOM_工位与名称_查询', param)
|
||||
this.ExecDatabase(Data).then(response => {
|
||||
if (response.data.length) this.stationNumberValue = response.data[0].工位号
|
||||
for (let i = 0; i < response.data.length; i++) {
|
||||
this.stationNumber.push({
|
||||
label: `【${response.data[i].工位号}】${response.data[i].工位名称}`,
|
||||
@@ -339,7 +339,6 @@ export default {
|
||||
var param = []
|
||||
var Data = this.CreateData('11', 'MES_基本变量_机型代码_查询', param)
|
||||
this.ExecDatabase(Data).then(response => {
|
||||
if (response.data.length) this.engineTypeValue = response.data[0].发动机机型标志
|
||||
for (let i = 0; i < response.data.length; i++) {
|
||||
this.engineType.push({
|
||||
label: response.data[i].发动机型号 + '-' + response.data[i].标识字符,
|
||||
@@ -521,7 +520,6 @@ export default {
|
||||
param[28] = ['ItemCount', '1111', 'int', '1']
|
||||
var Data = this.CreateData('11', '质量数据_发动机质量数据_各个工位_视图_发动机型号_综合查询', param)
|
||||
this.ExecDatabase(Data).then(response => {
|
||||
console.log(response, 66)
|
||||
if (response.data.result.length !== 0) {
|
||||
this.tableData = response.data.result
|
||||
}
|
||||
|
||||
@@ -465,7 +465,6 @@ export default {
|
||||
param[20] = ['ItemCount', '1111', 'int', '1']
|
||||
var Data = this.CreateData('11', '质量数据_发动机分线质量数据_综合查询', param)
|
||||
this.ExecDatabase(Data).then(response => {
|
||||
console.log(response, 66)
|
||||
if (response.data.result.length !== 0) {
|
||||
this.tableData = response.data.result
|
||||
}
|
||||
|
||||
@@ -133,17 +133,16 @@
|
||||
{{ scope.row.订单号 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<!-- <el-table-column align="center" label="产品编号">-->
|
||||
<!-- <template slot-scope="scope">-->
|
||||
<!-- {{ scope.row.发动机号 }}-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column align="center" label="工位号" width="100px">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.工位号 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="产品编号">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.发动机号 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="产品型号" width="120px">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.发动机型号 }}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -17,12 +17,12 @@
|
||||
<div v-for="(value1,index1) in fathers" :key="index1" style="width:100%;background: white;margin-bottom: 15px">
|
||||
<div style="width: 100%;height: 40px;line-height: 40px;background: rgb(127,172,237);color:white">
|
||||
<svg-icon :icon-class="value1.icon" style="color: white;margin: 5px 5px 0px 10px;border: 0 solid black;width:20px;height:20px"/>
|
||||
{{ value1.title }}
|
||||
{{ translateMenuTitle(value1.title) }}
|
||||
</div>
|
||||
<router-link v-for="(value2,index2) in sons" v-if="value2.pid === value1.id" :key="index2" :to="value2.path">
|
||||
<el-card shadow="hover" class="sudoku_item1" style="height:130px;width:175px;margin: 5px;display: inline-block;background: rgba(255,255,255,0.4);border: 2px solid rgb(208,222,234)">
|
||||
<svg-icon :icon-class="value2.icon" class="bgc" style="color: rgb(37,89,164);display:block;margin: auto;border: 0px solid black;width:40px;height:40px"/>
|
||||
<h4 style="margin-top: 10px;color:rgb(37,89,164);text-align:center">{{ value2.title }}</h4>
|
||||
<h4 style="margin-top: 10px;color:rgb(37,89,164);text-align:center">{{ translateMenuTitle(value2.title) }}</h4>
|
||||
</el-card>
|
||||
</router-link>
|
||||
</div>
|
||||
@@ -35,6 +35,7 @@
|
||||
<script>
|
||||
import { mapGetters } from 'vuex'
|
||||
import request from '@/utils/request'
|
||||
import { translateMenuTitle } from '@/utils/i18n'
|
||||
export default {
|
||||
name: 'Dashboard',
|
||||
data() {
|
||||
@@ -64,6 +65,7 @@ export default {
|
||||
clearInterval(this.timer)
|
||||
},
|
||||
methods: {
|
||||
translateMenuTitle,
|
||||
async initFirstModule() {
|
||||
await request({
|
||||
url: '',
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
<script>
|
||||
import { translateMenuTitle } from '@/utils/i18n'
|
||||
|
||||
export default {
|
||||
name: 'MenuItem',
|
||||
functional: true,
|
||||
@@ -15,13 +17,14 @@ export default {
|
||||
render(h, context) {
|
||||
const { icon, title } = context.props
|
||||
const vnodes = []
|
||||
const vm = context.parent
|
||||
|
||||
if (icon) {
|
||||
vnodes.push(<svg-icon icon-class={icon}/>)
|
||||
}
|
||||
|
||||
if (title) {
|
||||
vnodes.push(<span slot='title'>{(title)}</span>)
|
||||
vnodes.push(<span slot='title'>{translateMenuTitle(title, vm && vm.$i18n && vm.$i18n.locale)}</span>)
|
||||
}
|
||||
return vnodes
|
||||
}
|
||||
|
||||
@@ -5,14 +5,14 @@
|
||||
<router-link v-if="item.children.length===1 && !item.children[0].children" :key="item.children[0].name" :to="item.path+'/'+item.children[0].path">
|
||||
<el-menu-item :index="item.path+'/'+item.children[0].path" :class="{'submenu-title-noDropdown':!isNest}">
|
||||
<svg-icon v-if="item.children[0].meta&&item.children[0].meta.icon" :icon-class="item.children[0].meta.icon"/>
|
||||
<span v-if="item.children[0].meta&&item.children[0].meta.title">{{ item.children[0].meta.title }}</span>
|
||||
<span v-if="item.children[0].meta&&item.children[0].meta.title">{{ translateMenuTitle(item.children[0].meta.title) }}</span>
|
||||
</el-menu-item>
|
||||
</router-link>
|
||||
<!--二级-->
|
||||
<el-submenu v-else :key="item.name" :index="item.name||item.path">
|
||||
<template slot="title">
|
||||
<svg-icon v-if="item.meta&&item.meta.icon" :icon-class="item.meta.icon"/>
|
||||
<span v-if="item.meta&&item.meta.title">{{ item.meta.title }}</span>
|
||||
<span v-if="item.meta&&item.meta.title">{{ translateMenuTitle(item.meta.title) }}</span>
|
||||
</template>
|
||||
|
||||
<template v-for="child in item.children" v-if="!child.hidden">
|
||||
@@ -20,7 +20,7 @@
|
||||
<router-link v-else :key="child.name" :to="item.path+child.path">
|
||||
<el-menu-item :index="item.path+'/'+child.path">
|
||||
<svg-icon v-if="child.meta&&child.meta.icon" :icon-class="child.meta.icon"/>
|
||||
<span v-if="child.meta&&child.meta.title">{{ child.meta.title }}</span>
|
||||
<span v-if="child.meta&&child.meta.title">{{ translateMenuTitle(child.meta.title) }}</span>
|
||||
{{ item.path+'/'+child.path }}
|
||||
</el-menu-item>
|
||||
</router-link>
|
||||
@@ -32,6 +32,8 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { translateMenuTitle } from '@/utils/i18n'
|
||||
|
||||
export default {
|
||||
name: 'SidebarItem',
|
||||
props: {
|
||||
@@ -43,6 +45,9 @@ export default {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
translateMenuTitle
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="tags-view-container">
|
||||
<scroll-pane ref="scrollPane" class="tags-view-wrapper" style="background: rgb(255,255,255)!important;">
|
||||
<router-link v-for="tag in Array.from(visitedViews)" ref="tag" :class="isActive(tag)?'active':''" :to="tag.path" :key="tag.path" class="tags-view-item" @contextmenu.prevent.native="openMenu(tag,$event)" >
|
||||
{{ tag.title }}
|
||||
{{ translateMenuTitle(tag.title) }}
|
||||
<span class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)"/>
|
||||
</router-link>
|
||||
</scroll-pane>
|
||||
@@ -18,6 +18,7 @@
|
||||
<script>
|
||||
import ScrollPane from '@/components/ScrollPane'
|
||||
import Cookies from 'js-cookie'
|
||||
import { translateMenuTitle } from '@/utils/i18n'
|
||||
|
||||
export default {
|
||||
components: { ScrollPane },
|
||||
@@ -53,6 +54,7 @@ export default {
|
||||
this.addViewTags()
|
||||
},
|
||||
methods: {
|
||||
translateMenuTitle,
|
||||
// generateTitle, // generateTitle by vue-i18n
|
||||
// generateRoute() {
|
||||
// if (this.$route.name) {
|
||||
|
||||
@@ -14,16 +14,32 @@
|
||||
<img :src="require('@/assets/img/LOGO.png')" alt="" style="height: 50px;align-items: center;">
|
||||
<div style="margin-left: 65px">
|
||||
<!-- <div>550KV GIS隔离开关</div> -->
|
||||
<div>智能装配线信息管理系统</div>
|
||||
<div>{{ $t('login.systemName') }}</div>
|
||||
</div>
|
||||
</h1>
|
||||
<el-dropdown class="login-language" trigger="click" @command="changeLanguage">
|
||||
<el-button class="login-language-button" size="mini" type="text">
|
||||
{{ currentLocaleLabel }}
|
||||
<i class="el-icon-arrow-down el-icon--right"/>
|
||||
</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item
|
||||
v-for="item in localeOptions"
|
||||
:key="item.value"
|
||||
:command="item.value"
|
||||
:disabled="item.value === currentLocale"
|
||||
>
|
||||
{{ item.label }}
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
<div class="line"/>
|
||||
<div class="content">
|
||||
<el-form-item prop="username">
|
||||
<span class="svg-container svg-container_login">
|
||||
<svg-icon icon-class="username" />
|
||||
</span>
|
||||
<el-input v-model="loginForm.username" name="username" type="text" auto-complete="off" placeholder="请输入用户名" @input.native="changeUser" />
|
||||
<el-input v-model="loginForm.username" name="username" type="text" auto-complete="off" :placeholder="$t('login.usernamePlaceholder')" @input.native="changeUser" />
|
||||
</el-form-item>
|
||||
<el-form-item prop="password">
|
||||
<span class="svg-container">
|
||||
@@ -34,39 +50,39 @@
|
||||
v-model="loginForm.password"
|
||||
name="password"
|
||||
auto-complete="on"
|
||||
placeholder="请输入密码"
|
||||
:placeholder="$t('login.passwordPlaceholder')"
|
||||
@keyup.enter.native="handleLogin"/>
|
||||
<span class="show-pwd" @click="showPwd"><svg-icon icon-class="eye" /></span>
|
||||
</el-form-item>
|
||||
<div style="display: flex;align-items: center;">
|
||||
<el-checkbox v-model="loginForm.checked" class="remeberPassword">记住密码</el-checkbox>
|
||||
<el-button type="text" style="margin-left: 190px;color: #1576e8" @click="handleEdit('form')">修改密码</el-button>
|
||||
<el-checkbox v-model="loginForm.checked" class="remeberPassword">{{ $t('login.rememberPassword') }}</el-checkbox>
|
||||
<el-button type="text" class="change-password-button" @click="handleEdit('form')">{{ $t('login.changePassword') }}</el-button>
|
||||
</div>
|
||||
<el-button :loading="loading" class="signIn" type="primary" style="width:100%;" @click.native.prevent="handleLogin">
|
||||
<span style="font-size: 20px!important;">登录</span>
|
||||
<span style="font-size: 20px!important;">{{ $t('login.loginButton') }}</span>
|
||||
</el-button>
|
||||
</div>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
<el-dialog :visible.sync="dialogFormVisible" title="修改密码" center style="min-height: 200px" width="400px">
|
||||
<el-dialog :visible.sync="dialogFormVisible" :title="$t('login.changePassword')" center style="min-height: 200px" width="400px">
|
||||
<el-form ref="form" :model="form" :rules="rules" label-position="left" label-width="110px">
|
||||
<el-form-item label="考勤编号" prop="Account" style="display: inline-block">
|
||||
<el-form-item :label="$t('login.account')" prop="Account" style="display: inline-block">
|
||||
<el-input v-model="form.Account" size="small" style="width:200px"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="原始密码" prop="beforPassword" style="display: inline-block">
|
||||
<el-form-item :label="$t('login.oldPassword')" prop="beforPassword" style="display: inline-block">
|
||||
<el-input v-model="form.beforPassword" size="small" style="width:200px"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="新密码" prop="newPassword" style="display: inline-block">
|
||||
<el-form-item :label="$t('login.newPassword')" prop="newPassword" style="display: inline-block">
|
||||
<el-input v-model="form.newPassword" size="small" style="width:200px"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="确认密码" prop="againPassword" style="display: inline-block">
|
||||
<el-form-item :label="$t('login.confirmPassword')" prop="againPassword" style="display: inline-block">
|
||||
<el-input v-model="form.againPassword" size="small" style="width:200px"/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button size="small" @click="callOff()">取消</el-button>
|
||||
<el-button type="primary" size="small" @click="EditPassword('form')">确定</el-button>
|
||||
<el-button size="small" @click="callOff()">{{ $t('common.cancel') }}</el-button>
|
||||
<el-button type="primary" size="small" @click="EditPassword('form')">{{ $t('common.confirm') }}</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
@@ -74,42 +90,13 @@
|
||||
</template>
|
||||
<script>
|
||||
import { cloudEditPassword, editPassword } from '@/api/login'
|
||||
import { setLocale, SUPPORT_LOCALES } from '@/lang'
|
||||
import Cookie from 'js-cookie'
|
||||
|
||||
export default {
|
||||
name: 'Login',
|
||||
data() {
|
||||
const validateValue = (rules, value, callback) => {
|
||||
if (this.form.newPassword !== this.form.againPassword) {
|
||||
callback(new Error('两次输入密码不同'))
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
}
|
||||
const validateUsername = (rule, value, callback) => {
|
||||
// if (!isvalidUsername(value)) {
|
||||
// callback(new Error('请输入4-5位工号'))
|
||||
// } else {
|
||||
// callback()
|
||||
// }
|
||||
callback()
|
||||
}
|
||||
// const validatePass = (rule, value, callback) => {
|
||||
// if (value.length < 5) {
|
||||
// callback(new Error('密码不能小于5位'))
|
||||
// } else {
|
||||
// callback()
|
||||
// }
|
||||
// }
|
||||
return {
|
||||
rules: {
|
||||
againPassword: [
|
||||
{ required: true, message: '请输入确认密码', trigger: 'blur' },
|
||||
{ required: true, trigger: 'blur', validator: validateValue }],
|
||||
Account: [{ required: true, trigger: 'blur', validator: validateUsername }],
|
||||
beforPassword: [{ required: true, message: '请输入原始密码', trigger: 'blur' }],
|
||||
newPassword: [{ required: true, message: '请输入新密码', trigger: 'blur' }]
|
||||
},
|
||||
list: [],
|
||||
form: {
|
||||
againPassword: '',
|
||||
@@ -123,19 +110,59 @@ export default {
|
||||
password: '',
|
||||
checked: false
|
||||
},
|
||||
loginRules: {
|
||||
username: [{ required: true, trigger: 'blur', validator: validateUsername }]
|
||||
// password: [{ required: true, trigger: 'blur', validator: validatePass }]
|
||||
},
|
||||
localeOptions: [
|
||||
{ value: 'zh-CN', label: '中文' },
|
||||
{ value: 'en-US', label: 'English' }
|
||||
],
|
||||
loading: false,
|
||||
pwdType: 'password'
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
currentLocale() {
|
||||
return this.$i18n.locale
|
||||
},
|
||||
currentLocaleLabel() {
|
||||
const current = this.localeOptions.find(item => item.value === this.currentLocale)
|
||||
return current ? current.label : this.$t('common.language')
|
||||
},
|
||||
rules() {
|
||||
return {
|
||||
againPassword: [
|
||||
{ required: true, message: this.$t('login.confirmPasswordPlaceholder'), trigger: 'blur' },
|
||||
{ required: true, trigger: 'blur', validator: this.validateConfirmPassword }],
|
||||
Account: [{ required: true, trigger: 'blur', validator: this.validateUsername }],
|
||||
beforPassword: [{ required: true, message: this.$t('login.oldPasswordPlaceholder'), trigger: 'blur' }],
|
||||
newPassword: [{ required: true, message: this.$t('login.newPasswordPlaceholder'), trigger: 'blur' }]
|
||||
}
|
||||
},
|
||||
loginRules() {
|
||||
return {
|
||||
username: [{ required: true, trigger: 'blur', validator: this.validateUsername }]
|
||||
// password: [{ required: true, trigger: 'blur', validator: validatePass }]
|
||||
}
|
||||
}
|
||||
},
|
||||
// 页面加载调用获取cookie值
|
||||
mounted() {
|
||||
this.getCookie()
|
||||
},
|
||||
methods: {
|
||||
validateConfirmPassword(rules, value, callback) {
|
||||
if (this.form.newPassword !== this.form.againPassword) {
|
||||
callback(new Error(this.$t('login.passwordNotSame')))
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
},
|
||||
validateUsername(rule, value, callback) {
|
||||
// if (!isvalidUsername(value)) {
|
||||
// callback(new Error('请输入4-5位工号'))
|
||||
// } else {
|
||||
// callback()
|
||||
// }
|
||||
callback()
|
||||
},
|
||||
showPwd() {
|
||||
if (this.pwdType === 'password') {
|
||||
this.pwdType = ''
|
||||
@@ -191,6 +218,11 @@ export default {
|
||||
callOff() {
|
||||
this.dialogFormVisible = false
|
||||
},
|
||||
changeLanguage(locale) {
|
||||
if (SUPPORT_LOCALES.indexOf(locale) === -1 || locale === this.currentLocale) return
|
||||
setLocale(locale)
|
||||
this.$message.success(this.$t('common.language') + ': ' + this.currentLocaleLabel)
|
||||
},
|
||||
EditPassword(formName) {
|
||||
this.$refs[formName].validate((valid) => {
|
||||
if (valid) {
|
||||
@@ -200,17 +232,17 @@ export default {
|
||||
cloudEditPassword(this.form.Account, this.form.newPassword).then(response => {
|
||||
console.log(response, 333)
|
||||
if (response.data[0].result === '1') {
|
||||
this.$message.success('修改成功')
|
||||
this.$message.success(this.$t('login.changeSuccess'))
|
||||
this.dialogFormVisible = false
|
||||
} else {
|
||||
this.$message.error('编辑失败')
|
||||
this.$message.error(this.$t('login.editFailed'))
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message.error('用户名或密码不正确')
|
||||
this.$message.error(this.$t('login.accountPasswordError'))
|
||||
}
|
||||
} else {
|
||||
this.$message.error('编辑失败')
|
||||
this.$message.error(this.$t('login.editFailed'))
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -297,6 +329,22 @@ export default {
|
||||
padding: 35px 15px 15px 15px;
|
||||
margin: 120px auto;
|
||||
}
|
||||
.login-language {
|
||||
position: absolute;
|
||||
right: 20px;
|
||||
top: 14px;
|
||||
.login-language-button {
|
||||
min-width: 78px;
|
||||
padding: 6px 8px;
|
||||
color: #1576e8;
|
||||
font-size: 13px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.login-language-button:hover,
|
||||
.login-language-button:focus {
|
||||
color: #0f5eb8;
|
||||
}
|
||||
}
|
||||
.tips {
|
||||
font-size: 14px;
|
||||
color: #fff;
|
||||
@@ -334,6 +382,10 @@ export default {
|
||||
.remeberPassword{
|
||||
color: #1576e8;
|
||||
}
|
||||
.change-password-button {
|
||||
margin-left: auto;
|
||||
color: #1576e8;
|
||||
}
|
||||
.show-pwd {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
|
||||
Reference in New Issue
Block a user