😎整理格式化前端多语言相关代码

This commit is contained in:
zuohuaijun 2025-03-01 12:02:59 +08:00
parent 51a7c54aad
commit bdfbb2226f
40 changed files with 270 additions and 177 deletions

View File

@ -21,7 +21,7 @@
align-items: center;
z-index: 9999;
}
.loading-wrapper.hide {
display: none;
}
@ -30,8 +30,8 @@
height: 20px;
border-radius: 20px;
background:
repeating-linear-gradient(135deg,#010101 0 10px,#f9d62b 0 20px) 0/0% no-repeat,
repeating-linear-gradient(135deg,#ddd 0 10px,#eee 0 20px) 0/100%;
repeating-linear-gradient(135deg, #010101 0 10px, #f9d62b 0 20px) 0/0% no-repeat,
repeating-linear-gradient(135deg, #ddd 0 10px, #eee 0 20px) 0/100%;
animation: l3 2s infinite;
}
.loading-text {
@ -39,9 +39,11 @@
font-size: 16px;
color: #666;
}
@keyframes l3 {
100% {background-size:100%}
}
@keyframes l3 {
100% {
background-size: 100%;
}
}
</style>
</head>
@ -54,7 +56,7 @@
<script src="/config.js"></script>
<script type="module" src="/src/main.ts"></script>
<script>
window.addEventListener('load', function() {
window.addEventListener('load', function () {
document.querySelector('.loading-wrapper').classList.add('hide');
});
</script>

View File

@ -2,7 +2,7 @@
"name": "admin.net.pro",
"type": "module",
"version": "2.4.33",
"lastBuildTime": "2025.02.27",
"lastBuildTime": "2025.03.01",
"description": "Admin.NET 站在巨人肩膀上的 .NET 通用权限开发框架",
"author": "zuohuaijun",
"license": "MIT",
@ -76,7 +76,7 @@
"vue-signature-pad": "^3.0.2",
"vue3-flag-icons": "^0.0.3",
"vue3-tree-org": "^4.2.2",
"vxe-pc-ui": "^4.3.98",
"vxe-pc-ui": "^4.3.99",
"vxe-table": "^4.10.0",
"vxe-table-plugin-element": "^4.0.4",
"vxe-table-plugin-export-xlsx": "^4.0.7",
@ -87,7 +87,7 @@
"@iconify/vue": "^4.3.0",
"@plugin-web-update-notification/vite": "^2.0.0",
"@types/lodash-es": "^4.17.12",
"@types/node": "^20.17.19",
"@types/node": "^20.17.20",
"@types/nprogress": "^0.2.3",
"@types/sortablejs": "^1.15.8",
"@typescript-eslint/eslint-plugin": "^8.25.0",
@ -104,7 +104,7 @@
"rollup-plugin-visualizer": "^5.14.0",
"sass": "^1.85.1",
"terser": "^5.39.0",
"typescript": "^5.7.3",
"typescript": "^5.8.2",
"vite": "^6.2.0",
"vite-plugin-cdn-import": "^1.0.1",
"vite-plugin-compression2": "^1.3.3",

View File

@ -394,6 +394,7 @@ export const SysCodeGenConfigApiAxiosParamCreator = function (configuration?: Co
* @param {string} [whetherRequired]
* @param {string} [whetherSortable]
* @param {string} [statistical]
* @param {string} [isGroupBy] GroupBy字段
* @param {string} [queryWhether]
* @param {string} [queryType]
* @param {string} [whetherTable]
@ -415,7 +416,7 @@ export const SysCodeGenConfigApiAxiosParamCreator = function (configuration?: Co
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
apiSysCodeGenConfigDetailGet: async (id?: number, codeGenId?: number, columnName?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkColumnName?: string, fkLinkColumnName?: string, lowerFkColumnName?: string, fkColumnNetType?: string, dictTypeCode?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, statistical?: string, queryWhether?: string, queryType?: string, whetherTable?: string, whetherAddUpdate?: string, columnKey?: string, dataType?: string, whetherCommon?: string, tableNickName?: string, displayColumn?: string, valueColumn?: string, pidColumn?: string, orderNo?: number, rules?: string, defaultValue?: string, ruleItems?: Array<VerifyRuleItem>, remoteVerify?: boolean, anyRule?: boolean, trigger?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
apiSysCodeGenConfigDetailGet: async (id?: number, codeGenId?: number, columnName?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkColumnName?: string, fkLinkColumnName?: string, lowerFkColumnName?: string, fkColumnNetType?: string, dictTypeCode?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, statistical?: string, isGroupBy?: string, queryWhether?: string, queryType?: string, whetherTable?: string, whetherAddUpdate?: string, columnKey?: string, dataType?: string, whetherCommon?: string, tableNickName?: string, displayColumn?: string, valueColumn?: string, pidColumn?: string, orderNo?: number, rules?: string, defaultValue?: string, ruleItems?: Array<VerifyRuleItem>, remoteVerify?: boolean, anyRule?: boolean, trigger?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
const localVarPath = `/api/sysCodeGenConfig/detail`;
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, 'https://example.com');
@ -524,6 +525,10 @@ export const SysCodeGenConfigApiAxiosParamCreator = function (configuration?: Co
localVarQueryParameter['Statistical'] = statistical;
}
if (isGroupBy !== undefined) {
localVarQueryParameter['IsGroupBy'] = isGroupBy;
}
if (queryWhether !== undefined) {
localVarQueryParameter['QueryWhether'] = queryWhether;
}
@ -686,6 +691,7 @@ export const SysCodeGenConfigApiAxiosParamCreator = function (configuration?: Co
* @param {string} [whetherRequired]
* @param {string} [whetherSortable]
* @param {string} [statistical]
* @param {string} [isGroupBy] GroupBy字段
* @param {string} [queryWhether]
* @param {string} [queryType]
* @param {string} [whetherTable]
@ -707,7 +713,7 @@ export const SysCodeGenConfigApiAxiosParamCreator = function (configuration?: Co
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
apiSysCodeGenConfigListGet: async (id?: number, codeGenId?: number, columnName?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkColumnName?: string, fkLinkColumnName?: string, lowerFkColumnName?: string, fkColumnNetType?: string, dictTypeCode?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, statistical?: string, queryWhether?: string, queryType?: string, whetherTable?: string, whetherAddUpdate?: string, columnKey?: string, dataType?: string, whetherCommon?: string, tableNickName?: string, displayColumn?: string, valueColumn?: string, pidColumn?: string, orderNo?: number, rules?: string, defaultValue?: string, ruleItems?: Array<VerifyRuleItem>, remoteVerify?: boolean, anyRule?: boolean, trigger?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
apiSysCodeGenConfigListGet: async (id?: number, codeGenId?: number, columnName?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkColumnName?: string, fkLinkColumnName?: string, lowerFkColumnName?: string, fkColumnNetType?: string, dictTypeCode?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, statistical?: string, isGroupBy?: string, queryWhether?: string, queryType?: string, whetherTable?: string, whetherAddUpdate?: string, columnKey?: string, dataType?: string, whetherCommon?: string, tableNickName?: string, displayColumn?: string, valueColumn?: string, pidColumn?: string, orderNo?: number, rules?: string, defaultValue?: string, ruleItems?: Array<VerifyRuleItem>, remoteVerify?: boolean, anyRule?: boolean, trigger?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
const localVarPath = `/api/sysCodeGenConfig/list`;
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, 'https://example.com');
@ -816,6 +822,10 @@ export const SysCodeGenConfigApiAxiosParamCreator = function (configuration?: Co
localVarQueryParameter['Statistical'] = statistical;
}
if (isGroupBy !== undefined) {
localVarQueryParameter['IsGroupBy'] = isGroupBy;
}
if (queryWhether !== undefined) {
localVarQueryParameter['QueryWhether'] = queryWhether;
}
@ -1057,6 +1067,7 @@ export const SysCodeGenConfigApiFp = function(configuration?: Configuration) {
* @param {string} [whetherRequired]
* @param {string} [whetherSortable]
* @param {string} [statistical]
* @param {string} [isGroupBy] GroupBy字段
* @param {string} [queryWhether]
* @param {string} [queryType]
* @param {string} [whetherTable]
@ -1078,8 +1089,8 @@ export const SysCodeGenConfigApiFp = function(configuration?: Configuration) {
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async apiSysCodeGenConfigDetailGet(id?: number, codeGenId?: number, columnName?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkColumnName?: string, fkLinkColumnName?: string, lowerFkColumnName?: string, fkColumnNetType?: string, dictTypeCode?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, statistical?: string, queryWhether?: string, queryType?: string, whetherTable?: string, whetherAddUpdate?: string, columnKey?: string, dataType?: string, whetherCommon?: string, tableNickName?: string, displayColumn?: string, valueColumn?: string, pidColumn?: string, orderNo?: number, rules?: string, defaultValue?: string, ruleItems?: Array<VerifyRuleItem>, remoteVerify?: boolean, anyRule?: boolean, trigger?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminNETResultSysCodeGenConfig>>> {
const localVarAxiosArgs = await SysCodeGenConfigApiAxiosParamCreator(configuration).apiSysCodeGenConfigDetailGet(id, codeGenId, columnName, propertyName, columnLength, lowerPropertyName, columnComment, netType, effectType, fkConfigId, fkEntityName, fkTableName, lowerFkEntityName, fkColumnName, fkLinkColumnName, lowerFkColumnName, fkColumnNetType, dictTypeCode, whetherRetract, whetherRequired, whetherSortable, statistical, queryWhether, queryType, whetherTable, whetherAddUpdate, columnKey, dataType, whetherCommon, tableNickName, displayColumn, valueColumn, pidColumn, orderNo, rules, defaultValue, ruleItems, remoteVerify, anyRule, trigger, options);
async apiSysCodeGenConfigDetailGet(id?: number, codeGenId?: number, columnName?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkColumnName?: string, fkLinkColumnName?: string, lowerFkColumnName?: string, fkColumnNetType?: string, dictTypeCode?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, statistical?: string, isGroupBy?: string, queryWhether?: string, queryType?: string, whetherTable?: string, whetherAddUpdate?: string, columnKey?: string, dataType?: string, whetherCommon?: string, tableNickName?: string, displayColumn?: string, valueColumn?: string, pidColumn?: string, orderNo?: number, rules?: string, defaultValue?: string, ruleItems?: Array<VerifyRuleItem>, remoteVerify?: boolean, anyRule?: boolean, trigger?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminNETResultSysCodeGenConfig>>> {
const localVarAxiosArgs = await SysCodeGenConfigApiAxiosParamCreator(configuration).apiSysCodeGenConfigDetailGet(id, codeGenId, columnName, propertyName, columnLength, lowerPropertyName, columnComment, netType, effectType, fkConfigId, fkEntityName, fkTableName, lowerFkEntityName, fkColumnName, fkLinkColumnName, lowerFkColumnName, fkColumnNetType, dictTypeCode, whetherRetract, whetherRequired, whetherSortable, statistical, isGroupBy, queryWhether, queryType, whetherTable, whetherAddUpdate, columnKey, dataType, whetherCommon, tableNickName, displayColumn, valueColumn, pidColumn, orderNo, rules, defaultValue, ruleItems, remoteVerify, anyRule, trigger, options);
return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
return axios.request(axiosRequestArgs);
@ -1124,6 +1135,7 @@ export const SysCodeGenConfigApiFp = function(configuration?: Configuration) {
* @param {string} [whetherRequired]
* @param {string} [whetherSortable]
* @param {string} [statistical]
* @param {string} [isGroupBy] GroupBy字段
* @param {string} [queryWhether]
* @param {string} [queryType]
* @param {string} [whetherTable]
@ -1145,8 +1157,8 @@ export const SysCodeGenConfigApiFp = function(configuration?: Configuration) {
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async apiSysCodeGenConfigListGet(id?: number, codeGenId?: number, columnName?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkColumnName?: string, fkLinkColumnName?: string, lowerFkColumnName?: string, fkColumnNetType?: string, dictTypeCode?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, statistical?: string, queryWhether?: string, queryType?: string, whetherTable?: string, whetherAddUpdate?: string, columnKey?: string, dataType?: string, whetherCommon?: string, tableNickName?: string, displayColumn?: string, valueColumn?: string, pidColumn?: string, orderNo?: number, rules?: string, defaultValue?: string, ruleItems?: Array<VerifyRuleItem>, remoteVerify?: boolean, anyRule?: boolean, trigger?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminNETResultListCodeGenConfig>>> {
const localVarAxiosArgs = await SysCodeGenConfigApiAxiosParamCreator(configuration).apiSysCodeGenConfigListGet(id, codeGenId, columnName, propertyName, columnLength, lowerPropertyName, columnComment, netType, effectType, fkConfigId, fkEntityName, fkTableName, lowerFkEntityName, fkColumnName, fkLinkColumnName, lowerFkColumnName, fkColumnNetType, dictTypeCode, whetherRetract, whetherRequired, whetherSortable, statistical, queryWhether, queryType, whetherTable, whetherAddUpdate, columnKey, dataType, whetherCommon, tableNickName, displayColumn, valueColumn, pidColumn, orderNo, rules, defaultValue, ruleItems, remoteVerify, anyRule, trigger, options);
async apiSysCodeGenConfigListGet(id?: number, codeGenId?: number, columnName?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkColumnName?: string, fkLinkColumnName?: string, lowerFkColumnName?: string, fkColumnNetType?: string, dictTypeCode?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, statistical?: string, isGroupBy?: string, queryWhether?: string, queryType?: string, whetherTable?: string, whetherAddUpdate?: string, columnKey?: string, dataType?: string, whetherCommon?: string, tableNickName?: string, displayColumn?: string, valueColumn?: string, pidColumn?: string, orderNo?: number, rules?: string, defaultValue?: string, ruleItems?: Array<VerifyRuleItem>, remoteVerify?: boolean, anyRule?: boolean, trigger?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminNETResultListCodeGenConfig>>> {
const localVarAxiosArgs = await SysCodeGenConfigApiAxiosParamCreator(configuration).apiSysCodeGenConfigListGet(id, codeGenId, columnName, propertyName, columnLength, lowerPropertyName, columnComment, netType, effectType, fkConfigId, fkEntityName, fkTableName, lowerFkEntityName, fkColumnName, fkLinkColumnName, lowerFkColumnName, fkColumnNetType, dictTypeCode, whetherRetract, whetherRequired, whetherSortable, statistical, isGroupBy, queryWhether, queryType, whetherTable, whetherAddUpdate, columnKey, dataType, whetherCommon, tableNickName, displayColumn, valueColumn, pidColumn, orderNo, rules, defaultValue, ruleItems, remoteVerify, anyRule, trigger, options);
return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
return axios.request(axiosRequestArgs);
@ -1263,6 +1275,7 @@ export const SysCodeGenConfigApiFactory = function (configuration?: Configuratio
* @param {string} [whetherRequired]
* @param {string} [whetherSortable]
* @param {string} [statistical]
* @param {string} [isGroupBy] GroupBy字段
* @param {string} [queryWhether]
* @param {string} [queryType]
* @param {string} [whetherTable]
@ -1284,8 +1297,8 @@ export const SysCodeGenConfigApiFactory = function (configuration?: Configuratio
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async apiSysCodeGenConfigDetailGet(id?: number, codeGenId?: number, columnName?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkColumnName?: string, fkLinkColumnName?: string, lowerFkColumnName?: string, fkColumnNetType?: string, dictTypeCode?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, statistical?: string, queryWhether?: string, queryType?: string, whetherTable?: string, whetherAddUpdate?: string, columnKey?: string, dataType?: string, whetherCommon?: string, tableNickName?: string, displayColumn?: string, valueColumn?: string, pidColumn?: string, orderNo?: number, rules?: string, defaultValue?: string, ruleItems?: Array<VerifyRuleItem>, remoteVerify?: boolean, anyRule?: boolean, trigger?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminNETResultSysCodeGenConfig>> {
return SysCodeGenConfigApiFp(configuration).apiSysCodeGenConfigDetailGet(id, codeGenId, columnName, propertyName, columnLength, lowerPropertyName, columnComment, netType, effectType, fkConfigId, fkEntityName, fkTableName, lowerFkEntityName, fkColumnName, fkLinkColumnName, lowerFkColumnName, fkColumnNetType, dictTypeCode, whetherRetract, whetherRequired, whetherSortable, statistical, queryWhether, queryType, whetherTable, whetherAddUpdate, columnKey, dataType, whetherCommon, tableNickName, displayColumn, valueColumn, pidColumn, orderNo, rules, defaultValue, ruleItems, remoteVerify, anyRule, trigger, options).then((request) => request(axios, basePath));
async apiSysCodeGenConfigDetailGet(id?: number, codeGenId?: number, columnName?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkColumnName?: string, fkLinkColumnName?: string, lowerFkColumnName?: string, fkColumnNetType?: string, dictTypeCode?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, statistical?: string, isGroupBy?: string, queryWhether?: string, queryType?: string, whetherTable?: string, whetherAddUpdate?: string, columnKey?: string, dataType?: string, whetherCommon?: string, tableNickName?: string, displayColumn?: string, valueColumn?: string, pidColumn?: string, orderNo?: number, rules?: string, defaultValue?: string, ruleItems?: Array<VerifyRuleItem>, remoteVerify?: boolean, anyRule?: boolean, trigger?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminNETResultSysCodeGenConfig>> {
return SysCodeGenConfigApiFp(configuration).apiSysCodeGenConfigDetailGet(id, codeGenId, columnName, propertyName, columnLength, lowerPropertyName, columnComment, netType, effectType, fkConfigId, fkEntityName, fkTableName, lowerFkEntityName, fkColumnName, fkLinkColumnName, lowerFkColumnName, fkColumnNetType, dictTypeCode, whetherRetract, whetherRequired, whetherSortable, statistical, isGroupBy, queryWhether, queryType, whetherTable, whetherAddUpdate, columnKey, dataType, whetherCommon, tableNickName, displayColumn, valueColumn, pidColumn, orderNo, rules, defaultValue, ruleItems, remoteVerify, anyRule, trigger, options).then((request) => request(axios, basePath));
},
/**
*
@ -1322,6 +1335,7 @@ export const SysCodeGenConfigApiFactory = function (configuration?: Configuratio
* @param {string} [whetherRequired]
* @param {string} [whetherSortable]
* @param {string} [statistical]
* @param {string} [isGroupBy] GroupBy字段
* @param {string} [queryWhether]
* @param {string} [queryType]
* @param {string} [whetherTable]
@ -1343,8 +1357,8 @@ export const SysCodeGenConfigApiFactory = function (configuration?: Configuratio
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async apiSysCodeGenConfigListGet(id?: number, codeGenId?: number, columnName?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkColumnName?: string, fkLinkColumnName?: string, lowerFkColumnName?: string, fkColumnNetType?: string, dictTypeCode?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, statistical?: string, queryWhether?: string, queryType?: string, whetherTable?: string, whetherAddUpdate?: string, columnKey?: string, dataType?: string, whetherCommon?: string, tableNickName?: string, displayColumn?: string, valueColumn?: string, pidColumn?: string, orderNo?: number, rules?: string, defaultValue?: string, ruleItems?: Array<VerifyRuleItem>, remoteVerify?: boolean, anyRule?: boolean, trigger?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminNETResultListCodeGenConfig>> {
return SysCodeGenConfigApiFp(configuration).apiSysCodeGenConfigListGet(id, codeGenId, columnName, propertyName, columnLength, lowerPropertyName, columnComment, netType, effectType, fkConfigId, fkEntityName, fkTableName, lowerFkEntityName, fkColumnName, fkLinkColumnName, lowerFkColumnName, fkColumnNetType, dictTypeCode, whetherRetract, whetherRequired, whetherSortable, statistical, queryWhether, queryType, whetherTable, whetherAddUpdate, columnKey, dataType, whetherCommon, tableNickName, displayColumn, valueColumn, pidColumn, orderNo, rules, defaultValue, ruleItems, remoteVerify, anyRule, trigger, options).then((request) => request(axios, basePath));
async apiSysCodeGenConfigListGet(id?: number, codeGenId?: number, columnName?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkColumnName?: string, fkLinkColumnName?: string, lowerFkColumnName?: string, fkColumnNetType?: string, dictTypeCode?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, statistical?: string, isGroupBy?: string, queryWhether?: string, queryType?: string, whetherTable?: string, whetherAddUpdate?: string, columnKey?: string, dataType?: string, whetherCommon?: string, tableNickName?: string, displayColumn?: string, valueColumn?: string, pidColumn?: string, orderNo?: number, rules?: string, defaultValue?: string, ruleItems?: Array<VerifyRuleItem>, remoteVerify?: boolean, anyRule?: boolean, trigger?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminNETResultListCodeGenConfig>> {
return SysCodeGenConfigApiFp(configuration).apiSysCodeGenConfigListGet(id, codeGenId, columnName, propertyName, columnLength, lowerPropertyName, columnComment, netType, effectType, fkConfigId, fkEntityName, fkTableName, lowerFkEntityName, fkColumnName, fkLinkColumnName, lowerFkColumnName, fkColumnNetType, dictTypeCode, whetherRetract, whetherRequired, whetherSortable, statistical, isGroupBy, queryWhether, queryType, whetherTable, whetherAddUpdate, columnKey, dataType, whetherCommon, tableNickName, displayColumn, valueColumn, pidColumn, orderNo, rules, defaultValue, ruleItems, remoteVerify, anyRule, trigger, options).then((request) => request(axios, basePath));
},
/**
*
@ -1456,6 +1470,7 @@ export class SysCodeGenConfigApi extends BaseAPI {
* @param {string} [whetherRequired]
* @param {string} [whetherSortable]
* @param {string} [statistical]
* @param {string} [isGroupBy] GroupBy字段
* @param {string} [queryWhether]
* @param {string} [queryType]
* @param {string} [whetherTable]
@ -1478,8 +1493,8 @@ export class SysCodeGenConfigApi extends BaseAPI {
* @throws {RequiredError}
* @memberof SysCodeGenConfigApi
*/
public async apiSysCodeGenConfigDetailGet(id?: number, codeGenId?: number, columnName?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkColumnName?: string, fkLinkColumnName?: string, lowerFkColumnName?: string, fkColumnNetType?: string, dictTypeCode?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, statistical?: string, queryWhether?: string, queryType?: string, whetherTable?: string, whetherAddUpdate?: string, columnKey?: string, dataType?: string, whetherCommon?: string, tableNickName?: string, displayColumn?: string, valueColumn?: string, pidColumn?: string, orderNo?: number, rules?: string, defaultValue?: string, ruleItems?: Array<VerifyRuleItem>, remoteVerify?: boolean, anyRule?: boolean, trigger?: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminNETResultSysCodeGenConfig>> {
return SysCodeGenConfigApiFp(this.configuration).apiSysCodeGenConfigDetailGet(id, codeGenId, columnName, propertyName, columnLength, lowerPropertyName, columnComment, netType, effectType, fkConfigId, fkEntityName, fkTableName, lowerFkEntityName, fkColumnName, fkLinkColumnName, lowerFkColumnName, fkColumnNetType, dictTypeCode, whetherRetract, whetherRequired, whetherSortable, statistical, queryWhether, queryType, whetherTable, whetherAddUpdate, columnKey, dataType, whetherCommon, tableNickName, displayColumn, valueColumn, pidColumn, orderNo, rules, defaultValue, ruleItems, remoteVerify, anyRule, trigger, options).then((request) => request(this.axios, this.basePath));
public async apiSysCodeGenConfigDetailGet(id?: number, codeGenId?: number, columnName?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkColumnName?: string, fkLinkColumnName?: string, lowerFkColumnName?: string, fkColumnNetType?: string, dictTypeCode?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, statistical?: string, isGroupBy?: string, queryWhether?: string, queryType?: string, whetherTable?: string, whetherAddUpdate?: string, columnKey?: string, dataType?: string, whetherCommon?: string, tableNickName?: string, displayColumn?: string, valueColumn?: string, pidColumn?: string, orderNo?: number, rules?: string, defaultValue?: string, ruleItems?: Array<VerifyRuleItem>, remoteVerify?: boolean, anyRule?: boolean, trigger?: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminNETResultSysCodeGenConfig>> {
return SysCodeGenConfigApiFp(this.configuration).apiSysCodeGenConfigDetailGet(id, codeGenId, columnName, propertyName, columnLength, lowerPropertyName, columnComment, netType, effectType, fkConfigId, fkEntityName, fkTableName, lowerFkEntityName, fkColumnName, fkLinkColumnName, lowerFkColumnName, fkColumnNetType, dictTypeCode, whetherRetract, whetherRequired, whetherSortable, statistical, isGroupBy, queryWhether, queryType, whetherTable, whetherAddUpdate, columnKey, dataType, whetherCommon, tableNickName, displayColumn, valueColumn, pidColumn, orderNo, rules, defaultValue, ruleItems, remoteVerify, anyRule, trigger, options).then((request) => request(this.axios, this.basePath));
}
/**
*
@ -1517,6 +1532,7 @@ export class SysCodeGenConfigApi extends BaseAPI {
* @param {string} [whetherRequired]
* @param {string} [whetherSortable]
* @param {string} [statistical]
* @param {string} [isGroupBy] GroupBy字段
* @param {string} [queryWhether]
* @param {string} [queryType]
* @param {string} [whetherTable]
@ -1539,8 +1555,8 @@ export class SysCodeGenConfigApi extends BaseAPI {
* @throws {RequiredError}
* @memberof SysCodeGenConfigApi
*/
public async apiSysCodeGenConfigListGet(id?: number, codeGenId?: number, columnName?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkColumnName?: string, fkLinkColumnName?: string, lowerFkColumnName?: string, fkColumnNetType?: string, dictTypeCode?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, statistical?: string, queryWhether?: string, queryType?: string, whetherTable?: string, whetherAddUpdate?: string, columnKey?: string, dataType?: string, whetherCommon?: string, tableNickName?: string, displayColumn?: string, valueColumn?: string, pidColumn?: string, orderNo?: number, rules?: string, defaultValue?: string, ruleItems?: Array<VerifyRuleItem>, remoteVerify?: boolean, anyRule?: boolean, trigger?: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminNETResultListCodeGenConfig>> {
return SysCodeGenConfigApiFp(this.configuration).apiSysCodeGenConfigListGet(id, codeGenId, columnName, propertyName, columnLength, lowerPropertyName, columnComment, netType, effectType, fkConfigId, fkEntityName, fkTableName, lowerFkEntityName, fkColumnName, fkLinkColumnName, lowerFkColumnName, fkColumnNetType, dictTypeCode, whetherRetract, whetherRequired, whetherSortable, statistical, queryWhether, queryType, whetherTable, whetherAddUpdate, columnKey, dataType, whetherCommon, tableNickName, displayColumn, valueColumn, pidColumn, orderNo, rules, defaultValue, ruleItems, remoteVerify, anyRule, trigger, options).then((request) => request(this.axios, this.basePath));
public async apiSysCodeGenConfigListGet(id?: number, codeGenId?: number, columnName?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkColumnName?: string, fkLinkColumnName?: string, lowerFkColumnName?: string, fkColumnNetType?: string, dictTypeCode?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, statistical?: string, isGroupBy?: string, queryWhether?: string, queryType?: string, whetherTable?: string, whetherAddUpdate?: string, columnKey?: string, dataType?: string, whetherCommon?: string, tableNickName?: string, displayColumn?: string, valueColumn?: string, pidColumn?: string, orderNo?: number, rules?: string, defaultValue?: string, ruleItems?: Array<VerifyRuleItem>, remoteVerify?: boolean, anyRule?: boolean, trigger?: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminNETResultListCodeGenConfig>> {
return SysCodeGenConfigApiFp(this.configuration).apiSysCodeGenConfigListGet(id, codeGenId, columnName, propertyName, columnLength, lowerPropertyName, columnComment, netType, effectType, fkConfigId, fkEntityName, fkTableName, lowerFkEntityName, fkColumnName, fkLinkColumnName, lowerFkColumnName, fkColumnNetType, dictTypeCode, whetherRetract, whetherRequired, whetherSortable, statistical, isGroupBy, queryWhether, queryType, whetherTable, whetherAddUpdate, columnKey, dataType, whetherCommon, tableNickName, displayColumn, valueColumn, pidColumn, orderNo, rules, defaultValue, ruleItems, remoteVerify, anyRule, trigger, options).then((request) => request(this.axios, this.basePath));
}
/**
*

View File

@ -651,7 +651,7 @@ export const SysWechatPayApiAxiosParamCreator = function (configuration?: Config
},
/**
*
* @summary Id获取退款信息列表
* @summary Id获取退款信息列表 🔖
* @param {string} [transactionId]
* @param {string} [outTradeNumber]
* @param {*} [options] Override http request option.
@ -940,7 +940,7 @@ export const SysWechatPayApiFp = function(configuration?: Configuration) {
},
/**
*
* @summary Id获取退款信息列表
* @summary Id获取退款信息列表 🔖
* @param {string} [transactionId]
* @param {string} [outTradeNumber]
* @param {*} [options] Override http request option.
@ -1105,7 +1105,7 @@ export const SysWechatPayApiFactory = function (configuration?: Configuration, b
},
/**
*
* @summary Id获取退款信息列表
* @summary Id获取退款信息列表 🔖
* @param {string} [transactionId]
* @param {string} [outTradeNumber]
* @param {*} [options] Override http request option.
@ -1276,7 +1276,7 @@ export class SysWechatPayApi extends BaseAPI {
}
/**
*
* @summary Id获取退款信息列表
* @summary Id获取退款信息列表 🔖
* @param {string} [transactionId]
* @param {string} [outTradeNumber]
* @param {*} [options] Override http request option.

View File

@ -211,6 +211,14 @@ export interface AddMenuInput {
*/
remark?: string | null;
/**
*
*
* @type {string}
* @memberof AddMenuInput
*/
i18nName?: string | null;
/**
*
*

View File

@ -197,6 +197,14 @@ export interface CodeGenConfig {
*/
statistical?: string | null;
/**
* GroupBy字段
*
* @type {string}
* @memberof CodeGenConfig
*/
isGroupBy?: string | null;
/**
*
*

View File

@ -12,6 +12,7 @@
* Do not edit the class manually.
*/
import { WechatPayParaOutput } from './wechat-pay-para-output';
/**
*
*
@ -31,4 +32,10 @@ export interface CreatePayTransactionOutput {
* @memberof CreatePayTransactionOutput
*/
outTradeNumber?: string | null;
/**
* @type {WechatPayParaOutput}
* @memberof CreatePayTransactionOutput
*/
singInfo?: WechatPayParaOutput;
}

View File

@ -484,6 +484,7 @@ export * from './visual-db-table';
export * from './visual-table';
export * from './wechat-pay-output';
export * from './wechat-pay-para-input';
export * from './wechat-pay-para-output';
export * from './wechat-pay-transaction-input';
export * from './wechat-user-login';
export * from './wx-open-id-login-input';

View File

@ -54,6 +54,14 @@ export interface MenuOutput {
*/
name?: string | null;
/**
*
*
* @type {string}
* @memberof MenuOutput
*/
i18nName?: string | null;
/**
*
*

View File

@ -197,7 +197,7 @@ export interface SysCodeGenConfig {
dictTypeCode?: string | null;
/**
*
*
*
* @type {string}
* @memberof SysCodeGenConfig
@ -228,6 +228,14 @@ export interface SysCodeGenConfig {
*/
statistical?: string | null;
/**
*
*
* @type {string}
* @memberof SysCodeGenConfig
*/
isGroupBy?: string | null;
/**
*
*

View File

@ -219,6 +219,14 @@ export interface SysMenu {
*/
remark?: string | null;
/**
*
*
* @type {string}
* @memberof SysMenu
*/
i18nName?: string | null;
/**
*
*
@ -226,5 +234,4 @@ export interface SysMenu {
* @memberof SysMenu
*/
children?: Array<SysMenu> | null;
i18nName?: string | null;
}

View File

@ -211,6 +211,14 @@ export interface UpdateMenuInput {
*/
remark?: string | null;
/**
*
*
* @type {string}
* @memberof UpdateMenuInput
*/
i18nName?: string | null;
/**
*
*

View File

@ -0,0 +1,58 @@
/* tslint:disable */
/* eslint-disable */
/**
* Admin.NET
* .NET <br/><u><b><font color='FF0000'> 👮</font></b></u>
*
* OpenAPI spec version: 1.0.0
*
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
/**
*
*
* @export
* @interface WechatPayParaOutput
*/
export interface WechatPayParaOutput {
/**
* @type {string}
* @memberof WechatPayParaOutput
*/
appId?: string | null;
/**
* @type {string}
* @memberof WechatPayParaOutput
*/
timeStamp?: string | null;
/**
* @type {string}
* @memberof WechatPayParaOutput
*/
nonceStr?: string | null;
/**
* @type {string}
* @memberof WechatPayParaOutput
*/
_package?: string | null;
/**
* @type {string}
* @memberof WechatPayParaOutput
*/
signType?: string | null;
/**
* @type {string}
* @memberof WechatPayParaOutput
*/
paySign?: string | null;
}

View File

@ -20,10 +20,9 @@ const { t } = useI18n();
const defaultText = t('message.list.welcomein') + ' <a href="https://gitee.com/zuohuaijun/Admin.NET" target="_blank">https://gitee.com/zuohuaijun/Admin.NET</a>';
const props = defineProps({
mode: { type: String, default: '' }, // closeable link
text: { type: String, default: ''}, //
text: { type: String, default: '' }, //
color: { type: String, default: 'var(--el-color-warning)' }, //
background: { type: String, default: 'var(--el-color-warning-light-9)' }, //
size: { type: [Number, String], default: 14 }, // px

View File

@ -10,7 +10,6 @@
</tr>
</thead>
<tbody class="el-table-tbody">
<tr v-for="(item, index) in vm.value" :key="index">
<td v-for="(citem, ci) in $props.columns" :key="ci" style="text-align: center" v-show="citem.ifShow == undefined ? true : citem.ifShow">
<component v-if="citem.component != 'el-select'" :is="citem.component" v-model="item[citem.field]" v-bind="renderComponentProp(citem)" :disabled="$props.disabled" />
@ -37,7 +36,6 @@
</td>
</tr>
</tfoot>
</table>
</div>
</template>

View File

@ -33,7 +33,7 @@
<div class="layout-lock-screen-login-box-name">{{ userInfos.account }}</div>
<div v-if="state.showMessage" class="layout-lock-screen-login-box-message">
<span>{{ state.message }}</span>
<el-button style="max-width: 80px; margin-top: 20px" size="default" @click="hideMessage"> {{$t('message.layout.confirm')}} </el-button>
<el-button style="max-width: 80px; margin-top: 20px" size="default" @click="hideMessage"> {{ $t('message.layout.confirm') }} </el-button>
</div>
<div v-else class="layout-lock-screen-login-box-value">
<el-input
@ -87,7 +87,7 @@ import { useRoute } from 'vue-router';
import { loadSysInfo } from '/@/utils/sysInfo';
import { useI18n } from 'vue-i18n';
const { t,locale } = useI18n();
const { t, locale } = useI18n();
const needPassword = ref('');
needPassword.value = t('message.layout.needPassword');
@ -252,7 +252,7 @@ const hideMessage = () => {
});
};
//
onMounted(async() => {
onMounted(async () => {
initGetElement();
initSetTime();
initLockScreen();

View File

@ -14,17 +14,17 @@
</el-dropdown>
<el-dropdown :show-timeout="70" :hide-timeout="50" trigger="click" @command="onLanguageChange">
<div class="layout-navbars-breadcrumb-user-icon">
<FlagIcon :code="currentCountryCode" square :size="12" :title="$t('message.user.title1')"/>
<FlagIcon :code="currentCountryCode" square :size="12" :title="$t('message.user.title1')" />
</div>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item v-for="(value,key) in languageList" :key="key" :command="key" :disabled="state.disabledI18n === key">
<el-dropdown-item v-for="(value, key) in languageList" :key="key" :command="key" :disabled="state.disabledI18n === key">
<div class="flex items-center">
<div class="mr-2">
<FlagIcon :code="getCountryCode(key)" :size="18" />
</div>
<div style="margin-left:10px;">
{{value}}
<div style="margin-left: 10px">
{{ value }}
</div>
</div>
</el-dropdown-item>
@ -64,12 +64,12 @@
<span class="layout-navbars-breadcrumb-user-link">
<el-tooltip effect="dark" placement="left">
<template #content>
{{$t('message.list.account')}}{{ userInfos.account }}<br />
{{$t('message.list.realName')}}{{ userInfos.realName }}<br />
{{$t('message.list.phone')}}{{ userInfos.phone }}<br />
{{$t('message.list.email')}}{{ userInfos.email }}<br />
{{$t('message.list.orgName')}}{{ userInfos.orgName }}<br />
{{$t('message.list.positionText')}}{{ userInfos.posName }}<br />
{{ $t('message.list.account') }}{{ userInfos.account }}<br />
{{ $t('message.list.realName') }}{{ userInfos.realName }}<br />
{{ $t('message.list.phone') }}{{ userInfos.phone }}<br />
{{ $t('message.list.email') }}{{ userInfos.email }}<br />
{{ $t('message.list.orgName') }}{{ userInfos.orgName }}<br />
{{ $t('message.list.positionText') }}{{ userInfos.posName }}<br />
</template>
<img :src="userInfos.avatar" class="layout-navbars-breadcrumb-user-link-photo mr5" />
@ -116,9 +116,9 @@ import { Avatar, CircleCloseFilled, Loading, Lock } from '@element-plus/icons-vu
import { clearAccessTokens, getAPI } from '/@/utils/axios-utils';
import { SysAuthApi, SysNoticeApi, SysUpgradeApi, SysUserApi } from '/@/api-services/api';
import { languageList,getCountryCode } from '/@/i18n';
import FlagIcon from 'vue3-flag-icons'
import type { CountryCode } from 'vue3-flag-icons'
import { languageList, getCountryCode } from '/@/i18n';
import FlagIcon from 'vue3-flag-icons';
import type { CountryCode } from 'vue3-flag-icons';
//
const UserNews = defineAsyncComponent(() => import('/@/layout/navBars/topBar/userNews.vue'));

View File

@ -18,22 +18,18 @@
</template>
<el-empty :description="$t('message.list.empty')" v-else></el-empty>
</div>
<div class="notice-foot" @click="goToNotice" v-if="noticeList.length > 0"> {{ $t('message.list.goToNotice') }} </div>
<div class="notice-foot" @click="goToNotice" v-if="noticeList.length > 0">{{ $t('message.list.goToNotice') }}</div>
</el-tab-pane>
<el-tab-pane :label="$t('message.list.my')">
<template #label>
<el-icon><ele-Position /></el-icon>
<span style="margin-left: 5px">{{ $t('message.list.my') }}</span>
</template>
<div style="height: 400px; overflow-y: auto; padding-right: 10px">
<el-empty :description="$t('message.list.empty')"></el-empty>
</div>
</el-tab-pane>
</el-tabs>
<el-dialog v-model="state.dialogVisible" draggable width="769px">
<template #header>
@ -51,7 +47,6 @@
</span>
</template>
</el-dialog>
</div>
</template>

View File

@ -25,11 +25,11 @@ import { setupVXETable } from '/@/hooks/setupVXETableHook';
import JwChat from 'jwchat';
import 'jwchat/lib/style.css';
// 自定义字典组件
import sysDict from "/@/components/sysDict/sysDict.vue";
import sysDict from '/@/components/sysDict/sysDict.vue';
// 关闭自动打印
import { disAutoConnect } from 'vue-plugin-hiprint';
import 'vue3-flag-icons/styles'
import 'vue3-flag-icons/styles';
disAutoConnect();
@ -44,14 +44,4 @@ other.elSvg(app);
// 注册全局字典组件
app.component('GSysDict', sysDict);
app.use(pinia)
.use(i18n)
.use(router)
.use(ElementPlus)
.use(setupVXETable)
.use(VueGridLayout)
.use(VForm3)
.use(VueSignaturePad)
.use(vue3TreeOrg)
.use(JwChat)
.mount('#app');
app.use(pinia).use(i18n).use(router).use(ElementPlus).use(setupVXETable).use(VueGridLayout).use(VForm3).use(VueSignaturePad).use(vue3TreeOrg).use(JwChat).mount('#app');

View File

@ -119,7 +119,6 @@ export async function getBackEndControlRoutes() {
let resData = res.data.result;
recursive(resData);
return resData;
}

View File

@ -125,7 +125,7 @@ export function formatPast(param: string | Date, format: string = 'YYYY-mm-dd'):
*/
export function formatAxis(param: Date, t?: Function): string {
let hour: number = new Date(param).getHours();
// 如果没有传入翻译函数,使用默认中文
const defaultMessages = {
dawnGreeting: '凌晨好',
@ -135,7 +135,7 @@ export function formatAxis(param: Date, t?: Function): string {
pmGreeting: '下午好',
duskGreeting: '傍晚好',
eveningGreeting: '晚上好',
nightGreeting: '夜里好'
nightGreeting: '夜里好',
};
const getMessage = (key: string) => {

View File

@ -12,13 +12,10 @@
<el-col class="mb5" :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
<el-form-item :label="$t('message.list.type')" prop="type">
<el-select v-model="state.queryParams.type" :placeholder="$t('message.list.type')" clearable @clear="state.queryParams.type = undefined">
<el-option :label="$t('message.list.notice')" :value="1" />
<el-option :label="$t('message.list.announcement')" :value="2" />
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
@ -28,12 +25,11 @@
<el-row>
<el-col>
<el-button-group>
<el-button type="primary" icon="ele-Search" @click="handleQuery(true)" :loading="options.loading"> {{$t('message.list.query')}} </el-button>
<el-button icon="ele-Refresh" @click="resetQuery" :loading="options.loading"> {{$t('message.list.reset')}} </el-button>
<el-button type="primary" icon="ele-Search" @click="handleQuery(true)" :loading="options.loading"> {{ $t('message.list.query') }} </el-button>
<el-button icon="ele-Refresh" @click="resetQuery" :loading="options.loading"> {{ $t('message.list.reset') }} </el-button>
</el-button-group>
</el-col>
</el-row>
</el-card>
<el-card class="full-table" shadow="hover" style="margin-top: 5px">
@ -56,7 +52,6 @@
<el-button icon="ele-InfoFilled" text type="primary" @click="handleView(row)"> </el-button>
</el-tooltip>
</template>
</vxe-grid>
</el-card>
@ -121,7 +116,6 @@ const options = useVxeTable<SysNoticeUser>(
// { type: 'checkbox', width: 40, fixed: 'left' },
{ field: 'seq', type: 'seq', title: t('message.list.seq'), width: 60, fixed: 'left' },
{ field: 'sysNotice.title', title: t('message.list.title'), minWidth: 200, showOverflow: 'tooltip' },
{ field: 'sysNotice.content', title: t('message.list.content'), minWidth: 180, showOverflow: 'tooltip', slots: { default: (scope: any) => removeHtml(scope.row.sysNotice.content) } },
@ -133,7 +127,6 @@ const options = useVxeTable<SysNoticeUser>(
{ field: 'sysNotice.publicTime', title: t('message.list.publishTime'), minWidth: 150, showOverflow: 'tooltip' },
{ field: 'buttons', title: t('message.list.operation'), fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } },
],
},
// vxeGrid()vxe-table

View File

@ -20,7 +20,7 @@
<el-drawer :title="$t('message.list.addApp')" v-model="modsDrawer" :size="520" destroy-on-close :before-close="beforeClose">
<div class="setMods mt15">
<h4> {{ $t('message.list.myoffenuse') }} ( {{ myMods.length }} )</h4>
<h4>{{ $t('message.list.myoffenuse') }} ( {{ myMods.length }} )</h4>
<VueDraggable tag="ul" v-model="myMods" :animation="200" group="app" class="draggable-box">
<li v-for="item in myMods" :key="item.id">
<SvgIcon :name="item.meta?.icon" style="font-size: 18px" />
@ -29,7 +29,7 @@
</VueDraggable>
</div>
<div class="setMods">
<h4> {{ $t('message.list.allApp') }} ( {{ filterMods.length }} )</h4>
<h4>{{ $t('message.list.allApp') }} ( {{ filterMods.length }} )</h4>
<VueDraggable tag="ul" v-model="filterMods" :animation="200" group="app" class="draggable-box-all">
<li v-for="item in filterMods" :key="item.id" :style="{ background: '#909399' }">
<SvgIcon :name="item.meta?.icon" style="font-size: 18px" />

View File

@ -11,7 +11,14 @@
<el-row :gutter="35">
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8" class="mb20 time-padding-right">
<el-form-item :label="t('message.list.scheduleTime')" prop="scheduleTime" :rules="[{ required: true, message: t('message.list.scheduleTimeRequired'), trigger: 'blur' }]">
<el-date-picker v-model="state.ruleForm.scheduleTime" type="datetime" :placeholder="t('message.list.scheduleTimePlaceholder')" format="YYYY-MM-DD" value-format="YYYY-MM-DD HH:mm:ss" class="w100" />
<el-date-picker
v-model="state.ruleForm.scheduleTime"
type="datetime"
:placeholder="t('message.list.scheduleTimePlaceholder')"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD HH:mm:ss"
class="w100"
/>
</el-form-item>
</el-col>
<el-col :xs="5" :sm="5" :md="5" :lg="5" :xl="5" class="mb20 time-padding">

View File

@ -37,10 +37,9 @@
</template>
<script setup lang="ts" name="welcome">
const godoc = () => {
window.open('http://101.43.53.74:5050/');
}
};
</script>
<script lang="ts">
@ -51,14 +50,12 @@ const storesThemeConfig = useThemeConfig();
const { themeConfig } = storeToRefs(storesThemeConfig);
export default {
title: "Welcome",
title: 'Welcome',
icon: 'ele-Promotion',
description: "项目特色以及文档链接",
description: '项目特色以及文档链接',
};
</script>
<style scoped>
.welcome .logo {
text-align: center;

View File

@ -2,8 +2,7 @@
<el-tooltip :visible="state.capsLockVisible" effect="light" :content="t('message.account.lockTag')" placement="top">
<el-form ref="ruleFormRef" :model="state.ruleForm" size="large" :rules="state.rules" class="login-content-form">
<el-form-item class="login-animation1" prop="account">
<el-input ref="accountRef" text :placeholder="t('message.account.accountneed')"
v-model="state.ruleForm.account" clearable autocomplete="off" @keyup.enter.native="handleSignIn">
<el-input ref="accountRef" text :placeholder="t('message.account.accountneed')" v-model="state.ruleForm.account" clearable autocomplete="off" @keyup.enter.native="handleSignIn">
<template #prefix>
<el-icon>
<ele-User />
@ -12,26 +11,37 @@
</el-input>
</el-form-item>
<el-form-item class="login-animation2" prop="password">
<el-input ref="passwordRef" :type="state.isShowPassword ? 'text' : 'password'"
:placeholder="t('message.account.passwordneed')" v-model="state.ruleForm.password"
autocomplete="off" @keyup.enter.native="handleSignIn">
<el-input
ref="passwordRef"
:type="state.isShowPassword ? 'text' : 'password'"
:placeholder="t('message.account.passwordneed')"
v-model="state.ruleForm.password"
autocomplete="off"
@keyup.enter.native="handleSignIn"
>
<template #prefix>
<el-icon>
<ele-Unlock />
</el-icon>
</template>
<template #suffix>
<i class="iconfont el-input__icon login-content-password"
:class="state.isShowPassword ? 'icon-yincangmima' : 'icon-xianshimima'"
@click="state.isShowPassword = !state.isShowPassword">
<i class="iconfont el-input__icon login-content-password" :class="state.isShowPassword ? 'icon-yincangmima' : 'icon-xianshimima'" @click="state.isShowPassword = !state.isShowPassword">
</i>
</template>
</el-input>
</el-form-item>
<el-form-item class="login-animation3" prop="captcha" v-if="state.captchaEnabled">
<el-col :span="15">
<el-input ref="codeRef" text maxlength="4" :placeholder="$t('message.account.accountPlaceholder3')"
v-model="state.ruleForm.code" clearable autocomplete="off" @keyup.enter.native="handleSignIn">
<el-input
ref="codeRef"
text
maxlength="4"
:placeholder="$t('message.account.accountPlaceholder3')"
v-model="state.ruleForm.code"
clearable
autocomplete="off"
@keyup.enter.native="handleSignIn"
>
<template #prefix>
<el-icon>
<ele-Position />
@ -41,22 +51,18 @@
</el-col>
<el-col :span="1"></el-col>
<el-col :span="8">
<div :class="[state.expirySeconds > 0 ? 'login-content-code' : 'login-content-code-expired']"
@click="getCaptcha">
<div style="width: 130px; height: 38px; text-align: center; cursor: pointer"
v-if="state.captchaImage == ''">
<div :class="[state.expirySeconds > 0 ? 'login-content-code' : 'login-content-code-expired']" @click="getCaptcha">
<div style="width: 130px; height: 38px; text-align: center; cursor: pointer" v-if="state.captchaImage == ''">
<el-icon class="is-loading">
<ele-Loading />
</el-icon>
</div>
<img class="login-content-code-img" width="130px" height="38px" :src="state.captchaImage"
style="cursor: pointer" v-else />
<img class="login-content-code-img" width="130px" height="38px" :src="state.captchaImage" style="cursor: pointer" v-else />
</div>
</el-col>
</el-form-item>
<el-form-item class="login-animation4">
<el-button type="primary" icon="ele-Promotion" class="login-content-submit" round v-waves
@click="handleSignIn" :loading="state.loading.signIn">
<el-button type="primary" icon="ele-Promotion" class="login-content-submit" round v-waves @click="handleSignIn" :loading="state.loading.signIn">
<span>{{ $t('message.account.accountBtnText') }}</span>
</el-button>
</el-form-item>
@ -66,10 +72,16 @@
</el-tooltip>
<div class="dialog-header">
<el-dialog v-model="state.rotateVerifyVisible" :show-close="false">
<DragVerifyImgRotate ref="dragRef" :imgsrc="state.rotateVerifyImg" v-model:isPassing="state.isPassRotate"
:text="t('message.account.splitslive')" :successText="t('message.account.success')"
handlerIcon="fa fa-angle-double-right" successIcon="fa fa-hand-peace-o"
@passcallback="passRotateVerify" />
<DragVerifyImgRotate
ref="dragRef"
:imgsrc="state.rotateVerifyImg"
v-model:isPassing="state.isPassRotate"
:text="t('message.account.splitslive')"
:successText="t('message.account.success')"
handlerIcon="fa fa-angle-double-right"
successIcon="fa fa-hand-peace-o"
@passcallback="passRotateVerify"
/>
</el-dialog>
</div>
</template>

View File

@ -166,7 +166,7 @@ const signInSuccess = (isNoPower: boolean | undefined) => {
//
const currentTime = computed(() => {
return formatAxis(new Date(),t);
return formatAxis(new Date(), t);
});
</script>

View File

@ -318,7 +318,7 @@ onMounted(async () => {
}
/* 保持原有内容可见,放置在伪元素下方 */
.login-right-warp>* {
.login-right-warp > * {
position: relative;
z-index: 2;
}
@ -352,7 +352,6 @@ onMounted(async () => {
}
@media screen and (max-width: 1200px) {
.copyright,
.icp {
left: 50%;
@ -367,7 +366,6 @@ onMounted(async () => {
}
@media screen and (max-width: 580px) {
.copyright,
.icp {
left: 50%;

View File

@ -58,7 +58,9 @@
<el-tooltip :content="$t('message.list.delete')" placement="top">
<el-button icon="ele-Delete" size="small" text type="danger" @click="handleDelete(row)" v-auth="'sysNotice/delete'" :disabled="row.status === 1" />
</el-tooltip>
<el-button icon="ele-Position" size="small" text type="primary" @click="handlePublic(row)" v-auth="'sysNotice/public'" :disabled="row.status === 1">{{ $t('message.list.publish') }}</el-button>
<el-button icon="ele-Position" size="small" text type="primary" @click="handlePublic(row)" v-auth="'sysNotice/public'" :disabled="row.status === 1">{{
$t('message.list.publish')
}}</el-button>
</template>
</vxe-grid>
</el-card>

View File

@ -12,19 +12,14 @@
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item :label="$t('message.list.recipient')" prop="receiveUserName" :rules="[{ required: true, message: $t('message.list.recipientRequired'), trigger: 'blur' }]">
<el-input v-model="state.ruleForm.receiveUserName" :placeholder="$t('message.list.recipient')" disabled />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item :label="$t('message.list.title')" prop="title" :rules="[{ required: true, message: $t('message.list.titleRequired'), trigger: 'blur' }]">
<el-input v-model="state.ruleForm.title" :placeholder="$t('message.list.title')" clearable />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
<el-form-item :label="$t('message.list.content')" prop="message" :rules="[{ required: true, message: $t('message.list.contentRequired'), trigger: 'blur' }]">
<Editor v-model:get-html="state.ruleForm.message" />
</el-form-item>
@ -33,11 +28,10 @@
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button type="primary" icon="ele-Position" @click="submit"> {{$t('message.list.send')}} </el-button>
<el-button type="primary" icon="ele-Position" @click="submit"> {{ $t('message.list.send') }} </el-button>
</span>
</template>
</el-dialog>
</div>
</template>

View File

@ -4,7 +4,7 @@
<template #header>
<div style="color: #fff">
<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-UserFilled /> </el-icon>
<span> {{$t('message.list.onlineUserList')}} </span>
<span> {{ $t('message.list.onlineUserList') }} </span>
</div>
</template>
<el-card shadow="hover" :body-style="{ padding: '5px 5px 0 5px', display: 'flex', width: '100%', height: '100%', alignItems: 'start' }">
@ -18,10 +18,8 @@
<el-col class="mb5" :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
<el-form-item :label="$t('message.list.realName')" prop="realName">
<el-input v-model="state.queryParams.realName" :placeholder="$t('message.list.realName')" clearable @keyup.enter.native="handleQuery(true)" />
</el-form-item>
</el-col>
</el-row>
</el-form>
@ -31,8 +29,8 @@
<el-row>
<el-col>
<el-button-group>
<el-button type="primary" icon="ele-Search" @click="handleQuery(true)" :loading="options.loading"> {{$t('message.list.query')}} </el-button>
<el-button icon="ele-Refresh" @click="resetQuery" :loading="options.loading"> {{$t('message.list.reset')}} </el-button>
<el-button type="primary" icon="ele-Search" @click="handleQuery(true)" :loading="options.loading"> {{ $t('message.list.query') }} </el-button>
<el-button icon="ele-Refresh" @click="resetQuery" :loading="options.loading"> {{ $t('message.list.reset') }} </el-button>
</el-button-group>
</el-col>
</el-row>
@ -50,7 +48,6 @@
<el-button icon="ele-Position" text type="primary" @click="openSendMessage(row)"> </el-button>
</el-tooltip>
<el-tooltip :content="$t('message.list.forceOffline')" placement="top">
<el-button icon="ele-CircleCloseFilled" text type="danger" v-auth="'sysOnlineUser/forceOffline'" @click="forceOffline(row)"> </el-button>
</el-tooltip>
</template>
@ -62,7 +59,6 @@
</div>
</template>
<script lang="ts" setup>
import { onMounted, reactive, ref } from 'vue';
import { ElMessageBox, ElNotification } from 'element-plus';
@ -117,7 +113,6 @@ const options = useVxeTable<SysOnlineUser>(
// { field: 'connectionId', title: 'Id', minWidth: 160, showOverflow: 'tooltip', sortable: true },
{ field: 'time', title: t('message.list.loginTime'), minWidth: 120, showOverflow: 'tooltip' },
{ title: t('message.list.operation'), fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } },
],
},
// vxeGrid()vxe-table

View File

@ -119,7 +119,13 @@ const options = useVxeTable<SysOrg>(
{ field: 'name', title: i18n.t('message.list.organizationName'), minWidth: 200, showOverflow: 'tooltip', treeNode: true, align: 'left', headerAlign: 'center' },
{ field: 'code', title: i18n.t('message.list.organizationCode'), minWidth: 200, showOverflow: 'tooltip' },
{ field: 'level', title: i18n.t('message.list.level'), minWidth: 70, showOverflow: 'tooltip' },
{ field: 'type', title: i18n.t('message.list.organizationType'), minWidth: 80, formatter: ({ cellValue }: any) => state.orgTypeList.find((u: any) => u.code == cellValue)?.value, showOverflow: 'tooltip' },
{
field: 'type',
title: i18n.t('message.list.organizationType'),
minWidth: 80,
formatter: ({ cellValue }: any) => state.orgTypeList.find((u: any) => u.code == cellValue)?.value,
showOverflow: 'tooltip',
},
{ field: 'orderNo', title: i18n.t('message.list.orderNo'), width: 80, showOverflow: 'tooltip' },
{ field: 'status', title: i18n.t('message.list.status'), width: 80, showOverflow: 'tooltip', slots: { default: 'row_status' } },
{ field: 'record', title: i18n.t('message.list.record'), width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },

View File

@ -69,7 +69,6 @@ import { useI18n } from 'vue-i18n';
const { t } = useI18n();
const filterText = ref('');
const treeRef = ref<InstanceType<typeof ElTree>>();
const state = reactive({
@ -109,8 +108,6 @@ const openDrawer = async (row: any) => {
state.roleId = row.id;
state.drawerTitle = t('message.list.setApiBlacklist', { name: row.name });
state.loading = true;
//
var res1 = await getAPI(SysRoleApi).apiSysRoleRoleApiListGet(state.roleId);

View File

@ -64,7 +64,6 @@ const state = reactive({
const openDialog = async (row: any) => {
state.title = t('message.list.authRoleDataScopeWithName', { name: row.name });
state.ruleForm = JSON.parse(JSON.stringify(row));
var res = await getAPI(SysRoleApi).apiSysRoleOwnOrgListGet(row.id);
setTimeout(() => {

View File

@ -62,11 +62,10 @@ onMounted(async () => {
state.menuData = res.data.result ?? [];
recurenceMenuData(state.menuData);
state.loading = false;
});
const recurenceMenuData = (menuData: Array<SysMenu>) => {
menuData.forEach(item => {
menuData.forEach((item) => {
item.title = item.i18nName ?? item.title;
if (item.children) {
recurenceMenuData(item.children);
@ -74,14 +73,11 @@ const recurenceMenuData = (menuData: Array<SysMenu>) => {
});
};
//
const openDrawer = async (row: any) => {
state.roleId = row.id;
state.drawerTitle = t('message.list.grantRoleMenuWithName', { name: row.name });
state.loading = true;
treeRef.value?.setCheckedKeys([]); //
if (row.id != undefined) {

View File

@ -68,7 +68,6 @@ const openDrawer = async (row: any) => {
state.roleId = row.id;
state.drawerTitle = t('message.list.setApiBlacklist', { name: row.name });
state.loading = true;
treeRef.value?.setCheckedKeys([]); //
if (row.id != undefined) {

View File

@ -64,7 +64,7 @@ onMounted(async () => {
});
const recurenceMenuData = (menuData: Array<SysMenu>) => {
menuData.forEach(item => {
menuData.forEach((item) => {
item.title = item.i18nName ?? item.title;
if (item.children) {
recurenceMenuData(item.children);

View File

@ -101,7 +101,15 @@
<el-button icon="ele-Delete" type="danger" circle plain size="small" @click="deleteExtOrgRow(k)" />
<span class="ml5">{{ $t('message.list.organization') }}</span>
</template>
<el-cascader :options="props.orgData" :props="cascaderProps" :placeholder="$t('message.list.organization')" clearable filterable class="w100" v-model="state.ruleForm.extOrgIdList[k].orgId">
<el-cascader
:options="props.orgData"
:props="cascaderProps"
:placeholder="$t('message.list.organization')"
clearable
filterable
class="w100"
v-model="state.ruleForm.extOrgIdList[k].orgId"
>
<template #default="{ node, data }">
<span>{{ data.name }}</span>
<span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
@ -110,7 +118,11 @@
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item :label="$t('message.list.jobTitle')" :prop="`extOrgIdList[${k}].posId`" :rules="[{ required: true, message: $t('message.list.positionRequired'), trigger: 'blur' }]">
<el-form-item
:label="$t('message.list.jobTitle')"
:prop="`extOrgIdList[${k}].posId`"
:rules="[{ required: true, message: $t('message.list.positionRequired'), trigger: 'blur' }]"
>
<el-select v-model="state.ruleForm.extOrgIdList[k].posId" :placeholder="$t('message.list.jobTitle')" class="w100">
<el-option v-for="d in state.posData" :key="d.id" :label="d.name" :value="d.id" />
</el-select>
@ -124,12 +136,7 @@
</el-form>
</el-tab-pane>
<el-tab-pane :label="$t('message.list.roleAuth')" style="height: 550px; overflow-y: auto; overflow-x: hidden">
<Transfer
:left-title="$t('message.list.unauthorized')"
:right-title="$t('message.list.authorized')"
v-model:leftData="state.availableRoles"
v-model:rightData="state.grantedRoles"
/>
<Transfer :left-title="$t('message.list.unauthorized')" :right-title="$t('message.list.authorized')" v-model:leftData="state.availableRoles" v-model:rightData="state.grantedRoles" />
</el-tab-pane>
<el-tab-pane :label="$t('message.list.profileInfo')" style="height: 550px; overflow-y: auto; overflow-x: hidden">
<el-form :model="state.ruleForm" label-width="auto">

View File

@ -59,8 +59,6 @@
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item :label="t('message.list.realNameText')" prop="realName" :rules="[{ required: true, message: t('message.list.realNameRequired'), trigger: 'blur' }]">
<el-input v-model="state.ruleFormBase.realName" :placeholder="t('message.list.realNameText')" clearable />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
@ -72,7 +70,6 @@
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item :label="t('message.list.phoneNumber')" prop="phone" :rules="[{ required: true, message: t('message.list.phoneRequired'), trigger: 'blur' }]">
<el-input v-model="state.ruleFormBase.phone" :placeholder="t('message.list.phoneNumber')" clearable />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
@ -93,7 +90,6 @@
<el-radio :value="2">{{ t('message.list.female') }}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
<el-form-item :label="t('message.list.address')">
@ -119,11 +115,9 @@
<OrgTree ref="orgTreeRef" />
</el-tab-pane>
<el-tab-pane :label="t('message.list.changePassword')">
<div style="color: red; padding: 10px 10px; background: #faecd8; margin-bottom: 15px">
<el-icon style="transform: translateY(2px)"><ele-Bell /></el-icon>
<span> {{ $t('message.list.passwordPolicy') }} </span>
</div>
<el-form ref="ruleFormPasswordRef" :model="state.ruleFormPassword" label-width="auto" class="mb10">
<el-form-item :label="t('message.list.currentPassword')" prop="passwordOld" :rules="[{ required: true, message: t('message.list.currentPasswordRequired'), trigger: 'blur' }]">
@ -158,7 +152,9 @@
</div>
<div style="margin-top: 10px">
<div style="display: inline">{{ $t('message.list.brushThickness') }}<el-input-number v-model="state.signOptions.minWidth" :min="0.5" :max="2.5" :step="0.1" size="small" /></div>
<div style="display: inline; margin-left: 30px">{{ $t('message.list.brushColor') }}<el-color-picker v-model="state.signOptions.penColor" color-format="hex" size="default"> </el-color-picker></div>
<div style="display: inline; margin-left: 30px">
{{ $t('message.list.brushColor') }}<el-color-picker v-model="state.signOptions.penColor" color-format="hex" size="default"> </el-color-picker>
</div>
</div>
<template #footer>
<span class="dialog-footer">

View File

@ -30,7 +30,6 @@
<el-input v-model="state.queryParams.phone" :placeholder="$t('message.list.phoneNumber')" clearable @keyup.enter.native="handleQuery(true)" />
</el-form-item>
</el-col>
</el-row>
</el-form>
@ -44,7 +43,6 @@
</el-button-group>
</el-col>
</el-row>
</el-card>
<el-card class="full-table" shadow="hover" style="margin-top: 5px; flex: 1">
@ -54,7 +52,6 @@
</template>
<template #toolbar_tools> </template>
<template #empty>
<el-empty :image-size="200" />
</template>
<!-- <template #row_avatar="{ row }">
@ -96,7 +93,6 @@
<el-button icon="ele-Unlock" text type="primary" v-auth="'sysUser/unlockLogin'" @click="handleUnlock(row)">{{ $t('message.list.unlockAccount') }}</el-button>
</template>
</vxe-grid>
</el-card>
</pane>
</splitpanes>
@ -177,7 +173,6 @@ const options = useVxeTable<UserOutput>(
{ field: 'record', title: t('message.list.record'), width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
{ field: 'buttons', title: t('message.list.operation'), fixed: 'right', width: 300, showOverflow: true, slots: { default: 'row_buttons' } },
],
},
// vxeGrid()vxe-table
@ -246,7 +241,6 @@ const handleEdit = (row: any) => {
editUserRef.value?.openDialog(row);
};
//
const openCopyMenu = (row: any) => {
state.title = t('message.list.copyAccount');
@ -256,14 +250,12 @@ const openCopyMenu = (row: any) => {
editUserRef.value?.openDialog(copyRow);
};
//
const handleDelete = (row: any) => {
ElMessageBox.confirm(t('message.list.confirmDeleteAccount', { account: row.account }), t('message.list.hint'), {
confirmButtonText: t('message.list.confirmButtonText'),
cancelButtonText: t('message.list.cancelButtonText'),
type: 'warning',
})
.then(async () => {
await getAPI(SysUserApi).apiSysUserDeletePost({ id: row.id });
@ -271,7 +263,6 @@ const handleDelete = (row: any) => {
ElMessage.success(t('message.list.successDelete'));
})
.catch(() => {});
};
//
@ -298,7 +289,6 @@ const changeStatus = (row: any) => {
.catch(() => {
row.status = row.status == 1 ? 2 : 1;
});
};
//
@ -307,10 +297,6 @@ const resetQueryPwd = async (row: any) => {
confirmButtonText: t('message.list.confirmButtonText'),
cancelButtonText: t('message.list.cancelButtonText'),
type: 'warning',
})
.then(async () => {
await getAPI(SysUserApi)
@ -318,7 +304,6 @@ const resetQueryPwd = async (row: any) => {
.then((res) => {
ElMessage.success(t('message.list.passwordResetSuccess', { password: res.data.result }));
});
})
.catch(() => {});
};
@ -329,7 +314,6 @@ const handleUnlock = async (row: any) => {
confirmButtonText: t('message.list.confirmButtonText'),
cancelButtonText: t('message.list.cancelButtonText'),
type: 'warning',
})
.then(async () => {
await getAPI(SysUserApi)
@ -337,7 +321,6 @@ const handleUnlock = async (row: any) => {
.then(() => {
ElMessage.success(t('message.list.unlockSuccess'));
});
})
.catch(() => {});
};