修改国际化配置
This commit is contained in:
@@ -1025,6 +1025,20 @@ export default {
|
||||
SystemMonitor_CacheMonitor: 'CacheMonitor',
|
||||
//缓存列表
|
||||
SystemMonitor_CacheList: 'CacheList',
|
||||
|
||||
//********************KPI分析********************
|
||||
KPIAnalysis: 'KPI Analysis',
|
||||
// 入库分析
|
||||
KPIAnalysis_StockIn: 'StockIn Analysis',
|
||||
// 出库分析
|
||||
KPIAnalysis_StockOut: 'StockOut Analysis',
|
||||
// 巷道分布
|
||||
KPIAnalysis_Roadway: 'Roadway Distribution',
|
||||
// 货位分析
|
||||
KPIAnalysis_CargoSpace: 'Cargo Analysis',
|
||||
// 库存平面图
|
||||
KPIAnalysis_CargoPlan: 'Cargo Plan',
|
||||
|
||||
|
||||
// ****************盘点管理******************
|
||||
inventoryManagement: 'inventoryManagement',
|
||||
@@ -1209,7 +1223,7 @@ export default {
|
||||
deptName: 'DeptName',
|
||||
phoneNumber: 'PhoneNumber',
|
||||
status: 'Status',
|
||||
creatTime: 'CreatTime',
|
||||
createTime: 'CreatTime',
|
||||
operation: 'Operation',
|
||||
email: 'Email',
|
||||
post: 'Post',
|
||||
@@ -1245,8 +1259,12 @@ export default {
|
||||
btnSubmit: 'Submit',
|
||||
btnCancel: 'Cancel',
|
||||
btnMore: 'More',
|
||||
btnBack: 'Back',
|
||||
btnResetPassword: 'Reset Password',
|
||||
btnAssignRole: 'Assign Role',
|
||||
btnSave: 'Save',
|
||||
btnClose: 'Close',
|
||||
btnSelect: 'Select',
|
||||
|
||||
//--------------二级窗口标题--------------
|
||||
addUserItem: 'Add User',
|
||||
@@ -1285,13 +1303,13 @@ export default {
|
||||
//---函数:textUploadTitle---
|
||||
textImportResult: 'Result',
|
||||
|
||||
|
||||
//--------------操作提示--------------
|
||||
addSuccessInfo: 'Add Success',
|
||||
editSuccessInfo: 'Edit Success',
|
||||
deleteSuccessInfo: 'Delete Success',
|
||||
resetPasswordSuccessInfo: 'Reset Password Success',
|
||||
assignRoleSuccessInfo: 'Assign Role Success',
|
||||
authorizeSuccessInfo: 'Authorize Success',
|
||||
|
||||
//--------------校验提示--------------
|
||||
checkUserNameIsNull: 'UserName cannot be null!',
|
||||
@@ -1300,12 +1318,55 @@ export default {
|
||||
checkPasswordIsNull: 'Password cannot be null!',
|
||||
checkPasswordLength: 'Password length must be between 5-20 characters!',
|
||||
checkPasswordCharacter: "Password cannot contain illegal characters: < > \" \' \\\ |",
|
||||
checkEmailIsNull: 'Email cannot be null!',
|
||||
checkEmailFormat: 'Please enter a valid email address!',
|
||||
checkPhoneNumberIsNull: 'Phone number cannot be null!',
|
||||
checkPhoneNumberFormat: 'Please enter a valid phone number!',
|
||||
|
||||
//--------------其他--------------
|
||||
lblWidthUserName: '80px',
|
||||
lblWidthPhoneNumber: '90px',
|
||||
lblWidthDialog: '110px',
|
||||
lblWidthPassword: '147px',
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
|
||||
//分配角色
|
||||
basInfo:'Basic Infomation',
|
||||
roleInfo:'Role Info',
|
||||
roleId:'Role Id',
|
||||
roleName:'Role Name',
|
||||
roleKey:'Role Key',
|
||||
|
||||
//个人信息
|
||||
userInfo:'User Info',
|
||||
roleGroup:'Role Group',
|
||||
basDetail:'Basic Detail',
|
||||
resetPwd:'Reset Password',
|
||||
|
||||
//基本资料---用户信息
|
||||
male:'Male',
|
||||
female:'Female',
|
||||
|
||||
//基本资料---修改密码
|
||||
oldPassword:'Old Password',
|
||||
newPassword:'New Password',
|
||||
confirmPassword:'Confirm Password',
|
||||
placecholderOldPassword:'Enter Old Password',
|
||||
placecholderNewPassword:'Enter New Password',
|
||||
placecholderConfirmPassword:'Confirm Password',
|
||||
|
||||
checkPasswordIsSame:'Fail:Different passwords entered twice',
|
||||
oldPasswordIsNull:'Old Password cannot be null',
|
||||
newPasswordIsNull:'New Password cannot be null',
|
||||
passwordFormat1:"Password must be 6-20 characters long",
|
||||
passwordFormat2:"Can't contain special characters:< > \" ' \\\ |",
|
||||
confirmPasswordIsNull:'Confirm Password cannot be null',
|
||||
|
||||
//上传头像
|
||||
avatarTitle:'Click to upload',
|
||||
updateAvatar:'Update Avatar',
|
||||
errorMessage:'The file format is wrong, please upload the image type, such as: JPG, PNG suffix file.'
|
||||
|
||||
},
|
||||
|
||||
@@ -1352,6 +1413,7 @@ export default {
|
||||
btnMore: 'More',
|
||||
btnDataPermission: 'Data Permission',
|
||||
btnAssignRole: 'Assign Role',
|
||||
btnClose: 'Close',
|
||||
|
||||
//--------------二级窗口标题--------------
|
||||
addRoleItem: 'Add Role',
|
||||
@@ -1404,6 +1466,32 @@ export default {
|
||||
//--------------其他--------------
|
||||
lblWidthUserName: '68px',
|
||||
lblWidthPhoneNumber: '68px',
|
||||
|
||||
//-----------------------------------------------------------------
|
||||
//选择用户
|
||||
selectUserTitle: 'Select User',
|
||||
userName: 'UserName',
|
||||
nickName: 'NickName',
|
||||
email: 'Email',
|
||||
phoneNumber: 'PhoneNumber',
|
||||
textSelectRole:'Select Assigned Role',
|
||||
|
||||
placeholderUserName: 'Enter UserName',
|
||||
placeholderPhoneNumber: 'Enter PhoneNumber',
|
||||
|
||||
//分配角色
|
||||
btnAddUserItem: 'Add User',
|
||||
btnCancelAuthorizations: 'Cancel Authorizations',
|
||||
btnCancelAuthorization: 'Cancel Authorization',
|
||||
|
||||
//---cancelAuthUser---
|
||||
textConfirmCancelRole1: 'Sure you want to cancel the "',
|
||||
textConfirmCancelRole2: '" role for this user?',
|
||||
cancelSuccessInfo: '取消授权成功',
|
||||
|
||||
//---cancelAuthUserAll---
|
||||
textConfirmCancelSelectedRole: 'Sure you want to uncheck the user authorization data item?',
|
||||
|
||||
},
|
||||
|
||||
|
||||
@@ -2178,6 +2266,118 @@ export default {
|
||||
|
||||
},
|
||||
|
||||
// ***************KPI分析:入库分析***************
|
||||
KPIAnalysis_StockIn:{
|
||||
warehouse: 'Warehouse',
|
||||
yearMonth: 'Year Month',
|
||||
|
||||
placeholderWarehouse: 'Select Warehouse',
|
||||
placeholderYearMonth: 'Select Year&Month',
|
||||
|
||||
btnSearch: 'Search',
|
||||
btnReset: 'Reset',
|
||||
|
||||
textChartStockIn: 'Stock In Analysis',
|
||||
textYAxisName: 'Value',
|
||||
|
||||
lblWidthSearch:'90px'
|
||||
|
||||
},
|
||||
|
||||
// ***************KPI分析:出库分析***************
|
||||
KPIAnalysis_StockOut:{
|
||||
warehouse: 'Warehouse',
|
||||
yearMonth: 'YearMonth',
|
||||
|
||||
placeholderWarehouse: 'Select Warehouse',
|
||||
placeholderYearMonth: 'Select YearMonth',
|
||||
|
||||
btnSearch: 'Search',
|
||||
btnReset: 'Reset',
|
||||
|
||||
textChartStockOut: 'Stock Out Analysis',
|
||||
textYAxisName: 'Value',
|
||||
|
||||
lblWidthSearch:'90px'
|
||||
|
||||
},
|
||||
|
||||
// ***************KPI分析:巷道分析***************
|
||||
KPIAnalysis_Roadway:{
|
||||
warehouse: 'Warehouse',
|
||||
dateStart: 'DateStart',
|
||||
dateEnd: 'DateEnd',
|
||||
|
||||
placeholderWarehouse: 'Select Warehouse',
|
||||
placeholderDateStart: 'Select DateStart',
|
||||
placeholderDateEnd: 'Select DateEnd',
|
||||
|
||||
btnSearch: 'Search',
|
||||
btnReset: 'Reset',
|
||||
|
||||
textChartRoadway: 'Roadway Analysis',
|
||||
textValue: 'Value',
|
||||
quantityOfStockIn: 'Stock In',
|
||||
quantityOfStockOut: 'Stock Out',
|
||||
|
||||
lblWidthSearch:'90px'
|
||||
|
||||
},
|
||||
|
||||
// ***************KPI分析:货位分析***************
|
||||
KPIAnalysis_CargoSpace:{
|
||||
warehouse: 'Warehouse',
|
||||
|
||||
placeholderWarehouse: 'Select Warehouse',
|
||||
|
||||
btnSearch: 'Search',
|
||||
btnReset: 'Reset',
|
||||
|
||||
//---handleQuery---
|
||||
errorGetData: 'Error: Failed to get data',
|
||||
|
||||
//---updateChart---
|
||||
warnInvalidChartData: 'Warning: Invalid chart data',
|
||||
roadway: 'Roadway',
|
||||
roadway1: 'Roadway-1',
|
||||
roadway2: 'Roadway-2',
|
||||
roadway3: 'Roadway-3',
|
||||
roadway4: 'Roadway-4',
|
||||
config:'Serise Configuration',
|
||||
|
||||
textChartCargoSpace: 'CargoSpace Analysis',
|
||||
textValue: 'Value',
|
||||
|
||||
lblWidthSearch:'90px'
|
||||
|
||||
},
|
||||
|
||||
// ***************KPI分析:库存平面图***************
|
||||
KPIAnalysis_CargoPlan:{
|
||||
warehouse: 'Warehouse',
|
||||
raodway: 'Roadway',
|
||||
row: 'Row',
|
||||
column: 'Column',
|
||||
floor: 'Floor',
|
||||
|
||||
placeholderWarehouse: 'Select warehouse',
|
||||
|
||||
//---updateNormalChart---
|
||||
title: 'Cargo Plan',
|
||||
legendEmpty: 'Empty',
|
||||
legendOccupied: 'Occupied',
|
||||
legendStockInAssigned: 'Stock In Assigned',
|
||||
legendStockOutAssigned: 'Stock Out Assigned',
|
||||
legendStockInException:'Stock In Exception',
|
||||
legendStockOutException:'Stock Out Exception',
|
||||
|
||||
//---formatTooltip---
|
||||
failGetCargoSpace: 'Fail to get CargoSpace.',
|
||||
|
||||
lblWidthSearch:'90px'
|
||||
|
||||
},
|
||||
|
||||
|
||||
// ***************出库作业流水查询*************
|
||||
searchViewOutJobFlow: {
|
||||
|
||||
@@ -632,218 +632,6 @@ export default {
|
||||
|
||||
|
||||
},
|
||||
|
||||
searchViewStockSecure: {
|
||||
stockId: '库存ID',
|
||||
cargoSpaceId: '货位ID',
|
||||
stockStatus: '库存状态',
|
||||
productStatus: '物料状态',
|
||||
lotNo: '批次号',
|
||||
inDate: '入库时间',
|
||||
backDate: '回流时间',
|
||||
productGuid: '物料GUID',
|
||||
quantity: '库存数量',
|
||||
jobId: '作业ID',
|
||||
trayCode: '托盘条码',
|
||||
outQuantity: '出库数量',
|
||||
stockinDetailId: '入库子单ID',
|
||||
stockinId: '入库主单',
|
||||
inType: '入库类型',
|
||||
inputStockId: '请输入库存ID',
|
||||
inputCargoSpaceId: '请输入货位ID',
|
||||
selectStockStatus: '请选择库存状态',
|
||||
selectProductStatus: '请选择物料状态',
|
||||
inputLotNo: '请输入批次号',
|
||||
inputInDate: '请输入入库时间',
|
||||
inputBackDate: '请输入回流时间',
|
||||
inputProductGuid: '请输入物料GUID',
|
||||
inputContent: '请输入内容',
|
||||
inputJobId: '请输入作业ID',
|
||||
inputTrayCode: '请输入托盘条码',
|
||||
inputStockinDetailId: '请输入入库子单ID',
|
||||
inputStockinId: '请输入入库主单',
|
||||
selectInType: '请选择入库类型',
|
||||
confirm: '确定',
|
||||
cancel: '取消',
|
||||
stockIdRequired: '库存ID不能为空',
|
||||
addTitle: '添加安全库存查询',
|
||||
editTitle: '修改安全库存查询',
|
||||
addSuccess: '新增成功',
|
||||
editSuccess: '修改成功',
|
||||
deleteSuccess: '删除成功',
|
||||
deleteConfirm: '是否确认删除安全库存查询编号为"{stockIds}"的数据项?'
|
||||
},
|
||||
// *************供应商管理***************
|
||||
BasSupplier: {
|
||||
// 字段
|
||||
supplierNo: '供应商编号',
|
||||
supplierGroupNo: '供应商组编号',
|
||||
supplierName: '供应商名称',
|
||||
simpleName: '简称',
|
||||
useable: '是否可用',
|
||||
remark: '备注',
|
||||
supplierArae: '地区分类',
|
||||
taxpayerRegistrationNumber: '纳税人登记号',
|
||||
country: '国家',
|
||||
timeZone: '时区',
|
||||
dataFormat: '数据格式',
|
||||
receivingCountry: '收货国家',
|
||||
taxCategory: '税类',
|
||||
legalPerson: '法人',
|
||||
registeredCapital: '注册资金',
|
||||
address: '企业地址',
|
||||
contactName: '联系人姓名',
|
||||
contactNumber: '联系电话',
|
||||
operation: '操作',
|
||||
|
||||
// 输入框提示
|
||||
inputSupplierNo: '请输入供应商编号',
|
||||
inputSupplierGroupNo: '请输入供应商组编号',
|
||||
inputSupplierName: '请输入供应商名称',
|
||||
inputSimpleName: '请输入简称',
|
||||
inputUseable: '请输入是否可用',
|
||||
inputRemark: '请输入备注',
|
||||
inputSupplierArae: '请输入地区分类',
|
||||
inputTaxpayerRegistrationNumber: '请输入纳税人登记号',
|
||||
inputCountry: '请输入国家',
|
||||
inputTimeZone: '请输入时区',
|
||||
inputDataFormat: '请输入数据格式',
|
||||
inputReceivingCountry: '请输入收货国家',
|
||||
inputTaxCategory: '请输入税类',
|
||||
inputLegalPerson: '请输入法人',
|
||||
inputRegisteredCapital: '请输入注册资金',
|
||||
inputAddress: '请输入企业地址',
|
||||
inputContactName: '请输入联系人姓名',
|
||||
inputContactNumber: '请输入联系电话',
|
||||
|
||||
// 按钮文本
|
||||
search: '搜索',
|
||||
reset: '重置',
|
||||
add: '新增',
|
||||
edit: '修改',
|
||||
delete: '删除',
|
||||
export: '导出',
|
||||
confirm: '确定',
|
||||
cancel: '取消',
|
||||
|
||||
// 对话框标题
|
||||
addTitle: '添加供应商管理',
|
||||
editTitle: '修改供应商管理',
|
||||
|
||||
// 成功提示
|
||||
addSuccess: '新增成功',
|
||||
editSuccess: '修改成功',
|
||||
deleteSuccess: '删除成功',
|
||||
|
||||
// 删除确认提示
|
||||
deleteConfirm: '是否确认删除供应商管理编号为{ids}的数据项?',
|
||||
|
||||
// 表单校验提示
|
||||
fidRequired: 'fid不能为空',
|
||||
useableRequired: '是否可用不能为空'
|
||||
},
|
||||
|
||||
// *************物料管理***************
|
||||
BasProduct: {
|
||||
productId: '物料编码',
|
||||
inputProductId: '请输入物料编码',
|
||||
productName: '物料名称',
|
||||
inputProductName: '请输入物料名称',
|
||||
spare1: '英文描述',
|
||||
inputSpare1: '请输入英文描述',
|
||||
unit: '单位',
|
||||
inputUnit: '请输入单位',
|
||||
spare2: '单件净重KG',
|
||||
inputSpare2: '请输入单件净重',
|
||||
spare3: '箱号',
|
||||
inputSpare3: '请输入箱号',
|
||||
spare4: '包装方式',
|
||||
inputSpare4: '请输入包装方式',
|
||||
spare5: '长MM',
|
||||
inputSpare5: '请输入长度',
|
||||
spare6: '宽MM',
|
||||
inputSpare6: '请输入宽度',
|
||||
spare7: '高MM',
|
||||
inputSpare7: '请输入高度',
|
||||
spare8: '体积m³',
|
||||
inputSpare8: '请输入体积m³',
|
||||
price: '价格',
|
||||
inputPrice: '请输入价格',
|
||||
remark: '描述',
|
||||
inputRemark: '请输入描述',
|
||||
search: '搜索',
|
||||
reset: '重置',
|
||||
add: '新增',
|
||||
edit: '修改',
|
||||
delete: '删除',
|
||||
export: '导出',
|
||||
confirm: '确定',
|
||||
cancel: '取消',
|
||||
operation: '操作',
|
||||
addTitle: '添加物料管理',
|
||||
editTitle: '修改物料管理',
|
||||
deleteConfirm: '是否确认删除物料管理编号为"{productGuids}"的数据项?',
|
||||
addSuccess: '新增成功',
|
||||
editSuccess: '修改成功',
|
||||
deleteSuccess: '删除成功',
|
||||
productIdRequired: '物料编码不能为空',
|
||||
productNameRequired: '物料名称不能为空',
|
||||
unitRequired: '单位不能为空',
|
||||
priceRequired: '价格不能为空'
|
||||
},
|
||||
|
||||
// *************供应商管理***************
|
||||
BasPort: {
|
||||
portName: '点位名称',
|
||||
inputPortName: '请输入点位名称',
|
||||
portType: '点位分类',
|
||||
inputPortType: '请输入点位分类',
|
||||
portDesc: '点位描述',
|
||||
inputPortDesc: '请输入点位描述',
|
||||
search: '搜索',
|
||||
reset: '重置',
|
||||
add: '新增',
|
||||
edit: '修改',
|
||||
delete: '删除',
|
||||
export: '导出',
|
||||
id: 'ID',
|
||||
createMan: '创建人',
|
||||
createTime: '创建时间',
|
||||
operation: '操作',
|
||||
confirm: '确定',
|
||||
cancel: '取消',
|
||||
addTitle: '添加基础点位',
|
||||
editTitle: '修改基础点位',
|
||||
addSuccess: '新增成功',
|
||||
editSuccess: '修改成功',
|
||||
deleteSuccess: '删除成功',
|
||||
deleteConfirm: '是否确认删除基础点位编号为"{ids}"的数据项?',
|
||||
productCode: '物料编码',
|
||||
inputProductCode: '请输入物料编码',
|
||||
productName: '物料名称',
|
||||
inputProductName: '请输入物料名称',
|
||||
bindStatus: '是否绑定',
|
||||
selectBindStatus: '请选择状态',
|
||||
batchBind: '批量绑定',
|
||||
batchUnbind: '批量解绑',
|
||||
productEnDesc: '英文描述',
|
||||
unit: '单位',
|
||||
netWeight: '单件净重KG',
|
||||
boxNo: '箱号',
|
||||
packWay: '包装方式',
|
||||
length: '长MM',
|
||||
width: '宽MM',
|
||||
height: '高MM',
|
||||
volume: '体积m³',
|
||||
price: '价格',
|
||||
description: '描述',
|
||||
bindProduct: '绑定物料',
|
||||
unbindProduct: '删除物料',
|
||||
bindSuccess: '绑定成功',
|
||||
unbindSuccess: '解绑成功',
|
||||
selectProduct: '选择物料'
|
||||
},
|
||||
|
||||
// *************库存操作记录***************
|
||||
stockRecord: {
|
||||
stockId: '库存编码',
|
||||
@@ -1028,14 +816,25 @@ export default {
|
||||
SystemMonitor_ScheduledTask: '定时任务',
|
||||
// 数据监控
|
||||
SystemMonitor_DataMonitor: '数据监控',
|
||||
//服务监控
|
||||
// 服务监控
|
||||
SystemMonitor_ServiceMonitor: '服务监控',
|
||||
//缓存监控
|
||||
// 缓存监控
|
||||
SystemMonitor_CacheMonitor: '缓存监控',
|
||||
//缓存列表
|
||||
// 缓存列表
|
||||
SystemMonitor_CacheList: '缓存列表',
|
||||
|
||||
|
||||
//********************KPI分析********************
|
||||
KPIAnalysis: 'KPI分析',
|
||||
// 入库分析
|
||||
KPIAnalysis_StockIn: '入库分析',
|
||||
// 出库分析
|
||||
KPIAnalysis_StockOut: '出库分析',
|
||||
// 巷道分布
|
||||
KPIAnalysis_Roadway: '巷道分布',
|
||||
// 货位分析
|
||||
KPIAnalysis_CargoSpace: '货位分析',
|
||||
// 库存平面图
|
||||
KPIAnalysis_CargoPlan: '库存平面图',
|
||||
|
||||
|
||||
// ****************盘点管理******************
|
||||
@@ -1055,20 +854,7 @@ export default {
|
||||
customerManagement:'客户管理',
|
||||
supplierManagement:'供应商管理',
|
||||
materialManagement:'物料管理',
|
||||
basicPointLocation:'基础点位',
|
||||
//*************** 查询统计*************
|
||||
queryStatistics:'查询统计',
|
||||
inventoryDetailQuery:'库存明细查询',
|
||||
inventorySummaryQuery:'库存汇总查询',
|
||||
inboundDocumentHistory:'入库单据历史',
|
||||
outboundDocumentHistory:'出库单据历史',
|
||||
inboundTaskFlow:'入库作业流水',
|
||||
outboundTaskFlow:'出库作业流水',
|
||||
flatInventoryFlow:'平库入库流水',
|
||||
flatOutboundFlow:'平库出库流水',
|
||||
safetyStockInquiry:'安全库存查询',
|
||||
warningInventoryInquiry:'预警库存查询'
|
||||
|
||||
basicPointLocation:'基础点位'
|
||||
|
||||
},
|
||||
|
||||
@@ -1222,7 +1008,7 @@ export default {
|
||||
deptName: '部门',
|
||||
phoneNumber: '手机号',
|
||||
status: '状态',
|
||||
creatTime: '创建时间',
|
||||
createTime: '创建时间',
|
||||
operation: '操作',
|
||||
email: '邮箱',
|
||||
post: '岗位',
|
||||
@@ -1258,8 +1044,12 @@ export default {
|
||||
btnSubmit: '确定',
|
||||
btnCancel: '取消',
|
||||
btnMore: '更多',
|
||||
btnBack: '返回',
|
||||
btnResetPassword: '重置密码',
|
||||
btnAssignRole: '分配角色',
|
||||
btnSave: '保存',
|
||||
btnClose: '关闭',
|
||||
btnSelect: '选择',
|
||||
|
||||
//--------------二级窗口标题--------------
|
||||
addUserItem: '添加用户',
|
||||
@@ -1298,13 +1088,13 @@ export default {
|
||||
//---函数:textUploadTitle---
|
||||
textImportResult: '导入结果',
|
||||
|
||||
|
||||
//--------------操作提示--------------
|
||||
addSuccessInfo: '新增成功',
|
||||
editSuccessInfo: '编辑成功',
|
||||
deleteSuccessInfo: '删除成功',
|
||||
resetPasswordSuccessInfo: '重置密码成功',
|
||||
assignRoleSuccessInfo: '分配角色成功',
|
||||
authorizeSuccessInfo: '授权成功',
|
||||
|
||||
//--------------校验提示--------------
|
||||
checkUserNameIsNull: '用户名称不能为空',
|
||||
@@ -1313,13 +1103,55 @@ export default {
|
||||
checkPasswordIsNull: '密码不能为空',
|
||||
checkPasswordLength: '密码长度必须介于5-20个字符',
|
||||
checkPasswordCharacter: "不能包含非法字符:< > \" ' \\\ |",
|
||||
checkEmailIsNull: '邮箱地址不能为空',
|
||||
checkEmailFormat: '请输入正确的邮箱地址',
|
||||
checkPhoneNumberIsNull: '手机号不能为空',
|
||||
checkPhoneNumberFormat: '请输入正确的手机号',
|
||||
|
||||
//--------------其他--------------
|
||||
lblWidthUserName: '68px',
|
||||
lblWidthPhoneNumber: '68px',
|
||||
lblWidthDialog: '80px',
|
||||
lblWidthPassword: '80px',
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
|
||||
//分配角色
|
||||
basInfo:'基本信息',
|
||||
roleInfo:'角色信息',
|
||||
roleId:'角色编号',
|
||||
roleName:'角色名称',
|
||||
roleKey:'权限字符',
|
||||
|
||||
//个人信息
|
||||
userInfo:'个人信息',
|
||||
roleGroup:'所属角色',
|
||||
basDetail:'基本资料',
|
||||
resetPwd:'修改密码',
|
||||
|
||||
//基本资料---用户信息
|
||||
male:'男',
|
||||
female:'女',
|
||||
|
||||
//基本资料---修改密码
|
||||
oldPassword:'旧密码',
|
||||
newPassword:'新密码',
|
||||
confirmPassword:'确认密码',
|
||||
placecholderOldPassword:'请输入旧密码',
|
||||
placecholderNewPassword:'请输入新密码',
|
||||
placecholderConfirmPassword:'再次确认密码',
|
||||
|
||||
checkPasswordIsSame:'两次输入的密码不一致',
|
||||
oldPasswordIsNull:'旧密码不能为空',
|
||||
newPasswordIsNull:'新密码不能为空',
|
||||
passwordFormat1:"长度在 6 到 20 个字符",
|
||||
passwordFormat2:"不能包含非法字符:< > \" ' \\\ |",
|
||||
confirmPasswordIsNull:'确认密码不能为空',
|
||||
|
||||
//上传头像
|
||||
avatarTitle:'点击上传头像',
|
||||
updateAvatar:'修改头像',
|
||||
errorMessage:'文件格式错误,请上传图片类型,如:JPG,PNG后缀的文件。'
|
||||
|
||||
},
|
||||
|
||||
@@ -1366,6 +1198,7 @@ export default {
|
||||
btnMore: '更多',
|
||||
btnDataPermission: '数据权限',
|
||||
btnAssignRole: '分配角色',
|
||||
btnClose: '关闭',
|
||||
|
||||
//--------------二级窗口标题--------------
|
||||
addRoleItem: '添加角色',
|
||||
@@ -1418,6 +1251,32 @@ export default {
|
||||
//--------------其他--------------
|
||||
lblWidthUserName: '68px',
|
||||
lblWidthPhoneNumber: '68px',
|
||||
|
||||
//-----------------------------------------------------------------
|
||||
//选择用户
|
||||
selectUserTitle: '选择用户',
|
||||
userName: '用户名称',
|
||||
nickName: '用户昵称',
|
||||
email: '邮箱',
|
||||
phoneNumber: '手机号码',
|
||||
textSelectRole:'请选择要分配的用户',
|
||||
|
||||
placeholderUserName: '用户名称',
|
||||
placeholderPhoneNumber: '手机号码',
|
||||
|
||||
//分配角色
|
||||
btnAddUserItem: '添加用户',
|
||||
btnCancelAuthorizations: '批量取消授权',
|
||||
btnCancelAuthorization: '取消授权',
|
||||
|
||||
//---cancelAuthUser---
|
||||
textConfirmCancelRole1: '确认要取消该用户"',
|
||||
textConfirmCancelRole2: '"角色吗?',
|
||||
cancelSuccessInfo: '取消授权成功',
|
||||
|
||||
//---cancelAuthUserAll---
|
||||
textConfirmCancelSelectedRole: '是否取消选中用户授权数据项?',
|
||||
|
||||
},
|
||||
|
||||
|
||||
@@ -2204,6 +2063,117 @@ export default {
|
||||
|
||||
},
|
||||
|
||||
// ***************KPI分析:入库分析***************
|
||||
KPIAnalysis_StockIn:{
|
||||
warehouse: '仓库',
|
||||
yearMonth: '年月',
|
||||
|
||||
placeholderWarehouse: '请选择仓库',
|
||||
placeholderYearMonth: '选择年月',
|
||||
|
||||
btnSearch: '查询',
|
||||
btnReset: '重置',
|
||||
|
||||
textChartStockIn: '入库分析',
|
||||
textYAxisName: '数量',
|
||||
|
||||
lblWidthSearch:'68px'
|
||||
|
||||
},
|
||||
|
||||
// ***************KPI分析:出库分析***************
|
||||
KPIAnalysis_StockOut:{
|
||||
warehouse: '仓库',
|
||||
yearMonth: '年月',
|
||||
|
||||
placeholderWarehouse: '请选择仓库',
|
||||
placeholderYearMonth: '选择年月',
|
||||
|
||||
btnSearch: '查询',
|
||||
btnReset: '重置',
|
||||
|
||||
textChartStockOut: '出库分析',
|
||||
textYAxisName: '数量',
|
||||
|
||||
lblWidthSearch:'68px'
|
||||
|
||||
},
|
||||
|
||||
// ***************KPI分析:巷道分析***************
|
||||
KPIAnalysis_Roadway:{
|
||||
warehouse: '仓库',
|
||||
dateStart: '开始时间',
|
||||
dateEnd: '结束时间',
|
||||
|
||||
placeholderWarehouse: '请选择仓库',
|
||||
placeholderDateStart: '请选择开始时间',
|
||||
placeholderDateEnd: '请选择结束时间',
|
||||
|
||||
btnSearch: '查询',
|
||||
btnReset: '重置',
|
||||
|
||||
textChartRoadway: '巷道分布分析',
|
||||
textValue: '数量',
|
||||
quantityOfStockIn: '入库数量',
|
||||
quantityOfStockOut: '出库数量',
|
||||
|
||||
lblWidthSearch:'68px'
|
||||
|
||||
},
|
||||
|
||||
// ***************KPI分析:货位分析***************
|
||||
KPIAnalysis_CargoSpace:{
|
||||
warehouse: '仓库',
|
||||
|
||||
placeholderWarehouse: '请选择仓库',
|
||||
|
||||
btnSearch: '查询',
|
||||
btnReset: '重置',
|
||||
|
||||
//---handleQuery---
|
||||
errorGetData: '获取数据失败',
|
||||
|
||||
//---updateChart---
|
||||
warnInvalidChartData: '无效的图表数据',
|
||||
roadway: '巷道',
|
||||
roadway1: '巷道1',
|
||||
roadway2: '巷道2',
|
||||
roadway3: '巷道3',
|
||||
roadway4: '巷道4',
|
||||
config:'生成的系列配置',
|
||||
|
||||
textChartCargoSpace: '货位分析',
|
||||
textValue: '数量',
|
||||
|
||||
lblWidthSearch:'68px'
|
||||
|
||||
},
|
||||
|
||||
// ***************KPI分析:库存平面图***************
|
||||
KPIAnalysis_CargoPlan:{
|
||||
warehouse: '仓库',
|
||||
raodway: '巷道',
|
||||
row: '排',
|
||||
column: '列',
|
||||
floor: '层',
|
||||
|
||||
placeholderWarehouse: '请选择仓库',
|
||||
|
||||
//---updateNormalChart---
|
||||
title: '库位分布平面图',
|
||||
legendEmpty: '空位',
|
||||
legendOccupied: '满位',
|
||||
legendStockInAssigned: '入库已分配',
|
||||
legendStockOutAssigned: '出库已分配',
|
||||
legendStockInException:'入库需盘点',
|
||||
legendStockOutException:'出库需盘点',
|
||||
|
||||
//---formatTooltip---
|
||||
failGetCargoSpace: '获取货位信息失败',
|
||||
|
||||
lblWidthSearch:'68px'
|
||||
|
||||
},
|
||||
|
||||
|
||||
// ***************出库作业流水查询*************
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="仓库" prop="warehouseId">
|
||||
<el-select v-model="queryParams.warehouseId" placeholder="请选择仓库" clearable>
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" :label-width="$t('KPIAnalysis_StockIn.lblWidthSearch')">
|
||||
<!-- 仓库 -->
|
||||
<el-form-item :label="this.$t('KPIAnalysis_StockIn.warehouse')" prop="warehouseId">
|
||||
<el-select v-model="queryParams.warehouseId" :placeholder="this.$t('KPIAnalysis_StockIn.placeholderWarehouse')" clearable>
|
||||
<el-option
|
||||
v-for="dict in warehouseOptions"
|
||||
:key="dict.warehouseId"
|
||||
@@ -11,19 +12,22 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="年月" prop="yearMonth">
|
||||
<!-- 年月 -->
|
||||
<el-form-item :label="this.$t('KPIAnalysis_StockIn.yearMonth')" prop="yearMonth">
|
||||
<el-date-picker
|
||||
v-model="queryParams.yearMonth"
|
||||
type="month"
|
||||
placeholder="选择年月"
|
||||
:placeholder="this.$t('KPIAnalysis_StockIn.placeholderYearMonth')"
|
||||
value-format="yyyy-MM"
|
||||
format="yyyy-MM"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
<!-- 【查询】按钮 -->
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('KPIAnalysis_StockIn.btnSearch') }}</el-button>
|
||||
<!-- 【重置】按钮 -->
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('KPIAnalysis_StockIn.btnReset') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@@ -108,7 +112,8 @@ export default {
|
||||
updateChart() {
|
||||
const option = {
|
||||
title: {
|
||||
text: '入库均匀分析',
|
||||
// 标题:入库均匀分析
|
||||
text: this.$t('KPIAnalysis_StockIn.textChartStockIn'),
|
||||
left: 'center'
|
||||
},
|
||||
tooltip: {
|
||||
@@ -127,7 +132,8 @@ export default {
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
name: '数量'
|
||||
// 数量
|
||||
name: this.$t('KPIAnalysis_StockIn.textYAxisName')
|
||||
},
|
||||
series: [{
|
||||
data: this.chartData.counts,
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="仓库" prop="warehouseId">
|
||||
<el-select v-model="queryParams.warehouseId" placeholder="请选择仓库" clearable>
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" :label-width="$t('KPIAnalysis_StockIn.lblWidthSearch')">
|
||||
<!-- 仓库 -->
|
||||
<el-form-item :label="$t('KPIAnalysis_StockOut.warehouse')" prop="warehouseId">
|
||||
<el-select v-model="queryParams.warehouseId" :placeholder="$t('KPIAnalysis_StockOut.placeholderWarehouse')" clearable>
|
||||
<el-option
|
||||
v-for="dict in warehouseOptions"
|
||||
:key="dict.warehouseId"
|
||||
@@ -11,19 +12,22 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="年月" prop="yearMonth">
|
||||
<!-- 年月 -->
|
||||
<el-form-item :label="$t('KPIAnalysis_StockOut.yearMonth')" prop="yearMonth">
|
||||
<el-date-picker
|
||||
v-model="queryParams.yearMonth"
|
||||
type="month"
|
||||
placeholder="选择年月"
|
||||
:placeholder="$t('KPIAnalysis_StockOut.placeholderYearMonth')"
|
||||
value-format="yyyy-MM"
|
||||
format="yyyy-MM"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
<!-- 【查询】按钮 -->
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('KPIAnalysis_StockOut.btnSearch') }}</el-button>
|
||||
<!-- 【重置】按钮 -->
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('KPIAnalysis_StockOut.btnReset') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@@ -108,7 +112,8 @@ export default {
|
||||
updateChart() {
|
||||
const option = {
|
||||
title: {
|
||||
text: '出库均匀分析',
|
||||
// 标题:出库均匀分析
|
||||
text: this.$t('KPIAnalysis_StockOut.textChartStockOut'),
|
||||
left: 'center'
|
||||
},
|
||||
tooltip: {
|
||||
@@ -127,7 +132,8 @@ export default {
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
name: '数量'
|
||||
// 数量
|
||||
name: this.$t('KPIAnalysis_StockOut.textYAxisName')
|
||||
},
|
||||
series: [{
|
||||
data: this.chartData.counts,
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="仓库" prop="warehouseId">
|
||||
<el-select v-model="queryParams.warehouseId" placeholder="请选择仓库" clearable>
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" :label-width="$t('KPIAnalysis_Roadway.lblWidthSearch')">
|
||||
<!-- 仓库 -->
|
||||
<el-form-item :label="$t('KPIAnalysis_Roadway.warehouse')" prop="warehouseId">
|
||||
<el-select v-model="queryParams.warehouseId" :placeholder="$t('KPIAnalysis_Roadway.placeholderWarehouse')" clearable>
|
||||
<el-option
|
||||
v-for="dict in warehouseOptions"
|
||||
:key="dict.warehouseId"
|
||||
@@ -11,29 +12,33 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="开始时间" prop="startTime">
|
||||
<!-- 开始时间 -->
|
||||
<el-form-item :label="$t('KPIAnalysis_Roadway.dateStart')" prop="startTime">
|
||||
<el-date-picker
|
||||
v-model="queryParams.startTime"
|
||||
type="datetime"
|
||||
placeholder="选择开始时间"
|
||||
:placeholder="$t('KPIAnalysis_Roadway.placeholderDateStart')"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
format="yyyy-MM-dd HH:mm:ss"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="结束时间" prop="endTime">
|
||||
<!-- 结束时间 -->
|
||||
<el-form-item :label="$t('KPIAnalysis_Roadway.dateEnd')" prop="endTime">
|
||||
<el-date-picker
|
||||
v-model="queryParams.endTime"
|
||||
type="datetime"
|
||||
placeholder="选择结束时间"
|
||||
:placeholder="$t('KPIAnalysis_Roadway.placeholderDateEnd')"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
format="yyyy-MM-dd HH:mm:ss"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
<!-- 【搜索】按钮 -->
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('KPIAnalysis_Roadway.btnSearch') }}</el-button>
|
||||
<!-- 【重置】按钮 -->
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('KPIAnalysis_Roadway.btnReset') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@@ -119,7 +124,8 @@ export default {
|
||||
updateChart() {
|
||||
const option = {
|
||||
title: {
|
||||
text: '巷道均匀分析',
|
||||
// 巷道均匀分析
|
||||
text: this.$t('KPIAnalysis_Roadway.textChartRoadway'),
|
||||
left: 'center'
|
||||
},
|
||||
tooltip: {
|
||||
@@ -129,7 +135,8 @@ export default {
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
data: ['入库数量', '出库数量'],
|
||||
// 【入库数量】、【出库数量】
|
||||
data: [this.$t('KPIAnalysis_Roadway.quantityOfStockIn'), this.$t('KPIAnalysis_Roadway.quantityOfStockOut')],
|
||||
top: '30px'
|
||||
},
|
||||
xAxis: {
|
||||
@@ -142,11 +149,13 @@ export default {
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
name: '数量'
|
||||
// 数量
|
||||
name: this.$t('KPIAnalysis_Roadway.textValue')
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '入库数量',
|
||||
// 入库数量
|
||||
name: this.$t('KPIAnalysis_Roadway.quantityOfStockIn'),
|
||||
data: this.chartData.inCounts,
|
||||
type: 'bar',
|
||||
barWidth: '30%',
|
||||
@@ -159,7 +168,8 @@ export default {
|
||||
}
|
||||
},
|
||||
{
|
||||
name: '出库数量',
|
||||
// 出库数量
|
||||
name: this.$t('KPIAnalysis_Roadway.quantityOfStockOut'),
|
||||
data: this.chartData.outCounts,
|
||||
type: 'bar',
|
||||
barWidth: '30%',
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="仓库" prop="warehouseId">
|
||||
<el-select v-model="queryParams.warehouseId" placeholder="请选择仓库" clearable>
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" :label-width="$t('KPIAnalysis_CargoSpace.lblWidthSearch')">
|
||||
<!-- 仓库 -->
|
||||
<el-form-item :label="$t('KPIAnalysis_CargoSpace.warehouse')" prop="warehouseId">
|
||||
<el-select v-model="queryParams.warehouseId" :placeholder="$t('KPIAnalysis_CargoSpace.placeholderWarehouse')" clearable>
|
||||
<el-option
|
||||
v-for="dict in warehouseOptions"
|
||||
:key="dict.warehouseId"
|
||||
@@ -12,8 +13,10 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
<!-- 【搜索】按钮 -->
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('KPIAnalysis_CargoSpace.btnSearch') }}</el-button>
|
||||
<!-- 【重置】按钮 -->
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('KPIAnalysis_CargoSpace.btnReset') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@@ -85,8 +88,9 @@ export default {
|
||||
this.$message.error(response.msg);
|
||||
}
|
||||
}).catch(error => {
|
||||
console.error('获取数据失败:', error);
|
||||
this.$message.error('获取数据失败');
|
||||
// 提示:获取数据失败
|
||||
console.error(this.$t('KPIAnalysis_CargoSpace.errorGetData') + ':', error);
|
||||
this.$message.error(this.$t('KPIAnalysis_CargoSpace.errorGetData'));
|
||||
});
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
@@ -106,12 +110,14 @@ export default {
|
||||
updateChart() {
|
||||
console.log('chartData:', this.chartData);
|
||||
if (!this.chartData || !this.chartData.data || this.chartData.data.length === 0) {
|
||||
console.warn('无效的图表数据');
|
||||
// 提示:无效的图表数据
|
||||
console.warn(this.$t('KPIAnalysis_CargoSpace.warnInvalidChartData'));
|
||||
return;
|
||||
}
|
||||
|
||||
// 获取数据中所有的巷道字段
|
||||
const firstItem = this.chartData.data[0];
|
||||
// 巷道
|
||||
const roadwayFields = Object.keys(firstItem).filter(key => key.startsWith('巷道'));
|
||||
|
||||
// 准备系列配置
|
||||
@@ -121,21 +127,24 @@ export default {
|
||||
data: this.chartData.data.map(item => item[roadway]),
|
||||
barWidth: '30%',
|
||||
itemStyle: {
|
||||
// 巷道1-4
|
||||
color: roadway === '巷道1' ? '#1890ff' :
|
||||
roadway === '巷道2' ? '#52c41a' :
|
||||
roadway === '巷道3' ? '#1890ff' :
|
||||
roadway === '巷道4' ? '#52c41a' : '#1890ff'
|
||||
roadway === '巷道2' ? '#52c41a' :
|
||||
roadway === '巷道3' ? '#1890ff' :
|
||||
roadway === '巷道4' ? '#52c41a' : '#1890ff'
|
||||
},
|
||||
label: {
|
||||
show: true,
|
||||
position: 'top'
|
||||
}
|
||||
}));
|
||||
console.log('生成的系列配置:', series);
|
||||
// 提示:生成的系列配置
|
||||
console.log(this.$t('KPIAnalysis_CargoSpace.config'), series);
|
||||
|
||||
const option = {
|
||||
title: {
|
||||
text: '货位状态分析',
|
||||
// 货位状态分析
|
||||
text: this.$t('KPIAnalysis_CargoSpace.textChartCargoSpace'),
|
||||
left: 'center'
|
||||
},
|
||||
tooltip: {
|
||||
@@ -161,7 +170,8 @@ export default {
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
name: '数量'
|
||||
// 数量
|
||||
name: this.$t('KPIAnalysis_CargoSpace.textValue')
|
||||
},
|
||||
series: series
|
||||
};
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
<div class="app-container">
|
||||
<div class="search-box">
|
||||
<el-form :model="queryParams" ref="queryForm" :inline="true">
|
||||
<el-form-item label="仓库" prop="warehouseId">
|
||||
<el-select v-model="queryParams.warehouseId" placeholder="请选择仓库" clearable @change="handleWarehouseChange">
|
||||
<!-- 仓库 -->
|
||||
<el-form-item :label="$t('KPIAnalysis_CargoPlan.warehouse')" prop="warehouseId">
|
||||
<el-select v-model="queryParams.warehouseId" :placeholder="$t('KPIAnalysis_CargoPlan.placeholderWarehouse')" clearable @change="handleWarehouseChange">
|
||||
<el-option
|
||||
v-for="dict in warehouseOptions"
|
||||
:key="dict.warehouseId"
|
||||
@@ -12,12 +13,14 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="巷道">
|
||||
<!-- 巷道 -->
|
||||
<el-form-item :label="$t('KPIAnalysis_CargoPlan.raodway')">
|
||||
<el-select v-model="queryParams.roadwayId" style="width: 150px" @change="handleRoadwayChange">
|
||||
<el-option v-for="item in roadwayOptions" :key="item.value" :label="item.label" :value="item.value"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="排">
|
||||
<!-- 排 -->
|
||||
<el-form-item :label="$t('KPIAnalysis_CargoPlan.row')">
|
||||
<el-select v-model="queryParams.thePlatoon" style="width: 150px" @change="handlePlatoonChange">
|
||||
<el-option v-for="item in platoonOptions" :key="item.value" :label="item.label" :value="item.value"/>
|
||||
</el-select>
|
||||
@@ -35,6 +38,7 @@
|
||||
import * as echarts from 'echarts'
|
||||
import {getRoadways, getPlatoons, getChartData, getChartMag} from "@/api/kpi/spacePlan"
|
||||
import {listWarehouse} from "@/api/bas/warehouse";
|
||||
import VueI18n from 'vue-i18n';
|
||||
|
||||
export default {
|
||||
name: 'SpacePlan',
|
||||
@@ -169,8 +173,10 @@ this.getWarehouseList()
|
||||
}
|
||||
},
|
||||
title: {
|
||||
text: '库位分布平面图',
|
||||
subtext: this.queryParams.thePlatoon + '排'
|
||||
// 标题:库位分布平面图
|
||||
text: this.$t('KPIAnalysis_CargoPlan.title'),
|
||||
// 子标题:排
|
||||
subtext: this.queryParams.thePlatoon + this.$t('KPIAnalysis_CargoPlan.row')
|
||||
},
|
||||
grid: {
|
||||
width: '90%',
|
||||
@@ -202,27 +208,33 @@ this.getWarehouseList()
|
||||
legend: {
|
||||
data: [
|
||||
{
|
||||
name: '空位',
|
||||
// 图例:空位
|
||||
name: this.$t('KPIAnalysis_CargoPlan.legendEmpty'),
|
||||
itemStyle: { color: '#AEEEEE' }
|
||||
},
|
||||
{
|
||||
name: '满位',
|
||||
// 图例:满位
|
||||
name: this.$t('KPIAnalysis_CargoPlan.legendOccupied'),
|
||||
itemStyle: { color: '#FF9900' }
|
||||
},
|
||||
{
|
||||
name: '入库分配',
|
||||
// 图例:入库分配
|
||||
name: this.$t('KPIAnalysis_CargoPlan.legendStockInAssigned'),
|
||||
itemStyle: { color: '#FFFF00' }
|
||||
},
|
||||
{
|
||||
name: '出库分配',
|
||||
itemStyle: { color: '#00CC00' }
|
||||
},
|
||||
{
|
||||
name: '入库需盘点',
|
||||
// 图例:出库分配
|
||||
name: this.$t('KPIAnalysis_CargoPlan.legendStockOutAssigned'),
|
||||
itemStyle: { color: '#FF0000' }
|
||||
},
|
||||
{
|
||||
name: '出库需盘点',
|
||||
// 图例:入库需盘点
|
||||
name: this.$t('KPIAnalysis_CargoPlan.legendStockInException'),
|
||||
itemStyle: { color: '#FF0000' }
|
||||
},
|
||||
{
|
||||
// 图例:出库需盘点
|
||||
name: this.$t('KPIAnalysis_CargoPlan.legendStockOutException'),
|
||||
itemStyle: { color: '#0000FF' }
|
||||
}
|
||||
],
|
||||
@@ -232,7 +244,8 @@ this.getWarehouseList()
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '空位',
|
||||
// 空位
|
||||
name: this.$t('KPIAnalysis_CargoPlan.legendEmpty'),
|
||||
type: 'heatmap',
|
||||
data: this.chartData.empty,
|
||||
itemStyle: {
|
||||
@@ -241,7 +254,8 @@ this.getWarehouseList()
|
||||
}
|
||||
},
|
||||
{
|
||||
name: '满位',
|
||||
// 满位
|
||||
name: this.$t('KPIAnalysis_CargoPlan.legendOccupied'),
|
||||
type: 'heatmap',
|
||||
data: this.chartData.full,
|
||||
itemStyle: {
|
||||
@@ -250,7 +264,8 @@ this.getWarehouseList()
|
||||
}
|
||||
},
|
||||
{
|
||||
name: '入库分配',
|
||||
// 入库分配
|
||||
name: this.$t('KPIAnalysis_CargoPlan.legendStockInAssigned'),
|
||||
type: 'heatmap',
|
||||
data: this.chartData.inAllot,
|
||||
itemStyle: {
|
||||
@@ -259,7 +274,8 @@ this.getWarehouseList()
|
||||
}
|
||||
},
|
||||
{
|
||||
name: '出库分配',
|
||||
// 出库分配
|
||||
name: this.$t('KPIAnalysis_CargoPlan.legendStockOutAssigned'),
|
||||
type: 'heatmap',
|
||||
data: this.chartData.outAllot,
|
||||
itemStyle: {
|
||||
@@ -268,7 +284,8 @@ this.getWarehouseList()
|
||||
}
|
||||
},
|
||||
{
|
||||
name: '入库需盘点',
|
||||
// 入库需盘点
|
||||
name: this.$t('KPIAnalysis_CargoPlan.legendStockInException'),
|
||||
type: 'heatmap',
|
||||
data: this.chartData.inCheck,
|
||||
itemStyle: {
|
||||
@@ -277,7 +294,8 @@ this.getWarehouseList()
|
||||
}
|
||||
},
|
||||
{
|
||||
name: '出库需盘点',
|
||||
// 出库需盘点
|
||||
name: this.$t('KPIAnalysis_CargoPlan.legendStockOutException'),
|
||||
type: 'heatmap',
|
||||
data: this.chartData.outCheck,
|
||||
itemStyle: {
|
||||
@@ -302,7 +320,14 @@ this.getWarehouseList()
|
||||
// 格式化普通仓库提示信息
|
||||
formatTooltip(params) {
|
||||
if (params.seriesName !== '满位') {
|
||||
return params.seriesName + '<br>' + this.queryParams.thePlatoon + '排' + (params.data[0] + 1) + '列' + (params.data[1] + 1) + '层';
|
||||
// 排
|
||||
if (this.$i18n.locale ==='zh-cn') {
|
||||
return params.seriesName + '<br>' + this.queryParams.thePlatoon + '排' + (params.data[0] + 1) + '列' + (params.data[1] + 1) + '层';
|
||||
}
|
||||
else{
|
||||
return params.seriesName + '<br>' + this.$t('KPIAnalysis_CargoPlan.row') + ':' + this.queryParams.thePlatoon + ' ' + this.$t('KPIAnalysis_CargoPlan.column') + ':' + (params.data[0] + 1) + ' ' + this.$t('KPIAnalysis_CargoPlan.floor') + ': ' + (params.data[1] + 1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
const returnData = {
|
||||
@@ -347,7 +372,8 @@ this.getWarehouseList()
|
||||
});
|
||||
})
|
||||
.catch(error => {
|
||||
console.error('获取货位信息失败:', error);
|
||||
// 提示:获取货位信息失败
|
||||
console.error(this.$t('KPIAnalysis_CargoPlan.failGetCargoSpace') + ':', error);
|
||||
})
|
||||
.finally(() => {
|
||||
// 清除加载状态
|
||||
|
||||
@@ -1,32 +1,39 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
|
||||
<el-form-item label="用户名称" prop="userName">
|
||||
<!-- 搜索表单 -->
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
|
||||
<!-- 用户名称:请输入用户名称 -->
|
||||
<el-form-item :label="$t('systemManagement_RoleManagement.userName')" prop="userName">
|
||||
<el-input
|
||||
v-model="queryParams.userName"
|
||||
placeholder="请输入用户名称"
|
||||
:placeholder="$t('systemManagement_RoleManagement.placeholderUserName')"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号码" prop="phonenumber">
|
||||
<!-- 手机号码:请输入手机号码 -->
|
||||
<el-form-item :label="$t('systemManagement_RoleManagement.phoneNumber')" prop="phonenumber">
|
||||
<el-input
|
||||
v-model="queryParams.phonenumber"
|
||||
placeholder="请输入手机号码"
|
||||
:placeholder="$t('systemManagement_RoleManagement.placeholderUserName')"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
<!-- 搜索按钮 -->
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('systemManagement_RoleManagement.btnSearch') }}</el-button>
|
||||
<!-- 重置按钮 -->
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('systemManagement_RoleManagement.btnReset') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<!-- 工具栏 -->
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<!-- 添加用户按钮 -->
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
@@ -34,9 +41,10 @@
|
||||
size="mini"
|
||||
@click="openSelectUser"
|
||||
v-hasPermi="['system:role:add']"
|
||||
>添加用户</el-button>
|
||||
>{{ $t('systemManagement_RoleManagement.btnAddUserItem') }}</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<!-- 批量取消授权按钮 -->
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
@@ -45,49 +53,60 @@
|
||||
:disabled="multiple"
|
||||
@click="cancelAuthUserAll"
|
||||
v-hasPermi="['system:role:remove']"
|
||||
>批量取消授权</el-button>
|
||||
>{{ $t('systemManagement_RoleManagement.btnCancelAuthorizations') }}</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<!-- 关闭按钮 -->
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-close"
|
||||
size="mini"
|
||||
@click="handleClose"
|
||||
>关闭</el-button>
|
||||
>{{ $t('systemManagement_RoleManagement.btnClose') }}</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<!-- 用户列表表格 -->
|
||||
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="用户名称" prop="userName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="用户昵称" prop="nickName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="邮箱" prop="email" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="手机" prop="phonenumber" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="状态" align="center" prop="status">
|
||||
<!-- 用户名称列 -->
|
||||
<el-table-column :label="$t('systemManagement_RoleManagement.userName')" prop="userName" :show-overflow-tooltip="true" />
|
||||
<!-- 用户昵称列 -->
|
||||
<el-table-column :label="$t('systemManagement_RoleManagement.nickName')" prop="nickName" :show-overflow-tooltip="true" />
|
||||
<!-- 邮箱列 -->
|
||||
<el-table-column :label="$t('systemManagement_RoleManagement.email')" prop="email" :show-overflow-tooltip="true" />
|
||||
<!-- 手机号列 -->
|
||||
<el-table-column :label="$t('systemManagement_RoleManagement.phoneNumber')" prop="phonenumber" :show-overflow-tooltip="true" />
|
||||
<!-- 状态列 -->
|
||||
<el-table-column :label="$t('systemManagement_RoleManagement.status')" align="center" prop="status">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||
<!-- 创建时间列 -->
|
||||
<el-table-column :label="$t('systemManagement_RoleManagement.createTime')" align="center" prop="createTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<!-- 操作列 -->
|
||||
<el-table-column :label="$t('systemManagement_RoleManagement.operation')" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<!-- 取消授权按钮 -->
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-circle-close"
|
||||
@click="cancelAuthUser(scope.row)"
|
||||
v-hasPermi="['system:role:remove']"
|
||||
>取消授权</el-button>
|
||||
>{{ $t('systemManagement_RoleManagement.btnCancelAuthorization') }}</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<!-- 分页组件 -->
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
@@ -95,6 +114,8 @@
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 引入选择用户弹窗组件 -->
|
||||
<select-user ref="select" :roleId="queryParams.roleId" @ok="handleQuery" />
|
||||
</div>
|
||||
</template>
|
||||
@@ -109,19 +130,19 @@ export default {
|
||||
components: { selectUser },
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
// 遮罩层加载状态
|
||||
loading: true,
|
||||
// 选中用户组
|
||||
// 选中的用户ID集合
|
||||
userIds: [],
|
||||
// 非多个禁用
|
||||
// 是否禁用批量操作
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
// 是否显示搜索区域
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 用户表格数据
|
||||
userList: [],
|
||||
// 查询参数
|
||||
// 查询参数对象
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
@@ -132,6 +153,7 @@ export default {
|
||||
}
|
||||
},
|
||||
created() {
|
||||
// 获取路由传参中的角色ID
|
||||
const roleId = this.$route.params && this.$route.params.roleId
|
||||
if (roleId) {
|
||||
this.queryParams.roleId = roleId
|
||||
@@ -149,7 +171,7 @@ export default {
|
||||
}
|
||||
)
|
||||
},
|
||||
// 返回按钮
|
||||
// 返回按钮点击事件
|
||||
handleClose() {
|
||||
const obj = { path: "/system/role" }
|
||||
this.$tab.closeOpenPage(obj)
|
||||
@@ -164,7 +186,7 @@ export default {
|
||||
this.resetForm("queryForm")
|
||||
this.handleQuery()
|
||||
},
|
||||
// 多选框选中数据
|
||||
// 多选框选中数据变化时触发
|
||||
handleSelectionChange(selection) {
|
||||
this.userIds = selection.map(item => item.userId)
|
||||
this.multiple = !selection.length
|
||||
@@ -176,22 +198,26 @@ export default {
|
||||
/** 取消授权按钮操作 */
|
||||
cancelAuthUser(row) {
|
||||
const roleId = this.queryParams.roleId
|
||||
this.$modal.confirm('确认要取消该用户"' + row.userName + '"角色吗?').then(function() {
|
||||
// 提示:确认要取消该用户 + row.userName + '"角色吗?
|
||||
this.$modal.confirm(this.$t('systemManagement_RoleManagement.textConfirmCancelRole1') + row.userName + this.$t('systemManagement_RoleManagement.textConfirmCancelRole2')).then(function() {
|
||||
return authUserCancel({ userId: row.userId, roleId: roleId })
|
||||
}).then(() => {
|
||||
this.getList()
|
||||
this.$modal.msgSuccess("取消授权成功")
|
||||
// 提示:取消授权成功
|
||||
this.$modal.msgSuccess(this.$t('systemManagement_RoleManagement.cancelSuccessInfo'))
|
||||
}).catch(() => {})
|
||||
},
|
||||
/** 批量取消授权按钮操作 */
|
||||
cancelAuthUserAll(row) {
|
||||
const roleId = this.queryParams.roleId
|
||||
const userIds = this.userIds.join(",")
|
||||
this.$modal.confirm('是否取消选中用户授权数据项?').then(function() {
|
||||
// 是否取消选中用户授权数据项?
|
||||
this.$modal.confirm(this.$t('systemManagement_RoleManagement.textConfirmCancelSelectedRole')).then(function() {
|
||||
return authUserCancelAll({ roleId: roleId, userIds: userIds })
|
||||
}).then(() => {
|
||||
this.getList()
|
||||
this.$modal.msgSuccess("取消授权成功")
|
||||
// 取消授权成功
|
||||
this.$modal.msgSuccess(this.$t('systemManagement_RoleManagement.cancelSuccessInfo'))
|
||||
}).catch(() => {})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,41 +1,52 @@
|
||||
<template>
|
||||
<!-- 授权用户 -->
|
||||
<el-dialog title="选择用户" :visible.sync="visible" width="800px" top="5vh" append-to-body>
|
||||
<!-- 选择用户 -->
|
||||
<el-dialog :title="$t('systemManagement_RoleManagement.selectUserTitle')" :visible.sync="visible" width="800px" top="5vh" append-to-body>
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
|
||||
<el-form-item label="用户名称" prop="userName">
|
||||
<!-- 用户名称 -->
|
||||
<el-form-item :label="$t('systemManagement_RoleManagement.userName')" prop="userName">
|
||||
<el-input
|
||||
v-model="queryParams.userName"
|
||||
placeholder="请输入用户名称"
|
||||
:placeholder="$t('systemManagement_RoleManagement.placeholderUserName')"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号码" prop="phonenumber">
|
||||
<!-- 手机号码 -->
|
||||
<el-form-item :label="$t('systemManagement_RoleManagement.phoneNumber')" prop="phonenumber">
|
||||
<el-input
|
||||
v-model="queryParams.phonenumber"
|
||||
placeholder="请输入手机号码"
|
||||
:placeholder="$t('systemManagement_RoleManagement.placeholderPhoneNumber')"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
<!-- 【查询】按钮 -->
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('systemManagement_RoleManagement.btnSearch') }}</el-button>
|
||||
<!-- 【重置】按钮 -->
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('systemManagement_RoleManagement.btnReset') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row>
|
||||
<el-table @row-click="clickRow" ref="table" :data="userList" @selection-change="handleSelectionChange" height="260px">
|
||||
<el-table-column type="selection" width="55"></el-table-column>
|
||||
<el-table-column label="用户名称" prop="userName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="用户昵称" prop="nickName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="邮箱" prop="email" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="手机" prop="phonenumber" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="状态" align="center" prop="status">
|
||||
<!-- 用户名称 -->
|
||||
<el-table-column :label="$t('systemManagement_RoleManagement.userName')" prop="userName" :show-overflow-tooltip="true" />
|
||||
<!-- 用户昵称 -->
|
||||
<el-table-column :label="$t('systemManagement_RoleManagement.nickName')" prop="nickName" :show-overflow-tooltip="true" />
|
||||
<!-- 邮箱 -->
|
||||
<el-table-column :label="$t('systemManagement_RoleManagement.email')" prop="email" :show-overflow-tooltip="true" />
|
||||
<!-- 手机号码 -->
|
||||
<el-table-column :label="$t('systemManagement_RoleManagement.phoneNumber')" prop="phonenumber" :show-overflow-tooltip="true" />
|
||||
<!-- 状态 -->
|
||||
<el-table-column :label="$t('systemManagement_RoleManagement.status')" align="center" prop="status">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||
<!-- 创建时间 -->
|
||||
<el-table-column :label="$t('systemManagement_RoleManagement.createTime')" align="center" prop="createTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||
</template>
|
||||
@@ -50,8 +61,10 @@
|
||||
/>
|
||||
</el-row>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="handleSelectUser">确 定</el-button>
|
||||
<el-button @click="visible = false">取 消</el-button>
|
||||
<!-- 【确定】按钮 -->
|
||||
<el-button type="primary" @click="handleSelectUser">{{ $t('systemManagement_RoleManagement.btnSubmit') }}</el-button>
|
||||
<!-- 【取消】按钮 -->
|
||||
<el-button @click="visible = false">{{ $t('systemManagement_RoleManagement.btnCancel') }}</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</template>
|
||||
@@ -122,7 +135,8 @@ export default {
|
||||
const roleId = this.queryParams.roleId
|
||||
const userIds = this.userIds.join(",")
|
||||
if (userIds == "") {
|
||||
this.$modal.msgError("请选择要分配的用户")
|
||||
// 提示:请选择要分配的用户
|
||||
this.$modal.msgError(this.$t('systemManagement_RoleManagement.textSelectRole'))
|
||||
return
|
||||
}
|
||||
authUserSelectAll({ roleId: roleId, userIds: userIds }).then(res => {
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<h4 class="form-header h4">基本信息</h4>
|
||||
<h4 class="form-header h4">{{ $t('systemManagement_UserManagement.basInfo') }}</h4>
|
||||
<el-form ref="form" :model="form" label-width="80px">
|
||||
<el-row>
|
||||
<el-col :span="8" :offset="2">
|
||||
<el-form-item label="用户昵称" prop="nickName">
|
||||
<el-form-item :label="$t('systemManagement_UserManagement.nickName')" prop="nickName">
|
||||
<el-input v-model="form.nickName" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8" :offset="2">
|
||||
<el-form-item label="登录账号" prop="userName">
|
||||
<el-form-item :label="$t('systemManagement_UserManagement.userName')" prop="userName">
|
||||
<el-input v-model="form.userName" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
<h4 class="form-header h4">角色信息</h4>
|
||||
<!-- 角色信息 -->
|
||||
<h4 class="form-header h4">{{ $t('systemManagement_UserManagement.roleInfo') }}</h4>
|
||||
<el-table v-loading="loading" :row-key="getRowKey" @row-click="clickRow" ref="table" @selection-change="handleSelectionChange" :data="roles.slice((pageNum-1)*pageSize,pageNum*pageSize)">
|
||||
<el-table-column label="序号" type="index" align="center">
|
||||
<template slot-scope="scope">
|
||||
@@ -24,10 +24,14 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column type="selection" :reserve-selection="true" :selectable="checkSelectable" width="55" />
|
||||
<el-table-column label="角色编号" align="center" prop="roleId" />
|
||||
<el-table-column label="角色名称" align="center" prop="roleName" />
|
||||
<el-table-column label="权限字符" align="center" prop="roleKey" />
|
||||
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||
<!-- 角色编号 -->
|
||||
<el-table-column :label="$t('systemManagement_UserManagement.roleId')" align="center" prop="roleId" />
|
||||
<!-- 角色名称 -->
|
||||
<el-table-column :label="$t('systemManagement_UserManagement.roleName')" align="center" prop="roleName" />
|
||||
<!-- 权限字符 -->
|
||||
<el-table-column :label="$t('systemManagement_UserManagement.roleKey')" align="center" prop="roleKey" />
|
||||
<!-- 创建时间 -->
|
||||
<el-table-column :label="$t('systemManagement_UserManagement.createTime')" align="center" prop="createTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||
</template>
|
||||
@@ -38,8 +42,10 @@
|
||||
|
||||
<el-form label-width="100px">
|
||||
<el-form-item style="text-align: center;margin-left:-120px;margin-top:30px;">
|
||||
<el-button type="primary" @click="submitForm()">提交</el-button>
|
||||
<el-button @click="close()">返回</el-button>
|
||||
<!-- 【提交】按钮 -->
|
||||
<el-button type="primary" @click="submitForm()">{{ $t('systemManagement_UserManagement.btnSubmit') }}</el-button>
|
||||
<!-- 【返回】按钮 -->
|
||||
<el-button @click="close()">{{ $t('systemManagement_UserManagement.btnBack') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
@@ -109,7 +115,8 @@ export default {
|
||||
const userId = this.form.userId
|
||||
const roleIds = this.roleIds.join(",")
|
||||
updateAuthRole({ userId: userId, roleIds: roleIds }).then((response) => {
|
||||
this.$modal.msgSuccess("授权成功")
|
||||
// 授权成功
|
||||
this.$modal.msgSuccess(this.$t('systemManagement_UserManagement.authorizeSuccessInfo'))
|
||||
this.close()
|
||||
})
|
||||
},
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
</el-form-item>
|
||||
<el-form>
|
||||
<!-- 创建时间 -->
|
||||
<el-form-item :label="$t('systemManagement_UserManagement.creatTime')">
|
||||
<el-form-item :label="$t('systemManagement_UserManagement.createTime')">
|
||||
<el-date-picker v-model="dateRange" style="width: 240px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" :start-placeholder="$t('systemManagement_UserManagement.placeholderDateStart')" :end-placeholder="$t('systemManagement_UserManagement.placeholderDateEnd')"></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
@@ -91,7 +91,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- 创建时间 -->
|
||||
<el-table-column :label="$t('systemManagement_UserManagement.creatTime')" align="center" prop="createTime" v-if="columns[6].visible" width="160">
|
||||
<el-table-column :label="$t('systemManagement_UserManagement.createTime')" align="center" prop="createTime" v-if="columns[6].visible" width="160">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||
</template>
|
||||
@@ -110,7 +110,7 @@
|
||||
<!-- 人工操作---更多---【重置密码】按钮 -->
|
||||
<el-dropdown-item command="handleResetPwd" icon="el-icon-key" v-hasPermi="['system:user:resetPwd']">{{ $t('systemManagement_UserManagement.btnResetPassword') }}</el-dropdown-item>
|
||||
<!-- 人工操作---更多---【分配角色】按钮 -->
|
||||
<el-dropdown-item command="handleAuthRole" icon="el-icon-circle-check" v-hasPermi="['system:user:edit']">{{ $t('systemManagement_UserManagement.AssignRole') }}</el-dropdown-item>
|
||||
<el-dropdown-item command="handleAuthRole" icon="el-icon-circle-check" v-hasPermi="['system:user:edit']">{{ $t('systemManagement_UserManagement.btnAssignRole') }}</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</template>
|
||||
@@ -124,8 +124,8 @@
|
||||
</el-row>
|
||||
|
||||
<!-- 添加或修改用户配置对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-dialog :title="title" :visible.sync="open" width="650px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" :label-width="$t('systemManagement_UserManagement.lblWidthDialog')">
|
||||
<el-row>
|
||||
<!-- 用户昵称 -->
|
||||
<el-col :span="12">
|
||||
|
||||
@@ -4,7 +4,8 @@
|
||||
<el-col :span="6" :xs="24">
|
||||
<el-card class="box-card">
|
||||
<div slot="header" class="clearfix">
|
||||
<span>个人信息</span>
|
||||
<!-- 个人信息 -->
|
||||
<span>{{ $t('systemManagement_UserManagement.userInfo') }}</span>
|
||||
</div>
|
||||
<div>
|
||||
<div class="text-center">
|
||||
@@ -12,27 +13,33 @@
|
||||
</div>
|
||||
<ul class="list-group list-group-striped">
|
||||
<li class="list-group-item">
|
||||
<svg-icon icon-class="user" />用户名称
|
||||
<!-- 用户名称 -->
|
||||
<svg-icon icon-class="user" />{{ $t('systemManagement_UserManagement.userName') }}
|
||||
<div class="pull-right">{{ user.userName }}</div>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<svg-icon icon-class="phone" />手机号码
|
||||
<!-- 手机号码 -->
|
||||
<svg-icon icon-class="phone" />{{ $t('systemManagement_UserManagement.phoneNumber') }}
|
||||
<div class="pull-right">{{ user.phonenumber }}</div>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<svg-icon icon-class="email" />用户邮箱
|
||||
<!-- 邮箱 -->
|
||||
<svg-icon icon-class="email" />{{ $t('systemManagement_UserManagement.email') }}
|
||||
<div class="pull-right">{{ user.email }}</div>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<svg-icon icon-class="tree" />所属部门
|
||||
<!-- 部门 -->
|
||||
<svg-icon icon-class="tree" />{{ $t('systemManagement_UserManagement.deptName') }}
|
||||
<div class="pull-right" v-if="user.dept">{{ user.dept.deptName }} / {{ postGroup }}</div>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<svg-icon icon-class="peoples" />所属角色
|
||||
<!-- 角色 -->
|
||||
<svg-icon icon-class="peoples" />{{ $t('systemManagement_UserManagement.roleGroup') }}
|
||||
<div class="pull-right">{{ roleGroup }}</div>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<svg-icon icon-class="date" />创建日期
|
||||
<!-- 创建日期 -->
|
||||
<svg-icon icon-class="date" />{{ $t('systemManagement_UserManagement.createTime') }}
|
||||
<div class="pull-right">{{ user.createTime }}</div>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -42,13 +49,16 @@
|
||||
<el-col :span="18" :xs="24">
|
||||
<el-card>
|
||||
<div slot="header" class="clearfix">
|
||||
<span>基本资料</span>
|
||||
<!-- 基本资料 -->
|
||||
<span>{{ $t('systemManagement_UserManagement.userInfo') }}</span>
|
||||
</div>
|
||||
<el-tabs v-model="activeTab">
|
||||
<el-tab-pane label="基本资料" name="userinfo">
|
||||
<!-- 基本资料 -->
|
||||
<el-tab-pane :label="$t('systemManagement_UserManagement.userInfo')" name="userinfo">
|
||||
<userInfo :user="user" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="修改密码" name="resetPwd">
|
||||
<!-- 修改密码 -->
|
||||
<el-tab-pane :label="$t('systemManagement_UserManagement.resetPwd')" name="resetPwd">
|
||||
<resetPwd />
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
|
||||
@@ -1,17 +1,22 @@
|
||||
<template>
|
||||
<el-form ref="form" :model="user" :rules="rules" label-width="80px">
|
||||
<el-form-item label="旧密码" prop="oldPassword">
|
||||
<el-input v-model="user.oldPassword" placeholder="请输入旧密码" type="password" show-password/>
|
||||
<el-form ref="form" :model="user" :rules="rules" :label-width="$t('systemManagement_UserManagement.lblWidthPassword')">
|
||||
<!-- 旧密码 -->
|
||||
<el-form-item :label="$t('systemManagement_UserManagement.oldPassword')" prop="oldPassword">
|
||||
<el-input v-model="user.oldPassword" :placeholder="$t('systemManagement_UserManagement.placecholderOldPassword')" type="password" show-password/>
|
||||
</el-form-item>
|
||||
<el-form-item label="新密码" prop="newPassword">
|
||||
<el-input v-model="user.newPassword" placeholder="请输入新密码" type="password" show-password/>
|
||||
<!-- 新密码 -->
|
||||
<el-form-item :label="$t('systemManagement_UserManagement.newPassword')" prop="newPassword">
|
||||
<el-input v-model="user.newPassword" :placeholder="$t('systemManagement_UserManagement.placecholderNewPassword')" type="password" show-password/>
|
||||
</el-form-item>
|
||||
<el-form-item label="确认密码" prop="confirmPassword">
|
||||
<el-input v-model="user.confirmPassword" placeholder="请确认新密码" type="password" show-password/>
|
||||
<!-- 确认密码 -->
|
||||
<el-form-item :label="$t('systemManagement_UserManagement.confirmPassword')" prop="confirmPassword">
|
||||
<el-input v-model="user.confirmPassword" :placeholder="$t('systemManagement_UserManagement.placecholderConfirmPassword')" type="password" show-password/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" size="mini" @click="submit">保存</el-button>
|
||||
<el-button type="danger" size="mini" @click="close">关闭</el-button>
|
||||
<!-- 【保存】按钮 -->
|
||||
<el-button type="primary" size="mini" @click="submit">{{ $t('systemManagement_UserManagement.btnSave') }}</el-button>
|
||||
<!-- 【关闭】按钮 -->
|
||||
<el-button type="danger" size="mini" @click="close">{{ $t('systemManagement_UserManagement.btnClose') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
@@ -23,7 +28,8 @@ export default {
|
||||
data() {
|
||||
const equalToPassword = (rule, value, callback) => {
|
||||
if (this.user.newPassword !== value) {
|
||||
callback(new Error("两次输入的密码不一致"))
|
||||
// 两次输入的密码不一致
|
||||
callback(new Error(this.$t('systemManagement_UserManagement.checkPasswordIsSame')))
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
@@ -37,15 +43,20 @@ export default {
|
||||
// 表单校验
|
||||
rules: {
|
||||
oldPassword: [
|
||||
{ required: true, message: "旧密码不能为空", trigger: "blur" }
|
||||
// 旧密码不能为空
|
||||
{ required: true, message: this.$t('systemManagement_UserManagement.oldPasswordIsNull'), trigger: "blur" }
|
||||
],
|
||||
newPassword: [
|
||||
{ required: true, message: "新密码不能为空", trigger: "blur" },
|
||||
{ min: 6, max: 20, message: "长度在 6 到 20 个字符", trigger: "blur" },
|
||||
{ pattern: /^[^<>"'|\\]+$/, message: "不能包含非法字符:< > \" ' \\\ |", trigger: "blur" }
|
||||
// 新密码不能为空
|
||||
{ required: true, message: this.$t('systemManagement_UserManagement.newPasswordIsNull'), trigger: "blur" },
|
||||
// 长度在 6 到 20 个字符
|
||||
{ min: 6, max: 20, message: this.$t('systemManagement_UserManagement.passwordFormat1'), trigger: "blur" },
|
||||
// 不能包含非法字符:< > \" ' \\\ |
|
||||
{ pattern: /^[^<>"'|\\]+$/, message: this.$t('systemManagement_UserManagement.passwordFormat2'), trigger: "blur" }
|
||||
],
|
||||
confirmPassword: [
|
||||
{ required: true, message: "确认密码不能为空", trigger: "blur" },
|
||||
// 校验:确认密码不能为空
|
||||
{ required: true, message: this.$t('systemManagement_UserManagement.confirmPasswordIsNull'), trigger: "blur" },
|
||||
{ required: true, validator: equalToPassword, trigger: "blur" }
|
||||
]
|
||||
}
|
||||
@@ -56,7 +67,8 @@ export default {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
updateUserPwd(this.user.oldPassword, this.user.newPassword).then(response => {
|
||||
this.$modal.msgSuccess("修改成功")
|
||||
// 提示信息:修改成功
|
||||
this.$modal.msgSuccess(this.$t('systemManagement_UserManagement.editSuccessInfo'))
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="user-info-head" @click="editCropper()"><img v-bind:src="options.img" title="点击上传头像" class="img-circle img-lg" /></div>
|
||||
<div class="user-info-head" @click="editCropper()"><img v-bind:src="options.img" :title="$t('systemManagement_UserManagement.avatarTitle')" class="img-circle img-lg" /></div>
|
||||
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body @opened="modalOpened" @close="closeDialog">
|
||||
<el-row>
|
||||
<el-col :xs="24" :md="12" :style="{height: '350px'}">
|
||||
@@ -28,7 +28,7 @@
|
||||
<el-col :lg="2" :sm="3" :xs="3">
|
||||
<el-upload action="#" :http-request="requestUpload" :show-file-list="false" :before-upload="beforeUpload">
|
||||
<el-button size="small">
|
||||
选择
|
||||
{{ $t('systemManagement_UserManagement.btnSelect') }}
|
||||
<i class="el-icon-upload el-icon--right"></i>
|
||||
</el-button>
|
||||
</el-upload>
|
||||
@@ -46,7 +46,7 @@
|
||||
<el-button icon="el-icon-refresh-right" size="small" @click="rotateRight()"></el-button>
|
||||
</el-col>
|
||||
<el-col :lg="{span: 2, offset: 6}" :sm="2" :xs="2">
|
||||
<el-button type="primary" size="small" @click="uploadImg()">提 交</el-button>
|
||||
<el-button type="primary" size="small" @click="uploadImg()">{{ $t('systemManagement_UserManagement.btnSubmit') }}</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-dialog>
|
||||
@@ -68,7 +68,7 @@ export default {
|
||||
// 是否显示cropper
|
||||
visible: false,
|
||||
// 弹出层标题
|
||||
title: "修改头像",
|
||||
title: this.$t('systemManagement_UserManagement.updateAvatar'),
|
||||
options: {
|
||||
img: store.getters.avatar, //裁剪图片的地址
|
||||
autoCrop: true, // 是否默认生成截图框
|
||||
@@ -120,7 +120,7 @@ export default {
|
||||
// 上传预处理
|
||||
beforeUpload(file) {
|
||||
if (file.type.indexOf("image/") == -1) {
|
||||
this.$modal.msgError("文件格式错误,请上传图片类型,如:JPG,PNG后缀的文件。")
|
||||
this.$modal.msgError(this.$t('systemManagement_UserManagement.errorMessage'))
|
||||
} else {
|
||||
const reader = new FileReader()
|
||||
reader.readAsDataURL(file)
|
||||
@@ -139,7 +139,7 @@ export default {
|
||||
this.open = false
|
||||
this.options.img = process.env.VUE_APP_BASE_API + response.imgUrl
|
||||
store.commit('SET_AVATAR', this.options.img)
|
||||
this.$modal.msgSuccess("修改成功")
|
||||
this.$modal.msgSuccess(this.$t('systemManagement_UserManagement.editSuccessInfo'))
|
||||
this.visible = false
|
||||
})
|
||||
})
|
||||
|
||||
@@ -1,23 +1,29 @@
|
||||
<template>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="用户昵称" prop="nickName">
|
||||
<el-form ref="form" :model="form" :rules="rules" :label-width="$t('systemManagement_UserManagement.lblWidthDialog')">
|
||||
<!-- 用户昵称 -->
|
||||
<el-form-item :label="$t('systemManagement_UserManagement.nickName')" prop="nickName">
|
||||
<el-input v-model="form.nickName" maxlength="30" />
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号码" prop="phonenumber">
|
||||
<!-- 手机号码 -->
|
||||
<el-form-item :label="$t('systemManagement_UserManagement.phoneNumber')" prop="phonenumber">
|
||||
<el-input v-model="form.phonenumber" maxlength="11" />
|
||||
</el-form-item>
|
||||
<el-form-item label="邮箱" prop="email">
|
||||
<!-- 邮箱 -->
|
||||
<el-form-item :label="$t('systemManagement_UserManagement.email')" prop="email">
|
||||
<el-input v-model="form.email" maxlength="50" />
|
||||
</el-form-item>
|
||||
<el-form-item label="性别">
|
||||
<!-- 性别:0男 1女 -->
|
||||
<el-form-item :label="$t('systemManagement_UserManagement.gender')">
|
||||
<el-radio-group v-model="form.sex">
|
||||
<el-radio label="0">男</el-radio>
|
||||
<el-radio label="1">女</el-radio>
|
||||
<el-radio label="0">{{ $t('systemManagement_UserManagement.male') }}</el-radio>
|
||||
<el-radio label="1">{{ $t('systemManagement_UserManagement.female') }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" size="mini" @click="submit">保存</el-button>
|
||||
<el-button type="danger" size="mini" @click="close">关闭</el-button>
|
||||
<!-- 【保存】按钮 -->
|
||||
<el-button type="primary" size="mini" @click="submit">{{ $t('systemManagement_UserManagement.btnSave') }}</el-button>
|
||||
<!-- 【关闭】按钮 -->
|
||||
<el-button type="danger" size="mini" @click="close">{{ $t('systemManagement_UserManagement.btnClose') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
@@ -37,21 +43,26 @@ export default {
|
||||
// 表单校验
|
||||
rules: {
|
||||
nickName: [
|
||||
{ required: true, message: "用户昵称不能为空", trigger: "blur" }
|
||||
// 用户昵称不能为空
|
||||
{ required: true, message: this.$t('systemManagement_UserManagement.checkNickNameIsNull'), trigger: "blur" }
|
||||
],
|
||||
email: [
|
||||
{ required: true, message: "邮箱地址不能为空", trigger: "blur" },
|
||||
// 邮箱地址不能为空
|
||||
{ required: true, message: this.$t('systemManagement_UserManagement.checkEmailIsNull'), trigger: "blur" },
|
||||
{
|
||||
type: "email",
|
||||
message: "请输入正确的邮箱地址",
|
||||
// 请输入正确的邮箱地址
|
||||
message: this.$t('systemManagement_UserManagement.checkEmailFormat'),
|
||||
trigger: ["blur", "change"]
|
||||
}
|
||||
],
|
||||
phonenumber: [
|
||||
{ required: true, message: "手机号码不能为空", trigger: "blur" },
|
||||
// 手机号码不能为空
|
||||
{ required: true, message: this.$t('systemManagement_UserManagement.checkPhoneNumberIsNull'), trigger: "blur" },
|
||||
{
|
||||
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
|
||||
message: "请输入正确的手机号码",
|
||||
// 请输入正确的手机号码
|
||||
message: this.$t('systemManagement_UserManagement.checkPhoneNumberFormat'),
|
||||
trigger: "blur"
|
||||
}
|
||||
]
|
||||
@@ -73,7 +84,8 @@ export default {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
updateUserProfile(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功")
|
||||
// 提示信息:修改成功
|
||||
this.$modal.msgSuccess(this.$t('systemManagement_UserManagement.EditSuccessInfo'))
|
||||
this.user.phonenumber = this.form.phonenumber
|
||||
this.user.email = this.form.email
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user