子页面修改国际化显示语言

This commit is contained in:
lsymicc
2025-06-05 09:47:02 +08:00
parent f56e0b9abf
commit 6462002b7f
5 changed files with 589 additions and 116 deletions

View File

@@ -73,12 +73,37 @@ export default {
ManagementOfInboundDocuments:"ManagementOfInboundDocuments",
InboundTaskManagement:"InboundTaskManagement",
//********************仓库管理********************
WarehouseManagement: 'WarehouseManagement',
//仓库(库区)管理
WarehouseAreaManagement: 'WarehouseManagement',
//货位管理
CargoSpaceManagement: 'CargoSpaceManagement',
//仓库(库区)管理
WarehouseAreaManagement: 'WarehouseManagement',
//货位管理
CargoSpaceManagement: 'CargoSpaceManagement',
//********************系统管理********************
SystemManagement: 'SystemManagement',
//用户管理
UserManagement: 'UserManagement',
//角色管理
RoleManagement: 'RoleManagement',
//菜单管理
MenuManagement: 'MenuManagement',
//部门管理
DepartmentManagement: 'DepartmentManagement',
//岗位管理
PostManagement: 'PostManagement',
//字典管理
DictionaryManagement: 'DictionaryManagement',
//参数管理
ParameterManagement: 'ParameterManagement',
//通知公告
NoticeManagement: 'NoticeManagement',
//日志管理
LogManagement: 'LogManagement',
},
@@ -211,17 +236,133 @@ export default {
deleteSuccessInfo: 'Delete Success',
//--------------提示文本--------------
dialogText1: 'Are you sure to delete the data with the number【',
dialogText1: 'Are you sure to delete the data with the number 【',
dialogText2: '】?',
//--------------错误提示--------------
//--------------校验提示--------------
warehosueIdIsNull: 'WarehouseId cannot be null!',
platoonIsNull: 'Platoon cannot be null!',
columnIsNull: 'Column cannot be null!',
floorIsNull: 'Floor cannot be null!',
statusIsNull: 'Status cannot be null!',
lockedIsNull: 'Locked cannot be null!',
}
},
//=====================系统管理=====================
systemManagement_RoleManagement: {
//--------------数据表标题--------------
userId: 'UserId',
userName: 'UserName',
password: 'Password',
nickName: 'NickName',
deptName: 'DeptName',
phoneNumber: 'PhoneNumber',
status: 'Status',
creatTime: 'CreatTime',
operation: 'Operation',
email: 'Email',
post: 'Post',
role: 'Role',
gender: 'Gender',
remark: 'Remark',
//--------------交互框提示信息--------------
placeholderDeptName: 'Enter DeptName',
placeholderUserId: 'Enter UserId',
placeholderUserName: 'Enter UserName',
placeholderPassword: 'Enter Password',
placeholderNickName: 'Enter NickName',
placeholderPhoneNumber: 'Enter PhoneNumber',
placeholderStatus: 'Enter Status',
placeholderCreatTime: 'Enter CreatTime',
placeholderDateStart: 'DateStart',
placeholderDateEnd: 'DateEnd',
placeholderEmail: 'Enter Email',
placeholderPost: 'Select Post',
placeholderRole: 'Select Role',
placeholderGender: 'Select Gender',
placeholderRemark: 'Enter Remark',
//--------------交互按钮--------------
btnSearch: 'Search',
btnReset: 'Reset',
btnAdd: 'Add',
btnEdit: 'Edit',
btnDelete: 'Delete',
btnImport: 'Import',
btnExport: 'Export',
btnSubmit: 'Submit',
btnCancel: 'Cancel',
btnMore: 'More',
btnResetPassword: 'Reset Password',
btnAssignRole: 'Assign Role',
//--------------二级窗口标题--------------
addUserItem: 'Add User',
editUserItem: 'Edit User',
//--------------提示文本--------------
//---布局---
textDragOrClick1: 'Drag file here, or ',
textDragOrClick2: 'click to upload',
textUpdateExistingData: 'Do you want to update existing user data?',
textUploadTip: 'Only xlsx and xls files are allowed.',
textDownloadTemplate: 'Download Template',
//---函数:handleStatusChange---
textEnable: 'enable',
textDisable: 'disable',
textUserConfirm1:"Are you sure you want to \"",
textUserConfirm2:"\" user?",
textSuccess: 'success',
//---函数:handleResetPwd---
textInputPassword1: 'Please enter the new password for the \"',
textInputPassword2: '\" user',
textTips: 'Tip',
textConfirm: 'Confirm',
textCancel: 'Cancel',
textResetPassword: 'The change was successful and the new password is:',
//---函数:handleDelete---
textDeleteConfirm1: 'Is it confirmed to delete the data item with user number "',
textDeleteConfirm2: '"?',
//---函数:handleImport---
textImportTitle: 'Import User Data',
//---函数:textUploadTitle---
textImportResult: 'Result',
//--------------提示信息--------------
addSuccessInfo: 'Add Success',
editSuccessInfo: 'Edit Success',
deleteSuccessInfo: 'Delete Success',
resetPasswordSuccessInfo: 'Reset Password Success',
assignRoleSuccessInfo: 'Assign Role Success',
//--------------校验提示--------------
checkUserNameIsNull: 'UserName cannot be null!',
checkUserNameLength: 'UserName length must be between 2-20 characters!',
checkNickNameIsNull: 'NickName cannot be null!',
checkPasswordIsNull: 'Password cannot be null!',
checkPasswordLength: 'Password length must be between 5-20 characters!',
checkPasswordCharacter: "Password cannot contain illegal characters: < > \" \' \\\ |",
checkEmailFormat: 'Please enter a valid email address!',
checkPhoneNumberFormat: 'Please enter a valid phone number!',
//--------------其他--------------
lblWidthUserName: '80px',
lblWidthPhoneNumber: '90px',
},
}

View File

@@ -1,6 +1,7 @@
// import "core-js/fn/symbol";
// import { assign } from 'core-js/core/object'
import 'core-js/features/symbol'
import { Dialog } from 'element-ui'
// import { Dialog } from 'element-ui'
export default {
login: {
@@ -76,12 +77,36 @@ export default {
ManagementOfInboundDocuments:"入库单据管理",
InboundTaskManagement:"入库作业管理",
//********************仓库管理********************
WarehouseManagement: '仓库管理',
//仓库(库区)管理
WarehouseAreaManagement: '库区管理',
//货位管理
CargoSpaceManagement: '货位管理',
//仓库(库区)管理
WarehouseAreaManagement: '库区管理',
//货位管理
CargoSpaceManagement: '货位管理',
//********************系统管理********************
SystemManagement: '系统管理',
//用户管理
UserManagement: '用户管理',
//角色管理
RoleManagement: '角色管理',
//菜单管理
MenuManagement: '菜单管理',
//部门管理
DepartmentManagement: '部门管理',
//岗位管理
PostManagement: '岗位管理',
//字典管理
DictionaryManagement: '字典管理',
//参数管理
ParameterManagement: '参数管理',
//通知公告
NoticeManagement: '通知公告',
//日志管理
LogManagement: '日志管理',
},
@@ -227,4 +252,120 @@ export default {
//=====================系统管理:用户管理=====================
systemManagement_RoleManagement: {
//--------------数据表标题--------------
userId: '用户编号',
userName: '用户名称',
password: '密码',
nickName: '用户昵称',
deptName: '部门',
phoneNumber: '手机号',
status: '状态',
creatTime: '创建时间',
operation: '操作',
email: '邮箱',
post: '岗位',
role: '角色',
gender: '性别',
remark: '备注',
//--------------交互框提示信息--------------
placeholderDeptName: '请输入部门名称',
placeholderUserId: '请输入用户编号',
placeholderUserName: '请输入用户名称',
placeholderPassword: '请输入密码',
placeholderNickName: '请输入用户昵称',
placeholderPhoneNumber: '请输入手机号',
placeholderStatus: '请选择状态',
placeholderCreatTime: '请选择创建时间',
placeholderDateStart: '开始日期',
placeholderDateEnd: '结束日期',
placeholderEmail: '请输入邮箱',
placeholderPost: '请选择岗位',
placeholderRole: '请选择角色',
placeholderGender: '请选择性别',
placeholderRemark: '请输入备注信息',
//--------------交互按钮--------------
btnSearch: '搜索',
btnReset: '重置',
btnAdd: '新增',
btnEdit: '修改',
btnDelete: '删除',
btnImport: '导入',
btnExport: '导出',
btnSubmit: '确定',
btnCancel: '取消',
btnMore: '更多',
btnResetPassword: '重置密码',
btnAssignRole: '分配角色',
//--------------二级窗口标题--------------
addUserItem: '添加用户',
editUserItem: '修改用户',
//--------------提示文本--------------
//---布局---
textDragOrClick1: '将文件拖到此处,或',
textDragOrClick2: '点击上传',
textUpdateExistingData: '是否更新已经存在的用户数据?',
textUploadTip: '仅允许导入xls、xlsx格式文件。',
textDownloadTemplate: '下载模板',
//---函数:handleStatusChange---
textEnable: '启用',
textDisable: '禁用',
textUserConfirm1:"确认要\"",
textUserConfirm2:"\"用户吗?",
textSuccess: '成功',
//---函数:handleResetPwd---
textInputPassword1: '请输入',
textInputPassword2: '的新密码',
textTips: '提示',
textConfirm: '确认',
textCancel: '取消',
textResetPassword: '修改成功,新密码是:',
//---函数:handleDelete---
textDeleteConfirm1: '是否确认删除用户编号为"',
textDeleteConfirm2: '"的数据项?',
//---函数:handleImport---
textImportTitle: '导入成功',
//---函数:textUploadTitle---
textImportResult: '导入结果',
//--------------提示信息--------------
addSuccessInfo: '新增成功',
editSuccessInfo: '编辑成功',
deleteSuccessInfo: '删除成功',
resetPasswordSuccessInfo: '重置密码成功',
assignRoleSuccessInfo: '分配角色成功',
//--------------校验提示--------------
checkUserNameIsNull: '用户名称不能为空',
checkUserNameLength: '用户名称长度必须介于2-20个字符',
checkNickNameIsNull: '用户昵称不能为空',
checkPasswordIsNull: '密码不能为空',
checkPasswordLength: '密码长度必须介于5-20个字符',
checkPasswordCharacter: "不能包含非法字符:< > \" ' \\\ |",
checkEmailFormat: '请输入正确的邮箱地址',
checkPhoneNumberFormat: '请输入正确的手机号',
//--------------其他--------------
lblWidthUserName: '68px',
lblWidthPhoneNumber: '68px',
},
}

View File

@@ -1,6 +1,7 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" :label-width="labelWidthForSearch">
<!-- 仓库ID -->
<el-form-item :label="$t('cargoSpace.warehouseId')" prop="warehouseId">
<el-input
v-model="queryParams.warehouseId"
@@ -9,6 +10,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- 巷道号 -->
<el-form-item :label="$t('cargoSpace.roadwayId')" prop="roadwayId">
<el-input
v-model="queryParams.roadwayId"
@@ -17,6 +19,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- 货区编号 -->
<el-form-item :label="$t('cargoSpace.cargoAreaId')" prop="cargoAreaId">
<el-input
v-model="queryParams.cargoAreaId"
@@ -25,6 +28,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- 货位类型 -->
<el-form-item :label="$t('cargoSpace.cargoSpaceType')" prop="theTypeName">
<el-input
v-model="queryParams.theTypeName"
@@ -41,6 +45,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item> -->
<!-- 排 -->
<el-form-item :label="$t('cargoSpace.platoon')" prop="thePlatoon">
<el-input
v-model="queryParams.thePlatoon"
@@ -49,6 +54,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- 列 -->
<el-form-item :label="$t('cargoSpace.column')" prop="theColumn">
<el-input
v-model="queryParams.theColumn"
@@ -57,6 +63,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- 层 -->
<el-form-item :label="$t('cargoSpace.floor')" prop="theFloor">
<el-input
v-model="queryParams.theFloor"
@@ -65,6 +72,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- 货位状态 -->
<el-form-item :label="$t('cargoSpace.status')" prop="status">
<el-input
v-model="queryParams.status"
@@ -73,6 +81,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- 是否锁定 -->
<el-form-item :label="$t('cargoSpace.locked')" prop="locked">
<el-input
v-model="queryParams.locked"
@@ -81,6 +90,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- 托盘编码 -->
<el-form-item :label="$t('cargoSpace.trayCode')" prop="trayCode">
<el-input
v-model="queryParams.trayCode"
@@ -122,24 +132,25 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="本仓库区域 1--8 A
9--15 B" prop="thisCargoArea">
<el-form-item label="本仓库区域 1--8 A 9--15 B" prop="thisCargoArea">
<el-input
v-model="queryParams.thisCargoArea"
placeholder="请输入本仓库区域 1--8 A
9--15 B"
placeholder="请输入本仓库区域 1--8 A 9--15 B"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> -->
<el-form-item>
<!-- 【查询】按钮 -->
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('cargoSpace.btnSubmit') }}</el-button>
<!-- 【重置】按钮 -->
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('cargoSpace.btnReset') }}</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<!-- 【新增】按钮 -->
<el-button
type="primary"
plain
@@ -150,6 +161,7 @@
>{{ $t('cargoSpace.btnAdd') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 【修改】按钮 -->
<el-button
type="success"
plain
@@ -161,6 +173,7 @@
>{{ $t('cargoSpace.btnEdit') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 【删除】按钮 -->
<el-button
type="danger"
plain
@@ -172,6 +185,7 @@
>{{ $t('cargoSpace.btnDelete') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 【导入】按钮 -->
<el-button
type="warning"
plain
@@ -186,27 +200,48 @@
<el-table v-loading="loading" :data="cargoSpaceList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<!-- 货位ID -->
<el-table-column :label="$t('cargoSpace.cargoSpaceId')" align="center" prop="cargoSpaceId" />
<!-- 仓库ID -->
<el-table-column :label="$t('cargoSpace.warehouseId')" align="center" prop="warehouseId" />
<!-- 巷道号 -->
<el-table-column :label="$t('cargoSpace.roadwayId')" align="center" prop="roadwayId" />
<!-- 货区编号 -->
<el-table-column :label="$t('cargoSpace.cargoAreaId')" align="center" prop="cargoAreaId" />
<!-- 货位类型 -->
<!-- <el-table-column :label="$t('cargoSpace.cargoSpaceType')" align="center" prop="theType" /> -->
<!-- 货位类型名称 -->
<el-table-column :label="$t('cargoSpace.cargoSpaceTypeName')" align="center" prop="theTypeName" />
<!-- 货位名称 -->
<el-table-column :label="$t('cargoSpace.cargoSpaceName')" align="center" prop="cargoSpaceName" />
<!-- <el-table-column :label="$t('cargoSpace.platoon')" align="center" prop="thePlatoon" />
<el-table-column :label="$t('cargoSpace.column')" align="center" prop="theColumn" />
<el-table-column :label="$t('cargoSpace.floor')" align="center" prop="theFloor" /> -->
<!-- 排 -->
<!-- <el-table-column :label="$t('cargoSpace.platoon')" align="center" prop="thePlatoon" /> -->
<!-- 列 -->
<!-- <el-table-column :label="$t('cargoSpace.column')" align="center" prop="theColumn" /> -->
<!-- 层 -->
<!-- <el-table-column :label="$t('cargoSpace.floor')" align="center" prop="theFloor" /> -->
<!-- 货位编码 -->
<el-table-column :label="$t('cargoSpace.status')" align="center" prop="status" />
<!-- 是否锁定 -->
<el-table-column :label="$t('cargoSpace.locked')" align="center" prop="locked" />
<!-- 托盘编码 -->
<el-table-column :label="$t('cargoSpace.trayCode')" align="center" prop="trayCode" />
<!-- 货物高度 -->
<el-table-column :label="$t('cargoSpace.cargoHeight')" align="center" prop="cargoHight" />
<!-- 是否双伸 -->
<el-table-column :label="$t('cargoSpace.isDouble')" align="center" prop="issDouble" />
<!-- 双货位分组编码 -->
<!-- <el-table-column :label="$t('cargoSpace.groupCodingNo')" align="center" prop="groupCodingNo" /> -->
<!-- 双货位分组编码名称1、2… -->
<el-table-column :label="$t('cargoSpace.groupCodingName')" align="center" prop="groupCoding" />
<!-- <el-table-column :label="$t('cargoSpace.cargoSpaceLogo')" align="center" prop="cargoSpaceLogo" />
<el-table-column :label="$t('cargoSpace.thisCargoAreaId')" align="center" prop="thisCargoArea" /> -->
<!-- 双货位标识 0 外1内 -->
<!-- <el-table-column :label="$t('cargoSpace.cargoSpaceLogo')" align="center" prop="cargoSpaceLogo" /> -->
<!-- 本仓库区域 1--8 A 9--15 B -->
<!-- <el-table-column :label="$t('cargoSpace.thisCargoAreaId')" align="center" prop="thisCargoArea" /> -->
<!-- 人工操作 -->
<el-table-column :label="$t('cargoSpace.operation')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<!-- 人工操作---【修改】按钮 -->
<el-button
size="mini"
type="text"
@@ -214,6 +249,7 @@
@click="handleUpdate(scope.row)"
v-hasPermi="['bas:cargoSpace:edit']"
>{{ $t('cargoSpace.btnEdit') }}</el-button>
<!-- 人工操作---【删除】按钮 -->
<el-button
size="mini"
type="text"
@@ -236,54 +272,71 @@
<!-- 添加或修改库存信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" :label-width="labelWidthForFunction">
<!-- 货位ID -->
<el-form-item :label="$t('cargoSpace.cargoSpaceId')" prop="warehouseId">
<el-input v-model="form.warehouseId" :placeholder="$t('cargoSpace.placeholderCargoSpaceId')" />
</el-form-item>
<!-- 仓库编号 -->
<el-form-item :label="$t('cargoSpace.roadwayId')" prop="roadwayId">
<el-input v-model="form.roadwayId" :placeholder="$t('cargoSpace.placeholderRoadwayId')" />
</el-form-item>
<!-- 巷道号 -->
<el-form-item :label="$t('cargoSpace.cargoAreaId')" prop="cargoAreaId">
<el-input v-model="form.cargoAreaId" :placeholder="$t('cargoSpace.placeholderCargoAreaId')" />
</el-form-item>
<!-- 货位类型 -->
<el-form-item :label="$t('cargoSpace.cargoSpaceTypeName')" prop="theTypeName">
<el-input v-model="form.theTypeName" :placeholder="$t('cargoSpace.placeholderCargoSpaceTypeName')" />
</el-form-item>
<!-- 货位名称 -->
<el-form-item :label="$t('cargoSpace.cargoSpaceName')" prop="cargoSpaceName">
<el-input v-model="form.cargoSpaceName" :placeholder="$t('cargoSpace.placeholderCargoSpaceName')" />
</el-form-item>
<!-- 排 -->
<el-form-item :label="$t('cargoSpace.platoon')" prop="thePlatoon">
<el-input v-model="form.thePlatoon" :placeholder="$t('cargoSpace.placeholderPlatoon')" />
</el-form-item>
<!-- 列 -->
<el-form-item :label="$t('cargoSpace.column')" prop="theColumn">
<el-input v-model="form.theColumn" :placeholder="$t('cargoSpace.placeholderColumn')" />
</el-form-item>
<!-- 层 -->
<el-form-item :label="$t('cargoSpace.floor')" prop="theFloor">
<el-input v-model="form.theFloor" :placeholder="$t('cargoSpace.placeholderFloor')" />
</el-form-item>
<!-- 是否锁定 -->
<el-form-item :label="$t('cargoSpace.locked')" prop="locked">
<el-input v-model="form.locked" :placeholder="$t('cargoSpace.placeholderLocked')" />
</el-form-item>
<!-- 托盘编码 -->
<el-form-item :label="$t('cargoSpace.trayCode')" prop="trayCode">
<el-input v-model="form.trayCode" :placeholder="$t('cargoSpace.placeholderTrayCode')" />
</el-form-item>
<!-- 是否双伸 -->
<el-form-item :label="$t('cargoSpace.isDouble')" prop="issDouble">
<el-input v-model="form.issDouble" :placeholder="$t('cargoSpace.placeholderIsDouble')" />
</el-form-item>
<!-- 双货位分组编码 -->
<el-form-item :label="$t('cargoSpace.groupCodingNo')" prop="groupCodingNo">
<el-input v-model="form.groupCodingNo" :placeholder="$t('cargoSpace.placeholderGroupCodingNo')" />
</el-form-item>
<!-- 双货位分组编码名称1、2… -->
<el-form-item :label="$t('cargoSpace.groupCodingName')" prop="groupCoding">
<el-input v-model="form.groupCoding" :placeholder="$t('cargoSpace.placeholderGroupCodingName')" />
</el-form-item>
<!-- 双货位标识 0 外1内 -->
<el-form-item :label="$t('cargoSpace.cargoSpaceLogo')" prop="cargoSpaceLogo">
<el-input v-model="form.cargoSpaceLogo" :placeholder="$t('cargoSpace.placeholderCargoSpaceLogo')" />
</el-form-item>
<!-- 本仓库区域 1--8 A 9--15 B -->
<el-form-item :label="$t('cargoSpace.thisCargoAreaId')" prop="thisCargoArea">
<el-input v-model="form.thisCargoArea" :placeholder="$t('cargoSpace.placeholderThisCargoAreaId')" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<!-- 二级窗口---【确定】按钮 -->
<el-button type="primary" @click="submitForm">{{ $t('cargoSpace.btnSubmit') }}</el-button>
<!-- 二级窗口---【取消】按钮 -->
<el-button @click="cancel">{{ $t('cargoSpace.btnCancel') }}</el-button>
</div>
</el-dialog>
@@ -343,24 +396,31 @@ export default {
// 表单校验
rules: {
warehouseId: [
// 校验---仓库编号是否为空
{ required: true, message: this.$t('cargoSpace.warehosueIdIsNull'), trigger: "blur" }
],
// cargoSpaceName: [
// { required: true, message: "货位名称不能为空", trigger: "blur" }
// 校验---货位名称是否为空
// { required: true, message: this.$t('cargoSpace.cargoSpaceNameIsNull'), trigger: "blur" }
// ],
thePlatoon: [
// 校验---排是否为空
{ required: true, message: this.$t('cargoSpace.platoonIsNull'), trigger: "blur" }
],
theColumn: [
// 校验---列是否为空
{ required: true, message: this.$t('cargoSpace.columnIsNull'), trigger: "blur" }
],
theFloor: [
// 校验---层是否为空
{ required: true, message: this.$t('cargoSpace.floorIsNull'), trigger: "blur" }
],
status: [
// 校验---货位状态是否为空
{ required: true, message: this.$t('cargoSpace.statusIsNull'), trigger: "change" }
],
locked: [
// 校验---锁定状态是否为空
{ required: true, message: this.$t('cargoSpace.lockedIsNull'), trigger: "blur" }
],
}

View File

@@ -3,6 +3,7 @@
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" :label-width="labelWidthForSearch">
<el-form-item :label="$t('warehouse.Id')" prop="warehouseId">
<!-- 仓库ID(序号) -->
<el-input
v-model="queryParams.warehouseId"
:placeholder="$t('warehouse.placeholderId')"
@@ -10,6 +11,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- 仓库编号 -->
<el-form-item :label="$t('warehouse.warehouseId')" prop="warehouseNo">
<el-input
v-model="queryParams.warehouseNo"
@@ -18,6 +20,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- 项目编号 -->
<el-form-item :label="$t('warehouse.projectNo')" prop="projectNo">
<el-input
v-model="queryParams.projectNo"
@@ -26,6 +29,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- 仓库名称 -->
<el-form-item :label="$t('warehouse.warehouseName')" prop="warehouseName">
<el-input
v-model="queryParams.warehouseName"
@@ -34,6 +38,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- 仓库地址 -->
<el-form-item :label="$t('warehouse.address')" prop="address">
<el-input
v-model="queryParams.address"
@@ -42,6 +47,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- 备注 -->
<el-form-item :label="$t('warehouse.cDesc')" prop="cDesc">
<el-input
v-model="queryParams.cDesc"
@@ -50,6 +56,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- 仓库级别 -->
<el-form-item :label="$t('warehouse.warehouseKind')" prop="warehouseKind">
<el-input
v-model="queryParams.warehouseKind"
@@ -58,6 +65,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- 仓库是否可用 -->
<el-form-item :label="$t('warehouse.isCurrent')" prop="isCurrent">
<el-select v-model="queryParams.isCurrent" :placeholder="$t('warehouse.placeholderIsCurrent')" clearable>
<el-option
@@ -69,13 +77,16 @@
</el-select>
</el-form-item>
<el-form-item>
<!-- 【查询】按钮 -->
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('warehouse.search') }}</el-button>
<!-- 【重置】(清空)按钮 -->
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('warehouse.reset') }}</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<!-- 【新增】按钮 -->
<el-button
type="primary"
plain
@@ -87,6 +98,7 @@
>{{ $t('warehouse.add') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 【修改】按钮 -->
<el-button
type="success"
plain
@@ -98,6 +110,7 @@
>{{ $t('warehouse.edit') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 【删除】按钮 -->
<el-button
type="danger"
plain
@@ -109,6 +122,7 @@
>{{ $t('warehouse.del') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 【导出】按钮 -->
<el-button
type="warning"
plain
@@ -123,21 +137,32 @@
<el-table v-loading="loading" :data="warehouseList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column :label="$t('warehouse.Id')" align="center" prop="warehouseId" />
<!-- 仓库ID(序号) -->
<el-table-column :label="$t('warehouse.Id')" align="center" prop="warehouseId" width="50"/>
<!-- 仓库编号 -->
<el-table-column :label="$t('warehouse.warehouseId')" align="center" prop="warehouseNo" />
<!-- 项目编号 -->
<el-table-column :label="$t('warehouse.projectNo')" align="center" prop="projectNo" />
<!-- 仓库名称 -->
<el-table-column :label="$t('warehouse.warehouseName')" align="center" prop="warehouseName" />
<!-- 仓库地址 -->
<el-table-column :label="$t('warehouse.address')" align="center" prop="address" />
<!-- 备注 -->
<el-table-column :label="$t('warehouse.cDesc')" align="center" prop="cDesc" />
<!-- 仓库级别 -->
<el-table-column :label="$t('warehouse.warehouseKind')" align="center" prop="warehouseKind" />
<!-- 仓库类型 -->
<el-table-column :label="$t('warehouse.warehouseType')" align="center" prop="warehouseType" />
<!-- 仓库是否可用 -->
<el-table-column :label="$t('warehouse.isCurrent')" align="center" prop="isCurrent">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isCurrent"/>
</template>
</el-table-column>
<!-- 操作 -->
<el-table-column :label="$t('warehouse.operation')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<!-- 操作---【修改】按钮 -->
<el-button
size="mini"
type="text"
@@ -145,6 +170,7 @@
@click="handleUpdate(scope.row)"
v-hasPermi="['bas:warehouse:edit']"
>{{$t('warehouse.edit')}}</el-button>
<!-- 操作---【删除】按钮 -->
<el-button
size="mini"
type="text"
@@ -167,27 +193,35 @@
<!-- 添加或修改仓库管理对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" :label-width="labelWidthForFunction">
<!-- 仓库ID(序号) -->
<el-form-item :label="$t('warehouse.Id')" prop="warehouseId">
<el-input v-model="form.warehouseId" :placeholder="$t('warehouse.placeholderId')" :disabled="isDisabledForId"/>
</el-form-item>
<!-- 仓库编号 -->
<el-form-item :label="$t('warehouse.warehouseId')" prop="warehouseNo">
<el-input v-model="form.warehouseNo" :placeholder="$t('warehouse.placeholderWarehouseId')" />
</el-form-item>
<!-- 项目编号 -->
<el-form-item :label="$t('warehouse.projectNo')" prop="projectNo">
<el-input v-model="form.projectNo" :placeholder="$t('warehouse.placeholderProjectNo')" />
</el-form-item>
<!-- 仓库名称 -->
<el-form-item :label="$t('warehouse.warehouseName')" prop="warehouseName">
<el-input v-model="form.warehouseName" :placeholder="$t('warehouse.placeholderWarehouseName')" />
</el-form-item>
<!-- 仓库地址 -->
<el-form-item :label="$t('warehouse.address')" prop="address">
<el-input v-model="form.address" :placeholder="$t('warehouse.placeholderAddress')" />
</el-form-item>
<!-- 备注 -->
<el-form-item :label="$t('warehouse.cDesc')" prop="cDesc">
<el-input v-model="form.cDesc" :placeholder="$t('warehouse.placeholderCDesc')" />
</el-form-item>
<!-- 仓库级别 -->
<el-form-item :label="$t('warehouse.warehouseKind')" prop="warehouseKind">
<el-input v-model="form.warehouseKind" :placeholder="$t('warehouse.placeholderWarehouseKind')" />
</el-form-item>
<!-- 仓库是否可用 -->
<el-form-item :label="$t('warehouse.isCurrent')" prop="isCurrent">
<el-select v-model="form.isCurrent" :placeholder="$t('warehouse.placeholderIsCurrent')">
<el-option
@@ -200,7 +234,9 @@
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<!-- 二级画面---【确定】按钮 -->
<el-button type="primary" @click="submitForm">{{$t('warehouse.submit')}}</el-button>
<!-- 二级画面---【取消】按钮 -->
<el-button @click="cancel">{{$t('warehouse.cancel')}}</el-button>
</div>
</el-dialog>
@@ -252,15 +288,19 @@ export default {
// 表单校验
rules: {
warehouseId: [
// 校验---序号是否为空
{ required: true, message: this.$t('warehouse.idIsNull'), trigger: "blur" }
],
warehouseNo: [
// 校验---仓库编号是否为空
{ required: true, message: this.$t('warehouse.warehouseIdIsNull'), trigger: "blur" }
],
warehouseName: [
// 校验---仓库名称是否为空
{ required: true, message: this.$t('warehouse.warehouseNameIsNull'), trigger: "blur" }
],
isCurrent: [
// 校验---仓库是否可用选项是否为空
{ required: true, message: this.$t('warehouse.isCurrentIsNull'), trigger: "change" }
]
},

View File

@@ -5,6 +5,7 @@
<!--部门数据-->
<pane size="16">
<el-col>
<!-- 输入框---请输入部门名称 -->
<div class="head-container">
<el-input v-model="deptName" placeholder="请输入部门名称" clearable size="small" prefix-icon="el-icon-search" style="margin-bottom: 20px" />
</div>
@@ -17,71 +18,99 @@
<pane size="84">
<el-col>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="用户名称" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入用户名称" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
<!-- 用户名称 -->
<el-form-item :label="$t('systemManagement_RoleManagement.userName')" prop="userName" :label-width="$t('systemManagement_RoleManagement.labelWidthUserName')">
<el-input v-model="queryParams.userName" :placeholder="$t('systemManagement_RoleManagement.placeholderUserName')" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="手机号码" prop="phonenumber">
<el-input v-model="queryParams.phonenumber" placeholder="请输入手机号码" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
<!-- 手机号码 -->
<el-form-item :label="$t('systemManagement_RoleManagement.phoneNumber')" prop="phonenumber" :label-width="$t('systemManagement_RoleManagement.labelWidthPhoneNumber')">
<el-input v-model="queryParams.phonenumber" :placeholder="$t('systemManagement_RoleManagement.placeholderPhoneNumber')" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="用户状态" clearable style="width: 240px">
<!-- 用户状态 -->
<el-form-item :label="$t('systemManagement_RoleManagement.status')" prop="status">
<el-select v-model="queryParams.status" :placeholder="$t('systemManagement_RoleManagement.placeholderStatus')" clearable style="width: 240px">
<el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="创建时间">
<el-date-picker v-model="dateRange" style="width: 240px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
</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-form-item>
<el-form>
<!-- 创建时间 -->
<el-form-item :label="$t('systemManagement_RoleManagement.creatTime')">
<el-date-picker v-model="dateRange" style="width: 240px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" :start-placeholder="$t('systemManagement_RoleManagement.placeholderDateStart')" :end-placeholder="$t('systemManagement_RoleManagement.placeholderDateEnd')"></el-date-picker>
</el-form-item>
<el-form-item>
<!-- 【查询】按钮 -->
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('systemManagement_RoleManagement.btnSearch') }}</el-button>
<!-- 【重置】按钮 -->
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('systemManagement_RoleManagement.btnReset') }}</el-button>
</el-form-item>
</el-form>
</el-form>
<el-row :gutter="10" class="mb8">
<!-- 【新增】按钮 -->
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['system:user:add']">新增</el-button>
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['system:user:add']">{{ $t('systemManagement_RoleManagement.btnAdd') }}</el-button>
</el-col>
<!-- 【修改】按钮 -->
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" v-hasPermi="['system:user:edit']">修改</el-button>
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" v-hasPermi="['system:user:edit']">{{ $t('systemManagement_RoleManagement.btnEdit') }}</el-button>
</el-col>
<!-- 【删除】按钮 -->
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" v-hasPermi="['system:user:remove']">删除</el-button>
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" v-hasPermi="['system:user:remove']">{{ $t('systemManagement_RoleManagement.btnDelete') }}</el-button>
</el-col>
<!-- 【导入】按钮 -->
<el-col :span="1.5">
<el-button type="info" plain icon="el-icon-upload2" size="mini" @click="handleImport" v-hasPermi="['system:user:import']">导入</el-button>
<el-button type="info" plain icon="el-icon-upload2" size="mini" @click="handleImport" v-hasPermi="['system:user:import']">{{ $t('systemManagement_RoleManagement.btnImport') }}</el-button>
</el-col>
<!-- 【导出】按钮 -->
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['system:user:export']">导出</el-button>
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['system:user:export']">{{ $t('systemManagement_RoleManagement.btnExport') }}</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" align="center" />
<el-table-column label="用户编号" align="center" key="userId" prop="userId" v-if="columns[0].visible" />
<el-table-column label="用户名称" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
<el-table-column label="用户昵称" align="center" key="nickName" prop="nickName" v-if="columns[2].visible" :show-overflow-tooltip="true" />
<el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" v-if="columns[3].visible" :show-overflow-tooltip="true" />
<el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
<el-table-column label="状态" align="center" key="status" v-if="columns[5].visible">
<!-- 用户编号 -->
<el-table-column :label="$t('systemManagement_RoleManagement.userId')" align="center" key="userId" prop="userId" v-if="columns[0].visible" width="70"/>
<!-- 用户名称 -->
<el-table-column :label="$t('systemManagement_RoleManagement.userName')" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
<!-- 用户昵称 -->
<el-table-column :label="$t('systemManagement_RoleManagement.nickName')" align="center" key="nickName" prop="nickName" v-if="columns[2].visible" :show-overflow-tooltip="true" />
<!-- 部门 -->
<el-table-column :label="$t('systemManagement_RoleManagement.deptName')" align="center" key="deptName" prop="dept.deptName" v-if="columns[3].visible" :show-overflow-tooltip="true" />
<!-- 手机号码 -->
<el-table-column :label="$t('systemManagement_RoleManagement.phoneNumber')" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
<!-- 状态 -->
<el-table-column :label="$t('systemManagement_RoleManagement.status')" align="center" key="status" v-if="columns[5].visible">
<template slot-scope="scope">
<el-switch v-model="scope.row.status" active-value="0" inactive-value="1" @change="handleStatusChange(scope.row)"></el-switch>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" v-if="columns[6].visible" width="160">
<!-- 创建时间 -->
<el-table-column :label="$t('systemManagement_RoleManagement.creatTime')" align="center" prop="createTime" v-if="columns[6].visible" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="160" class-name="small-padding fixed-width">
<!-- 人工操作 -->
<el-table-column :label="$t('systemManagement_RoleManagement.operation')" align="center" width="160" class-name="small-padding fixed-width">
<template slot-scope="scope" v-if="scope.row.userId !== 1">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:user:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['system:user:remove']">删除</el-button>
<!-- 人工操作---【修改】按钮 -->
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:user:edit']">{{ $t('systemManagement_RoleManagement.btnEdit') }}</el-button>
<!-- 人工操作---【删除】按钮 -->
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['system:user:remove']">{{ $t('systemManagement_RoleManagement.btnDelete') }}</el-button>
<!-- 人工操作---【更多】按钮 -->
<el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:user:resetPwd', 'system:user:edit']">
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">{{ $t('systemManagement_RoleManagement.btnMore') }}</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="handleResetPwd" icon="el-icon-key" v-hasPermi="['system:user:resetPwd']">重置密码</el-dropdown-item>
<el-dropdown-item command="handleAuthRole" icon="el-icon-circle-check" v-hasPermi="['system:user:edit']">分配角色</el-dropdown-item>
<!-- 人工操作---更多---【重置密码】按钮 -->
<el-dropdown-item command="handleResetPwd" icon="el-icon-key" v-hasPermi="['system:user:resetPwd']">{{ $t('systemManagement_RoleManagement.btnResetPassword') }}</el-dropdown-item>
<!-- 人工操作---更多---【分配角色】按钮 -->
<el-dropdown-item command="handleAuthRole" icon="el-icon-circle-check" v-hasPermi="['system:user:edit']">{{ $t('systemManagement_RoleManagement.AssignRole') }}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
@@ -98,51 +127,59 @@
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<!-- 用户昵称 -->
<el-col :span="12">
<el-form-item label="用户昵称" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入用户昵称" maxlength="30" />
<el-form-item :label="$t('systemManagement_RoleManagement.nickName')" prop="nickName">
<el-input v-model="form.nickName" :placeholder="$t('systemManagement_RoleManagement.placeholderNickName')" maxlength="30" />
</el-form-item>
</el-col>
<!-- 部门名称 -->
<el-col :span="12">
<el-form-item label="归属部门" prop="deptId">
<treeselect v-model="form.deptId" :options="enabledDeptOptions" :show-count="true" placeholder="请选择归属部门" />
<el-form-item :label="$t('systemManagement_RoleManagement.deptName')" prop="deptId">
<treeselect v-model="form.deptId" :options="enabledDeptOptions" :show-count="true" :placeholder="$t('systemManagement_RoleManagement.placeholderDeptName')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- 手机号码 -->
<el-col :span="12">
<el-form-item label="手机号码" prop="phonenumber">
<el-input v-model="form.phonenumber" placeholder="请输入手机号码" maxlength="11" />
<el-form-item :label="$t('systemManagement_RoleManagement.phoneNumber')" prop="phonenumber">
<el-input v-model="form.phonenumber" :placeholder="$t('systemManagement_RoleManagement.placeholderPhoneNumber')" maxlength="11" />
</el-form-item>
</el-col>
<!-- 邮箱 -->
<el-col :span="12">
<el-form-item label="邮箱" prop="email">
<el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50" />
<el-form-item :label="$t('systemManagement_RoleManagement.email')" prop="email">
<el-input v-model="form.email" :placeholder="$t('systemManagement_RoleManagement.placeholderEmail')" maxlength="50" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- 用户名称 -->
<el-col :span="12">
<el-form-item v-if="form.userId == undefined" label="用户名称" prop="userName">
<el-input v-model="form.userName" placeholder="请输入用户名称" maxlength="30" />
<el-form-item v-if="form.userId == undefined" :label="$t('systemManagement_RoleManagement.userName')" prop="userName">
<el-input v-model="form.userName" :placeholder="$t('systemManagement_RoleManagement.placeholderUserName')" maxlength="30" />
</el-form-item>
</el-col>
<!-- 用户密码 -->
<el-col :span="12">
<el-form-item v-if="form.userId == undefined" label="用户密码" prop="password">
<el-input v-model="form.password" placeholder="请输入用户密码" type="password" maxlength="20" show-password />
<el-form-item v-if="form.userId == undefined" :label="$t('systemManagement_RoleManagement.password')" prop="password">
<el-input v-model="form.password" :placeholder="$t('systemManagement_RoleManagement.placeholderPassword')" type="password" maxlength="20" show-password />
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- 用户性别 -->
<el-col :span="12">
<el-form-item label="用户性别">
<el-select v-model="form.sex" placeholder="请选择性别">
<el-form-item :label="$t('systemManagement_RoleManagement.gender')">
<el-select v-model="form.sex" :placeholder="$t('systemManagement_RoleManagement.placeholderGender')">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<!-- 用户状态 -->
<el-col :span="12">
<el-form-item label="状态">
<el-form-item :label="$t('systemManagement_RoleManagement.status')">
<el-radio-group v-model="form.status">
<el-radio v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio>
</el-radio-group>
@@ -150,32 +187,37 @@
</el-col>
</el-row>
<el-row>
<!-- 岗位 -->
<el-col :span="12">
<el-form-item label="岗位">
<el-select v-model="form.postIds" multiple placeholder="请选择岗位">
<el-form-item :label="$t('systemManagement_RoleManagement.post')">
<el-select v-model="form.postIds" multiple :placeholder="$t('systemManagement_RoleManagement.placeholderPost')">
<el-option v-for="item in postOptions" :key="item.postId" :label="item.postName" :value="item.postId" :disabled="item.status == 1" ></el-option>
</el-select>
</el-form-item>
</el-col>
<!-- 角色 -->
<el-col :span="12">
<el-form-item label="角色">
<el-select v-model="form.roleIds" multiple placeholder="请选择角色">
<el-form-item :label="$t('systemManagement_RoleManagement.role')">
<el-select v-model="form.roleIds" multiple :placeholder="$t('systemManagement_RoleManagement.placeholderRole')">
<el-option v-for="item in roleOptions" :key="item.roleId" :label="item.roleName" :value="item.roleId" :disabled="item.status == 1"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- 备注 -->
<el-col :span="24">
<el-form-item label="备注">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input>
<el-form-item :label="$t('systemManagement_RoleManagement.remark')">
<el-input v-model="form.remark" type="textarea" :placeholder="$t('systemManagement_RoleManagement.placeholderRemark')"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
<!-- 弹出窗口---【确定】按钮 -->
<el-button type="primary" @click="submitForm">{{ $t('systemManagement_RoleManagement.btnSubmit') }}</el-button>
<!-- 弹出窗口---【取消】按钮 -->
<el-button @click="cancel">{{ $t('systemManagement_RoleManagement.btnCancel') }}</el-button>
</div>
</el-dialog>
@@ -183,18 +225,24 @@
<el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
<el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers" :action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading" :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag>
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
<!-- 文本:将文件拖到此处,或【点击上传】 -->
<div class="el-upload__text">{{ $t('systemManagement_RoleManagement.textDragOrClick1') }}<em>{{ $t('systemManagement_RoleManagement.textDragOrClick2') }}</em></div>
<div class="el-upload__tip text-center" slot="tip">
<div class="el-upload__tip" slot="tip">
<el-checkbox v-model="upload.updateSupport" />是否更新已经存在的用户数据
<!-- 文本:是否更新已经存在的用户数据 -->
<el-checkbox v-model="upload.updateSupport" />{{ $t('systemManagement_RoleManagement.textUpdateExistingData') }}
</div>
<span>仅允许导入xls、xlsx格式文件。</span>
<el-link type="primary" :underline="false" style="font-size: 12px; vertical-align: baseline" @click="importTemplate">下载模板</el-link>
<!-- 文本:仅允许导入xls、xlsx格式文件 -->
<span>{{ $t('systemManagement_RoleManagement.textUploadTip') }}</span>
<!-- 文本:下载模板 -->
<el-link type="primary" :underline="false" style="font-size: 12px; vertical-align: baseline" @click="importTemplate">{{ $t('systemManagement_RoleManagement.textDownloadTemplate') }}</el-link>
</div>
</el-upload>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitFileForm">确 定</el-button>
<el-button @click="upload.open = false">取 消</el-button>
<!-- 导入对话框---【确定】按钮 -->
<el-button type="primary" @click="submitFileForm">{{ $t('systemManagement_RoleManagement.btnSubmit') }}</el-button>
<!-- 导入对话框---【取消】按钮 -->
<el-button @click="upload.open = false">{{ this.$t('systemManagement_RoleManagement.btnCancel') }}</el-button>
</div>
</el-dialog>
</div>
@@ -278,39 +326,54 @@ export default {
},
// 列信息
columns: [
{ key: 0, label: `用户编号`, visible: true },
{ key: 1, label: `用户名称`, visible: true },
{ key: 2, label: `用户昵称`, visible: true },
{ key: 3, label: `部门`, visible: true },
{ key: 4, label: `手机号码`, visible: true },
{ key: 5, label: `状态`, visible: true },
{ key: 6, label: `创建时间`, visible: true }
// 用户编号
{ key: 0, label: this.$t('systemManagement_RoleManagement.userId'), visible: true },
// 用户名称
{ key: 1, label: this.$t('systemManagement_RoleManagement.userName'), visible: true },
// 用户昵称
{ key: 2, label: this.$t('systemManagement_RoleManagement.nickName'), visible: true },
// 部门
{ key: 3, label: this.$t('systemManagement_RoleManagement.deptName'), visible: true },
// 手机号码
{ key: 4, label: this.$t('systemManagement_RoleManagement.phoneNumber'), visible: true },
// 状态
{ key: 5, label: this.$t('systemManagement_RoleManagement.status'), visible: true },
// 创建时间
{ key: 6, label: this.$t('systemManagement_RoleManagement.createTime'), visible: true }
],
// 表单校验
rules: {
userName: [
{ required: true, message: "用户名称不能为空", trigger: "blur" },
{ min: 2, max: 20, message: '用户名称长度必须介于 2 和 20 之间', trigger: 'blur' }
// 校验:用户名称不能为空
{ required: true, message: this.$t('systemManagement_RoleManagement.checkUserNameIsNull'), trigger: "blur" },
// 校验:用户名称长度
{ min: 2, max: 20, message: this.$t('systemManagement_RoleManagement.checkUserNameLength'), trigger: 'blur' }
],
nickName: [
{ required: true, message: "用户昵称不能为空", trigger: "blur" }
// 校验:用户昵称不能为空
{ required: true, message: this.$t('systemManagement_RoleManagement.checkNickNameIsNull'), trigger: "blur" }
],
password: [
{ required: true, message: "用户密码不能为空", trigger: "blur" },
{ min: 5, max: 20, message: '用户密码长度必须介于 5 和 20 之间', trigger: 'blur' },
{ pattern: /^[^<>"'|\\]+$/, message: "不能包含非法字符:< > \" ' \\\ |", trigger: "blur" }
// 校验:用户密码不能为空
{ required: true, message: this.$t('systemManagement_RoleManagement.checkPasswordIsNull'), trigger: "blur" },
// 校验:用户密码长度
{ min: 5, max: 20, message: this.$t('systemManagement_RoleManagement.checkPasswordLength'), trigger: 'blur' },
// 校验:用户密码不能包含非法字符
{ pattern: /^[^<>"'|\\]+$/, message: this.$t('systemManagement_RoleManagement.checkPasswordCharacter'), trigger: "blur" }
],
email: [
// 校验:邮箱格式
{
type: "email",
message: "请输入正确的邮箱地址",
message: this.$t('systemManagement_RoleManagement.checkEmailFormat'),
trigger: ["blur", "change"]
}
],
phonenumber: [
// 校验:手机号码格式
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: "请输入正确的手机号码",
message: this.$t('systemManagement_RoleManagement.checkPhoneNumberFormat'),
trigger: "blur"
}
]
@@ -372,11 +435,14 @@ export default {
},
// 用户状态修改
handleStatusChange(row) {
let text = row.status === "0" ? "启用" : "停用"
this.$modal.confirm('确认要"' + text + '""' + row.userName + '"用户吗?').then(function() {
// 文本:启用/停用
let text = row.status === "0" ? this.$t('systemManagement_RoleManagement.textEnable') : this.$t('systemManagement_RoleManagement.textDisable')
// 文本:确认要启用/停用用户吗?
this.$modal.confirm(this.$t('systemManagement_RoleManagement.textUserConfirm1') + text + '""' + row.userName + this.$t('systemManagement_RoleManagement.textUserConfirm2')).then(function() {
return changeUserStatus(row.userId, row.status)
}).then(() => {
this.$modal.msgSuccess(text + "成功")
// 文本:【启用/停用】成功
this.$modal.msgSuccess(text + this.$t('systemManagement_RoleManagement.textSuccess'))
}).catch(function() {
row.status = row.status === "0" ? "1" : "0"
})
@@ -443,7 +509,8 @@ export default {
this.postOptions = response.posts
this.roleOptions = response.roles
this.open = true
this.title = "添加用户"
//文本提示:新增成功
this.title = this.$t('systemManagement_RoleManagement.addUserItem')
this.form.password = this.initPassword
})
},
@@ -458,26 +525,33 @@ export default {
this.$set(this.form, "postIds", response.postIds)
this.$set(this.form, "roleIds", response.roleIds)
this.open = true
this.title = "修改用户"
// 文本提示:编辑成功
this.title = this.$t('systemManagement_RoleManagement.editUserItem')
this.form.password = ""
})
},
/** 重置密码按钮操作 */
handleResetPwd(row) {
this.$prompt('请输入"' + row.userName + '"的新密码', "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
// 文本提示:请输入【用户名称】的新密码 提示
this.$prompt(this.$t('systemManagement_RoleManagement.textInputPassword1') + row.userName + this.$t('systemManagement_RoleManagement.textInputPassword2'), this.$t('systemManagement_RoleManagement.textTips'), {
// 文本:确定
confirmButtonText: this.$t('systemManagement_RoleManagement.textConfirm'),
// 文本:取消
cancelButtonText: this.$t('systemManagement_RoleManagement.textCancel'),
closeOnClickModal: false,
inputPattern: /^.{5,20}$/,
inputErrorMessage: "用户密码长度必须介于 5 和 20 之间",
// 文本:用户密码长度必须介于 5 和 20 之间
inputErrorMessage: this.$t('systemManagement_RoleManagement.checkPasswordLength'),
inputValidator: (value) => {
if (/<|>|"|'|\||\\/.test(value)) {
return "不能包含非法字符:< > \" ' \\\ |"
// 文本:不能包含非法字符:< > " ' \\\ |
return this.$t('systemManagement_RoleManagement.checkPasswordCharacter')
}
},
}).then(({ value }) => {
resetUserPwd(row.userId, value).then(response => {
this.$modal.msgSuccess("修改成功,新密码是:" + value)
// 文本提示:修改成功,新密码是:
this.$modal.msgSuccess(this.$t('systemManagement_RoleManagement.textResetPassword') + value)
})
}).catch(() => {})
},
@@ -492,13 +566,15 @@ export default {
if (valid) {
if (this.form.userId != undefined) {
updateUser(this.form).then(response => {
this.$modal.msgSuccess("修改成功")
// 文本提示:修改成功
this.$modal.msgSuccess(this.$t('systemManagement_RoleManagement.editSuccessInfo'))
this.open = false
this.getList()
})
} else {
addUser(this.form).then(response => {
this.$modal.msgSuccess("新增成功")
// 文本提示:新增成功
this.$modal.msgSuccess(this.$t('systemManagement_RoleManagement.addSuccessInfo'))
this.open = false
this.getList()
})
@@ -509,11 +585,13 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const userIds = row.userId || this.ids
this.$modal.confirm('是否确认删除用户编号为"' + userIds + '"的数据项?').then(function() {
// 文本提示:是否删除用户编号为" + userIds + "的数据项?
this.$modal.confirm(this.$t('systemManagement_RoleManagement.textDeleteConfirm1') + userIds + this.$t('systemManagement_RoleManagement.textDeleteConfirm2')).then(function() {
return delUser(userIds)
}).then(() => {
this.getList()
this.$modal.msgSuccess("删除成功")
// 文本提示:删除成功
this.$modal.msgSuccess(this.$t('systemManagement_RoleManagement.deleteSuccessInfo'))
}).catch(() => {})
},
/** 导出按钮操作 */
@@ -524,7 +602,8 @@ export default {
},
/** 导入按钮操作 */
handleImport() {
this.upload.title = "用户导入"
// 标题:用户导入
this.upload.title = this.$t('systemManagement_RoleManagement.textImportTitle')
this.upload.open = true
},
/** 下载模板操作 */
@@ -541,13 +620,25 @@ export default {
this.upload.open = false
this.upload.isUploading = false
this.$refs.upload.clearFiles()
this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", "导入结果", { dangerouslyUseHTMLString: true })
// 文本:导入结果
this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", this.$t('systemManagement_RoleManagement.textImportResult'), { dangerouslyUseHTMLString: true })
this.getList()
},
// 提交上传文件
submitFileForm() {
this.$refs.upload.submit()
}
}
},
computed: {
// 获取字典数据
lblUserNameWidth() {
if (condition) {
}
}
},
}
</script>