v3.29 【优化】优化代码生成;【优化】优化redis缓存key;【优化】员工禁用强制下线bug;【优化】本地文件使用File.separator

This commit is contained in:
zhuoda
2026-01-22 20:17:48 +08:00
parent efff2dd6d2
commit 36de38fda3
33 changed files with 136 additions and 97 deletions

View File

@@ -16,7 +16,7 @@
<a-form-item label="创建时间" class="smart-query-form-item">
<a-space direction="vertical" :size="12">
<a-range-picker v-model:value="searchDate" @change="dateChange" />
<a-range-picker v-model:value="searchDate" :presets="defaultTimeRanges" @change="dateChange" />
</a-space>
</a-form-item>
@@ -93,6 +93,7 @@
import { SmartLoading } from '/@/components/framework/smart-loading';
import { message, Modal } from 'ant-design-vue';
import { smartSentry } from '/@/lib/smart-sentry';
import { defaultTimeRanges } from '/@/lib/default-time-ranges';
import TableOperator from '/@/components/support/table-operator/index.vue';
import { TABLE_ID_CONST } from '/@/constants/support/table-id-const';

View File

@@ -16,7 +16,7 @@
<a-form-item label="创建时间" class="smart-query-form-item">
<a-space direction="vertical" :size="12">
<a-range-picker v-model:value="searchDate" @change="dateChange" />
<a-range-picker v-model:value="searchDate" :presets="defaultTimeRanges" @change="dateChange" />
</a-space>
</a-form-item>
@@ -92,6 +92,7 @@
import { smartSentry } from '/@/lib/smart-sentry';
import TableOperator from '/@/components/support/table-operator/index.vue';
import { TABLE_ID_CONST } from '/@/constants/support/table-id-const';
import { defaultTimeRanges } from '/@/lib/default-time-ranges.js';
const props = defineProps({
enterpriseId: {

View File

@@ -13,16 +13,20 @@ JavaTypeMap.set('integer', 'Integer');
JavaTypeMap.set('year', 'Integer');
JavaTypeMap.set('bigint', 'Long');
JavaTypeMap.set('int8', 'Long');
JavaTypeMap.set('number', 'Long');
JavaTypeMap.set('float', 'BigDecimal');
JavaTypeMap.set('double', 'BigDecimal');
JavaTypeMap.set('decimal', 'BigDecimal');
JavaTypeMap.set('char', 'String');
JavaTypeMap.set('varchar', 'String');
JavaTypeMap.set('varchar2', 'String');
JavaTypeMap.set('nvarchar', 'String');
JavaTypeMap.set('nvarchar2', 'String');
JavaTypeMap.set('tinytext', 'String');
JavaTypeMap.set('text', 'String');
JavaTypeMap.set('longtext', 'String');
JavaTypeMap.set('blob', 'String');
JavaTypeMap.set('clob', 'String');
JavaTypeMap.set('date', 'LocalDate');
JavaTypeMap.set('datetime', 'LocalDateTime');
JavaTypeMap.set('datetime2', 'LocalDateTime');
@@ -52,6 +56,7 @@ JsTypeMap.set('int', 'Number');
JsTypeMap.set('int2', 'Number');
JsTypeMap.set('int4', 'Number');
JsTypeMap.set('int8', 'Number');
JsTypeMap.set('number', 'Number');
JsTypeMap.set('tinyint', 'Number');
JsTypeMap.set('smallint', 'Number');
JsTypeMap.set('integer', 'Number');
@@ -62,12 +67,15 @@ JsTypeMap.set('double', 'Number');
JsTypeMap.set('decimal', 'Number');
JsTypeMap.set('char', 'String');
JsTypeMap.set('varchar', 'String');
JsTypeMap.set('varchar2', 'String');
JsTypeMap.set('nvarchar', 'String');
JsTypeMap.set('nvarchar2', 'String');
JsTypeMap.set('character', 'String');
JsTypeMap.set('tinytext', 'String');
JsTypeMap.set('text', 'String');
JsTypeMap.set('longtext', 'String');
JsTypeMap.set('blob', 'String');
JsTypeMap.set('clob', 'String');
JsTypeMap.set('date', 'Date');
JsTypeMap.set('datetime', 'Date');
JsTypeMap.set('datetime2', 'Date');
@@ -94,6 +102,7 @@ FrontComponentMap.set('int', 'InputNumber');
FrontComponentMap.set('int2', 'InputNumber');
FrontComponentMap.set('int4', 'InputNumber');
FrontComponentMap.set('int8', 'InputNumber');
FrontComponentMap.set('number', 'InputNumber');
FrontComponentMap.set('tinyint', 'InputNumber');
FrontComponentMap.set('smallint', 'InputNumber');
FrontComponentMap.set('integer', 'InputNumber');
@@ -105,12 +114,15 @@ FrontComponentMap.set('double', 'InputNumber');
FrontComponentMap.set('decimal', 'InputNumber');
FrontComponentMap.set('char', 'Input');
FrontComponentMap.set('varchar', 'Input');
FrontComponentMap.set('varchar2', 'Input');
FrontComponentMap.set('nvarchar', 'Input');
FrontComponentMap.set('nvarchar2', 'Input');
FrontComponentMap.set('character', 'Input');
FrontComponentMap.set('tinytext', 'Input');
FrontComponentMap.set('text', 'Textarea');
FrontComponentMap.set('longtext', 'Textarea');
FrontComponentMap.set('blob', 'FileUpload');
FrontComponentMap.set('clob', 'FileUpload');
FrontComponentMap.set('date', 'Date');
FrontComponentMap.set('datetime', 'DateTime');
FrontComponentMap.set('datetime2', 'DateTime');

View File

@@ -102,6 +102,7 @@
const visibleFlag = ref(false);
function showModal(table) {
Object.assign(tableInfo, table);
tableInfo.tableName = tableInfo.tableName.toLowerCase();
tableInfo.createTime = table.createTime ? table.createTime : new Date();
activeKey.value = '1';
visibleFlag.value = true;

View File

@@ -168,9 +168,9 @@
let keywordsFilterFlag = true;
if (keywords.value) {
keywordsFilterFlag =
_.includes(item.dataValue.toLowerCase(), keywords.value.toLowerCase()) ||
_.includes(item.dataLabel.toLowerCase(), keywords.value.toLowerCase()) ||
_.includes(item.remark.toLowerCase(), keywords.value.toLowerCase());
(item.dataValue &&_.includes(item.dataValue.toLowerCase(), keywords.value.toLowerCase())) ||
(item.dataLabel && _.includes(item.dataLabel.toLowerCase(), keywords.value.toLowerCase())) ||
(item.remark && _.includes(item.remark.toLowerCase(), keywords.value.toLowerCase()));
}
let disabledFilterFlag = _.isNull(disabledFlag.value) ? true : item.disabledFlag === disabledFlag.value;
return disabledFilterFlag && keywordsFilterFlag;

View File

@@ -4,7 +4,7 @@
* @Date: 2024/06/25
-->
<template>
<a-drawer v-model:open="showFlag" :width="1000" :title="title" placement="right" :destroyOnClose="true">
<a-drawer v-model:open="showFlag" :width="1100" :title="title" placement="right" :destroyOnClose="true">
<a-form class="smart-query-form">
<a-row class="smart-query-form-row">
<a-form-item label="关键字" class="smart-query-form-item">
@@ -12,13 +12,13 @@
</a-form-item>
<a-form-item label="执行结果" class="smart-query-form-item">
<a-select style="width: 100px" v-model:value="queryForm.successFlag" placeholder="请选择" allowClear>
<a-select-option :key="1"> 成功 </a-select-option>
<a-select-option :key="0"> 失败 </a-select-option>
<a-select-option :key="1"> 成功</a-select-option>
<a-select-option :key="0"> 失败</a-select-option>
</a-select>
</a-form-item>
<a-form-item label="执行时间" class="smart-query-form-item">
<a-space direction="vertical" :size="12">
<a-range-picker v-model:value="searchDate" style="width: 220px" @change="dateChange" />
<a-range-picker v-model:value="searchDate" style="width: 220px" :presets="defaultTimeRanges" @change="dateChange" />
</a-space>
</a-form-item>
@@ -41,7 +41,6 @@
</a-row>
</a-form>
<a-card size="small" :bordered="false" :hoverable="true">
<a-row justify="end">
<TableOperator class="smart-margin-bottom5" v-model="columns" :tableId="TABLE_ID_CONST.SUPPORT.JOB_LOG" :refresh="queryLogList" />
</a-row>
@@ -49,13 +48,25 @@
<a-table size="small" :loading="tableLoading" bordered :dataSource="tableData" :columns="columns" rowKey="jobLogId" :pagination="false">
<template #bodyCell="{ record, column }">
<template v-if="column.dataIndex === 'executeStartTime'">
<div><a-tag color="green"></a-tag>{{ record.executeStartTime }}</div>
<div style="margin-top: 5px"><a-tag color="blue"></a-tag>{{ record.executeEndTime }}</div>
<div>
<a-tag color="green"></a-tag>
{{ record.executeStartTime }}
</div>
<div style="margin-top: 5px">
<a-tag color="blue"></a-tag>
{{ record.executeEndTime }}
</div>
</template>
<template v-if="column.dataIndex === 'executeTimeMillis'"> {{ record.executeTimeMillis }} ms </template>
<template v-if="column.dataIndex === 'executeTimeMillis'"> {{ record.executeTimeMillis }} ms</template>
<template v-if="column.dataIndex === 'successFlag'">
<div v-if="record.successFlag" style="color: #39c710"><CheckOutlined />成功</div>
<div v-else style="color: #f50"><WarningOutlined />失败</div>
<div v-if="record.successFlag" style="color: #39c710">
<CheckOutlined />
成功
</div>
<div v-else style="color: #f50">
<WarningOutlined />
失败
</div>
</template>
</template>
</a-table>
@@ -74,7 +85,6 @@
:show-total="(total) => `${total}`"
/>
</div>
</a-card>
</a-drawer>
</template>
<script setup>
@@ -84,6 +94,7 @@
import { smartSentry } from '/@/lib/smart-sentry';
import TableOperator from '/@/components/support/table-operator/index.vue';
import { TABLE_ID_CONST } from '/@/constants/support/table-id-const';
import { defaultTimeRanges } from '/@/lib/default-time-ranges.js';
const showFlag = ref(false);
const title = ref('');

View File

@@ -12,7 +12,7 @@
<SmartEnumSelect width="120px" enum-name="FLAG_NUMBER_ENUM" v-model:value="queryForm.readFlag" />
</a-form-item>
<a-form-item label="创建时间" class="smart-query-form-item">
<a-range-picker v-model:value="queryForm.createTime" style="width: 200px" @change="onChangeCreateTime" />
<a-range-picker v-model:value="queryForm.createTime" :presets="defaultTimeRanges" style="width: 200px" @change="onChangeCreateTime" />
</a-form-item>
<a-form-item class="smart-query-form-item">
<a-button type="primary" @click="searchQuery">
@@ -96,6 +96,7 @@
import TableOperator from '/@/components/support/table-operator/index.vue';
import MessageSendForm from './components/message-send-form.vue';
import { TABLE_ID_CONST } from '/@/constants/support/table-id-const';
import { defaultTimeRanges } from '/@/lib/default-time-ranges.js';
// ---------------------------- 表格列 ----------------------------
const columns = ref([

View File

@@ -8,9 +8,10 @@
* @Copyright 1024创新实验室 https://1024lab.net Since 2012
-->
<template>
<a-modal :open="visible" width="600px" :bodyStyle="{height:'360px'}" title="" :closable="false" :maskClosable="true">
<a-modal :open="visible" width="600px" :bodyStyle="{height:'400px'}" title="" :closable="false" :maskClosable="true">
<a-row><div style="font-weight:bolder;margin: 0 auto;font-size: 16px;color: red;">重磅更新国产数据库支持🎉🎉</div> </a-row>
<a-row><div style="font-weight:bolder;margin: 10px auto;font-size: 16px;color: red;">支持达梦人大金仓华为高斯GaussDB 🎉🎉</div> </a-row>
<a-row><div style="font-weight:bolder;margin: 10px auto;font-size: 16px;color: red;">国产数据库达梦人大金仓华为高斯GaussDB 🎉🎉</div> </a-row>
<a-row><div style="font-weight:bolder;margin: 0 auto;font-size: 16px;color: red;">主流数据库MysqlPostgreSQL 🎉🎉</div> </a-row>
<br />
<div class="app-qr-box">
<div class="app-qr">