修改国际化配置
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="仓库" prop="warehouseId">
|
||||
<el-select v-model="queryParams.warehouseId" placeholder="请选择仓库" clearable>
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" :label-width="$t('KPIAnalysis_StockIn.lblWidthSearch')">
|
||||
<!-- 仓库 -->
|
||||
<el-form-item :label="this.$t('KPIAnalysis_StockIn.warehouse')" prop="warehouseId">
|
||||
<el-select v-model="queryParams.warehouseId" :placeholder="this.$t('KPIAnalysis_StockIn.placeholderWarehouse')" clearable>
|
||||
<el-option
|
||||
v-for="dict in warehouseOptions"
|
||||
:key="dict.warehouseId"
|
||||
@@ -11,19 +12,22 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="年月" prop="yearMonth">
|
||||
<!-- 年月 -->
|
||||
<el-form-item :label="this.$t('KPIAnalysis_StockIn.yearMonth')" prop="yearMonth">
|
||||
<el-date-picker
|
||||
v-model="queryParams.yearMonth"
|
||||
type="month"
|
||||
placeholder="选择年月"
|
||||
:placeholder="this.$t('KPIAnalysis_StockIn.placeholderYearMonth')"
|
||||
value-format="yyyy-MM"
|
||||
format="yyyy-MM"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
<!-- 【查询】按钮 -->
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('KPIAnalysis_StockIn.btnSearch') }}</el-button>
|
||||
<!-- 【重置】按钮 -->
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('KPIAnalysis_StockIn.btnReset') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@@ -108,7 +112,8 @@ export default {
|
||||
updateChart() {
|
||||
const option = {
|
||||
title: {
|
||||
text: '入库均匀分析',
|
||||
// 标题:入库均匀分析
|
||||
text: this.$t('KPIAnalysis_StockIn.textChartStockIn'),
|
||||
left: 'center'
|
||||
},
|
||||
tooltip: {
|
||||
@@ -127,7 +132,8 @@ export default {
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
name: '数量'
|
||||
// 数量
|
||||
name: this.$t('KPIAnalysis_StockIn.textYAxisName')
|
||||
},
|
||||
series: [{
|
||||
data: this.chartData.counts,
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="仓库" prop="warehouseId">
|
||||
<el-select v-model="queryParams.warehouseId" placeholder="请选择仓库" clearable>
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" :label-width="$t('KPIAnalysis_StockIn.lblWidthSearch')">
|
||||
<!-- 仓库 -->
|
||||
<el-form-item :label="$t('KPIAnalysis_StockOut.warehouse')" prop="warehouseId">
|
||||
<el-select v-model="queryParams.warehouseId" :placeholder="$t('KPIAnalysis_StockOut.placeholderWarehouse')" clearable>
|
||||
<el-option
|
||||
v-for="dict in warehouseOptions"
|
||||
:key="dict.warehouseId"
|
||||
@@ -11,19 +12,22 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="年月" prop="yearMonth">
|
||||
<!-- 年月 -->
|
||||
<el-form-item :label="$t('KPIAnalysis_StockOut.yearMonth')" prop="yearMonth">
|
||||
<el-date-picker
|
||||
v-model="queryParams.yearMonth"
|
||||
type="month"
|
||||
placeholder="选择年月"
|
||||
:placeholder="$t('KPIAnalysis_StockOut.placeholderYearMonth')"
|
||||
value-format="yyyy-MM"
|
||||
format="yyyy-MM"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
<!-- 【查询】按钮 -->
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('KPIAnalysis_StockOut.btnSearch') }}</el-button>
|
||||
<!-- 【重置】按钮 -->
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('KPIAnalysis_StockOut.btnReset') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@@ -108,7 +112,8 @@ export default {
|
||||
updateChart() {
|
||||
const option = {
|
||||
title: {
|
||||
text: '出库均匀分析',
|
||||
// 标题:出库均匀分析
|
||||
text: this.$t('KPIAnalysis_StockOut.textChartStockOut'),
|
||||
left: 'center'
|
||||
},
|
||||
tooltip: {
|
||||
@@ -127,7 +132,8 @@ export default {
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
name: '数量'
|
||||
// 数量
|
||||
name: this.$t('KPIAnalysis_StockOut.textYAxisName')
|
||||
},
|
||||
series: [{
|
||||
data: this.chartData.counts,
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="仓库" prop="warehouseId">
|
||||
<el-select v-model="queryParams.warehouseId" placeholder="请选择仓库" clearable>
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" :label-width="$t('KPIAnalysis_Roadway.lblWidthSearch')">
|
||||
<!-- 仓库 -->
|
||||
<el-form-item :label="$t('KPIAnalysis_Roadway.warehouse')" prop="warehouseId">
|
||||
<el-select v-model="queryParams.warehouseId" :placeholder="$t('KPIAnalysis_Roadway.placeholderWarehouse')" clearable>
|
||||
<el-option
|
||||
v-for="dict in warehouseOptions"
|
||||
:key="dict.warehouseId"
|
||||
@@ -11,29 +12,33 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="开始时间" prop="startTime">
|
||||
<!-- 开始时间 -->
|
||||
<el-form-item :label="$t('KPIAnalysis_Roadway.dateStart')" prop="startTime">
|
||||
<el-date-picker
|
||||
v-model="queryParams.startTime"
|
||||
type="datetime"
|
||||
placeholder="选择开始时间"
|
||||
:placeholder="$t('KPIAnalysis_Roadway.placeholderDateStart')"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
format="yyyy-MM-dd HH:mm:ss"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="结束时间" prop="endTime">
|
||||
<!-- 结束时间 -->
|
||||
<el-form-item :label="$t('KPIAnalysis_Roadway.dateEnd')" prop="endTime">
|
||||
<el-date-picker
|
||||
v-model="queryParams.endTime"
|
||||
type="datetime"
|
||||
placeholder="选择结束时间"
|
||||
:placeholder="$t('KPIAnalysis_Roadway.placeholderDateEnd')"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
format="yyyy-MM-dd HH:mm:ss"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
<!-- 【搜索】按钮 -->
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('KPIAnalysis_Roadway.btnSearch') }}</el-button>
|
||||
<!-- 【重置】按钮 -->
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('KPIAnalysis_Roadway.btnReset') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@@ -119,7 +124,8 @@ export default {
|
||||
updateChart() {
|
||||
const option = {
|
||||
title: {
|
||||
text: '巷道均匀分析',
|
||||
// 巷道均匀分析
|
||||
text: this.$t('KPIAnalysis_Roadway.textChartRoadway'),
|
||||
left: 'center'
|
||||
},
|
||||
tooltip: {
|
||||
@@ -129,7 +135,8 @@ export default {
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
data: ['入库数量', '出库数量'],
|
||||
// 【入库数量】、【出库数量】
|
||||
data: [this.$t('KPIAnalysis_Roadway.quantityOfStockIn'), this.$t('KPIAnalysis_Roadway.quantityOfStockOut')],
|
||||
top: '30px'
|
||||
},
|
||||
xAxis: {
|
||||
@@ -142,11 +149,13 @@ export default {
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
name: '数量'
|
||||
// 数量
|
||||
name: this.$t('KPIAnalysis_Roadway.textValue')
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '入库数量',
|
||||
// 入库数量
|
||||
name: this.$t('KPIAnalysis_Roadway.quantityOfStockIn'),
|
||||
data: this.chartData.inCounts,
|
||||
type: 'bar',
|
||||
barWidth: '30%',
|
||||
@@ -159,7 +168,8 @@ export default {
|
||||
}
|
||||
},
|
||||
{
|
||||
name: '出库数量',
|
||||
// 出库数量
|
||||
name: this.$t('KPIAnalysis_Roadway.quantityOfStockOut'),
|
||||
data: this.chartData.outCounts,
|
||||
type: 'bar',
|
||||
barWidth: '30%',
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="仓库" prop="warehouseId">
|
||||
<el-select v-model="queryParams.warehouseId" placeholder="请选择仓库" clearable>
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" :label-width="$t('KPIAnalysis_CargoSpace.lblWidthSearch')">
|
||||
<!-- 仓库 -->
|
||||
<el-form-item :label="$t('KPIAnalysis_CargoSpace.warehouse')" prop="warehouseId">
|
||||
<el-select v-model="queryParams.warehouseId" :placeholder="$t('KPIAnalysis_CargoSpace.placeholderWarehouse')" clearable>
|
||||
<el-option
|
||||
v-for="dict in warehouseOptions"
|
||||
:key="dict.warehouseId"
|
||||
@@ -12,8 +13,10 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
<!-- 【搜索】按钮 -->
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('KPIAnalysis_CargoSpace.btnSearch') }}</el-button>
|
||||
<!-- 【重置】按钮 -->
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('KPIAnalysis_CargoSpace.btnReset') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@@ -85,8 +88,9 @@ export default {
|
||||
this.$message.error(response.msg);
|
||||
}
|
||||
}).catch(error => {
|
||||
console.error('获取数据失败:', error);
|
||||
this.$message.error('获取数据失败');
|
||||
// 提示:获取数据失败
|
||||
console.error(this.$t('KPIAnalysis_CargoSpace.errorGetData') + ':', error);
|
||||
this.$message.error(this.$t('KPIAnalysis_CargoSpace.errorGetData'));
|
||||
});
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
@@ -106,12 +110,14 @@ export default {
|
||||
updateChart() {
|
||||
console.log('chartData:', this.chartData);
|
||||
if (!this.chartData || !this.chartData.data || this.chartData.data.length === 0) {
|
||||
console.warn('无效的图表数据');
|
||||
// 提示:无效的图表数据
|
||||
console.warn(this.$t('KPIAnalysis_CargoSpace.warnInvalidChartData'));
|
||||
return;
|
||||
}
|
||||
|
||||
// 获取数据中所有的巷道字段
|
||||
const firstItem = this.chartData.data[0];
|
||||
// 巷道
|
||||
const roadwayFields = Object.keys(firstItem).filter(key => key.startsWith('巷道'));
|
||||
|
||||
// 准备系列配置
|
||||
@@ -121,21 +127,24 @@ export default {
|
||||
data: this.chartData.data.map(item => item[roadway]),
|
||||
barWidth: '30%',
|
||||
itemStyle: {
|
||||
// 巷道1-4
|
||||
color: roadway === '巷道1' ? '#1890ff' :
|
||||
roadway === '巷道2' ? '#52c41a' :
|
||||
roadway === '巷道3' ? '#1890ff' :
|
||||
roadway === '巷道4' ? '#52c41a' : '#1890ff'
|
||||
roadway === '巷道2' ? '#52c41a' :
|
||||
roadway === '巷道3' ? '#1890ff' :
|
||||
roadway === '巷道4' ? '#52c41a' : '#1890ff'
|
||||
},
|
||||
label: {
|
||||
show: true,
|
||||
position: 'top'
|
||||
}
|
||||
}));
|
||||
console.log('生成的系列配置:', series);
|
||||
// 提示:生成的系列配置
|
||||
console.log(this.$t('KPIAnalysis_CargoSpace.config'), series);
|
||||
|
||||
const option = {
|
||||
title: {
|
||||
text: '货位状态分析',
|
||||
// 货位状态分析
|
||||
text: this.$t('KPIAnalysis_CargoSpace.textChartCargoSpace'),
|
||||
left: 'center'
|
||||
},
|
||||
tooltip: {
|
||||
@@ -161,7 +170,8 @@ export default {
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
name: '数量'
|
||||
// 数量
|
||||
name: this.$t('KPIAnalysis_CargoSpace.textValue')
|
||||
},
|
||||
series: series
|
||||
};
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
<div class="app-container">
|
||||
<div class="search-box">
|
||||
<el-form :model="queryParams" ref="queryForm" :inline="true">
|
||||
<el-form-item label="仓库" prop="warehouseId">
|
||||
<el-select v-model="queryParams.warehouseId" placeholder="请选择仓库" clearable @change="handleWarehouseChange">
|
||||
<!-- 仓库 -->
|
||||
<el-form-item :label="$t('KPIAnalysis_CargoPlan.warehouse')" prop="warehouseId">
|
||||
<el-select v-model="queryParams.warehouseId" :placeholder="$t('KPIAnalysis_CargoPlan.placeholderWarehouse')" clearable @change="handleWarehouseChange">
|
||||
<el-option
|
||||
v-for="dict in warehouseOptions"
|
||||
:key="dict.warehouseId"
|
||||
@@ -12,12 +13,14 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="巷道">
|
||||
<!-- 巷道 -->
|
||||
<el-form-item :label="$t('KPIAnalysis_CargoPlan.raodway')">
|
||||
<el-select v-model="queryParams.roadwayId" style="width: 150px" @change="handleRoadwayChange">
|
||||
<el-option v-for="item in roadwayOptions" :key="item.value" :label="item.label" :value="item.value"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="排">
|
||||
<!-- 排 -->
|
||||
<el-form-item :label="$t('KPIAnalysis_CargoPlan.row')">
|
||||
<el-select v-model="queryParams.thePlatoon" style="width: 150px" @change="handlePlatoonChange">
|
||||
<el-option v-for="item in platoonOptions" :key="item.value" :label="item.label" :value="item.value"/>
|
||||
</el-select>
|
||||
@@ -35,6 +38,7 @@
|
||||
import * as echarts from 'echarts'
|
||||
import {getRoadways, getPlatoons, getChartData, getChartMag} from "@/api/kpi/spacePlan"
|
||||
import {listWarehouse} from "@/api/bas/warehouse";
|
||||
import VueI18n from 'vue-i18n';
|
||||
|
||||
export default {
|
||||
name: 'SpacePlan',
|
||||
@@ -169,8 +173,10 @@ this.getWarehouseList()
|
||||
}
|
||||
},
|
||||
title: {
|
||||
text: '库位分布平面图',
|
||||
subtext: this.queryParams.thePlatoon + '排'
|
||||
// 标题:库位分布平面图
|
||||
text: this.$t('KPIAnalysis_CargoPlan.title'),
|
||||
// 子标题:排
|
||||
subtext: this.queryParams.thePlatoon + this.$t('KPIAnalysis_CargoPlan.row')
|
||||
},
|
||||
grid: {
|
||||
width: '90%',
|
||||
@@ -202,27 +208,33 @@ this.getWarehouseList()
|
||||
legend: {
|
||||
data: [
|
||||
{
|
||||
name: '空位',
|
||||
// 图例:空位
|
||||
name: this.$t('KPIAnalysis_CargoPlan.legendEmpty'),
|
||||
itemStyle: { color: '#AEEEEE' }
|
||||
},
|
||||
{
|
||||
name: '满位',
|
||||
// 图例:满位
|
||||
name: this.$t('KPIAnalysis_CargoPlan.legendOccupied'),
|
||||
itemStyle: { color: '#FF9900' }
|
||||
},
|
||||
{
|
||||
name: '入库分配',
|
||||
// 图例:入库分配
|
||||
name: this.$t('KPIAnalysis_CargoPlan.legendStockInAssigned'),
|
||||
itemStyle: { color: '#FFFF00' }
|
||||
},
|
||||
{
|
||||
name: '出库分配',
|
||||
itemStyle: { color: '#00CC00' }
|
||||
},
|
||||
{
|
||||
name: '入库需盘点',
|
||||
// 图例:出库分配
|
||||
name: this.$t('KPIAnalysis_CargoPlan.legendStockOutAssigned'),
|
||||
itemStyle: { color: '#FF0000' }
|
||||
},
|
||||
{
|
||||
name: '出库需盘点',
|
||||
// 图例:入库需盘点
|
||||
name: this.$t('KPIAnalysis_CargoPlan.legendStockInException'),
|
||||
itemStyle: { color: '#FF0000' }
|
||||
},
|
||||
{
|
||||
// 图例:出库需盘点
|
||||
name: this.$t('KPIAnalysis_CargoPlan.legendStockOutException'),
|
||||
itemStyle: { color: '#0000FF' }
|
||||
}
|
||||
],
|
||||
@@ -232,7 +244,8 @@ this.getWarehouseList()
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '空位',
|
||||
// 空位
|
||||
name: this.$t('KPIAnalysis_CargoPlan.legendEmpty'),
|
||||
type: 'heatmap',
|
||||
data: this.chartData.empty,
|
||||
itemStyle: {
|
||||
@@ -241,7 +254,8 @@ this.getWarehouseList()
|
||||
}
|
||||
},
|
||||
{
|
||||
name: '满位',
|
||||
// 满位
|
||||
name: this.$t('KPIAnalysis_CargoPlan.legendOccupied'),
|
||||
type: 'heatmap',
|
||||
data: this.chartData.full,
|
||||
itemStyle: {
|
||||
@@ -250,7 +264,8 @@ this.getWarehouseList()
|
||||
}
|
||||
},
|
||||
{
|
||||
name: '入库分配',
|
||||
// 入库分配
|
||||
name: this.$t('KPIAnalysis_CargoPlan.legendStockInAssigned'),
|
||||
type: 'heatmap',
|
||||
data: this.chartData.inAllot,
|
||||
itemStyle: {
|
||||
@@ -259,7 +274,8 @@ this.getWarehouseList()
|
||||
}
|
||||
},
|
||||
{
|
||||
name: '出库分配',
|
||||
// 出库分配
|
||||
name: this.$t('KPIAnalysis_CargoPlan.legendStockOutAssigned'),
|
||||
type: 'heatmap',
|
||||
data: this.chartData.outAllot,
|
||||
itemStyle: {
|
||||
@@ -268,7 +284,8 @@ this.getWarehouseList()
|
||||
}
|
||||
},
|
||||
{
|
||||
name: '入库需盘点',
|
||||
// 入库需盘点
|
||||
name: this.$t('KPIAnalysis_CargoPlan.legendStockInException'),
|
||||
type: 'heatmap',
|
||||
data: this.chartData.inCheck,
|
||||
itemStyle: {
|
||||
@@ -277,7 +294,8 @@ this.getWarehouseList()
|
||||
}
|
||||
},
|
||||
{
|
||||
name: '出库需盘点',
|
||||
// 出库需盘点
|
||||
name: this.$t('KPIAnalysis_CargoPlan.legendStockOutException'),
|
||||
type: 'heatmap',
|
||||
data: this.chartData.outCheck,
|
||||
itemStyle: {
|
||||
@@ -302,7 +320,14 @@ this.getWarehouseList()
|
||||
// 格式化普通仓库提示信息
|
||||
formatTooltip(params) {
|
||||
if (params.seriesName !== '满位') {
|
||||
return params.seriesName + '<br>' + this.queryParams.thePlatoon + '排' + (params.data[0] + 1) + '列' + (params.data[1] + 1) + '层';
|
||||
// 排
|
||||
if (this.$i18n.locale ==='zh-cn') {
|
||||
return params.seriesName + '<br>' + this.queryParams.thePlatoon + '排' + (params.data[0] + 1) + '列' + (params.data[1] + 1) + '层';
|
||||
}
|
||||
else{
|
||||
return params.seriesName + '<br>' + this.$t('KPIAnalysis_CargoPlan.row') + ':' + this.queryParams.thePlatoon + ' ' + this.$t('KPIAnalysis_CargoPlan.column') + ':' + (params.data[0] + 1) + ' ' + this.$t('KPIAnalysis_CargoPlan.floor') + ': ' + (params.data[1] + 1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
const returnData = {
|
||||
@@ -347,7 +372,8 @@ this.getWarehouseList()
|
||||
});
|
||||
})
|
||||
.catch(error => {
|
||||
console.error('获取货位信息失败:', error);
|
||||
// 提示:获取货位信息失败
|
||||
console.error(this.$t('KPIAnalysis_CargoPlan.failGetCargoSpace') + ':', error);
|
||||
})
|
||||
.finally(() => {
|
||||
// 清除加载状态
|
||||
|
||||
@@ -1,32 +1,39 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
|
||||
<el-form-item label="用户名称" prop="userName">
|
||||
<!-- 搜索表单 -->
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
|
||||
<!-- 用户名称:请输入用户名称 -->
|
||||
<el-form-item :label="$t('systemManagement_RoleManagement.userName')" prop="userName">
|
||||
<el-input
|
||||
v-model="queryParams.userName"
|
||||
placeholder="请输入用户名称"
|
||||
:placeholder="$t('systemManagement_RoleManagement.placeholderUserName')"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号码" prop="phonenumber">
|
||||
<!-- 手机号码:请输入手机号码 -->
|
||||
<el-form-item :label="$t('systemManagement_RoleManagement.phoneNumber')" prop="phonenumber">
|
||||
<el-input
|
||||
v-model="queryParams.phonenumber"
|
||||
placeholder="请输入手机号码"
|
||||
:placeholder="$t('systemManagement_RoleManagement.placeholderUserName')"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
<!-- 搜索按钮 -->
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('systemManagement_RoleManagement.btnSearch') }}</el-button>
|
||||
<!-- 重置按钮 -->
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('systemManagement_RoleManagement.btnReset') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<!-- 工具栏 -->
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<!-- 添加用户按钮 -->
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
@@ -34,9 +41,10 @@
|
||||
size="mini"
|
||||
@click="openSelectUser"
|
||||
v-hasPermi="['system:role:add']"
|
||||
>添加用户</el-button>
|
||||
>{{ $t('systemManagement_RoleManagement.btnAddUserItem') }}</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<!-- 批量取消授权按钮 -->
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
@@ -45,49 +53,60 @@
|
||||
:disabled="multiple"
|
||||
@click="cancelAuthUserAll"
|
||||
v-hasPermi="['system:role:remove']"
|
||||
>批量取消授权</el-button>
|
||||
>{{ $t('systemManagement_RoleManagement.btnCancelAuthorizations') }}</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<!-- 关闭按钮 -->
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-close"
|
||||
size="mini"
|
||||
@click="handleClose"
|
||||
>关闭</el-button>
|
||||
>{{ $t('systemManagement_RoleManagement.btnClose') }}</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<!-- 用户列表表格 -->
|
||||
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="用户名称" prop="userName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="用户昵称" prop="nickName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="邮箱" prop="email" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="手机" prop="phonenumber" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="状态" align="center" prop="status">
|
||||
<!-- 用户名称列 -->
|
||||
<el-table-column :label="$t('systemManagement_RoleManagement.userName')" prop="userName" :show-overflow-tooltip="true" />
|
||||
<!-- 用户昵称列 -->
|
||||
<el-table-column :label="$t('systemManagement_RoleManagement.nickName')" prop="nickName" :show-overflow-tooltip="true" />
|
||||
<!-- 邮箱列 -->
|
||||
<el-table-column :label="$t('systemManagement_RoleManagement.email')" prop="email" :show-overflow-tooltip="true" />
|
||||
<!-- 手机号列 -->
|
||||
<el-table-column :label="$t('systemManagement_RoleManagement.phoneNumber')" prop="phonenumber" :show-overflow-tooltip="true" />
|
||||
<!-- 状态列 -->
|
||||
<el-table-column :label="$t('systemManagement_RoleManagement.status')" align="center" prop="status">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||
<!-- 创建时间列 -->
|
||||
<el-table-column :label="$t('systemManagement_RoleManagement.createTime')" align="center" prop="createTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<!-- 操作列 -->
|
||||
<el-table-column :label="$t('systemManagement_RoleManagement.operation')" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<!-- 取消授权按钮 -->
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-circle-close"
|
||||
@click="cancelAuthUser(scope.row)"
|
||||
v-hasPermi="['system:role:remove']"
|
||||
>取消授权</el-button>
|
||||
>{{ $t('systemManagement_RoleManagement.btnCancelAuthorization') }}</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<!-- 分页组件 -->
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
@@ -95,6 +114,8 @@
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 引入选择用户弹窗组件 -->
|
||||
<select-user ref="select" :roleId="queryParams.roleId" @ok="handleQuery" />
|
||||
</div>
|
||||
</template>
|
||||
@@ -109,19 +130,19 @@ export default {
|
||||
components: { selectUser },
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
// 遮罩层加载状态
|
||||
loading: true,
|
||||
// 选中用户组
|
||||
// 选中的用户ID集合
|
||||
userIds: [],
|
||||
// 非多个禁用
|
||||
// 是否禁用批量操作
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
// 是否显示搜索区域
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 用户表格数据
|
||||
userList: [],
|
||||
// 查询参数
|
||||
// 查询参数对象
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
@@ -132,6 +153,7 @@ export default {
|
||||
}
|
||||
},
|
||||
created() {
|
||||
// 获取路由传参中的角色ID
|
||||
const roleId = this.$route.params && this.$route.params.roleId
|
||||
if (roleId) {
|
||||
this.queryParams.roleId = roleId
|
||||
@@ -149,7 +171,7 @@ export default {
|
||||
}
|
||||
)
|
||||
},
|
||||
// 返回按钮
|
||||
// 返回按钮点击事件
|
||||
handleClose() {
|
||||
const obj = { path: "/system/role" }
|
||||
this.$tab.closeOpenPage(obj)
|
||||
@@ -164,7 +186,7 @@ export default {
|
||||
this.resetForm("queryForm")
|
||||
this.handleQuery()
|
||||
},
|
||||
// 多选框选中数据
|
||||
// 多选框选中数据变化时触发
|
||||
handleSelectionChange(selection) {
|
||||
this.userIds = selection.map(item => item.userId)
|
||||
this.multiple = !selection.length
|
||||
@@ -176,22 +198,26 @@ export default {
|
||||
/** 取消授权按钮操作 */
|
||||
cancelAuthUser(row) {
|
||||
const roleId = this.queryParams.roleId
|
||||
this.$modal.confirm('确认要取消该用户"' + row.userName + '"角色吗?').then(function() {
|
||||
// 提示:确认要取消该用户 + row.userName + '"角色吗?
|
||||
this.$modal.confirm(this.$t('systemManagement_RoleManagement.textConfirmCancelRole1') + row.userName + this.$t('systemManagement_RoleManagement.textConfirmCancelRole2')).then(function() {
|
||||
return authUserCancel({ userId: row.userId, roleId: roleId })
|
||||
}).then(() => {
|
||||
this.getList()
|
||||
this.$modal.msgSuccess("取消授权成功")
|
||||
// 提示:取消授权成功
|
||||
this.$modal.msgSuccess(this.$t('systemManagement_RoleManagement.cancelSuccessInfo'))
|
||||
}).catch(() => {})
|
||||
},
|
||||
/** 批量取消授权按钮操作 */
|
||||
cancelAuthUserAll(row) {
|
||||
const roleId = this.queryParams.roleId
|
||||
const userIds = this.userIds.join(",")
|
||||
this.$modal.confirm('是否取消选中用户授权数据项?').then(function() {
|
||||
// 是否取消选中用户授权数据项?
|
||||
this.$modal.confirm(this.$t('systemManagement_RoleManagement.textConfirmCancelSelectedRole')).then(function() {
|
||||
return authUserCancelAll({ roleId: roleId, userIds: userIds })
|
||||
}).then(() => {
|
||||
this.getList()
|
||||
this.$modal.msgSuccess("取消授权成功")
|
||||
// 取消授权成功
|
||||
this.$modal.msgSuccess(this.$t('systemManagement_RoleManagement.cancelSuccessInfo'))
|
||||
}).catch(() => {})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,41 +1,52 @@
|
||||
<template>
|
||||
<!-- 授权用户 -->
|
||||
<el-dialog title="选择用户" :visible.sync="visible" width="800px" top="5vh" append-to-body>
|
||||
<!-- 选择用户 -->
|
||||
<el-dialog :title="$t('systemManagement_RoleManagement.selectUserTitle')" :visible.sync="visible" width="800px" top="5vh" append-to-body>
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
|
||||
<el-form-item label="用户名称" prop="userName">
|
||||
<!-- 用户名称 -->
|
||||
<el-form-item :label="$t('systemManagement_RoleManagement.userName')" prop="userName">
|
||||
<el-input
|
||||
v-model="queryParams.userName"
|
||||
placeholder="请输入用户名称"
|
||||
:placeholder="$t('systemManagement_RoleManagement.placeholderUserName')"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号码" prop="phonenumber">
|
||||
<!-- 手机号码 -->
|
||||
<el-form-item :label="$t('systemManagement_RoleManagement.phoneNumber')" prop="phonenumber">
|
||||
<el-input
|
||||
v-model="queryParams.phonenumber"
|
||||
placeholder="请输入手机号码"
|
||||
:placeholder="$t('systemManagement_RoleManagement.placeholderPhoneNumber')"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
<!-- 【查询】按钮 -->
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('systemManagement_RoleManagement.btnSearch') }}</el-button>
|
||||
<!-- 【重置】按钮 -->
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('systemManagement_RoleManagement.btnReset') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row>
|
||||
<el-table @row-click="clickRow" ref="table" :data="userList" @selection-change="handleSelectionChange" height="260px">
|
||||
<el-table-column type="selection" width="55"></el-table-column>
|
||||
<el-table-column label="用户名称" prop="userName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="用户昵称" prop="nickName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="邮箱" prop="email" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="手机" prop="phonenumber" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="状态" align="center" prop="status">
|
||||
<!-- 用户名称 -->
|
||||
<el-table-column :label="$t('systemManagement_RoleManagement.userName')" prop="userName" :show-overflow-tooltip="true" />
|
||||
<!-- 用户昵称 -->
|
||||
<el-table-column :label="$t('systemManagement_RoleManagement.nickName')" prop="nickName" :show-overflow-tooltip="true" />
|
||||
<!-- 邮箱 -->
|
||||
<el-table-column :label="$t('systemManagement_RoleManagement.email')" prop="email" :show-overflow-tooltip="true" />
|
||||
<!-- 手机号码 -->
|
||||
<el-table-column :label="$t('systemManagement_RoleManagement.phoneNumber')" prop="phonenumber" :show-overflow-tooltip="true" />
|
||||
<!-- 状态 -->
|
||||
<el-table-column :label="$t('systemManagement_RoleManagement.status')" align="center" prop="status">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||
<!-- 创建时间 -->
|
||||
<el-table-column :label="$t('systemManagement_RoleManagement.createTime')" align="center" prop="createTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||
</template>
|
||||
@@ -50,8 +61,10 @@
|
||||
/>
|
||||
</el-row>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="handleSelectUser">确 定</el-button>
|
||||
<el-button @click="visible = false">取 消</el-button>
|
||||
<!-- 【确定】按钮 -->
|
||||
<el-button type="primary" @click="handleSelectUser">{{ $t('systemManagement_RoleManagement.btnSubmit') }}</el-button>
|
||||
<!-- 【取消】按钮 -->
|
||||
<el-button @click="visible = false">{{ $t('systemManagement_RoleManagement.btnCancel') }}</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</template>
|
||||
@@ -122,7 +135,8 @@ export default {
|
||||
const roleId = this.queryParams.roleId
|
||||
const userIds = this.userIds.join(",")
|
||||
if (userIds == "") {
|
||||
this.$modal.msgError("请选择要分配的用户")
|
||||
// 提示:请选择要分配的用户
|
||||
this.$modal.msgError(this.$t('systemManagement_RoleManagement.textSelectRole'))
|
||||
return
|
||||
}
|
||||
authUserSelectAll({ roleId: roleId, userIds: userIds }).then(res => {
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<h4 class="form-header h4">基本信息</h4>
|
||||
<h4 class="form-header h4">{{ $t('systemManagement_UserManagement.basInfo') }}</h4>
|
||||
<el-form ref="form" :model="form" label-width="80px">
|
||||
<el-row>
|
||||
<el-col :span="8" :offset="2">
|
||||
<el-form-item label="用户昵称" prop="nickName">
|
||||
<el-form-item :label="$t('systemManagement_UserManagement.nickName')" prop="nickName">
|
||||
<el-input v-model="form.nickName" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8" :offset="2">
|
||||
<el-form-item label="登录账号" prop="userName">
|
||||
<el-form-item :label="$t('systemManagement_UserManagement.userName')" prop="userName">
|
||||
<el-input v-model="form.userName" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
<h4 class="form-header h4">角色信息</h4>
|
||||
<!-- 角色信息 -->
|
||||
<h4 class="form-header h4">{{ $t('systemManagement_UserManagement.roleInfo') }}</h4>
|
||||
<el-table v-loading="loading" :row-key="getRowKey" @row-click="clickRow" ref="table" @selection-change="handleSelectionChange" :data="roles.slice((pageNum-1)*pageSize,pageNum*pageSize)">
|
||||
<el-table-column label="序号" type="index" align="center">
|
||||
<template slot-scope="scope">
|
||||
@@ -24,10 +24,14 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column type="selection" :reserve-selection="true" :selectable="checkSelectable" width="55" />
|
||||
<el-table-column label="角色编号" align="center" prop="roleId" />
|
||||
<el-table-column label="角色名称" align="center" prop="roleName" />
|
||||
<el-table-column label="权限字符" align="center" prop="roleKey" />
|
||||
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||
<!-- 角色编号 -->
|
||||
<el-table-column :label="$t('systemManagement_UserManagement.roleId')" align="center" prop="roleId" />
|
||||
<!-- 角色名称 -->
|
||||
<el-table-column :label="$t('systemManagement_UserManagement.roleName')" align="center" prop="roleName" />
|
||||
<!-- 权限字符 -->
|
||||
<el-table-column :label="$t('systemManagement_UserManagement.roleKey')" align="center" prop="roleKey" />
|
||||
<!-- 创建时间 -->
|
||||
<el-table-column :label="$t('systemManagement_UserManagement.createTime')" align="center" prop="createTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||
</template>
|
||||
@@ -38,8 +42,10 @@
|
||||
|
||||
<el-form label-width="100px">
|
||||
<el-form-item style="text-align: center;margin-left:-120px;margin-top:30px;">
|
||||
<el-button type="primary" @click="submitForm()">提交</el-button>
|
||||
<el-button @click="close()">返回</el-button>
|
||||
<!-- 【提交】按钮 -->
|
||||
<el-button type="primary" @click="submitForm()">{{ $t('systemManagement_UserManagement.btnSubmit') }}</el-button>
|
||||
<!-- 【返回】按钮 -->
|
||||
<el-button @click="close()">{{ $t('systemManagement_UserManagement.btnBack') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
@@ -109,7 +115,8 @@ export default {
|
||||
const userId = this.form.userId
|
||||
const roleIds = this.roleIds.join(",")
|
||||
updateAuthRole({ userId: userId, roleIds: roleIds }).then((response) => {
|
||||
this.$modal.msgSuccess("授权成功")
|
||||
// 授权成功
|
||||
this.$modal.msgSuccess(this.$t('systemManagement_UserManagement.authorizeSuccessInfo'))
|
||||
this.close()
|
||||
})
|
||||
},
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
</el-form-item>
|
||||
<el-form>
|
||||
<!-- 创建时间 -->
|
||||
<el-form-item :label="$t('systemManagement_UserManagement.creatTime')">
|
||||
<el-form-item :label="$t('systemManagement_UserManagement.createTime')">
|
||||
<el-date-picker v-model="dateRange" style="width: 240px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" :start-placeholder="$t('systemManagement_UserManagement.placeholderDateStart')" :end-placeholder="$t('systemManagement_UserManagement.placeholderDateEnd')"></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
@@ -91,7 +91,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- 创建时间 -->
|
||||
<el-table-column :label="$t('systemManagement_UserManagement.creatTime')" align="center" prop="createTime" v-if="columns[6].visible" width="160">
|
||||
<el-table-column :label="$t('systemManagement_UserManagement.createTime')" align="center" prop="createTime" v-if="columns[6].visible" width="160">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||
</template>
|
||||
@@ -110,7 +110,7 @@
|
||||
<!-- 人工操作---更多---【重置密码】按钮 -->
|
||||
<el-dropdown-item command="handleResetPwd" icon="el-icon-key" v-hasPermi="['system:user:resetPwd']">{{ $t('systemManagement_UserManagement.btnResetPassword') }}</el-dropdown-item>
|
||||
<!-- 人工操作---更多---【分配角色】按钮 -->
|
||||
<el-dropdown-item command="handleAuthRole" icon="el-icon-circle-check" v-hasPermi="['system:user:edit']">{{ $t('systemManagement_UserManagement.AssignRole') }}</el-dropdown-item>
|
||||
<el-dropdown-item command="handleAuthRole" icon="el-icon-circle-check" v-hasPermi="['system:user:edit']">{{ $t('systemManagement_UserManagement.btnAssignRole') }}</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</template>
|
||||
@@ -124,8 +124,8 @@
|
||||
</el-row>
|
||||
|
||||
<!-- 添加或修改用户配置对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-dialog :title="title" :visible.sync="open" width="650px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" :label-width="$t('systemManagement_UserManagement.lblWidthDialog')">
|
||||
<el-row>
|
||||
<!-- 用户昵称 -->
|
||||
<el-col :span="12">
|
||||
|
||||
@@ -4,7 +4,8 @@
|
||||
<el-col :span="6" :xs="24">
|
||||
<el-card class="box-card">
|
||||
<div slot="header" class="clearfix">
|
||||
<span>个人信息</span>
|
||||
<!-- 个人信息 -->
|
||||
<span>{{ $t('systemManagement_UserManagement.userInfo') }}</span>
|
||||
</div>
|
||||
<div>
|
||||
<div class="text-center">
|
||||
@@ -12,27 +13,33 @@
|
||||
</div>
|
||||
<ul class="list-group list-group-striped">
|
||||
<li class="list-group-item">
|
||||
<svg-icon icon-class="user" />用户名称
|
||||
<!-- 用户名称 -->
|
||||
<svg-icon icon-class="user" />{{ $t('systemManagement_UserManagement.userName') }}
|
||||
<div class="pull-right">{{ user.userName }}</div>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<svg-icon icon-class="phone" />手机号码
|
||||
<!-- 手机号码 -->
|
||||
<svg-icon icon-class="phone" />{{ $t('systemManagement_UserManagement.phoneNumber') }}
|
||||
<div class="pull-right">{{ user.phonenumber }}</div>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<svg-icon icon-class="email" />用户邮箱
|
||||
<!-- 邮箱 -->
|
||||
<svg-icon icon-class="email" />{{ $t('systemManagement_UserManagement.email') }}
|
||||
<div class="pull-right">{{ user.email }}</div>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<svg-icon icon-class="tree" />所属部门
|
||||
<!-- 部门 -->
|
||||
<svg-icon icon-class="tree" />{{ $t('systemManagement_UserManagement.deptName') }}
|
||||
<div class="pull-right" v-if="user.dept">{{ user.dept.deptName }} / {{ postGroup }}</div>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<svg-icon icon-class="peoples" />所属角色
|
||||
<!-- 角色 -->
|
||||
<svg-icon icon-class="peoples" />{{ $t('systemManagement_UserManagement.roleGroup') }}
|
||||
<div class="pull-right">{{ roleGroup }}</div>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<svg-icon icon-class="date" />创建日期
|
||||
<!-- 创建日期 -->
|
||||
<svg-icon icon-class="date" />{{ $t('systemManagement_UserManagement.createTime') }}
|
||||
<div class="pull-right">{{ user.createTime }}</div>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -42,13 +49,16 @@
|
||||
<el-col :span="18" :xs="24">
|
||||
<el-card>
|
||||
<div slot="header" class="clearfix">
|
||||
<span>基本资料</span>
|
||||
<!-- 基本资料 -->
|
||||
<span>{{ $t('systemManagement_UserManagement.userInfo') }}</span>
|
||||
</div>
|
||||
<el-tabs v-model="activeTab">
|
||||
<el-tab-pane label="基本资料" name="userinfo">
|
||||
<!-- 基本资料 -->
|
||||
<el-tab-pane :label="$t('systemManagement_UserManagement.userInfo')" name="userinfo">
|
||||
<userInfo :user="user" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="修改密码" name="resetPwd">
|
||||
<!-- 修改密码 -->
|
||||
<el-tab-pane :label="$t('systemManagement_UserManagement.resetPwd')" name="resetPwd">
|
||||
<resetPwd />
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
|
||||
@@ -1,17 +1,22 @@
|
||||
<template>
|
||||
<el-form ref="form" :model="user" :rules="rules" label-width="80px">
|
||||
<el-form-item label="旧密码" prop="oldPassword">
|
||||
<el-input v-model="user.oldPassword" placeholder="请输入旧密码" type="password" show-password/>
|
||||
<el-form ref="form" :model="user" :rules="rules" :label-width="$t('systemManagement_UserManagement.lblWidthPassword')">
|
||||
<!-- 旧密码 -->
|
||||
<el-form-item :label="$t('systemManagement_UserManagement.oldPassword')" prop="oldPassword">
|
||||
<el-input v-model="user.oldPassword" :placeholder="$t('systemManagement_UserManagement.placecholderOldPassword')" type="password" show-password/>
|
||||
</el-form-item>
|
||||
<el-form-item label="新密码" prop="newPassword">
|
||||
<el-input v-model="user.newPassword" placeholder="请输入新密码" type="password" show-password/>
|
||||
<!-- 新密码 -->
|
||||
<el-form-item :label="$t('systemManagement_UserManagement.newPassword')" prop="newPassword">
|
||||
<el-input v-model="user.newPassword" :placeholder="$t('systemManagement_UserManagement.placecholderNewPassword')" type="password" show-password/>
|
||||
</el-form-item>
|
||||
<el-form-item label="确认密码" prop="confirmPassword">
|
||||
<el-input v-model="user.confirmPassword" placeholder="请确认新密码" type="password" show-password/>
|
||||
<!-- 确认密码 -->
|
||||
<el-form-item :label="$t('systemManagement_UserManagement.confirmPassword')" prop="confirmPassword">
|
||||
<el-input v-model="user.confirmPassword" :placeholder="$t('systemManagement_UserManagement.placecholderConfirmPassword')" type="password" show-password/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" size="mini" @click="submit">保存</el-button>
|
||||
<el-button type="danger" size="mini" @click="close">关闭</el-button>
|
||||
<!-- 【保存】按钮 -->
|
||||
<el-button type="primary" size="mini" @click="submit">{{ $t('systemManagement_UserManagement.btnSave') }}</el-button>
|
||||
<!-- 【关闭】按钮 -->
|
||||
<el-button type="danger" size="mini" @click="close">{{ $t('systemManagement_UserManagement.btnClose') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
@@ -23,7 +28,8 @@ export default {
|
||||
data() {
|
||||
const equalToPassword = (rule, value, callback) => {
|
||||
if (this.user.newPassword !== value) {
|
||||
callback(new Error("两次输入的密码不一致"))
|
||||
// 两次输入的密码不一致
|
||||
callback(new Error(this.$t('systemManagement_UserManagement.checkPasswordIsSame')))
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
@@ -37,15 +43,20 @@ export default {
|
||||
// 表单校验
|
||||
rules: {
|
||||
oldPassword: [
|
||||
{ required: true, message: "旧密码不能为空", trigger: "blur" }
|
||||
// 旧密码不能为空
|
||||
{ required: true, message: this.$t('systemManagement_UserManagement.oldPasswordIsNull'), trigger: "blur" }
|
||||
],
|
||||
newPassword: [
|
||||
{ required: true, message: "新密码不能为空", trigger: "blur" },
|
||||
{ min: 6, max: 20, message: "长度在 6 到 20 个字符", trigger: "blur" },
|
||||
{ pattern: /^[^<>"'|\\]+$/, message: "不能包含非法字符:< > \" ' \\\ |", trigger: "blur" }
|
||||
// 新密码不能为空
|
||||
{ required: true, message: this.$t('systemManagement_UserManagement.newPasswordIsNull'), trigger: "blur" },
|
||||
// 长度在 6 到 20 个字符
|
||||
{ min: 6, max: 20, message: this.$t('systemManagement_UserManagement.passwordFormat1'), trigger: "blur" },
|
||||
// 不能包含非法字符:< > \" ' \\\ |
|
||||
{ pattern: /^[^<>"'|\\]+$/, message: this.$t('systemManagement_UserManagement.passwordFormat2'), trigger: "blur" }
|
||||
],
|
||||
confirmPassword: [
|
||||
{ required: true, message: "确认密码不能为空", trigger: "blur" },
|
||||
// 校验:确认密码不能为空
|
||||
{ required: true, message: this.$t('systemManagement_UserManagement.confirmPasswordIsNull'), trigger: "blur" },
|
||||
{ required: true, validator: equalToPassword, trigger: "blur" }
|
||||
]
|
||||
}
|
||||
@@ -56,7 +67,8 @@ export default {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
updateUserPwd(this.user.oldPassword, this.user.newPassword).then(response => {
|
||||
this.$modal.msgSuccess("修改成功")
|
||||
// 提示信息:修改成功
|
||||
this.$modal.msgSuccess(this.$t('systemManagement_UserManagement.editSuccessInfo'))
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="user-info-head" @click="editCropper()"><img v-bind:src="options.img" title="点击上传头像" class="img-circle img-lg" /></div>
|
||||
<div class="user-info-head" @click="editCropper()"><img v-bind:src="options.img" :title="$t('systemManagement_UserManagement.avatarTitle')" class="img-circle img-lg" /></div>
|
||||
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body @opened="modalOpened" @close="closeDialog">
|
||||
<el-row>
|
||||
<el-col :xs="24" :md="12" :style="{height: '350px'}">
|
||||
@@ -28,7 +28,7 @@
|
||||
<el-col :lg="2" :sm="3" :xs="3">
|
||||
<el-upload action="#" :http-request="requestUpload" :show-file-list="false" :before-upload="beforeUpload">
|
||||
<el-button size="small">
|
||||
选择
|
||||
{{ $t('systemManagement_UserManagement.btnSelect') }}
|
||||
<i class="el-icon-upload el-icon--right"></i>
|
||||
</el-button>
|
||||
</el-upload>
|
||||
@@ -46,7 +46,7 @@
|
||||
<el-button icon="el-icon-refresh-right" size="small" @click="rotateRight()"></el-button>
|
||||
</el-col>
|
||||
<el-col :lg="{span: 2, offset: 6}" :sm="2" :xs="2">
|
||||
<el-button type="primary" size="small" @click="uploadImg()">提 交</el-button>
|
||||
<el-button type="primary" size="small" @click="uploadImg()">{{ $t('systemManagement_UserManagement.btnSubmit') }}</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-dialog>
|
||||
@@ -68,7 +68,7 @@ export default {
|
||||
// 是否显示cropper
|
||||
visible: false,
|
||||
// 弹出层标题
|
||||
title: "修改头像",
|
||||
title: this.$t('systemManagement_UserManagement.updateAvatar'),
|
||||
options: {
|
||||
img: store.getters.avatar, //裁剪图片的地址
|
||||
autoCrop: true, // 是否默认生成截图框
|
||||
@@ -120,7 +120,7 @@ export default {
|
||||
// 上传预处理
|
||||
beforeUpload(file) {
|
||||
if (file.type.indexOf("image/") == -1) {
|
||||
this.$modal.msgError("文件格式错误,请上传图片类型,如:JPG,PNG后缀的文件。")
|
||||
this.$modal.msgError(this.$t('systemManagement_UserManagement.errorMessage'))
|
||||
} else {
|
||||
const reader = new FileReader()
|
||||
reader.readAsDataURL(file)
|
||||
@@ -139,7 +139,7 @@ export default {
|
||||
this.open = false
|
||||
this.options.img = process.env.VUE_APP_BASE_API + response.imgUrl
|
||||
store.commit('SET_AVATAR', this.options.img)
|
||||
this.$modal.msgSuccess("修改成功")
|
||||
this.$modal.msgSuccess(this.$t('systemManagement_UserManagement.editSuccessInfo'))
|
||||
this.visible = false
|
||||
})
|
||||
})
|
||||
|
||||
@@ -1,23 +1,29 @@
|
||||
<template>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="用户昵称" prop="nickName">
|
||||
<el-form ref="form" :model="form" :rules="rules" :label-width="$t('systemManagement_UserManagement.lblWidthDialog')">
|
||||
<!-- 用户昵称 -->
|
||||
<el-form-item :label="$t('systemManagement_UserManagement.nickName')" prop="nickName">
|
||||
<el-input v-model="form.nickName" maxlength="30" />
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号码" prop="phonenumber">
|
||||
<!-- 手机号码 -->
|
||||
<el-form-item :label="$t('systemManagement_UserManagement.phoneNumber')" prop="phonenumber">
|
||||
<el-input v-model="form.phonenumber" maxlength="11" />
|
||||
</el-form-item>
|
||||
<el-form-item label="邮箱" prop="email">
|
||||
<!-- 邮箱 -->
|
||||
<el-form-item :label="$t('systemManagement_UserManagement.email')" prop="email">
|
||||
<el-input v-model="form.email" maxlength="50" />
|
||||
</el-form-item>
|
||||
<el-form-item label="性别">
|
||||
<!-- 性别:0男 1女 -->
|
||||
<el-form-item :label="$t('systemManagement_UserManagement.gender')">
|
||||
<el-radio-group v-model="form.sex">
|
||||
<el-radio label="0">男</el-radio>
|
||||
<el-radio label="1">女</el-radio>
|
||||
<el-radio label="0">{{ $t('systemManagement_UserManagement.male') }}</el-radio>
|
||||
<el-radio label="1">{{ $t('systemManagement_UserManagement.female') }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" size="mini" @click="submit">保存</el-button>
|
||||
<el-button type="danger" size="mini" @click="close">关闭</el-button>
|
||||
<!-- 【保存】按钮 -->
|
||||
<el-button type="primary" size="mini" @click="submit">{{ $t('systemManagement_UserManagement.btnSave') }}</el-button>
|
||||
<!-- 【关闭】按钮 -->
|
||||
<el-button type="danger" size="mini" @click="close">{{ $t('systemManagement_UserManagement.btnClose') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
@@ -37,21 +43,26 @@ export default {
|
||||
// 表单校验
|
||||
rules: {
|
||||
nickName: [
|
||||
{ required: true, message: "用户昵称不能为空", trigger: "blur" }
|
||||
// 用户昵称不能为空
|
||||
{ required: true, message: this.$t('systemManagement_UserManagement.checkNickNameIsNull'), trigger: "blur" }
|
||||
],
|
||||
email: [
|
||||
{ required: true, message: "邮箱地址不能为空", trigger: "blur" },
|
||||
// 邮箱地址不能为空
|
||||
{ required: true, message: this.$t('systemManagement_UserManagement.checkEmailIsNull'), trigger: "blur" },
|
||||
{
|
||||
type: "email",
|
||||
message: "请输入正确的邮箱地址",
|
||||
// 请输入正确的邮箱地址
|
||||
message: this.$t('systemManagement_UserManagement.checkEmailFormat'),
|
||||
trigger: ["blur", "change"]
|
||||
}
|
||||
],
|
||||
phonenumber: [
|
||||
{ required: true, message: "手机号码不能为空", trigger: "blur" },
|
||||
// 手机号码不能为空
|
||||
{ required: true, message: this.$t('systemManagement_UserManagement.checkPhoneNumberIsNull'), trigger: "blur" },
|
||||
{
|
||||
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
|
||||
message: "请输入正确的手机号码",
|
||||
// 请输入正确的手机号码
|
||||
message: this.$t('systemManagement_UserManagement.checkPhoneNumberFormat'),
|
||||
trigger: "blur"
|
||||
}
|
||||
]
|
||||
@@ -73,7 +84,8 @@ export default {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
updateUserProfile(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功")
|
||||
// 提示信息:修改成功
|
||||
this.$modal.msgSuccess(this.$t('systemManagement_UserManagement.EditSuccessInfo'))
|
||||
this.user.phonenumber = this.form.phonenumber
|
||||
this.user.email = this.form.email
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user