This commit is contained in:
lai
2024-01-10 17:02:43 +08:00
17 changed files with 622 additions and 402 deletions

View File

@@ -876,10 +876,10 @@ export default {
io: 'Disk',
network: 'Network',
loadDetail: "Load Factor",
resourceUsage: "Resource utilization rate",
resourceUsage: "Usage Rate",
read: 'Read',
write: 'Write',
readWriteCount: 'Number of reads and writes',
readWriteCount: 'Read/Write Count',
count: 'Substandard',
readWriteTime: 'Read/Write Delay',
up: 'Uplink',
@@ -1243,7 +1243,7 @@ export default {
userTop:'User profile',
sex:'User Gender',
email:'E-mail',
fromClass:'DEPARTMENT',
fromClass:'Department',
userWork:'User position',
userWorkPlease: 'Please select user post',
userTip:'User Description',
@@ -1390,7 +1390,6 @@ export default {
open:'Exhibition',
close:'Fold',
addClass:'Add new sub-department',
showSort:'Show Sort',
admin:'Principal',
phone:'Contact Number',
email:'Mail',

View File

@@ -1390,7 +1390,6 @@ export default {
open:'展',
close:'折',
addClass:'新增子部门',
showSort:'显示排序',
admin:'负责人',
phone:'联系电话',
email:'邮箱',

View File

@@ -66,49 +66,49 @@ let tableColumns: ColumnsType = [
{
title: t('common.rowId'),
dataIndex: 'id',
align: 'center',
width: 2,
align: 'left',
width: 100,
},
{
title: t('views.logManage.mml.account'),
dataIndex: 'user',
align: 'center',
width: 3,
align: 'left',
width: 100,
},
{
title: t('views.logManage.mml.ip'),
dataIndex: 'ip',
align: 'center',
width: 3,
align: 'left',
width: 100,
},
{
title: t('views.logManage.mml.type'),
dataIndex: 'neType',
align: 'center',
width: 3,
align: 'left',
width: 100,
},
{
title: t('views.logManage.mml.neId'),
dataIndex: 'neId',
align: 'center',
width: 3,
align: 'left',
width: 100,
},
{
title: t('views.logManage.mml.logTime'),
dataIndex: 'logTime',
align: 'left',
width: 150,
customRender(opt) {
if (!opt.value) return '';
return parseDateToStr(opt.value);
},
},
{
title: t('views.logManage.mml.MML'),
dataIndex: 'mml',
key: 'mml',
align: 'left',
width: 5,
},
{
title: t('views.logManage.mml.logTime'),
dataIndex: 'logTime',
align: 'center',
customRender(opt) {
if (!opt.value) return '';
return parseDateToStr(opt.value);
},
width: 3,
width: 200,
},
];
@@ -149,7 +149,7 @@ function fnTableSize({ key }: MenuInfo) {
function fnGetList(pageNum?: number) {
if (tableState.loading) return;
tableState.loading = true;
if(pageNum){
if (pageNum) {
queryParams.pageNum = pageNum;
}
if (!queryRangePicker.value) {
@@ -183,7 +183,10 @@ onMounted(() => {
<a-form :model="queryParams" name="queryParams" layout="horizontal">
<a-row :gutter="16">
<a-col :lg="6" :md="12" :xs="24">
<a-form-item :label="t('views.logManage.mml.account')" name="accountName">
<a-form-item
:label="t('views.logManage.mml.account')"
name="accountName"
>
<a-input
v-model:value="queryParams.accountName"
:allow-clear="true"
@@ -191,7 +194,10 @@ onMounted(() => {
</a-form-item>
</a-col>
<a-col :lg="8" :md="12" :xs="24">
<a-form-item :label="t('views.logManage.mml.logTime')" name="queryRangePicker">
<a-form-item
:label="t('views.logManage.mml.logTime')"
name="queryRangePicker"
>
<a-range-picker
v-model:value="queryRangePicker"
allow-clear
@@ -280,7 +286,7 @@ onMounted(() => {
:data-source="tableState.data"
:size="tableState.size"
:pagination="tablePagination"
:scroll="{ x: 1000, y: 400 }"
:scroll="{ x: tableColumns.length * 100 }"
>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'mml'">
@@ -300,7 +306,7 @@ onMounted(() => {
padding: 0 24px;
}
.mmlText {
// max-width: 800px; sdf
// max-width: 800px; sdf
cursor: pointer;
}
</style>

View File

@@ -86,7 +86,7 @@ let cacheKeyTableColumns: ColumnsType = [
/**键名列表表格数据 */
let cacheKeyTable = reactive({
loading: true,
loading: false,
data: [],
/**当前键名列表的缓存名称 */
cacheName: '',
@@ -309,7 +309,7 @@ onMounted(() => {
:columns="cacheNameTableColumns"
:data-source="cacheNameTable.data"
:loading="cacheNameTable.loading"
:scroll="{ y: 1200 }"
:scroll="{ y: 'calc(100vh - 350px)' }"
:pagination="false"
:row-selection="{
type: 'radio',
@@ -396,7 +396,7 @@ onMounted(() => {
:columns="cacheKeyTableColumns"
:data-source="cacheKeyTable.data"
:loading="cacheKeyTable.loading"
:scroll="{ y: 1200 }"
:scroll="{ y: 'calc(100vh - 350px)' }"
:pagination="false"
:row-selection="{
type: 'radio',
@@ -484,7 +484,7 @@ onMounted(() => {
<a-typography-paragraph>
<a-textarea
:value="cacheKeyInfo.data.cacheValue"
:auto-size="{ minRows: 4, maxRows: 10 }"
:auto-size="{ minRows: 4, maxRows: 20 }"
:maxlength="4000"
:disabled="true"
/>

View File

@@ -109,39 +109,45 @@ let tableColumns: ColumnsType = [
title: t('views.monitor.job.jobName'),
dataIndex: 'jobName',
align: 'left',
width: 200,
},
{
title: t('views.monitor.job.jobGroup'),
dataIndex: 'jobGroup',
key: 'jobGroup',
align: 'center',
width: 100,
},
{
title: t('views.monitor.job.invokeTarget'),
dataIndex: 'invokeTarget',
align: 'left',
width: 100,
},
{
title: t('views.monitor.job.cronExpression'),
dataIndex: 'cronExpression',
align: 'left',
width: 100,
},
{
title: t('views.monitor.job.status'),
dataIndex: 'status',
key: 'status',
align: 'center',
width: 100,
},
{
title: t('views.monitor.job.saveLog'),
dataIndex: 'saveLog',
key: 'saveLog',
align: 'center',
width: 100,
},
{
title: t('common.operate'),
key: 'jobId',
align: 'center',
align: 'left',
},
];
@@ -756,7 +762,7 @@ onMounted(() => {
:size="tableState.size"
:row-class-name="fnTableStriped"
:pagination="tablePagination"
:scroll="{ x: true }"
:scroll="{ x: tableColumns.length * 120 }"
:row-selection="{
type: 'checkbox',
selectedRowKeys: tableState.selectedRowKeys,
@@ -769,16 +775,15 @@ onMounted(() => {
</template>
<template v-if="column.key === 'status'">
<a-switch
v-if="hasPermissions(['monitor:job:changeStatus'])"
v-if="
dict.sysJobStatus.length > 0 &&
hasPermissions(['monitor:job:changeStatus'])
"
v-model:checked="record.status"
checked-value="1"
:checked-children="
dict.sysJobStatus.find(s => s.value === '1')?.label
"
:checked-children="dict.sysJobStatus[0].label"
un-checked-value="0"
:un-checked-children="
dict.sysJobStatus.find(s => s.value === '0')?.label
"
:un-checked-children="dict.sysJobStatus[1].label"
size="small"
@change="fnRecordStatus(record)"
/>
@@ -856,7 +861,7 @@ onMounted(() => {
:title="modalState.title"
@cancel="fnModalCancel"
>
<a-form layout="horizontal">
<a-form layout="horizontal" :label-col="{ span: 6 }" :label-wrap="true">
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.monitor.job.jobName')" name="jobName">
@@ -871,33 +876,6 @@ onMounted(() => {
}}
</a-form-item>
</a-col>
<a-col :lg="6" :md="6" :xs="24" v-if="false">
<a-form-item
:label="t('views.monitor.job.misfirePolicy')"
name="misfirePolicy"
>
{{
[
t('views.monitor.job.misfirePolicy1'),
t('views.monitor.job.misfirePolicy2'),
t('views.monitor.job.misfirePolicy3'),
][+modalState.from.misfirePolicy - 1]
}}
</a-form-item>
</a-col>
<a-col :lg="6" :md="6" :xs="24" v-if="false">
<a-form-item
:label="t('views.monitor.job.concurrent')"
name="concurrent"
>
{{
[
t('views.monitor.job.concurrent0'),
t('views.monitor.job.concurrent1'),
][+modalState.from.concurrent]
}}
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
@@ -946,6 +924,8 @@ onMounted(() => {
<a-form-item
:label="t('views.monitor.job.createTime')"
name="createTime"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<span v-if="+modalState.from.createTime > 0">
{{ parseDateToStr(+modalState.from.createTime) }}
@@ -955,12 +935,27 @@ onMounted(() => {
<a-form-item
:label="t('views.monitor.job.targetParams')"
name="targetParams"
:label-col="{ span: 3 }"
:label-wrap="true"
>
{{ modalState.from.targetParams }}
<a-textarea
v-model:value="modalState.from.targetParams"
:auto-size="{ minRows: 2, maxRows: 6 }"
:disabled="true"
/>
</a-form-item>
<a-form-item :label="t('views.monitor.job.remark')" name="remark">
{{ modalState.from.remark }}
<a-form-item
:label="t('views.monitor.job.remark')"
name="remark"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-textarea
v-model:value="modalState.from.remark"
:auto-size="{ minRows: 2, maxRows: 6 }"
:disabled="true"
/>
</a-form-item>
</a-form>
<template #footer>
@@ -981,7 +976,12 @@ onMounted(() => {
@ok="fnModalOk"
@cancel="fnModalCancel"
>
<a-form name="modalStateFrom" layout="horizontal">
<a-form
name="modalStateFrom"
layout="horizontal"
:label-col="{ span: 6 }"
:label-wrap="true"
>
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
@@ -1007,74 +1007,9 @@ onMounted(() => {
</a-select>
</a-form-item>
</a-col>
<a-col :lg="6" :md="6" :xs="24" v-if="false">
<a-form-item
:label="t('views.monitor.job.misfirePolicy')"
name="misfirePolicy"
>
<a-select
:disabled="true"
v-model:value="modalState.from.misfirePolicy"
default-value="3"
:placeholder="t('common.selectPlease')"
>
<a-select-option key="1" value="1">
{{ t('views.monitor.job.misfirePolicy1') }}
</a-select-option>
<a-select-option key="2" value="2">
{{ t('views.monitor.job.misfirePolicy2') }}
</a-select-option>
<a-select-option key="3" value="3">
{{ t('views.monitor.job.misfirePolicy3') }}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :lg="6" :md="6" :xs="24" v-if="false">
<a-form-item
:label="t('views.monitor.job.concurrent')"
name="concurrent"
>
<a-select
:disabled="true"
v-model:value="modalState.from.concurrent"
default-value="0"
:placeholder="t('common.selectPlease')"
>
<a-select-option key="1" value="1">
{{ t('views.monitor.job.concurrent1') }}
</a-select-option>
<a-select-option key="0" value="0">
{{ t('views.monitor.job.concurrent0') }}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.monitor.job.invokeTarget')"
name="invokeTarget"
v-bind="modalStateFrom.validateInfos.invokeTarget"
>
<a-input
v-model:value="modalState.from.invokeTarget"
allow-clear
:placeholder="t('views.monitor.job.invokeTargetPlease')"
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
<div>{{ t('views.monitor.job.invokeTargetTip') }}</div>
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
</template>
</a-input>
</a-form-item>
</a-col>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.monitor.job.jobGroup')"
@@ -1089,46 +1024,7 @@ onMounted(() => {
</a-select>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-col :lg="16" :md="16" :xs="24">
<a-form-item
:label="t('views.monitor.job.cronExpression')"
name="cronExpression"
:label-col="{ span: 4 }"
v-bind="modalStateFrom.validateInfos.cronExpression"
>
<a-input
v-model:value="modalState.from.cronExpression"
allow-clear
:placeholder="t('views.monitor.job.cronExpressionPlease')"
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
<div>
{{ t('views.monitor.job.cronExpressionTip') }}<br />
{{ t('views.monitor.job.cronExpressionTip1') }}
</div>
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
</template>
<template #addonAfter>
<a-button
type="text"
size="small"
@click.prevent="fnModalCron(true)"
>
<template #icon><FieldTimeOutlined /></template>
{{ t('views.monitor.job.cronExpressionNew') }}
</a-button>
</template>
</a-input>
</a-form-item>
</a-col>
<a-col :lg="8" :md="8" :xs="24">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.monitor.job.saveLog')" name="saveLog">
<a-select
v-model:value="modalState.from.saveLog"
@@ -1141,10 +1037,70 @@ onMounted(() => {
</a-col>
</a-row>
<a-form-item
:label="t('views.monitor.job.invokeTarget')"
name="invokeTarget"
v-bind="modalStateFrom.validateInfos.invokeTarget"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-input
v-model:value="modalState.from.invokeTarget"
allow-clear
:placeholder="t('views.monitor.job.invokeTargetPlease')"
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
<div>{{ t('views.monitor.job.invokeTargetTip') }}</div>
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
</template>
</a-input>
</a-form-item>
<a-form-item
:label="t('views.monitor.job.cronExpression')"
name="cronExpression"
v-bind="modalStateFrom.validateInfos.cronExpression"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-input
v-model:value="modalState.from.cronExpression"
allow-clear
:placeholder="t('views.monitor.job.cronExpressionPlease')"
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
<div>
{{ t('views.monitor.job.cronExpressionTip') }}<br />
{{ t('views.monitor.job.cronExpressionTip1') }}
</div>
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
</a-tooltip>
</template>
<template #addonAfter>
<a-button
type="text"
size="small"
@click.prevent="fnModalCron(true)"
>
<template #icon><FieldTimeOutlined /></template>
{{ t('views.monitor.job.cronExpressionNew') }}
</a-button>
</template>
</a-input>
</a-form-item>
<a-form-item
:label="t('views.monitor.job.targetParams')"
name="targetParams"
:label-col="{ span: 4 }"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-textarea
v-model:value="modalState.from.targetParams"
@@ -1157,7 +1113,8 @@ onMounted(() => {
<a-form-item
:label="t('views.monitor.job.remark')"
name="remark"
:label-col="{ span: 4 }"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-textarea
v-model:value="modalState.from.remark"

View File

@@ -44,6 +44,8 @@ let queryRangePicker = ref<[string, string]>(['', '']);
/**查询参数 */
let queryParams = reactive({
/**任务ID */
jobId: '',
/**任务名称 */
jobName: '',
/**任务组名 */
@@ -72,6 +74,7 @@ function fnQueryReset() {
});
} else {
queryParams = Object.assign(queryParams, {
jobId: '',
jobName: '',
jobGroup: undefined,
status: undefined,
@@ -124,28 +127,33 @@ let tableColumns: ColumnsType = [
title: t('views.monitor.jobLog.jobName'),
dataIndex: 'jobName',
align: 'left',
width: 200,
},
{
title: t('views.monitor.jobLog.jobGroup'),
dataIndex: 'jobGroup',
key: 'jobGroup',
align: 'center',
width: 100,
},
{
title: t('views.monitor.jobLog.invokeTarget'),
dataIndex: 'invokeTarget',
align: 'left',
width: 100,
},
{
title: t('views.monitor.jobLog.status'),
dataIndex: 'status',
key: 'status',
align: 'center',
width: 100,
},
{
title: t('views.monitor.jobLog.createTime'),
dataIndex: 'createTime',
align: 'center',
width: 150,
customRender(opt) {
if (+opt.value <= 0) return '';
return parseDateToStr(+opt.value);
@@ -155,7 +163,8 @@ let tableColumns: ColumnsType = [
title: t('views.monitor.jobLog.costTime'),
dataIndex: 'costTime',
key: 'costTime',
align: 'center',
align: 'right',
width: 100,
customRender(opt) {
return `${opt.value} ms`;
},
@@ -163,7 +172,7 @@ let tableColumns: ColumnsType = [
{
title: t('common.operate'),
key: 'jobLogId',
align: 'center',
align: 'left',
},
];
@@ -393,6 +402,7 @@ onMounted(() => {
if (jobId && jobId !== '0') {
getJob(jobId).then(res => {
if (res.code === RESULT_CODE_SUCCESS) {
queryParams.jobId = res.data.jobId;
queryParams.jobName = res.data.jobName;
queryParams.jobGroup = res.data.jobGroup;
fnGetList();
@@ -415,14 +425,13 @@ onMounted(() => {
<!-- 表格搜索栏 -->
<a-form :model="queryParams" name="queryParams" layout="horizontal">
<a-row :gutter="16">
<a-col :lg="6" :md="12" :xs="24">
<a-col :lg="6" :md="12" :xs="24" v-if="jobId !== '0'">
<a-form-item
:label="t('views.monitor.jobLog.jobName')"
name="jobName"
>
<a-input
v-model:value="queryParams.jobName"
:allow-clear="jobId === '0'"
:disabled="jobId !== '0'"
:placeholder="t('common.inputPlease')"
></a-input>
@@ -589,7 +598,7 @@ onMounted(() => {
:data-source="tableState.data"
:size="tableState.size"
:row-class-name="fnTableStriped"
:scroll="{ x: true }"
:scroll="{ x: tableColumns.length * 120 }"
:pagination="tablePagination"
:row-selection="{
type: 'checkbox',
@@ -636,7 +645,7 @@ onMounted(() => {
:title="modalState.title"
@cancel="fnModalCancel"
>
<a-form layout="horizontal">
<a-form layout="horizontal" :label-col="{ span: 6 }" :label-wrap="true">
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('common.rowId')" name="jobLogId">
@@ -703,6 +712,8 @@ onMounted(() => {
<a-form-item
:label="t('views.monitor.jobLog.targetParams')"
name="targetParams"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-textarea
v-model:value="modalState.from.targetParams"
@@ -710,7 +721,12 @@ onMounted(() => {
:disabled="true"
/>
</a-form-item>
<a-form-item :label="t('views.monitor.jobLog.jobMsg')" name="jobMsg">
<a-form-item
:label="t('views.monitor.jobLog.jobMsg')"
name="jobMsg"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-textarea
v-model:value="modalState.from.jobMsg"
:auto-size="{ minRows: 2, maxRows: 6 }"

View File

@@ -291,7 +291,7 @@ onMounted(() => {
:size="tableState.size"
:row-class-name="fnTableStriped"
:pagination="tablePagination"
:scroll="{ y: 450 }"
:scroll="{ y: 'calc(100vh - 480px)' }"
>
</a-table>
</a-card>

View File

@@ -99,33 +99,38 @@ let tableColumns: ColumnsType = [
{
title: t('common.rowId'),
dataIndex: 'configId',
align: 'center',
align: 'left',
},
{
title: t('views.system.config.configName'),
dataIndex: 'configName',
align: 'left',
width: 200,
},
{
title: t('views.system.config.configKey'),
dataIndex: 'configKey',
align: 'left',
width: 200,
},
{
title: t('views.system.config.configValue'),
dataIndex: 'configValue',
align: 'left',
width: 200,
},
{
title: t('views.system.config.configType'),
dataIndex: 'configType',
key: 'configType',
align: 'center',
width: 100,
},
{
title: t('views.system.config.createTime'),
dataIndex: 'createTime',
align: 'center',
width: 150,
customRender(opt) {
if (+opt.value <= 0) return '';
return parseDateToStr(+opt.value);
@@ -134,7 +139,7 @@ let tableColumns: ColumnsType = [
{
title: t('common.operate'),
key: 'configId',
align: 'center',
align: 'left',
},
];
@@ -655,7 +660,7 @@ onMounted(() => {
:size="tableState.size"
:row-class-name="fnTableStriped"
:pagination="tablePagination"
:scroll="{ x: true }"
:scroll="{ x: tableColumns.length * 120 }"
:row-selection="{
type: 'checkbox',
selectedRowKeys: tableState.selectedRowKeys,
@@ -711,7 +716,7 @@ onMounted(() => {
:title="modalState.title"
@cancel="fnModalCancel"
>
<a-form layout="horizontal">
<a-form layout="horizontal" :label-col="{ span: 6 }" :label-wrap="true">
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
@@ -751,8 +756,17 @@ onMounted(() => {
</a-form-item>
</a-col>
</a-row>
<a-form-item :label="t('views.system.config.remark')" name="remark">
{{ modalState.from.remark }}
<a-form-item
:label="t('views.system.config.remark')"
name="remark"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-textarea
v-model:value="modalState.from.remark"
:auto-size="{ minRows: 2, maxRows: 6 }"
:disabled="true"
/>
</a-form-item>
</a-form>
<template #footer>
@@ -773,7 +787,12 @@ onMounted(() => {
@ok="fnModalOk"
@cancel="fnModalCancel"
>
<a-form name="modalStateFrom" layout="horizontal">
<a-form
name="modalStateFrom"
layout="horizontal"
:label-col="{ span: 6 }"
:label-wrap="true"
>
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
@@ -833,7 +852,12 @@ onMounted(() => {
</a-col>
</a-row>
<a-form-item :label="t('views.system.config.remark')" name="remark">
<a-form-item
:label="t('views.system.config.remark')"
name="remark"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-textarea
v-model:value="modalState.from.remark"
:auto-size="{ minRows: 4, maxRows: 6 }"

View File

@@ -84,28 +84,33 @@ let tableColumns: ColumnsType = [
{
title: t('views.system.dept.className'),
dataIndex: 'deptName',
align: 'center',
align: 'left',
width: 300,
},
{
title: t('views.system.dept.classId'),
dataIndex: 'deptId',
align: 'center',
align: 'left',
width: 150,
},
{
title: t('views.system.dept.className'),
title: t('views.system.dept.classSort'),
dataIndex: 'orderNum',
align: 'center',
align: 'left',
width: 200,
},
{
title: t('views.system.dept.status'),
dataIndex: 'status',
key: 'status',
align: 'center',
width: 150,
},
{
title: t('views.system.dept.createTime'),
dataIndex: 'createTime',
align: 'center',
width: 150,
customRender(opt) {
if (+opt.value <= 0) return '';
return parseDateToStr(+opt.value);
@@ -114,7 +119,7 @@ let tableColumns: ColumnsType = [
{
title: t('common.operate'),
key: 'deptId',
align: 'center',
align: 'left',
},
];
@@ -553,7 +558,7 @@ onMounted(() => {
:size="tableState.size"
:row-class-name="fnTableStriped"
:pagination="false"
:scroll="{ x: true }"
:scroll="{ x: tableColumns.length * 120 }"
children-column-name="children"
:expanded-row-keys="tableState.expandedRowKeys"
@expandedRowsChange="fnTableExpandedRowsChange"
@@ -594,7 +599,7 @@ onMounted(() => {
<template #icon><DeleteOutlined /></template>
</a-button>
</a-tooltip>
<a-tooltip v-if="record.status !== '0'">
<a-tooltip placement="topRight" v-if="record.status !== '0'">
<template #title>{{
t('views.system.dept.addClass')
}}</template>
@@ -653,7 +658,7 @@ onMounted(() => {
</a-col>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.dept.showSort')"
:label="t('views.system.dept.classSort')"
name="orderNum"
>
{{ modalState.from.orderNum }}
@@ -727,6 +732,8 @@ onMounted(() => {
:label="t('views.system.dept.highClass')"
name="parentId"
v-bind="modalStateFrom.validateInfos.parentId"
:label-col="{ span: 3 }"
:labelWrap="true"
>
<a-tree-select
v-model:value="modalState.from.parentId"
@@ -750,6 +757,8 @@ onMounted(() => {
:label="t('views.system.dept.className')"
name="deptName"
v-bind="modalStateFrom.validateInfos.deptName"
:label-col="{ span: 3 }"
:labelWrap="true"
>
<a-input
v-model:value="modalState.from.deptName"
@@ -771,7 +780,7 @@ onMounted(() => {
</a-col>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.dept.showSort')"
:label="t('views.system.dept.classSort')"
name="orderNum"
>
<a-input-number

View File

@@ -148,32 +148,38 @@ let tableColumns: ColumnsType = [
title: t('views.system.dictData.dictCode'),
dataIndex: 'dictCode',
align: 'left',
width: 100,
},
{
title: t('views.system.dictData.dictLabel'),
dataIndex: 'dictLabel',
align: 'left',
width: 200,
},
{
title: t('views.system.dictData.dictValue'),
dataIndex: 'dictValue',
align: 'left',
width: 200,
},
{
title: t('views.system.dictData.dictSort'),
dataIndex: 'dictSort',
align: 'left',
width: 100,
},
{
title: t('views.system.dictData.status'),
dataIndex: 'status',
key: 'status',
align: 'left',
width: 100,
},
{
title: t('views.system.dictData.createTime'),
dataIndex: 'createTime',
align: 'left',
width: 150,
customRender(opt) {
if (+opt.value <= 0) return '';
return parseDateToStr(+opt.value);
@@ -182,7 +188,7 @@ let tableColumns: ColumnsType = [
{
title: t('common.operate'),
key: 'dictCode',
align: 'center',
align: 'left',
},
];
@@ -513,14 +519,13 @@ onMounted(() => {
<!-- 表格搜索栏 -->
<a-form :model="queryParams" name="queryParams" layout="horizontal">
<a-row :gutter="16">
<a-col :lg="6" :md="12" :xs="24">
<a-col :lg="6" :md="12" :xs="24" v-if="dictId !== '0'">
<a-form-item
:label="t('views.system.dictData.dictType')"
name="dictType"
>
<a-select
v-model:value="queryParams.dictType"
:allow-clear="dictId === '0'"
:disabled="dictId !== '0'"
:placeholder="t('common.selectPlease')"
:options="dict.sysDictType"
@@ -672,7 +677,7 @@ onMounted(() => {
:data-source="tableState.data"
:size="tableState.size"
:row-class-name="fnTableStriped"
:scroll="{ x: true }"
:scroll="{ x: tableColumns.length * 120 }"
:pagination="tablePagination"
:row-selection="{
type: 'checkbox',
@@ -729,7 +734,7 @@ onMounted(() => {
:title="modalState.title"
@cancel="fnModalCancel"
>
<a-form layout="horizontal">
<a-form layout="horizontal" :label-col="{ span: 6 }" :label-wrap="true">
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
@@ -835,8 +840,17 @@ onMounted(() => {
</a-form-item>
</a-col>
</a-row>
<a-form-item :label="t('views.system.dictData.remark')" name="remark">
{{ modalState.from.remark }}
<a-form-item
:label="t('views.system.dictData.remark')"
name="remark"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-textarea
v-model:value="modalState.from.remark"
:auto-size="{ minRows: 2, maxRows: 6 }"
:disabled="true"
/>
</a-form-item>
</a-form>
<template #footer>
@@ -857,7 +871,12 @@ onMounted(() => {
@ok="fnModalOk"
@cancel="fnModalCancel"
>
<a-form name="modalStateFrom" layout="horizontal">
<a-form
name="modalStateFrom"
layout="horizontal"
:label-col="{ span: 6 }"
:label-wrap="true"
>
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
@@ -934,6 +953,7 @@ onMounted(() => {
type="color"
allow-clear
:placeholder="t('common.inputPlease')"
size="small"
></a-input>
</a-form-item>
</a-col>
@@ -979,7 +999,12 @@ onMounted(() => {
</a-form-item>
</a-col>
</a-row>
<a-form-item :label="t('views.system.dictData.remark')" name="remark">
<a-form-item
:label="t('views.system.dictData.remark')"
name="remark"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-textarea
v-model:value="modalState.from.remark"
:auto-size="{ minRows: 4, maxRows: 6 }"

View File

@@ -104,28 +104,32 @@ let tableColumns: ColumnsType = [
{
title: t('views.system.dict.dictId'),
dataIndex: 'dictId',
align: 'center',
align: 'left',
},
{
title: t('views.system.dict.dictName'),
dataIndex: 'dictName',
align: 'left',
width: 200,
},
{
title: t('views.system.dict.dictType'),
dataIndex: 'dictType',
align: 'left',
width: 200,
},
{
title: t('views.system.dict.dictSatus'),
dataIndex: 'status',
key: 'status',
align: 'center',
width: 100,
},
{
title: t('views.system.dict.createTime'),
dataIndex: 'createTime',
align: 'center',
width: 150,
customRender(opt) {
if (+opt.value <= 0) return '';
return parseDateToStr(+opt.value);
@@ -134,7 +138,7 @@ let tableColumns: ColumnsType = [
{
title: t('common.operate'),
key: 'dictId',
align: 'center',
align: 'left',
},
];
@@ -347,7 +351,7 @@ function fnRecordDelete(dictId: string = '0') {
}
Modal.confirm({
title: t('common.tipTitle'),
content: t('views.system.dict.dictType', { dictId }),
content: t('views.system.dict.delSure', { dictId }),
onOk() {
const key = 'delType';
message.loading({ content: t('common.loading'), key });
@@ -663,7 +667,7 @@ onMounted(() => {
:size="tableState.size"
:row-class-name="fnTableStriped"
:pagination="tablePagination"
:scroll="{ x: true }"
:scroll="{ x: tableColumns.length * 120 }"
:row-selection="{
type: 'checkbox',
selectedRowKeys: tableState.selectedRowKeys,
@@ -731,33 +735,28 @@ onMounted(() => {
:title="modalState.title"
@cancel="fnModalCancel"
>
<a-form layout="horizontal">
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.dict.dictId')" name="dictId">
{{ modalState.from.dictId }}
</a-form-item>
</a-col>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.dict.dictSatus')"
name="status"
>
<DictTag
:options="dict.sysNormalDisable"
:value="modalState.from.status"
/>
</a-form-item>
</a-col>
</a-row>
<a-form layout="horizontal" :label-col="{ span: 3 }" :label-wrap="true">
<a-form-item :label="t('views.system.dict.dictId')" name="dictId">
{{ modalState.from.dictId }}
</a-form-item>
<a-form-item :label="t('views.system.dict.dictName')" name="dictName">
{{ modalState.from.dictName }}
</a-form-item>
<a-form-item :label="t('views.system.dict.dictType')" name="dictType">
{{ modalState.from.dictType }}
</a-form-item>
<a-form-item :label="t('views.system.dict.dictSatus')" name="status">
<DictTag
:options="dict.sysNormalDisable"
:value="modalState.from.status"
/>
</a-form-item>
<a-form-item :label="t('views.system.dict.mark')" name="remark">
{{ modalState.from.remark }}
<a-textarea
v-model:value="modalState.from.remark"
:auto-size="{ minRows: 2, maxRows: 6 }"
:disabled="true"
/>
</a-form-item>
</a-form>
<template #footer>
@@ -778,46 +777,40 @@ onMounted(() => {
@ok="fnModalOk"
@cancel="fnModalCancel"
>
<a-form name="modalStateFrom" layout="horizontal">
<a-row :gutter="16">
<a-col :lg="18" :md="18" :xs="24">
<a-form-item
:label="t('views.system.dict.dictName')"
name="dictName"
v-bind="modalStateFrom.validateInfos.dictName"
>
<a-input
v-model:value="modalState.from.dictName"
allow-clear
></a-input>
</a-form-item>
</a-col>
<a-col :lg="6" :md="6" :xs="24">
<a-form-item
:label="t('views.system.dict.dictSatus')"
name="status"
>
<a-select
v-model:value="modalState.from.status"
default-value="0"
:options="dict.sysNormalDisable"
>
</a-select>
</a-form-item>
</a-col>
<a-col :lg="18" :md="18" :xs="24">
<a-form-item
:label="t('views.system.dict.dictType')"
name="dictType"
v-bind="modalStateFrom.validateInfos.dictType"
>
<a-input
v-model:value="modalState.from.dictType"
allow-clear
></a-input>
</a-form-item>
</a-col>
</a-row>
<a-form
name="modalStateFrom"
layout="horizontal"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-form-item
:label="t('views.system.dict.dictName')"
name="dictName"
v-bind="modalStateFrom.validateInfos.dictName"
>
<a-input
v-model:value="modalState.from.dictName"
allow-clear
></a-input>
</a-form-item>
<a-form-item
:label="t('views.system.dict.dictType')"
name="dictType"
v-bind="modalStateFrom.validateInfos.dictType"
>
<a-input
v-model:value="modalState.from.dictType"
allow-clear
></a-input>
</a-form-item>
<a-form-item :label="t('views.system.dict.dictSatus')" name="status">
<a-select
v-model:value="modalState.from.status"
default-value="0"
:options="dict.sysNormalDisable"
>
</a-select>
</a-form-item>
<a-form-item :label="t('views.system.dict.mark')" name="remark">
<a-textarea

View File

@@ -100,53 +100,62 @@ let tableColumns: ColumnsType = [
{
title: t('views.system.log.login.operId'),
dataIndex: 'loginId',
align: 'center',
align: 'left',
width: 100,
},
{
title: t('views.system.log.login.account'),
dataIndex: 'userName',
align: 'center',
align: 'left',
width: 150,
},
{
title: t('views.system.log.login.loginIp'),
dataIndex: 'ipaddr',
align: 'center',
align: 'left',
width: 150,
},
{
title: t('views.system.log.login.loginLoc'),
dataIndex: 'loginLocation',
align: 'center',
align: 'left',
width: 150,
},
{
title: t('views.system.log.login.os'),
dataIndex: 'os',
align: 'center',
align: 'left',
width: 200,
},
{
title: t('views.system.log.login.browser'),
dataIndex: 'browser',
align: 'center',
align: 'left',
width: 200,
},
{
title: t('views.system.log.login.status'),
dataIndex: 'status',
key: 'status',
align: 'center',
},
{
title: t('views.system.log.login.info'),
dataIndex: 'msg',
align: 'center',
},
width: 100,
},
{
title: t('views.system.log.login.loginTime'),
dataIndex: 'loginTime',
align: 'center',
width: 200,
customRender(opt) {
if (+opt.value <= 0) return '';
return parseDateToStr(+opt.value);
},
},
{
title: t('views.system.log.login.info'),
dataIndex: 'msg',
align: 'left',
width: 200,
},
];
/**表格分页器参数 */
@@ -541,7 +550,7 @@ onMounted(() => {
:data-source="tableState.data"
:size="tableState.size"
:row-class-name="fnTableStriped"
:scroll="{ x: true }"
:scroll="{ x: tableColumns.length * 150 }"
:pagination="tablePagination"
:row-selection="{
type: 'checkbox',

View File

@@ -103,43 +103,51 @@ let tableColumns: ColumnsType = [
title: t('views.system.log.operate.operId'),
dataIndex: 'operId',
align: 'center',
width: 100,
},
{
title: t('views.system.log.operate.moduleName'),
dataIndex: 'title',
align: 'center',
align: 'left',
width: 200,
},
{
title: t('views.system.log.operate.workType'),
dataIndex: 'businessType',
key: 'businessType',
align: 'center',
align: 'left',
width: 120,
},
{
title: t('views.system.log.operate.operUser'),
dataIndex: 'operName',
align: 'center',
align: 'left',
width: 120,
},
{
title: t('views.system.log.operate.requestMe'),
dataIndex: 'requestMethod',
align: 'center',
align: 'left',
width: 150,
},
{
title: t('views.system.log.operate.host'),
dataIndex: 'operIp',
align: 'center',
width: 150,
},
{
title: t('views.system.log.operate.operStatus'),
dataIndex: 'status',
key: 'status',
align: 'center',
width: 150,
},
{
title: t('views.system.log.operate.operDate'),
dataIndex: 'operTime',
align: 'center',
width: 150,
customRender(opt) {
if (+opt.value <= 0) return '';
return parseDateToStr(+opt.value);
@@ -149,7 +157,8 @@ let tableColumns: ColumnsType = [
title: t('views.system.log.operate.useTime'),
dataIndex: 'costTime',
key: 'costTime',
align: 'center',
align: 'right',
width: 150,
customRender(opt) {
return `${opt.value} ms`;
},
@@ -157,7 +166,7 @@ let tableColumns: ColumnsType = [
{
title: t('common.operate'),
key: 'operId',
align: 'center',
align: 'left',
},
];
@@ -568,7 +577,7 @@ onMounted(() => {
:data-source="tableState.data"
:size="tableState.size"
:row-class-name="fnTableStriped"
:scroll="{ x: true }"
:scroll="{ x: tableColumns.length * 150 }"
:pagination="tablePagination"
:row-selection="{
type: 'checkbox',
@@ -611,24 +620,38 @@ onMounted(() => {
:title="modalState.title"
@cancel="fnModalCancel"
>
<a-form layout="horizontal">
<a-form layout="horizontal" :label-col="{ span: 6 }" :label-wrap="true">
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.log.operate.operId')" name="operId">
<a-form-item
:label="t('views.system.log.operate.operId')"
name="operId"
>
{{ modalState.from.operId }}
</a-form-item>
</a-col>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.log.operate.operStatus')" name="status">
<a-form-item
:label="t('views.system.log.operate.operStatus')"
name="status"
>
<a-tag :color="+modalState.from.status ? 'success' : 'error'">
{{ [t('views.system.log.operate.fail'),t('views.system.log.operate.suss')][+modalState.from.status] }}
{{
[
t('views.system.log.operate.fail'),
t('views.system.log.operate.suss'),
][+modalState.from.status]
}}
</a-tag>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.log.operate.workType')" name="businessType">
<a-form-item
:label="t('views.system.log.operate.workType')"
name="businessType"
>
{{ modalState.from.title }} /
<DictTag
:options="dict.sysBusinessType"
@@ -637,7 +660,10 @@ onMounted(() => {
</a-form-item>
</a-col>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.log.operate.operUser')" name="operName">
<a-form-item
:label="t('views.system.log.operate.operUser')"
name="operName"
>
{{ modalState.from.operName }} / {{ modalState.from.operIp }} /
{{ modalState.from.operLocation }}
</a-form-item>
@@ -645,13 +671,19 @@ onMounted(() => {
</a-row>
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.log.operate.RequestIp')" name="operUrl">
<a-form-item
:label="t('views.system.log.operate.RequestIp')"
name="operUrl"
>
{{ modalState.from.requestMethod }} -
{{ modalState.from.operUrl }}
</a-form-item>
</a-col>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.log.operate.operTime')" name="operTime">
<a-form-item
:label="t('views.system.log.operate.operTime')"
name="operTime"
>
<span v-if="+modalState.from.operTime > 0">
{{ parseDateToStr(+modalState.from.operTime) }}
</span>
@@ -660,24 +692,40 @@ onMounted(() => {
</a-row>
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.log.operate.useTime')" name="costTime">
<a-form-item
:label="t('views.system.log.operate.useTime')"
name="costTime"
>
{{ modalState.from.costTime }} ms
</a-form-item>
</a-col>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.log.operate.operMe')" name="method">
<!-- <a-form-item
:label="t('views.system.log.operate.operMe')"
name="method"
>
{{ modalState.from.method }}
</a-form-item>
</a-form-item> -->
</a-col>
</a-row>
<a-form-item :label="t('views.system.log.operate.reqParam')" name="operParam">
<a-form-item
:label="t('views.system.log.operate.reqParam')"
name="operParam"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-textarea
v-model:value="modalState.from.operParam"
:auto-size="{ minRows: 2, maxRows: 6 }"
:disabled="true"
/>
</a-form-item>
<a-form-item :label="t('views.system.log.operate.operInfo')" name="operMsg">
<a-form-item
:label="t('views.system.log.operate.operInfo')"
name="operMsg"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-textarea
v-model:value="modalState.from.operMsg"
:auto-size="{ minRows: 2, maxRows: 6 }"
@@ -686,7 +734,9 @@ onMounted(() => {
</a-form-item>
</a-form>
<template #footer>
<a-button key="cancel" @click="fnModalCancel">{{t('common.cancel')}}</a-button>
<a-button key="cancel" @click="fnModalCancel">
{{ t('common.cancel') }}
</a-button>
</template>
</a-modal>
</PageContainer>

View File

@@ -97,49 +97,58 @@ let tableColumns: ColumnsType = [
title: t('views.system.menu.menuName'),
dataIndex: 'menuName',
align: 'left',
width: 200,
},
{
title: t('views.system.menu.menuId'),
dataIndex: 'menuId',
align: 'center',
align: 'left',
width: 120,
},
{
title: t('views.system.menu.menuSort'),
dataIndex: 'menuSort',
align: 'center',
align: 'left',
width: 100,
},
{
title: t('views.system.menu.menuTitle'),
dataIndex: 'icon',
key: 'icon',
align: 'center',
width: 100,
},
{
title: t('views.system.menu.perId'),
dataIndex: 'perms',
align: 'left',
width: 200,
},
{
title: t('views.system.menu.formLoc'),
dataIndex: 'component',
align: 'left',
width: 200,
},
{
title: t('views.system.menu.status'),
dataIndex: 'visible',
key: 'visible',
align: 'center',
width: 120,
},
{
title: t('views.system.menu.menuStatus'),
dataIndex: 'status',
key: 'status',
align: 'center',
width: 120,
},
{
title: t('views.system.menu.createTime'),
dataIndex: 'createTime',
align: 'center',
width: 150,
customRender(opt) {
if (+opt.value <= 0) return '';
return parseDateToStr(+opt.value);
@@ -148,7 +157,7 @@ let tableColumns: ColumnsType = [
{
title: t('common.operate'),
key: 'menuId',
align: 'center',
align: 'left',
},
];
@@ -419,7 +428,7 @@ function fnModalCancel() {
function fnRecordDelete(menuId: string | number) {
Modal.confirm({
title: t('common.tipTitle'),
content: t('views.system.menu.menuInfo', { menuId }),
content: t('views.system.menu.delSure', { menuId }),
onOk() {
const key = 'delMenu';
message.loading({ content: t('common.loading'), key });
@@ -634,7 +643,7 @@ onMounted(() => {
:size="tableState.size"
:row-class-name="fnTableStriped"
:pagination="false"
:scroll="{ x: true }"
:scroll="{ x: tableColumns.length * 150 }"
children-column-name="children"
:expanded-row-keys="tableState.expandedRowKeys"
@expandedRowsChange="fnTableExpandedRowsChange"
@@ -719,34 +728,42 @@ onMounted(() => {
:title="modalState.title"
@cancel="fnModalCancel"
>
<a-form layout="horizontal">
<a-form layout="horizontal" :label-col="{ span: 6 }" :label-wrap="true">
<a-form-item
:label="t('views.system.menu.highMenu')"
name="parentId"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-tree-select
:value="modalState.from.parentId"
disabled
:tree-data="modalState.treeData"
:field-names="{
children: 'children',
label: 'menuName',
value: 'menuId',
}"
tree-node-label-prop="menuName"
>
<template #suffixIcon></template>
</a-tree-select>
</a-form-item>
<a-form-item
:label="t('views.system.menu.menuName')"
name="menuName"
:label-col="{ span: 3 }"
:label-wrap="true"
>
{{ modalState.from.menuName }}
</a-form-item>
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.menu.highMenu')"
name="parentId"
>
<a-tree-select
:value="modalState.from.parentId"
disabled
:tree-data="modalState.treeData"
:field-names="{
children: 'children',
label: 'menuName',
value: 'menuId',
}"
tree-node-label-prop="menuName"
>
<template #suffixIcon></template>
</a-tree-select>
</a-form-item>
</a-col>
<a-col :lg="6" :md="6" :xs="24">
<a-form-item :label="t('views.system.menu.menuId')" name="menuId">
{{ modalState.from.menuId }}
</a-form-item>
</a-col>
<a-col :lg="6" :md="6" :xs="24">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.menu.menuSort')"
name="menuSort"
@@ -757,14 +774,6 @@ onMounted(() => {
</a-row>
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.menu.menuName')"
name="menuName"
>
{{ modalState.from.menuName }}
</a-form-item>
</a-col>
<a-col :lg="6" :md="6" :xs="24">
<a-form-item
:label="t('views.system.menu.menuType')"
name="menuType"
@@ -789,7 +798,7 @@ onMounted(() => {
</a-tag>
</a-form-item>
</a-col>
<a-col :lg="6" :md="6" :xs="24">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.menu.menuTitle')" name="icon">
<IconFont
:type="modalState.from.icon || '#'"
@@ -829,7 +838,7 @@ onMounted(() => {
:gutter="16"
v-if="modalState.from.menuType !== MENU_TYPE_BUTTON"
>
<a-col :lg="6" :md="6" :xs="24">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.menu.local')" name="isFrame">
<a-tag color="default">
{{
@@ -840,7 +849,7 @@ onMounted(() => {
</a-tag>
</a-form-item>
</a-col>
<a-col :lg="6" :md="6" :xs="24">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.menu.pageCache')"
name="isCache"
@@ -855,7 +864,7 @@ onMounted(() => {
</a-tag>
</a-form-item>
</a-col>
<a-col :lg="6" :md="6" :xs="24">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.menu.status')" name="visible">
<a-tag color="default">
{{
@@ -866,7 +875,7 @@ onMounted(() => {
</a-tag>
</a-form-item>
</a-col>
<a-col :lg="6" :md="6" :xs="24">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.menu.menuStatus')"
name="status"
@@ -882,12 +891,19 @@ onMounted(() => {
<a-form-item
:label="t('views.system.menu.perId')"
name="perms"
:label-col="{ span: 3 }"
:label-wrap="true"
v-if="modalState.from.menuType !== MENU_TYPE_DIR"
>
{{ modalState.from.perms }}
</a-form-item>
<a-form-item :label="t('views.system.menu.mark')" name="remark">
<a-form-item
:label="t('views.system.menu.mark')"
name="remark"
:label-col="{ span: 3 }"
:label-wrap="true"
>
{{ modalState.from.remark }}
</a-form-item>
</a-form>
@@ -909,11 +925,18 @@ onMounted(() => {
@ok="fnModalOk"
@cancel="fnModalCancel"
>
<a-form name="modalStateFrom" layout="horizontal">
<a-form
name="modalStateFrom"
layout="horizontal"
:label-col="{ span: 6 }"
:label-wrap="true"
>
<a-form-item
:label="t('views.system.menu.highMenu')"
name="parentId"
v-bind="modalStateFrom.validateInfos.parentId"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-tree-select
v-model:value="modalState.from.parentId"
@@ -962,7 +985,12 @@ onMounted(() => {
</a-col>
</a-row>
<a-form-item :label="t('views.system.menu.menuType')" name="menuType">
<a-form-item
:label="t('views.system.menu.menuType')"
name="menuType"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-radio-group v-model:value="modalState.from.menuType">
<a-radio
:key="MENU_TYPE_DIR"
@@ -1105,6 +1133,8 @@ onMounted(() => {
:label="t('views.system.menu.formLoc')"
name="component"
v-bind="modalStateFrom.validateInfos.component"
:label-col="{ span: 3 }"
:label-wrap="true"
v-if="modalState.from.menuType === MENU_TYPE_MENU"
>
<a-input v-model:value="modalState.from.component" allow-clear>
@@ -1126,6 +1156,8 @@ onMounted(() => {
name="perms"
v-if="modalState.from.menuType !== MENU_TYPE_DIR"
v-bind="modalStateFrom.validateInfos.perms"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-input v-model:value="modalState.from.perms" allow-clear>
<template #prefix>
@@ -1141,7 +1173,12 @@ onMounted(() => {
</a-input>
</a-form-item>
<a-form-item :label="t('views.system.menu.mark')" name="remark">
<a-form-item
:label="t('views.system.menu.mark')"
name="remark"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-textarea
v-model:value="modalState.from.remark"
:auto-size="{ minRows: 4, maxRows: 6 }"

View File

@@ -88,33 +88,39 @@ let tableColumns: ColumnsType = [
{
title: t('views.system.post.positionId'),
dataIndex: 'postId',
align: 'center',
align: 'left',
width: 150,
},
{
title: t('views.system.post.positionName'),
dataIndex: 'postName',
align: 'left',
width: 200,
},
{
title: t('views.system.post.positionCode'),
dataIndex: 'postCode',
align: 'left',
width: 200,
},
{
title: t('views.system.post.positionSort'),
dataIndex: 'postSort',
align: 'left',
width: 150,
},
{
title: t('views.system.post.positionStatus'),
dataIndex: 'status',
key: 'status',
align: 'center',
width: 150,
},
{
title: t('views.system.post.createTime'),
dataIndex: 'createTime',
align: 'center',
width: 150,
customRender(opt) {
if (+opt.value <= 0) return '';
return parseDateToStr(+opt.value);
@@ -123,7 +129,7 @@ let tableColumns: ColumnsType = [
{
title: t('common.operate'),
key: 'postId',
align: 'center',
align: 'left',
},
];
@@ -585,7 +591,7 @@ onMounted(() => {
:size="tableState.size"
:row-class-name="fnTableStriped"
:pagination="tablePagination"
:scroll="{ x: true }"
:scroll="{ x: tableColumns.length * 120 }"
:row-selection="{
type: 'checkbox',
selectedRowKeys: tableState.selectedRowKeys,
@@ -641,7 +647,7 @@ onMounted(() => {
:title="modalState.title"
@cancel="fnModalCancel"
>
<a-form layout="horizontal">
<a-form layout="horizontal" :label-col="{ span: 6 }" :label-wrap="true">
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
@@ -701,8 +707,17 @@ onMounted(() => {
</a-form-item>
</a-col>
</a-row>
<a-form-item :label="t('views.system.post.positionMark')" name="remark">
{{ modalState.from.remark }}
<a-form-item
:label="t('views.system.post.positionMark')"
name="remark"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-textarea
v-model:value="modalState.from.remark"
:auto-size="{ minRows: 2, maxRows: 6 }"
:disabled="true"
/>
</a-form-item>
</a-form>
<template #footer>
@@ -723,7 +738,12 @@ onMounted(() => {
@ok="fnModalOk"
@cancel="fnModalCancel"
>
<a-form name="modalStateFrom" layout="horizontal">
<a-form
name="modalStateFrom"
layout="horizontal"
:label-col="{ span: 6 }"
:label-wrap="true"
>
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
@@ -780,7 +800,12 @@ onMounted(() => {
</a-col>
</a-row>
<a-form-item :label="t('views.system.post.positionMark')" name="remark">
<a-form-item
:label="t('views.system.post.positionMark')"
name="remark"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-textarea
v-model:value="modalState.from.remark"
:auto-size="{ minRows: 4, maxRows: 6 }"

View File

@@ -110,33 +110,39 @@ let tableColumns: ColumnsType = [
{
title: t('views.system.role.roleId'),
dataIndex: 'roleId',
align: 'center',
align: 'left',
width: 100,
},
{
title: t('views.system.role.roleName'),
dataIndex: 'roleName',
align: 'left',
width: 200,
},
{
title: t('views.system.role.roleKey'),
dataIndex: 'roleKey',
align: 'left',
width: 200,
},
{
title: t('views.system.role.roleSort'),
dataIndex: 'roleSort',
align: 'left',
width: 100,
},
{
title: t('views.system.role.roleStatus'),
dataIndex: 'status',
key: 'status',
align: 'center',
width: 100,
},
{
title: t('views.system.role.createTime'),
dataIndex: 'createTime',
align: 'center',
width: 150,
customRender(opt) {
if (+opt.value <= 0) return '';
return parseDateToStr(+opt.value);
@@ -145,7 +151,7 @@ let tableColumns: ColumnsType = [
{
title: t('common.operate'),
key: 'roleId',
align: 'center',
align: 'left',
},
];
@@ -909,7 +915,7 @@ onMounted(() => {
:size="tableState.size"
:row-class-name="fnTableStriped"
:pagination="tablePagination"
:scroll="{ x: true }"
:scroll="{ x: tableColumns.length * 120 }"
:row-selection="{
type: 'checkbox',
selectedRowKeys: tableState.selectedRowKeys,
@@ -920,13 +926,15 @@ onMounted(() => {
<template v-if="column.key === 'status'">
<a-switch
v-if="
record.roleId !== '1' && hasPermissions(['system:role:edit'])
dict.sysNormalDisable.length > 0 &&
record.roleId !== '1' &&
hasPermissions(['system:role:edit'])
"
v-model:checked="record.status"
checked-value="1"
:checked-children="t('views.system.role.normal')"
:checked-children="dict.sysNormalDisable[0].label"
un-checked-value="0"
:un-checked-children="t('views.system.role.stop')"
:un-checked-children="dict.sysNormalDisable[1].label"
size="small"
@change="fnRecordStatus(record)"
/>
@@ -968,7 +976,7 @@ onMounted(() => {
<template #icon><DeleteOutlined /></template>
</a-button>
</a-tooltip>
<a-tooltip v-if="record.roleId !== '1'">
<a-tooltip placement="topRight" v-if="record.roleId !== '1'">
<template #title>{{
t('views.system.role.distribute')
}}</template>
@@ -980,7 +988,7 @@ onMounted(() => {
<template #icon><SecurityScanOutlined /></template>
</a-button>
</a-tooltip>
<a-tooltip v-if="record.roleId !== '1'">
<a-tooltip placement="topRight" v-if="record.roleId !== '1'">
<template #title>{{
t('views.system.role.distributeUser')
}}</template>
@@ -1005,7 +1013,7 @@ onMounted(() => {
:title="modalState.title"
@cancel="fnModalCancel"
>
<a-form layout="horizontal">
<a-form layout="horizontal" :label-col="{ span: 6 }" :label-wrap="true">
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.role.roleId')" name="roleId">
@@ -1056,13 +1064,24 @@ onMounted(() => {
</a-form-item>
</a-col>
</a-row>
<a-form-item :label="t('views.system.role.roleMark')" name="remark">
{{ modalState.from.remark }}
<a-form-item
:label="t('views.system.role.roleMark')"
name="remark"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-textarea
v-model:value="modalState.from.remark"
:auto-size="{ minRows: 2, maxRows: 6 }"
:disabled="true"
/>
</a-form-item>
<a-form-item
:label="t('views.system.role.menu')"
name="menuCheckStrictly"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-tree
disabled
@@ -1097,7 +1116,12 @@ onMounted(() => {
@ok="fnModalOk"
@cancel="fnModalCancel"
>
<a-form name="modalStateFromByEdit" layout="horizontal">
<a-form
name="modalStateFromByEdit"
layout="horizontal"
:label-col="{ span: 6 }"
:label-wrap="true"
>
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
@@ -1162,7 +1186,12 @@ onMounted(() => {
</a-col>
</a-row>
<a-form-item :label="t('views.system.role.roleMark')" name="remark">
<a-form-item
:label="t('views.system.role.roleMark')"
name="remark"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-textarea
v-model:value="modalState.from.remark"
:auto-size="{ minRows: 4, maxRows: 6 }"
@@ -1174,6 +1203,8 @@ onMounted(() => {
<a-form-item
:label="t('views.system.role.menu')"
name="menuCheckStrictly"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-space :size="12" align="center">
<a-checkbox
@@ -1228,7 +1259,12 @@ onMounted(() => {
@ok="fnModalOkDataScope"
@cancel="fnModalCancel"
>
<a-form name="modalStateFromByDataScope" layout="horizontal">
<a-form
name="modalStateFromByDataScope"
layout="horizontal"
:label-col="{ span: 6 }"
:label-wrap="true"
>
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.role.roleId')" name="roleId">
@@ -1282,11 +1318,25 @@ onMounted(() => {
</a-form-item>
</a-col>
</a-row>
<a-form-item :label="t('views.system.role.roleMark')" name="remark">
{{ modalState.from.remark }}
<a-form-item
:label="t('views.system.role.roleMark')"
name="remark"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-textarea
v-model:value="modalState.from.remark"
:auto-size="{ minRows: 2, maxRows: 6 }"
:disabled="true"
/>
</a-form-item>
<a-form-item :label="t('views.system.role.preScope')" name="dataScope">
<a-form-item
:label="t('views.system.role.preScope')"
name="dataScope"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-select
v-model:value="modalState.from.dataScope"
default-value="5"
@@ -1297,6 +1347,8 @@ onMounted(() => {
<a-form-item
:label="t('views.system.role.dataPer')"
name="deptCheckStrictly"
:label-col="{ span: 3 }"
:label-wrap="true"
v-show="modalState.from.dataScope === '2'"
>
<a-space :size="12" align="center">

View File

@@ -120,39 +120,46 @@ let tableColumns: ColumnsType = [
{
title: t('views.system.user.userNum'),
dataIndex: 'userId',
align: 'center',
align: 'left',
width: 120,
},
{
title: t('views.system.user.account'),
dataIndex: 'userName',
align: 'center',
align: 'left',
width: 150,
},
{
title: t('views.system.user.userName'),
dataIndex: 'nickName',
align: 'center',
align: 'left',
width: 150,
},
{
title: t('views.system.user.permission'),
key: 'roles',
align: 'left',
width: 200,
},
{
title: t('views.system.user.className'),
dataIndex: 'deptId',
key: 'deptId',
align: 'center',
align: 'left',
width: 200,
},
{
title: t('views.system.user.loginIp'),
dataIndex: 'loginIp',
key: 'loginIp',
align: 'center',
align: 'left',
width: 120,
},
{
title: t('views.system.user.loginTime'),
dataIndex: 'loginDate',
align: 'center',
align: 'left',
width: 150,
customRender(opt) {
if (+opt.value <= 0) return '';
return parseDateToStr(+opt.value);
@@ -162,12 +169,13 @@ let tableColumns: ColumnsType = [
title: t('views.system.user.status'),
dataIndex: 'status',
key: 'status',
align: 'center',
align: 'left',
width: 100,
},
{
title: t('common.operate'),
key: 'userId',
align: 'center',
align: 'left',
},
];
@@ -991,7 +999,7 @@ onMounted(() => {
:size="tableState.size"
:row-class-name="fnTableStriped"
:pagination="tablePagination"
:scroll="{ x: true }"
:scroll="{ x: tableColumns.length * 150 }"
:row-selection="{
type: 'checkbox',
selectedRowKeys: tableState.selectedRowKeys,
@@ -1020,9 +1028,9 @@ onMounted(() => {
v-perms:has="['system:user:edit']"
v-model:checked="record.status"
checked-value="1"
:checked-children="t('views.system.user.normalcy')"
:checked-children="dict.sysNormalDisable[0].label"
un-checked-value="0"
:un-checked-children="t('views.system.user.deactivate')"
:un-checked-children="dict.sysNormalDisable[1].label"
size="small"
@change="fnRecordStatus(record)"
/>
@@ -1084,7 +1092,7 @@ onMounted(() => {
:title="modalState.title"
@cancel="fnModalCancel"
>
<a-form layout="horizontal">
<a-form layout="horizontal" :label-col="{ span: 6 }" :label-wrap="true">
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.user.userNum')" name="userId">
@@ -1130,6 +1138,7 @@ onMounted(() => {
></a-avatar>
</a-form-item>
</a-col>
<a-col :lg="12" :md="12" :xs="24"> </a-col>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.user.account')"
@@ -1138,8 +1147,6 @@ onMounted(() => {
{{ modalState.from.userName }}
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.user.userName')"
@@ -1148,7 +1155,9 @@ onMounted(() => {
{{ modalState.from.nickName }}
</a-form-item>
</a-col>
<a-col :lg="6" :md="6" :xs="24">
</a-row>
<a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.user.sex')" name="sex">
<DictTag
:options="dict.sysUserSex"
@@ -1156,7 +1165,7 @@ onMounted(() => {
/>
</a-form-item>
</a-col>
<a-col :lg="6" :md="6" :xs="24">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.user.status')" name="status">
<DictTag
:options="dict.sysNormalDisable"
@@ -1182,7 +1191,12 @@ onMounted(() => {
</a-col>
</a-row>
<a-form-item :label="t('views.system.user.fromClass')" name="deptId">
<a-form-item
:label="t('views.system.user.fromClass')"
name="deptId"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-tree-select
:value="modalState.from.deptId"
disabled
@@ -1236,7 +1250,12 @@ onMounted(() => {
</a-col>
</a-row>
<a-form-item :label="t('views.system.user.userTip')" name="remark">
<a-form-item
:label="t('views.system.user.userTip')"
name="remark"
:label-col="{ span: 3 }"
:label-wrap="true"
>
{{ modalState.from.remark }}
</a-form-item>
</a-form>