This commit is contained in:
2025-11-30 18:38:38 +08:00
parent edf26b0b18
commit 71cc66ea9b
61 changed files with 5547 additions and 45 deletions

View File

@@ -0,0 +1,197 @@
import { useI18n } from '@jeesite/core/hooks/web/useI18n';
import { BasicColumn, BasicTableProps, FormProps } from '@jeesite/core/components/Table';
import { BizMonitorHost, bizMonitorHostListData } from '@jeesite/biz/api/biz/monitorHost';
const { t } = useI18n('biz.monitorHost');
const modalProps = {
title: t('主机信息选择'),
};
const searchForm: FormProps<BizMonitorHost> = {
baseColProps: { md: 8, lg: 6 },
labelWidth: 90,
schemas: [
{
label: t('主机名称'),
field: 'hostname',
component: 'Input',
},
{
label: t('IP地址'),
field: 'ipAddress',
component: 'Input',
},
{
label: t('主机类型'),
field: 'hostType',
component: 'Select',
componentProps: {
dictType: 'host_type',
allowClear: true,
},
},
{
label: t('操作系统'),
field: 'hostOs',
component: 'Select',
componentProps: {
dictType: 'host_os',
allowClear: true,
},
},
{
label: t('主机状态'),
field: 'ustatus',
component: 'Select',
componentProps: {
dictType: 'host_status',
allowClear: true,
},
},
{
label: t('物理位置'),
field: 'locationName',
component: 'Input',
},
{
label: t('地址类型'),
field: 'locationType',
component: 'Select',
componentProps: {
dictType: 'location_type',
allowClear: true,
},
},
],
};
const tableColumns: BasicColumn<BizMonitorHost>[] = [
{
title: t('记录时间'),
dataIndex: 'createTime',
key: 'a.create_time',
sorter: true,
width: 180,
align: 'left',
},
{
title: t('主机名称'),
dataIndex: 'hostname',
key: 'a.hostname',
sorter: true,
width: 130,
align: 'left',
},
{
title: t('IP地址'),
dataIndex: 'ipAddress',
key: 'a.ip_address',
sorter: true,
width: 130,
align: 'left',
},
{
title: t('主机类型'),
dataIndex: 'hostType',
key: 'a.host_type',
sorter: true,
width: 130,
align: 'left',
dictType: 'host_type',
},
{
title: t('操作系统'),
dataIndex: 'hostOs',
key: 'a.host_os',
sorter: true,
width: 130,
align: 'left',
dictType: 'host_os',
},
{
title: t('主机状态'),
dataIndex: 'ustatus',
key: 'a.ustatus',
sorter: true,
width: 130,
align: 'left',
dictType: 'host_status',
},
{
title: t('监测运行时间'),
dataIndex: 'lastOnlineTime',
key: 'a.last_online_time',
sorter: true,
width: 180,
align: 'center',
},
{
title: t('物理位置'),
dataIndex: 'locationName',
key: 'a.location_name',
sorter: true,
width: 130,
align: 'left',
},
{
title: t('地址类型'),
dataIndex: 'locationType',
key: 'a.location_type',
sorter: true,
width: 130,
align: 'left',
dictType: 'location_type',
},
{
title: t('联系方式'),
dataIndex: 'otherContact',
key: 'a.other_contact',
sorter: true,
width: 130,
align: 'left',
},
{
title: t('备注信息'),
dataIndex: 'remark',
key: 'a.remark',
sorter: true,
width: 130,
align: 'left',
},
{
title: t('更新时间'),
dataIndex: 'updateTime',
key: 'a.update_time',
sorter: true,
width: 180,
align: 'center',
},
{
title: t('失效日期'),
dataIndex: 'expiryDate',
key: 'a.expiry_date',
sorter: true,
width: 180,
align: 'center',
},
];
const tableProps: BasicTableProps = {
api: bizMonitorHostListData,
beforeFetch: (params) => {
params['isAll'] = true;
return params;
},
columns: tableColumns,
formConfig: searchForm,
rowKey: 'hostId',
};
export default {
modalProps,
tableProps,
itemCode: 'hostId',
itemName: 'hostname',
isShowCode: true,
};

View File

@@ -25,7 +25,7 @@
<div class="h-full w-full flex overflow-auto py-5 lg:my-0 lg:h-auto lg:w-11/24 lg:py-0">
<div
:class="`${prefixCls}-form`"
class="enter-x relative mx-auto my-auto w-full rounded-xl px-5 py-8 shadow-md lg:ml-16 lg:w-2/4 lg:w-auto sm:w-3/4 lg:px-10 lg:py-9 sm:px-8"
class="enter-x form-container-bg relative mx-auto my-auto w-full rounded-xl px-5 py-8 shadow-md lg:ml-16 lg:w-2/4 lg:w-auto sm:w-3/4 lg:px-10 lg:py-9 sm:px-8"
>
<LoginForm @demo-mode="demoMode = $event" />
<ForgetPasswordForm :demoMode="demoMode" />
@@ -63,6 +63,10 @@
@logo-prefix-cls: ~'jeesite-app-logo';
@countdown-prefix-cls: ~'jeesite-countdown-input';
@dark-bg: #293146;
// 淡白色主色(柔和不刺眼,带轻微蓝调的白)
@light-white-bg: #f8fafc;
// 深色模式下表单背景(适配深色主题的暗白色)
@dark-light-white-bg: rgba(41, 49, 70, 0.95);
html[data-theme='dark'] {
.@{prefix-cls} {
@@ -82,8 +86,8 @@
}
&-form {
background: transparent !important;
box-shadow: none;
background: @dark-light-white-bg !important;
box-shadow: 0 0 12px rgba(0, 0, 0, 0.2);
}
.@{logo-prefix-cls} {
@@ -95,6 +99,10 @@
.jeesite-icon {
color: #fff;
}
.form-container-bg {
background: @dark-light-white-bg !important;
}
}
input.fix-auto-fill,
@@ -107,11 +115,8 @@
.@{prefix-cls} {
min-height: 100%;
overflow: hidden;
//background-color: #f2fafd;
@media (max-width: @screen-lg) {
//background-color: #3f60b5;
.@{prefix-cls}-form {
box-shadow: none;
}
@@ -120,14 +125,24 @@
&-form {
top: -20px;
margin: auto;
background-color: #fff;
box-shadow: 0 0 8px #ddd;
// 淡白色背景(核心修改)
background-color: @light-white-bg;
box-shadow: 0 0 8px rgba(248, 250, 252, 0.8);
background-clip: padding-box;
.ant-form-item {
margin-bottom: 15px;
}
}
// 表单容器专属样式
.form-container-bg {
background-color: @light-white-bg;
// 轻量阴影增强层次
box-shadow: 0 4px 12px rgba(240, 248, 255, 0.5);
border-radius: 12px;
}
&::before {
position: absolute;
top: 0;
@@ -147,10 +162,6 @@
}
.@{logo-prefix-cls} {
// position: absolute;
// top: 12px;
// height: 30px;
&.logo {
margin-top: -110px;
padding-bottom: 80px;
@@ -230,4 +241,4 @@
color: @text-color-secondary;
}
}
</style>
</style>

View File

@@ -30,19 +30,6 @@
<ValidCode size="large" v-model:value="formData.validCode" :refreshTime="validCodeRefreshTime" />
</FormItem>
<div class="gp" v-if="demoMode">
💡提示当前您连接的后端服务可能是
<a href="https://vue.jeesite.com" target="_blank">vue.jeesite.com</a><br />
&nbsp; &nbsp; 的演示服务器请进入文档
<a
href="https://jeesite.com/docs/vue-install-deploy/#%E9%85%8D%E7%BD%AE%E5%90%8E%E7%AB%AF%E6%8E%A5%E5%8F%A3"
target="_blank"
>
配置服务端接口
</a>
</div>
<ARow class="enter-x">
<ACol :span="12">
<FormItem>
@@ -108,7 +95,7 @@
const emit = defineEmits(['demoMode']);
const formData = reactive({
account: 'system',
account: '',
password: '',
validCode: '',
});
@@ -185,11 +172,6 @@
loading.value = false;
}
}
function handleOauth2(event: Event) {
window.location.href = 'https://vue.jeesite.com/js/oauth2/login/gitee?state=vue';
event.preventDefault();
}
</script>
<style>
.gp {