修改国际化配置
This commit is contained in:
@@ -1026,6 +1026,20 @@ export default {
|
|||||||
//缓存列表
|
//缓存列表
|
||||||
SystemMonitor_CacheList: 'CacheList',
|
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',
|
inventoryManagement: 'inventoryManagement',
|
||||||
createNewInventoryDocument: 'createNewInventoryDocument',
|
createNewInventoryDocument: 'createNewInventoryDocument',
|
||||||
@@ -1209,7 +1223,7 @@ export default {
|
|||||||
deptName: 'DeptName',
|
deptName: 'DeptName',
|
||||||
phoneNumber: 'PhoneNumber',
|
phoneNumber: 'PhoneNumber',
|
||||||
status: 'Status',
|
status: 'Status',
|
||||||
creatTime: 'CreatTime',
|
createTime: 'CreatTime',
|
||||||
operation: 'Operation',
|
operation: 'Operation',
|
||||||
email: 'Email',
|
email: 'Email',
|
||||||
post: 'Post',
|
post: 'Post',
|
||||||
@@ -1245,8 +1259,12 @@ export default {
|
|||||||
btnSubmit: 'Submit',
|
btnSubmit: 'Submit',
|
||||||
btnCancel: 'Cancel',
|
btnCancel: 'Cancel',
|
||||||
btnMore: 'More',
|
btnMore: 'More',
|
||||||
|
btnBack: 'Back',
|
||||||
btnResetPassword: 'Reset Password',
|
btnResetPassword: 'Reset Password',
|
||||||
btnAssignRole: 'Assign Role',
|
btnAssignRole: 'Assign Role',
|
||||||
|
btnSave: 'Save',
|
||||||
|
btnClose: 'Close',
|
||||||
|
btnSelect: 'Select',
|
||||||
|
|
||||||
//--------------二级窗口标题--------------
|
//--------------二级窗口标题--------------
|
||||||
addUserItem: 'Add User',
|
addUserItem: 'Add User',
|
||||||
@@ -1285,13 +1303,13 @@ export default {
|
|||||||
//---函数:textUploadTitle---
|
//---函数:textUploadTitle---
|
||||||
textImportResult: 'Result',
|
textImportResult: 'Result',
|
||||||
|
|
||||||
|
|
||||||
//--------------操作提示--------------
|
//--------------操作提示--------------
|
||||||
addSuccessInfo: 'Add Success',
|
addSuccessInfo: 'Add Success',
|
||||||
editSuccessInfo: 'Edit Success',
|
editSuccessInfo: 'Edit Success',
|
||||||
deleteSuccessInfo: 'Delete Success',
|
deleteSuccessInfo: 'Delete Success',
|
||||||
resetPasswordSuccessInfo: 'Reset Password Success',
|
resetPasswordSuccessInfo: 'Reset Password Success',
|
||||||
assignRoleSuccessInfo: 'Assign Role Success',
|
assignRoleSuccessInfo: 'Assign Role Success',
|
||||||
|
authorizeSuccessInfo: 'Authorize Success',
|
||||||
|
|
||||||
//--------------校验提示--------------
|
//--------------校验提示--------------
|
||||||
checkUserNameIsNull: 'UserName cannot be null!',
|
checkUserNameIsNull: 'UserName cannot be null!',
|
||||||
@@ -1300,12 +1318,55 @@ export default {
|
|||||||
checkPasswordIsNull: 'Password cannot be null!',
|
checkPasswordIsNull: 'Password cannot be null!',
|
||||||
checkPasswordLength: 'Password length must be between 5-20 characters!',
|
checkPasswordLength: 'Password length must be between 5-20 characters!',
|
||||||
checkPasswordCharacter: "Password cannot contain illegal characters: < > \" \' \\\ |",
|
checkPasswordCharacter: "Password cannot contain illegal characters: < > \" \' \\\ |",
|
||||||
|
checkEmailIsNull: 'Email cannot be null!',
|
||||||
checkEmailFormat: 'Please enter a valid email address!',
|
checkEmailFormat: 'Please enter a valid email address!',
|
||||||
|
checkPhoneNumberIsNull: 'Phone number cannot be null!',
|
||||||
checkPhoneNumberFormat: 'Please enter a valid phone number!',
|
checkPhoneNumberFormat: 'Please enter a valid phone number!',
|
||||||
|
|
||||||
//--------------其他--------------
|
//--------------其他--------------
|
||||||
lblWidthUserName: '80px',
|
lblWidthUserName: '80px',
|
||||||
lblWidthPhoneNumber: '90px',
|
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',
|
btnMore: 'More',
|
||||||
btnDataPermission: 'Data Permission',
|
btnDataPermission: 'Data Permission',
|
||||||
btnAssignRole: 'Assign Role',
|
btnAssignRole: 'Assign Role',
|
||||||
|
btnClose: 'Close',
|
||||||
|
|
||||||
//--------------二级窗口标题--------------
|
//--------------二级窗口标题--------------
|
||||||
addRoleItem: 'Add Role',
|
addRoleItem: 'Add Role',
|
||||||
@@ -1404,6 +1466,32 @@ export default {
|
|||||||
//--------------其他--------------
|
//--------------其他--------------
|
||||||
lblWidthUserName: '68px',
|
lblWidthUserName: '68px',
|
||||||
lblWidthPhoneNumber: '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: {
|
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: {
|
stockRecord: {
|
||||||
stockId: '库存编码',
|
stockId: '库存编码',
|
||||||
@@ -1028,14 +816,25 @@ export default {
|
|||||||
SystemMonitor_ScheduledTask: '定时任务',
|
SystemMonitor_ScheduledTask: '定时任务',
|
||||||
// 数据监控
|
// 数据监控
|
||||||
SystemMonitor_DataMonitor: '数据监控',
|
SystemMonitor_DataMonitor: '数据监控',
|
||||||
//服务监控
|
// 服务监控
|
||||||
SystemMonitor_ServiceMonitor: '服务监控',
|
SystemMonitor_ServiceMonitor: '服务监控',
|
||||||
//缓存监控
|
// 缓存监控
|
||||||
SystemMonitor_CacheMonitor: '缓存监控',
|
SystemMonitor_CacheMonitor: '缓存监控',
|
||||||
//缓存列表
|
// 缓存列表
|
||||||
SystemMonitor_CacheList: '缓存列表',
|
SystemMonitor_CacheList: '缓存列表',
|
||||||
|
|
||||||
|
//********************KPI分析********************
|
||||||
|
KPIAnalysis: 'KPI分析',
|
||||||
|
// 入库分析
|
||||||
|
KPIAnalysis_StockIn: '入库分析',
|
||||||
|
// 出库分析
|
||||||
|
KPIAnalysis_StockOut: '出库分析',
|
||||||
|
// 巷道分布
|
||||||
|
KPIAnalysis_Roadway: '巷道分布',
|
||||||
|
// 货位分析
|
||||||
|
KPIAnalysis_CargoSpace: '货位分析',
|
||||||
|
// 库存平面图
|
||||||
|
KPIAnalysis_CargoPlan: '库存平面图',
|
||||||
|
|
||||||
|
|
||||||
// ****************盘点管理******************
|
// ****************盘点管理******************
|
||||||
@@ -1055,20 +854,7 @@ export default {
|
|||||||
customerManagement:'客户管理',
|
customerManagement:'客户管理',
|
||||||
supplierManagement:'供应商管理',
|
supplierManagement:'供应商管理',
|
||||||
materialManagement:'物料管理',
|
materialManagement:'物料管理',
|
||||||
basicPointLocation:'基础点位',
|
basicPointLocation:'基础点位'
|
||||||
//*************** 查询统计*************
|
|
||||||
queryStatistics:'查询统计',
|
|
||||||
inventoryDetailQuery:'库存明细查询',
|
|
||||||
inventorySummaryQuery:'库存汇总查询',
|
|
||||||
inboundDocumentHistory:'入库单据历史',
|
|
||||||
outboundDocumentHistory:'出库单据历史',
|
|
||||||
inboundTaskFlow:'入库作业流水',
|
|
||||||
outboundTaskFlow:'出库作业流水',
|
|
||||||
flatInventoryFlow:'平库入库流水',
|
|
||||||
flatOutboundFlow:'平库出库流水',
|
|
||||||
safetyStockInquiry:'安全库存查询',
|
|
||||||
warningInventoryInquiry:'预警库存查询'
|
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -1222,7 +1008,7 @@ export default {
|
|||||||
deptName: '部门',
|
deptName: '部门',
|
||||||
phoneNumber: '手机号',
|
phoneNumber: '手机号',
|
||||||
status: '状态',
|
status: '状态',
|
||||||
creatTime: '创建时间',
|
createTime: '创建时间',
|
||||||
operation: '操作',
|
operation: '操作',
|
||||||
email: '邮箱',
|
email: '邮箱',
|
||||||
post: '岗位',
|
post: '岗位',
|
||||||
@@ -1258,8 +1044,12 @@ export default {
|
|||||||
btnSubmit: '确定',
|
btnSubmit: '确定',
|
||||||
btnCancel: '取消',
|
btnCancel: '取消',
|
||||||
btnMore: '更多',
|
btnMore: '更多',
|
||||||
|
btnBack: '返回',
|
||||||
btnResetPassword: '重置密码',
|
btnResetPassword: '重置密码',
|
||||||
btnAssignRole: '分配角色',
|
btnAssignRole: '分配角色',
|
||||||
|
btnSave: '保存',
|
||||||
|
btnClose: '关闭',
|
||||||
|
btnSelect: '选择',
|
||||||
|
|
||||||
//--------------二级窗口标题--------------
|
//--------------二级窗口标题--------------
|
||||||
addUserItem: '添加用户',
|
addUserItem: '添加用户',
|
||||||
@@ -1298,13 +1088,13 @@ export default {
|
|||||||
//---函数:textUploadTitle---
|
//---函数:textUploadTitle---
|
||||||
textImportResult: '导入结果',
|
textImportResult: '导入结果',
|
||||||
|
|
||||||
|
|
||||||
//--------------操作提示--------------
|
//--------------操作提示--------------
|
||||||
addSuccessInfo: '新增成功',
|
addSuccessInfo: '新增成功',
|
||||||
editSuccessInfo: '编辑成功',
|
editSuccessInfo: '编辑成功',
|
||||||
deleteSuccessInfo: '删除成功',
|
deleteSuccessInfo: '删除成功',
|
||||||
resetPasswordSuccessInfo: '重置密码成功',
|
resetPasswordSuccessInfo: '重置密码成功',
|
||||||
assignRoleSuccessInfo: '分配角色成功',
|
assignRoleSuccessInfo: '分配角色成功',
|
||||||
|
authorizeSuccessInfo: '授权成功',
|
||||||
|
|
||||||
//--------------校验提示--------------
|
//--------------校验提示--------------
|
||||||
checkUserNameIsNull: '用户名称不能为空',
|
checkUserNameIsNull: '用户名称不能为空',
|
||||||
@@ -1313,13 +1103,55 @@ export default {
|
|||||||
checkPasswordIsNull: '密码不能为空',
|
checkPasswordIsNull: '密码不能为空',
|
||||||
checkPasswordLength: '密码长度必须介于5-20个字符',
|
checkPasswordLength: '密码长度必须介于5-20个字符',
|
||||||
checkPasswordCharacter: "不能包含非法字符:< > \" ' \\\ |",
|
checkPasswordCharacter: "不能包含非法字符:< > \" ' \\\ |",
|
||||||
|
checkEmailIsNull: '邮箱地址不能为空',
|
||||||
checkEmailFormat: '请输入正确的邮箱地址',
|
checkEmailFormat: '请输入正确的邮箱地址',
|
||||||
|
checkPhoneNumberIsNull: '手机号不能为空',
|
||||||
checkPhoneNumberFormat: '请输入正确的手机号',
|
checkPhoneNumberFormat: '请输入正确的手机号',
|
||||||
|
|
||||||
//--------------其他--------------
|
//--------------其他--------------
|
||||||
lblWidthUserName: '68px',
|
lblWidthUserName: '68px',
|
||||||
lblWidthPhoneNumber: '68px',
|
lblWidthPhoneNumber: '68px',
|
||||||
lblWidthDialog: '80px',
|
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: '更多',
|
btnMore: '更多',
|
||||||
btnDataPermission: '数据权限',
|
btnDataPermission: '数据权限',
|
||||||
btnAssignRole: '分配角色',
|
btnAssignRole: '分配角色',
|
||||||
|
btnClose: '关闭',
|
||||||
|
|
||||||
//--------------二级窗口标题--------------
|
//--------------二级窗口标题--------------
|
||||||
addRoleItem: '添加角色',
|
addRoleItem: '添加角色',
|
||||||
@@ -1418,6 +1251,32 @@ export default {
|
|||||||
//--------------其他--------------
|
//--------------其他--------------
|
||||||
lblWidthUserName: '68px',
|
lblWidthUserName: '68px',
|
||||||
lblWidthPhoneNumber: '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>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" :label-width="$t('KPIAnalysis_StockIn.lblWidthSearch')">
|
||||||
<el-form-item label="仓库" prop="warehouseId">
|
<!-- 仓库 -->
|
||||||
<el-select v-model="queryParams.warehouseId" placeholder="请选择仓库" clearable>
|
<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
|
<el-option
|
||||||
v-for="dict in warehouseOptions"
|
v-for="dict in warehouseOptions"
|
||||||
:key="dict.warehouseId"
|
:key="dict.warehouseId"
|
||||||
@@ -11,19 +12,22 @@
|
|||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="年月" prop="yearMonth">
|
<!-- 年月 -->
|
||||||
|
<el-form-item :label="this.$t('KPIAnalysis_StockIn.yearMonth')" prop="yearMonth">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="queryParams.yearMonth"
|
v-model="queryParams.yearMonth"
|
||||||
type="month"
|
type="month"
|
||||||
placeholder="选择年月"
|
:placeholder="this.$t('KPIAnalysis_StockIn.placeholderYearMonth')"
|
||||||
value-format="yyyy-MM"
|
value-format="yyyy-MM"
|
||||||
format="yyyy-MM"
|
format="yyyy-MM"
|
||||||
clearable
|
clearable
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
@@ -108,7 +112,8 @@ export default {
|
|||||||
updateChart() {
|
updateChart() {
|
||||||
const option = {
|
const option = {
|
||||||
title: {
|
title: {
|
||||||
text: '入库均匀分析',
|
// 标题:入库均匀分析
|
||||||
|
text: this.$t('KPIAnalysis_StockIn.textChartStockIn'),
|
||||||
left: 'center'
|
left: 'center'
|
||||||
},
|
},
|
||||||
tooltip: {
|
tooltip: {
|
||||||
@@ -127,7 +132,8 @@ export default {
|
|||||||
},
|
},
|
||||||
yAxis: {
|
yAxis: {
|
||||||
type: 'value',
|
type: 'value',
|
||||||
name: '数量'
|
// 数量
|
||||||
|
name: this.$t('KPIAnalysis_StockIn.textYAxisName')
|
||||||
},
|
},
|
||||||
series: [{
|
series: [{
|
||||||
data: this.chartData.counts,
|
data: this.chartData.counts,
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" :label-width="$t('KPIAnalysis_StockIn.lblWidthSearch')">
|
||||||
<el-form-item label="仓库" prop="warehouseId">
|
<!-- 仓库 -->
|
||||||
<el-select v-model="queryParams.warehouseId" placeholder="请选择仓库" clearable>
|
<el-form-item :label="$t('KPIAnalysis_StockOut.warehouse')" prop="warehouseId">
|
||||||
|
<el-select v-model="queryParams.warehouseId" :placeholder="$t('KPIAnalysis_StockOut.placeholderWarehouse')" clearable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in warehouseOptions"
|
v-for="dict in warehouseOptions"
|
||||||
:key="dict.warehouseId"
|
:key="dict.warehouseId"
|
||||||
@@ -11,19 +12,22 @@
|
|||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="年月" prop="yearMonth">
|
<!-- 年月 -->
|
||||||
|
<el-form-item :label="$t('KPIAnalysis_StockOut.yearMonth')" prop="yearMonth">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="queryParams.yearMonth"
|
v-model="queryParams.yearMonth"
|
||||||
type="month"
|
type="month"
|
||||||
placeholder="选择年月"
|
:placeholder="$t('KPIAnalysis_StockOut.placeholderYearMonth')"
|
||||||
value-format="yyyy-MM"
|
value-format="yyyy-MM"
|
||||||
format="yyyy-MM"
|
format="yyyy-MM"
|
||||||
clearable
|
clearable
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
@@ -108,7 +112,8 @@ export default {
|
|||||||
updateChart() {
|
updateChart() {
|
||||||
const option = {
|
const option = {
|
||||||
title: {
|
title: {
|
||||||
text: '出库均匀分析',
|
// 标题:出库均匀分析
|
||||||
|
text: this.$t('KPIAnalysis_StockOut.textChartStockOut'),
|
||||||
left: 'center'
|
left: 'center'
|
||||||
},
|
},
|
||||||
tooltip: {
|
tooltip: {
|
||||||
@@ -127,7 +132,8 @@ export default {
|
|||||||
},
|
},
|
||||||
yAxis: {
|
yAxis: {
|
||||||
type: 'value',
|
type: 'value',
|
||||||
name: '数量'
|
// 数量
|
||||||
|
name: this.$t('KPIAnalysis_StockOut.textYAxisName')
|
||||||
},
|
},
|
||||||
series: [{
|
series: [{
|
||||||
data: this.chartData.counts,
|
data: this.chartData.counts,
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" :label-width="$t('KPIAnalysis_Roadway.lblWidthSearch')">
|
||||||
<el-form-item label="仓库" prop="warehouseId">
|
<!-- 仓库 -->
|
||||||
<el-select v-model="queryParams.warehouseId" placeholder="请选择仓库" clearable>
|
<el-form-item :label="$t('KPIAnalysis_Roadway.warehouse')" prop="warehouseId">
|
||||||
|
<el-select v-model="queryParams.warehouseId" :placeholder="$t('KPIAnalysis_Roadway.placeholderWarehouse')" clearable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in warehouseOptions"
|
v-for="dict in warehouseOptions"
|
||||||
:key="dict.warehouseId"
|
:key="dict.warehouseId"
|
||||||
@@ -11,29 +12,33 @@
|
|||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="开始时间" prop="startTime">
|
<!-- 开始时间 -->
|
||||||
|
<el-form-item :label="$t('KPIAnalysis_Roadway.dateStart')" prop="startTime">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="queryParams.startTime"
|
v-model="queryParams.startTime"
|
||||||
type="datetime"
|
type="datetime"
|
||||||
placeholder="选择开始时间"
|
:placeholder="$t('KPIAnalysis_Roadway.placeholderDateStart')"
|
||||||
value-format="yyyy-MM-dd HH:mm:ss"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
format="yyyy-MM-dd HH:mm:ss"
|
format="yyyy-MM-dd HH:mm:ss"
|
||||||
clearable
|
clearable
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="结束时间" prop="endTime">
|
<!-- 结束时间 -->
|
||||||
|
<el-form-item :label="$t('KPIAnalysis_Roadway.dateEnd')" prop="endTime">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="queryParams.endTime"
|
v-model="queryParams.endTime"
|
||||||
type="datetime"
|
type="datetime"
|
||||||
placeholder="选择结束时间"
|
:placeholder="$t('KPIAnalysis_Roadway.placeholderDateEnd')"
|
||||||
value-format="yyyy-MM-dd HH:mm:ss"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
format="yyyy-MM-dd HH:mm:ss"
|
format="yyyy-MM-dd HH:mm:ss"
|
||||||
clearable
|
clearable
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
@@ -119,7 +124,8 @@ export default {
|
|||||||
updateChart() {
|
updateChart() {
|
||||||
const option = {
|
const option = {
|
||||||
title: {
|
title: {
|
||||||
text: '巷道均匀分析',
|
// 巷道均匀分析
|
||||||
|
text: this.$t('KPIAnalysis_Roadway.textChartRoadway'),
|
||||||
left: 'center'
|
left: 'center'
|
||||||
},
|
},
|
||||||
tooltip: {
|
tooltip: {
|
||||||
@@ -129,7 +135,8 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
legend: {
|
legend: {
|
||||||
data: ['入库数量', '出库数量'],
|
// 【入库数量】、【出库数量】
|
||||||
|
data: [this.$t('KPIAnalysis_Roadway.quantityOfStockIn'), this.$t('KPIAnalysis_Roadway.quantityOfStockOut')],
|
||||||
top: '30px'
|
top: '30px'
|
||||||
},
|
},
|
||||||
xAxis: {
|
xAxis: {
|
||||||
@@ -142,11 +149,13 @@ export default {
|
|||||||
},
|
},
|
||||||
yAxis: {
|
yAxis: {
|
||||||
type: 'value',
|
type: 'value',
|
||||||
name: '数量'
|
// 数量
|
||||||
|
name: this.$t('KPIAnalysis_Roadway.textValue')
|
||||||
},
|
},
|
||||||
series: [
|
series: [
|
||||||
{
|
{
|
||||||
name: '入库数量',
|
// 入库数量
|
||||||
|
name: this.$t('KPIAnalysis_Roadway.quantityOfStockIn'),
|
||||||
data: this.chartData.inCounts,
|
data: this.chartData.inCounts,
|
||||||
type: 'bar',
|
type: 'bar',
|
||||||
barWidth: '30%',
|
barWidth: '30%',
|
||||||
@@ -159,7 +168,8 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '出库数量',
|
// 出库数量
|
||||||
|
name: this.$t('KPIAnalysis_Roadway.quantityOfStockOut'),
|
||||||
data: this.chartData.outCounts,
|
data: this.chartData.outCounts,
|
||||||
type: 'bar',
|
type: 'bar',
|
||||||
barWidth: '30%',
|
barWidth: '30%',
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" :label-width="$t('KPIAnalysis_CargoSpace.lblWidthSearch')">
|
||||||
<el-form-item label="仓库" prop="warehouseId">
|
<!-- 仓库 -->
|
||||||
<el-select v-model="queryParams.warehouseId" placeholder="请选择仓库" clearable>
|
<el-form-item :label="$t('KPIAnalysis_CargoSpace.warehouse')" prop="warehouseId">
|
||||||
|
<el-select v-model="queryParams.warehouseId" :placeholder="$t('KPIAnalysis_CargoSpace.placeholderWarehouse')" clearable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in warehouseOptions"
|
v-for="dict in warehouseOptions"
|
||||||
:key="dict.warehouseId"
|
:key="dict.warehouseId"
|
||||||
@@ -12,8 +13,10 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
@@ -85,8 +88,9 @@ export default {
|
|||||||
this.$message.error(response.msg);
|
this.$message.error(response.msg);
|
||||||
}
|
}
|
||||||
}).catch(error => {
|
}).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() {
|
updateChart() {
|
||||||
console.log('chartData:', this.chartData);
|
console.log('chartData:', this.chartData);
|
||||||
if (!this.chartData || !this.chartData.data || this.chartData.data.length === 0) {
|
if (!this.chartData || !this.chartData.data || this.chartData.data.length === 0) {
|
||||||
console.warn('无效的图表数据');
|
// 提示:无效的图表数据
|
||||||
|
console.warn(this.$t('KPIAnalysis_CargoSpace.warnInvalidChartData'));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取数据中所有的巷道字段
|
// 获取数据中所有的巷道字段
|
||||||
const firstItem = this.chartData.data[0];
|
const firstItem = this.chartData.data[0];
|
||||||
|
// 巷道
|
||||||
const roadwayFields = Object.keys(firstItem).filter(key => key.startsWith('巷道'));
|
const roadwayFields = Object.keys(firstItem).filter(key => key.startsWith('巷道'));
|
||||||
|
|
||||||
// 准备系列配置
|
// 准备系列配置
|
||||||
@@ -121,6 +127,7 @@ export default {
|
|||||||
data: this.chartData.data.map(item => item[roadway]),
|
data: this.chartData.data.map(item => item[roadway]),
|
||||||
barWidth: '30%',
|
barWidth: '30%',
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
|
// 巷道1-4
|
||||||
color: roadway === '巷道1' ? '#1890ff' :
|
color: roadway === '巷道1' ? '#1890ff' :
|
||||||
roadway === '巷道2' ? '#52c41a' :
|
roadway === '巷道2' ? '#52c41a' :
|
||||||
roadway === '巷道3' ? '#1890ff' :
|
roadway === '巷道3' ? '#1890ff' :
|
||||||
@@ -131,11 +138,13 @@ export default {
|
|||||||
position: 'top'
|
position: 'top'
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
console.log('生成的系列配置:', series);
|
// 提示:生成的系列配置
|
||||||
|
console.log(this.$t('KPIAnalysis_CargoSpace.config'), series);
|
||||||
|
|
||||||
const option = {
|
const option = {
|
||||||
title: {
|
title: {
|
||||||
text: '货位状态分析',
|
// 货位状态分析
|
||||||
|
text: this.$t('KPIAnalysis_CargoSpace.textChartCargoSpace'),
|
||||||
left: 'center'
|
left: 'center'
|
||||||
},
|
},
|
||||||
tooltip: {
|
tooltip: {
|
||||||
@@ -161,7 +170,8 @@ export default {
|
|||||||
},
|
},
|
||||||
yAxis: {
|
yAxis: {
|
||||||
type: 'value',
|
type: 'value',
|
||||||
name: '数量'
|
// 数量
|
||||||
|
name: this.$t('KPIAnalysis_CargoSpace.textValue')
|
||||||
},
|
},
|
||||||
series: series
|
series: series
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -2,8 +2,9 @@
|
|||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<div class="search-box">
|
<div class="search-box">
|
||||||
<el-form :model="queryParams" ref="queryForm" :inline="true">
|
<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
|
<el-option
|
||||||
v-for="dict in warehouseOptions"
|
v-for="dict in warehouseOptions"
|
||||||
:key="dict.warehouseId"
|
:key="dict.warehouseId"
|
||||||
@@ -12,12 +13,14 @@
|
|||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</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-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-option v-for="item in roadwayOptions" :key="item.value" :label="item.label" :value="item.value"/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</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-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-option v-for="item in platoonOptions" :key="item.value" :label="item.label" :value="item.value"/>
|
||||||
</el-select>
|
</el-select>
|
||||||
@@ -35,6 +38,7 @@
|
|||||||
import * as echarts from 'echarts'
|
import * as echarts from 'echarts'
|
||||||
import {getRoadways, getPlatoons, getChartData, getChartMag} from "@/api/kpi/spacePlan"
|
import {getRoadways, getPlatoons, getChartData, getChartMag} from "@/api/kpi/spacePlan"
|
||||||
import {listWarehouse} from "@/api/bas/warehouse";
|
import {listWarehouse} from "@/api/bas/warehouse";
|
||||||
|
import VueI18n from 'vue-i18n';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'SpacePlan',
|
name: 'SpacePlan',
|
||||||
@@ -169,8 +173,10 @@ this.getWarehouseList()
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
title: {
|
title: {
|
||||||
text: '库位分布平面图',
|
// 标题:库位分布平面图
|
||||||
subtext: this.queryParams.thePlatoon + '排'
|
text: this.$t('KPIAnalysis_CargoPlan.title'),
|
||||||
|
// 子标题:排
|
||||||
|
subtext: this.queryParams.thePlatoon + this.$t('KPIAnalysis_CargoPlan.row')
|
||||||
},
|
},
|
||||||
grid: {
|
grid: {
|
||||||
width: '90%',
|
width: '90%',
|
||||||
@@ -202,27 +208,33 @@ this.getWarehouseList()
|
|||||||
legend: {
|
legend: {
|
||||||
data: [
|
data: [
|
||||||
{
|
{
|
||||||
name: '空位',
|
// 图例:空位
|
||||||
|
name: this.$t('KPIAnalysis_CargoPlan.legendEmpty'),
|
||||||
itemStyle: { color: '#AEEEEE' }
|
itemStyle: { color: '#AEEEEE' }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '满位',
|
// 图例:满位
|
||||||
|
name: this.$t('KPIAnalysis_CargoPlan.legendOccupied'),
|
||||||
itemStyle: { color: '#FF9900' }
|
itemStyle: { color: '#FF9900' }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '入库分配',
|
// 图例:入库分配
|
||||||
|
name: this.$t('KPIAnalysis_CargoPlan.legendStockInAssigned'),
|
||||||
itemStyle: { color: '#FFFF00' }
|
itemStyle: { color: '#FFFF00' }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '出库分配',
|
// 图例:出库分配
|
||||||
itemStyle: { color: '#00CC00' }
|
name: this.$t('KPIAnalysis_CargoPlan.legendStockOutAssigned'),
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '入库需盘点',
|
|
||||||
itemStyle: { color: '#FF0000' }
|
itemStyle: { color: '#FF0000' }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '出库需盘点',
|
// 图例:入库需盘点
|
||||||
|
name: this.$t('KPIAnalysis_CargoPlan.legendStockInException'),
|
||||||
|
itemStyle: { color: '#FF0000' }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
// 图例:出库需盘点
|
||||||
|
name: this.$t('KPIAnalysis_CargoPlan.legendStockOutException'),
|
||||||
itemStyle: { color: '#0000FF' }
|
itemStyle: { color: '#0000FF' }
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -232,7 +244,8 @@ this.getWarehouseList()
|
|||||||
},
|
},
|
||||||
series: [
|
series: [
|
||||||
{
|
{
|
||||||
name: '空位',
|
// 空位
|
||||||
|
name: this.$t('KPIAnalysis_CargoPlan.legendEmpty'),
|
||||||
type: 'heatmap',
|
type: 'heatmap',
|
||||||
data: this.chartData.empty,
|
data: this.chartData.empty,
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
@@ -241,7 +254,8 @@ this.getWarehouseList()
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '满位',
|
// 满位
|
||||||
|
name: this.$t('KPIAnalysis_CargoPlan.legendOccupied'),
|
||||||
type: 'heatmap',
|
type: 'heatmap',
|
||||||
data: this.chartData.full,
|
data: this.chartData.full,
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
@@ -250,7 +264,8 @@ this.getWarehouseList()
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '入库分配',
|
// 入库分配
|
||||||
|
name: this.$t('KPIAnalysis_CargoPlan.legendStockInAssigned'),
|
||||||
type: 'heatmap',
|
type: 'heatmap',
|
||||||
data: this.chartData.inAllot,
|
data: this.chartData.inAllot,
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
@@ -259,7 +274,8 @@ this.getWarehouseList()
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '出库分配',
|
// 出库分配
|
||||||
|
name: this.$t('KPIAnalysis_CargoPlan.legendStockOutAssigned'),
|
||||||
type: 'heatmap',
|
type: 'heatmap',
|
||||||
data: this.chartData.outAllot,
|
data: this.chartData.outAllot,
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
@@ -268,7 +284,8 @@ this.getWarehouseList()
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '入库需盘点',
|
// 入库需盘点
|
||||||
|
name: this.$t('KPIAnalysis_CargoPlan.legendStockInException'),
|
||||||
type: 'heatmap',
|
type: 'heatmap',
|
||||||
data: this.chartData.inCheck,
|
data: this.chartData.inCheck,
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
@@ -277,7 +294,8 @@ this.getWarehouseList()
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '出库需盘点',
|
// 出库需盘点
|
||||||
|
name: this.$t('KPIAnalysis_CargoPlan.legendStockOutException'),
|
||||||
type: 'heatmap',
|
type: 'heatmap',
|
||||||
data: this.chartData.outCheck,
|
data: this.chartData.outCheck,
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
@@ -302,8 +320,15 @@ this.getWarehouseList()
|
|||||||
// 格式化普通仓库提示信息
|
// 格式化普通仓库提示信息
|
||||||
formatTooltip(params) {
|
formatTooltip(params) {
|
||||||
if (params.seriesName !== '满位') {
|
if (params.seriesName !== '满位') {
|
||||||
|
// 排
|
||||||
|
if (this.$i18n.locale ==='zh-cn') {
|
||||||
return params.seriesName + '<br>' + this.queryParams.thePlatoon + '排' + (params.data[0] + 1) + '列' + (params.data[1] + 1) + '层';
|
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 = {
|
const returnData = {
|
||||||
"thePlatoon": this.queryParams.thePlatoon,
|
"thePlatoon": this.queryParams.thePlatoon,
|
||||||
@@ -347,7 +372,8 @@ this.getWarehouseList()
|
|||||||
});
|
});
|
||||||
})
|
})
|
||||||
.catch(error => {
|
.catch(error => {
|
||||||
console.error('获取货位信息失败:', error);
|
// 提示:获取货位信息失败
|
||||||
|
console.error(this.$t('KPIAnalysis_CargoPlan.failGetCargoSpace') + ':', error);
|
||||||
})
|
})
|
||||||
.finally(() => {
|
.finally(() => {
|
||||||
// 清除加载状态
|
// 清除加载状态
|
||||||
|
|||||||
@@ -1,32 +1,39 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
|
<!-- 搜索表单 -->
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
|
||||||
<el-form-item label="用户名称" prop="userName">
|
<!-- 用户名称:请输入用户名称 -->
|
||||||
|
<el-form-item :label="$t('systemManagement_RoleManagement.userName')" prop="userName">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.userName"
|
v-model="queryParams.userName"
|
||||||
placeholder="请输入用户名称"
|
:placeholder="$t('systemManagement_RoleManagement.placeholderUserName')"
|
||||||
clearable
|
clearable
|
||||||
style="width: 240px"
|
style="width: 240px"
|
||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="手机号码" prop="phonenumber">
|
<!-- 手机号码:请输入手机号码 -->
|
||||||
|
<el-form-item :label="$t('systemManagement_RoleManagement.phoneNumber')" prop="phonenumber">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.phonenumber"
|
v-model="queryParams.phonenumber"
|
||||||
placeholder="请输入手机号码"
|
:placeholder="$t('systemManagement_RoleManagement.placeholderUserName')"
|
||||||
clearable
|
clearable
|
||||||
style="width: 240px"
|
style="width: 240px"
|
||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
|
<!-- 工具栏 -->
|
||||||
<el-row :gutter="10" class="mb8">
|
<el-row :gutter="10" class="mb8">
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
|
<!-- 添加用户按钮 -->
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
plain
|
plain
|
||||||
@@ -34,9 +41,10 @@
|
|||||||
size="mini"
|
size="mini"
|
||||||
@click="openSelectUser"
|
@click="openSelectUser"
|
||||||
v-hasPermi="['system:role:add']"
|
v-hasPermi="['system:role:add']"
|
||||||
>添加用户</el-button>
|
>{{ $t('systemManagement_RoleManagement.btnAddUserItem') }}</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
|
<!-- 批量取消授权按钮 -->
|
||||||
<el-button
|
<el-button
|
||||||
type="danger"
|
type="danger"
|
||||||
plain
|
plain
|
||||||
@@ -45,49 +53,60 @@
|
|||||||
:disabled="multiple"
|
:disabled="multiple"
|
||||||
@click="cancelAuthUserAll"
|
@click="cancelAuthUserAll"
|
||||||
v-hasPermi="['system:role:remove']"
|
v-hasPermi="['system:role:remove']"
|
||||||
>批量取消授权</el-button>
|
>{{ $t('systemManagement_RoleManagement.btnCancelAuthorizations') }}</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
|
<!-- 关闭按钮 -->
|
||||||
<el-button
|
<el-button
|
||||||
type="warning"
|
type="warning"
|
||||||
plain
|
plain
|
||||||
icon="el-icon-close"
|
icon="el-icon-close"
|
||||||
size="mini"
|
size="mini"
|
||||||
@click="handleClose"
|
@click="handleClose"
|
||||||
>关闭</el-button>
|
>{{ $t('systemManagement_RoleManagement.btnClose') }}</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
|
<!-- 用户列表表格 -->
|
||||||
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
|
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
<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="$t('systemManagement_RoleManagement.userName')" prop="userName" :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="$t('systemManagement_RoleManagement.nickName')" prop="nickName" :show-overflow-tooltip="true" />
|
||||||
<el-table-column label="状态" align="center" prop="status">
|
<!-- 邮箱列 -->
|
||||||
|
<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">
|
<template slot-scope="scope">
|
||||||
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
|
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</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">
|
<template slot-scope="scope">
|
||||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</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">
|
<template slot-scope="scope">
|
||||||
|
<!-- 取消授权按钮 -->
|
||||||
<el-button
|
<el-button
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-circle-close"
|
icon="el-icon-circle-close"
|
||||||
@click="cancelAuthUser(scope.row)"
|
@click="cancelAuthUser(scope.row)"
|
||||||
v-hasPermi="['system:role:remove']"
|
v-hasPermi="['system:role:remove']"
|
||||||
>取消授权</el-button>
|
>{{ $t('systemManagement_RoleManagement.btnCancelAuthorization') }}</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
|
<!-- 分页组件 -->
|
||||||
<pagination
|
<pagination
|
||||||
v-show="total>0"
|
v-show="total>0"
|
||||||
:total="total"
|
:total="total"
|
||||||
@@ -95,6 +114,8 @@
|
|||||||
:limit.sync="queryParams.pageSize"
|
:limit.sync="queryParams.pageSize"
|
||||||
@pagination="getList"
|
@pagination="getList"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<!-- 引入选择用户弹窗组件 -->
|
||||||
<select-user ref="select" :roleId="queryParams.roleId" @ok="handleQuery" />
|
<select-user ref="select" :roleId="queryParams.roleId" @ok="handleQuery" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -109,19 +130,19 @@ export default {
|
|||||||
components: { selectUser },
|
components: { selectUser },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
// 遮罩层
|
// 遮罩层加载状态
|
||||||
loading: true,
|
loading: true,
|
||||||
// 选中用户组
|
// 选中的用户ID集合
|
||||||
userIds: [],
|
userIds: [],
|
||||||
// 非多个禁用
|
// 是否禁用批量操作
|
||||||
multiple: true,
|
multiple: true,
|
||||||
// 显示搜索条件
|
// 是否显示搜索区域
|
||||||
showSearch: true,
|
showSearch: true,
|
||||||
// 总条数
|
// 总条数
|
||||||
total: 0,
|
total: 0,
|
||||||
// 用户表格数据
|
// 用户表格数据
|
||||||
userList: [],
|
userList: [],
|
||||||
// 查询参数
|
// 查询参数对象
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
@@ -132,6 +153,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
// 获取路由传参中的角色ID
|
||||||
const roleId = this.$route.params && this.$route.params.roleId
|
const roleId = this.$route.params && this.$route.params.roleId
|
||||||
if (roleId) {
|
if (roleId) {
|
||||||
this.queryParams.roleId = roleId
|
this.queryParams.roleId = roleId
|
||||||
@@ -149,7 +171,7 @@ export default {
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
// 返回按钮
|
// 返回按钮点击事件
|
||||||
handleClose() {
|
handleClose() {
|
||||||
const obj = { path: "/system/role" }
|
const obj = { path: "/system/role" }
|
||||||
this.$tab.closeOpenPage(obj)
|
this.$tab.closeOpenPage(obj)
|
||||||
@@ -164,7 +186,7 @@ export default {
|
|||||||
this.resetForm("queryForm")
|
this.resetForm("queryForm")
|
||||||
this.handleQuery()
|
this.handleQuery()
|
||||||
},
|
},
|
||||||
// 多选框选中数据
|
// 多选框选中数据变化时触发
|
||||||
handleSelectionChange(selection) {
|
handleSelectionChange(selection) {
|
||||||
this.userIds = selection.map(item => item.userId)
|
this.userIds = selection.map(item => item.userId)
|
||||||
this.multiple = !selection.length
|
this.multiple = !selection.length
|
||||||
@@ -176,22 +198,26 @@ export default {
|
|||||||
/** 取消授权按钮操作 */
|
/** 取消授权按钮操作 */
|
||||||
cancelAuthUser(row) {
|
cancelAuthUser(row) {
|
||||||
const roleId = this.queryParams.roleId
|
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 })
|
return authUserCancel({ userId: row.userId, roleId: roleId })
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.getList()
|
this.getList()
|
||||||
this.$modal.msgSuccess("取消授权成功")
|
// 提示:取消授权成功
|
||||||
|
this.$modal.msgSuccess(this.$t('systemManagement_RoleManagement.cancelSuccessInfo'))
|
||||||
}).catch(() => {})
|
}).catch(() => {})
|
||||||
},
|
},
|
||||||
/** 批量取消授权按钮操作 */
|
/** 批量取消授权按钮操作 */
|
||||||
cancelAuthUserAll(row) {
|
cancelAuthUserAll(row) {
|
||||||
const roleId = this.queryParams.roleId
|
const roleId = this.queryParams.roleId
|
||||||
const userIds = this.userIds.join(",")
|
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 })
|
return authUserCancelAll({ roleId: roleId, userIds: userIds })
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.getList()
|
this.getList()
|
||||||
this.$modal.msgSuccess("取消授权成功")
|
// 取消授权成功
|
||||||
|
this.$modal.msgSuccess(this.$t('systemManagement_RoleManagement.cancelSuccessInfo'))
|
||||||
}).catch(() => {})
|
}).catch(() => {})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,41 +1,52 @@
|
|||||||
<template>
|
<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 :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
|
<el-input
|
||||||
v-model="queryParams.userName"
|
v-model="queryParams.userName"
|
||||||
placeholder="请输入用户名称"
|
:placeholder="$t('systemManagement_RoleManagement.placeholderUserName')"
|
||||||
clearable
|
clearable
|
||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="手机号码" prop="phonenumber">
|
<!-- 手机号码 -->
|
||||||
|
<el-form-item :label="$t('systemManagement_RoleManagement.phoneNumber')" prop="phonenumber">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.phonenumber"
|
v-model="queryParams.phonenumber"
|
||||||
placeholder="请输入手机号码"
|
:placeholder="$t('systemManagement_RoleManagement.placeholderPhoneNumber')"
|
||||||
clearable
|
clearable
|
||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-table @row-click="clickRow" ref="table" :data="userList" @selection-change="handleSelectionChange" height="260px">
|
<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 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="$t('systemManagement_RoleManagement.userName')" prop="userName" :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="$t('systemManagement_RoleManagement.nickName')" prop="nickName" :show-overflow-tooltip="true" />
|
||||||
<el-table-column label="状态" align="center" prop="status">
|
<!-- 邮箱 -->
|
||||||
|
<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">
|
<template slot-scope="scope">
|
||||||
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
|
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</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">
|
<template slot-scope="scope">
|
||||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
@@ -50,8 +61,10 @@
|
|||||||
/>
|
/>
|
||||||
</el-row>
|
</el-row>
|
||||||
<div slot="footer" class="dialog-footer">
|
<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>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
@@ -122,7 +135,8 @@ export default {
|
|||||||
const roleId = this.queryParams.roleId
|
const roleId = this.queryParams.roleId
|
||||||
const userIds = this.userIds.join(",")
|
const userIds = this.userIds.join(",")
|
||||||
if (userIds == "") {
|
if (userIds == "") {
|
||||||
this.$modal.msgError("请选择要分配的用户")
|
// 提示:请选择要分配的用户
|
||||||
|
this.$modal.msgError(this.$t('systemManagement_RoleManagement.textSelectRole'))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
authUserSelectAll({ roleId: roleId, userIds: userIds }).then(res => {
|
authUserSelectAll({ roleId: roleId, userIds: userIds }).then(res => {
|
||||||
|
|||||||
@@ -1,22 +1,22 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<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-form ref="form" :model="form" label-width="80px">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="8" :offset="2">
|
<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-input v-model="form.nickName" disabled />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8" :offset="2">
|
<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-input v-model="form.userName" disabled />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-form>
|
</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 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">
|
<el-table-column label="序号" type="index" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
@@ -24,10 +24,14 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column type="selection" :reserve-selection="true" :selectable="checkSelectable" width="55" />
|
<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="$t('systemManagement_UserManagement.roleId')" align="center" prop="roleId" />
|
||||||
<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.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">
|
<template slot-scope="scope">
|
||||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
@@ -38,8 +42,10 @@
|
|||||||
|
|
||||||
<el-form label-width="100px">
|
<el-form label-width="100px">
|
||||||
<el-form-item style="text-align: center;margin-left:-120px;margin-top:30px;">
|
<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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
@@ -109,7 +115,8 @@ export default {
|
|||||||
const userId = this.form.userId
|
const userId = this.form.userId
|
||||||
const roleIds = this.roleIds.join(",")
|
const roleIds = this.roleIds.join(",")
|
||||||
updateAuthRole({ userId: userId, roleIds: roleIds }).then((response) => {
|
updateAuthRole({ userId: userId, roleIds: roleIds }).then((response) => {
|
||||||
this.$modal.msgSuccess("授权成功")
|
// 授权成功
|
||||||
|
this.$modal.msgSuccess(this.$t('systemManagement_UserManagement.authorizeSuccessInfo'))
|
||||||
this.close()
|
this.close()
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form>
|
<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-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>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
@@ -91,7 +91,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</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">
|
<template slot-scope="scope">
|
||||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||||
</template>
|
</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="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-menu>
|
||||||
</el-dropdown>
|
</el-dropdown>
|
||||||
</template>
|
</template>
|
||||||
@@ -124,8 +124,8 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<!-- 添加或修改用户配置对话框 -->
|
<!-- 添加或修改用户配置对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
|
<el-dialog :title="title" :visible.sync="open" width="650px" append-to-body>
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
<el-form ref="form" :model="form" :rules="rules" :label-width="$t('systemManagement_UserManagement.lblWidthDialog')">
|
||||||
<el-row>
|
<el-row>
|
||||||
<!-- 用户昵称 -->
|
<!-- 用户昵称 -->
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
|
|||||||
@@ -4,7 +4,8 @@
|
|||||||
<el-col :span="6" :xs="24">
|
<el-col :span="6" :xs="24">
|
||||||
<el-card class="box-card">
|
<el-card class="box-card">
|
||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span>个人信息</span>
|
<!-- 个人信息 -->
|
||||||
|
<span>{{ $t('systemManagement_UserManagement.userInfo') }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
@@ -12,27 +13,33 @@
|
|||||||
</div>
|
</div>
|
||||||
<ul class="list-group list-group-striped">
|
<ul class="list-group list-group-striped">
|
||||||
<li class="list-group-item">
|
<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>
|
<div class="pull-right">{{ user.userName }}</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="list-group-item">
|
<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>
|
<div class="pull-right">{{ user.phonenumber }}</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="list-group-item">
|
<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>
|
<div class="pull-right">{{ user.email }}</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="list-group-item">
|
<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>
|
<div class="pull-right" v-if="user.dept">{{ user.dept.deptName }} / {{ postGroup }}</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="list-group-item">
|
<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>
|
<div class="pull-right">{{ roleGroup }}</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="list-group-item">
|
<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>
|
<div class="pull-right">{{ user.createTime }}</div>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -42,13 +49,16 @@
|
|||||||
<el-col :span="18" :xs="24">
|
<el-col :span="18" :xs="24">
|
||||||
<el-card>
|
<el-card>
|
||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span>基本资料</span>
|
<!-- 基本资料 -->
|
||||||
|
<span>{{ $t('systemManagement_UserManagement.userInfo') }}</span>
|
||||||
</div>
|
</div>
|
||||||
<el-tabs v-model="activeTab">
|
<el-tabs v-model="activeTab">
|
||||||
<el-tab-pane label="基本资料" name="userinfo">
|
<!-- 基本资料 -->
|
||||||
|
<el-tab-pane :label="$t('systemManagement_UserManagement.userInfo')" name="userinfo">
|
||||||
<userInfo :user="user" />
|
<userInfo :user="user" />
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="修改密码" name="resetPwd">
|
<!-- 修改密码 -->
|
||||||
|
<el-tab-pane :label="$t('systemManagement_UserManagement.resetPwd')" name="resetPwd">
|
||||||
<resetPwd />
|
<resetPwd />
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
|
|||||||
@@ -1,17 +1,22 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-form ref="form" :model="user" :rules="rules" label-width="80px">
|
<el-form ref="form" :model="user" :rules="rules" :label-width="$t('systemManagement_UserManagement.lblWidthPassword')">
|
||||||
<el-form-item label="旧密码" prop="oldPassword">
|
<!-- 旧密码 -->
|
||||||
<el-input v-model="user.oldPassword" placeholder="请输入旧密码" type="password" show-password/>
|
<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>
|
||||||
<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>
|
||||||
<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-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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</template>
|
</template>
|
||||||
@@ -23,7 +28,8 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
const equalToPassword = (rule, value, callback) => {
|
const equalToPassword = (rule, value, callback) => {
|
||||||
if (this.user.newPassword !== value) {
|
if (this.user.newPassword !== value) {
|
||||||
callback(new Error("两次输入的密码不一致"))
|
// 两次输入的密码不一致
|
||||||
|
callback(new Error(this.$t('systemManagement_UserManagement.checkPasswordIsSame')))
|
||||||
} else {
|
} else {
|
||||||
callback()
|
callback()
|
||||||
}
|
}
|
||||||
@@ -37,15 +43,20 @@ export default {
|
|||||||
// 表单校验
|
// 表单校验
|
||||||
rules: {
|
rules: {
|
||||||
oldPassword: [
|
oldPassword: [
|
||||||
{ required: true, message: "旧密码不能为空", trigger: "blur" }
|
// 旧密码不能为空
|
||||||
|
{ required: true, message: this.$t('systemManagement_UserManagement.oldPasswordIsNull'), trigger: "blur" }
|
||||||
],
|
],
|
||||||
newPassword: [
|
newPassword: [
|
||||||
{ required: true, message: "新密码不能为空", trigger: "blur" },
|
// 新密码不能为空
|
||||||
{ min: 6, max: 20, message: "长度在 6 到 20 个字符", trigger: "blur" },
|
{ required: true, message: this.$t('systemManagement_UserManagement.newPasswordIsNull'), trigger: "blur" },
|
||||||
{ pattern: /^[^<>"'|\\]+$/, message: "不能包含非法字符:< > \" ' \\\ |", 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: [
|
confirmPassword: [
|
||||||
{ required: true, message: "确认密码不能为空", trigger: "blur" },
|
// 校验:确认密码不能为空
|
||||||
|
{ required: true, message: this.$t('systemManagement_UserManagement.confirmPasswordIsNull'), trigger: "blur" },
|
||||||
{ required: true, validator: equalToPassword, trigger: "blur" }
|
{ required: true, validator: equalToPassword, trigger: "blur" }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -56,7 +67,8 @@ export default {
|
|||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
updateUserPwd(this.user.oldPassword, this.user.newPassword).then(response => {
|
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>
|
<template>
|
||||||
<div>
|
<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-dialog :title="title" :visible.sync="open" width="800px" append-to-body @opened="modalOpened" @close="closeDialog">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :xs="24" :md="12" :style="{height: '350px'}">
|
<el-col :xs="24" :md="12" :style="{height: '350px'}">
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
<el-col :lg="2" :sm="3" :xs="3">
|
<el-col :lg="2" :sm="3" :xs="3">
|
||||||
<el-upload action="#" :http-request="requestUpload" :show-file-list="false" :before-upload="beforeUpload">
|
<el-upload action="#" :http-request="requestUpload" :show-file-list="false" :before-upload="beforeUpload">
|
||||||
<el-button size="small">
|
<el-button size="small">
|
||||||
选择
|
{{ $t('systemManagement_UserManagement.btnSelect') }}
|
||||||
<i class="el-icon-upload el-icon--right"></i>
|
<i class="el-icon-upload el-icon--right"></i>
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
<el-button icon="el-icon-refresh-right" size="small" @click="rotateRight()"></el-button>
|
<el-button icon="el-icon-refresh-right" size="small" @click="rotateRight()"></el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :lg="{span: 2, offset: 6}" :sm="2" :xs="2">
|
<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-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
@@ -68,7 +68,7 @@ export default {
|
|||||||
// 是否显示cropper
|
// 是否显示cropper
|
||||||
visible: false,
|
visible: false,
|
||||||
// 弹出层标题
|
// 弹出层标题
|
||||||
title: "修改头像",
|
title: this.$t('systemManagement_UserManagement.updateAvatar'),
|
||||||
options: {
|
options: {
|
||||||
img: store.getters.avatar, //裁剪图片的地址
|
img: store.getters.avatar, //裁剪图片的地址
|
||||||
autoCrop: true, // 是否默认生成截图框
|
autoCrop: true, // 是否默认生成截图框
|
||||||
@@ -120,7 +120,7 @@ export default {
|
|||||||
// 上传预处理
|
// 上传预处理
|
||||||
beforeUpload(file) {
|
beforeUpload(file) {
|
||||||
if (file.type.indexOf("image/") == -1) {
|
if (file.type.indexOf("image/") == -1) {
|
||||||
this.$modal.msgError("文件格式错误,请上传图片类型,如:JPG,PNG后缀的文件。")
|
this.$modal.msgError(this.$t('systemManagement_UserManagement.errorMessage'))
|
||||||
} else {
|
} else {
|
||||||
const reader = new FileReader()
|
const reader = new FileReader()
|
||||||
reader.readAsDataURL(file)
|
reader.readAsDataURL(file)
|
||||||
@@ -139,7 +139,7 @@ export default {
|
|||||||
this.open = false
|
this.open = false
|
||||||
this.options.img = process.env.VUE_APP_BASE_API + response.imgUrl
|
this.options.img = process.env.VUE_APP_BASE_API + response.imgUrl
|
||||||
store.commit('SET_AVATAR', this.options.img)
|
store.commit('SET_AVATAR', this.options.img)
|
||||||
this.$modal.msgSuccess("修改成功")
|
this.$modal.msgSuccess(this.$t('systemManagement_UserManagement.editSuccessInfo'))
|
||||||
this.visible = false
|
this.visible = false
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,23 +1,29 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
<el-form ref="form" :model="form" :rules="rules" :label-width="$t('systemManagement_UserManagement.lblWidthDialog')">
|
||||||
<el-form-item label="用户昵称" prop="nickName">
|
<!-- 用户昵称 -->
|
||||||
|
<el-form-item :label="$t('systemManagement_UserManagement.nickName')" prop="nickName">
|
||||||
<el-input v-model="form.nickName" maxlength="30" />
|
<el-input v-model="form.nickName" maxlength="30" />
|
||||||
</el-form-item>
|
</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-input v-model="form.phonenumber" maxlength="11" />
|
||||||
</el-form-item>
|
</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-input v-model="form.email" maxlength="50" />
|
||||||
</el-form-item>
|
</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-group v-model="form.sex">
|
||||||
<el-radio label="0">男</el-radio>
|
<el-radio label="0">{{ $t('systemManagement_UserManagement.male') }}</el-radio>
|
||||||
<el-radio label="1">女</el-radio>
|
<el-radio label="1">{{ $t('systemManagement_UserManagement.female') }}</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</template>
|
</template>
|
||||||
@@ -37,21 +43,26 @@ export default {
|
|||||||
// 表单校验
|
// 表单校验
|
||||||
rules: {
|
rules: {
|
||||||
nickName: [
|
nickName: [
|
||||||
{ required: true, message: "用户昵称不能为空", trigger: "blur" }
|
// 用户昵称不能为空
|
||||||
|
{ required: true, message: this.$t('systemManagement_UserManagement.checkNickNameIsNull'), trigger: "blur" }
|
||||||
],
|
],
|
||||||
email: [
|
email: [
|
||||||
{ required: true, message: "邮箱地址不能为空", trigger: "blur" },
|
// 邮箱地址不能为空
|
||||||
|
{ required: true, message: this.$t('systemManagement_UserManagement.checkEmailIsNull'), trigger: "blur" },
|
||||||
{
|
{
|
||||||
type: "email",
|
type: "email",
|
||||||
message: "请输入正确的邮箱地址",
|
// 请输入正确的邮箱地址
|
||||||
|
message: this.$t('systemManagement_UserManagement.checkEmailFormat'),
|
||||||
trigger: ["blur", "change"]
|
trigger: ["blur", "change"]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
phonenumber: [
|
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}$/,
|
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
|
||||||
message: "请输入正确的手机号码",
|
// 请输入正确的手机号码
|
||||||
|
message: this.$t('systemManagement_UserManagement.checkPhoneNumberFormat'),
|
||||||
trigger: "blur"
|
trigger: "blur"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -73,7 +84,8 @@ export default {
|
|||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
updateUserProfile(this.form).then(response => {
|
updateUserProfile(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功")
|
// 提示信息:修改成功
|
||||||
|
this.$modal.msgSuccess(this.$t('systemManagement_UserManagement.EditSuccessInfo'))
|
||||||
this.user.phonenumber = this.form.phonenumber
|
this.user.phonenumber = this.form.phonenumber
|
||||||
this.user.email = this.form.email
|
this.user.email = this.form.email
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user