This commit is contained in:
icssoa 2025-07-21 00:16:59 +08:00
parent cfa275518c
commit d197faece7
9 changed files with 2804 additions and 961 deletions

273
build/cool/eps.d.ts vendored
View File

@ -65,7 +65,7 @@ declare namespace Eps {
/** /**
* *
*/ */
params?: json; params?: any;
/** /**
* *
@ -241,12 +241,12 @@ declare namespace Eps {
/** /**
* *
*/ */
menuIdList?: json; menuIdList?: any;
/** /**
* *
*/ */
departmentIdList?: json; departmentIdList?: any;
/** /**
* *
@ -390,7 +390,7 @@ declare namespace Eps {
/** /**
* *
*/ */
exampleImages?: json; exampleImages?: any;
/** /**
* *
@ -556,22 +556,22 @@ declare namespace Eps {
/** /**
* *
*/ */
content?: json; content?: any;
/** /**
* ts内容 * ts内容
*/ */
tsContent?: json; tsContent?: any;
/** /**
* plugin.json * plugin.json
*/ */
pluginJson?: json; pluginJson?: any;
/** /**
* *
*/ */
config?: json; config?: any;
/** /**
* *
@ -598,7 +598,7 @@ declare namespace Eps {
/** /**
* *
*/ */
entityInfo?: json; entityInfo?: any;
/** /**
* *
@ -608,7 +608,7 @@ declare namespace Eps {
/** /**
* *
*/ */
data?: json; data?: any;
/** /**
* *
@ -618,7 +618,7 @@ declare namespace Eps {
/** /**
* *
*/ */
params?: json; params?: any;
/** /**
* *
@ -998,6 +998,94 @@ declare namespace Eps {
type json = any; type json = any;
interface PagePagination {
size: number;
page: number;
total: number;
[key: string]: any;
}
interface PageResponse<T> {
pagination: PagePagination;
list: T[];
[key: string]: any;
}
interface BaseSysLogPageResponse {
pagination: PagePagination;
list: BaseSysLogEntity[];
}
interface BaseSysMenuPageResponse {
pagination: PagePagination;
list: BaseSysMenuEntity[];
}
interface BaseSysParamPageResponse {
pagination: PagePagination;
list: BaseSysParamEntity[];
}
interface BaseSysRolePageResponse {
pagination: PagePagination;
list: BaseSysRoleEntity[];
}
interface BaseSysUserPageResponse {
pagination: PagePagination;
list: BaseSysUserEntity[];
}
interface DemoGoodsPageResponse {
pagination: PagePagination;
list: DemoGoodsEntity[];
}
interface DictInfoPageResponse {
pagination: PagePagination;
list: DictInfoEntity[];
}
interface DictTypePageResponse {
pagination: PagePagination;
list: DictTypeEntity[];
}
interface PluginInfoPageResponse {
pagination: PagePagination;
list: PluginInfoEntity[];
}
interface RecycleDataPageResponse {
pagination: PagePagination;
list: RecycleDataEntity[];
}
interface SpaceInfoPageResponse {
pagination: PagePagination;
list: SpaceInfoEntity[];
}
interface SpaceTypePageResponse {
pagination: PagePagination;
list: SpaceTypeEntity[];
}
interface TaskInfoPageResponse {
pagination: PagePagination;
list: TaskInfoEntity[];
}
interface UserAddressPageResponse {
pagination: PagePagination;
list: UserAddressEntity[];
}
interface UserInfoPageResponse {
pagination: PagePagination;
list: UserInfoEntity[];
}
interface BaseCoding { interface BaseCoding {
/** /**
* *
@ -1019,7 +1107,7 @@ declare namespace Eps {
*/ */
_permission: { getModuleTree: boolean; createCode: boolean }; _permission: { getModuleTree: boolean; createCode: boolean };
request: Service["request"]; request: Request;
} }
interface BaseComm { interface BaseComm {
@ -1084,7 +1172,7 @@ declare namespace Eps {
logout: boolean; logout: boolean;
}; };
request: Service["request"]; request: Request;
} }
interface BaseOpen { interface BaseOpen {
@ -1135,7 +1223,7 @@ declare namespace Eps {
eps: boolean; eps: boolean;
}; };
request: Service["request"]; request: Request;
} }
interface BaseSysDepartment { interface BaseSysDepartment {
@ -1180,7 +1268,7 @@ declare namespace Eps {
add: boolean; add: boolean;
}; };
request: Service["request"]; request: Request;
} }
interface BaseSysLog { interface BaseSysLog {
@ -1202,11 +1290,7 @@ declare namespace Eps {
/** /**
* *
*/ */
page(data?: any): Promise<{ page(data?: any): Promise<BaseSysLogPageResponse>;
pagination: { size: number; page: number; total: number; [key: string]: any };
list: BaseSysLogEntity[];
[key: string]: any;
}>;
/** /**
* *
@ -1218,7 +1302,7 @@ declare namespace Eps {
*/ */
_permission: { setKeep: boolean; getKeep: boolean; clear: boolean; page: boolean }; _permission: { setKeep: boolean; getKeep: boolean; clear: boolean; page: boolean };
request: Service["request"]; request: Request;
} }
interface BaseSysMenu { interface BaseSysMenu {
@ -1265,11 +1349,7 @@ declare namespace Eps {
/** /**
* *
*/ */
page(data?: any): Promise<{ page(data?: any): Promise<BaseSysMenuPageResponse>;
pagination: { size: number; page: number; total: number; [key: string]: any };
list: BaseSysMenuEntity[];
[key: string]: any;
}>;
/** /**
* *
@ -1308,7 +1388,7 @@ declare namespace Eps {
add: boolean; add: boolean;
}; };
request: Service["request"]; request: Request;
} }
interface BaseSysParam { interface BaseSysParam {
@ -1335,11 +1415,7 @@ declare namespace Eps {
/** /**
* *
*/ */
page(data?: any): Promise<{ page(data?: any): Promise<BaseSysParamPageResponse>;
pagination: { size: number; page: number; total: number; [key: string]: any };
list: BaseSysParamEntity[];
[key: string]: any;
}>;
/** /**
* *
@ -1370,7 +1446,7 @@ declare namespace Eps {
add: boolean; add: boolean;
}; };
request: Service["request"]; request: Request;
} }
interface BaseSysRole { interface BaseSysRole {
@ -1397,11 +1473,7 @@ declare namespace Eps {
/** /**
* *
*/ */
page(data?: any): Promise<{ page(data?: any): Promise<BaseSysRolePageResponse>;
pagination: { size: number; page: number; total: number; [key: string]: any };
list: BaseSysRoleEntity[];
[key: string]: any;
}>;
/** /**
* *
@ -1432,7 +1504,7 @@ declare namespace Eps {
add: boolean; add: boolean;
}; };
request: Service["request"]; request: Request;
} }
interface BaseSysUser { interface BaseSysUser {
@ -1464,11 +1536,7 @@ declare namespace Eps {
/** /**
* *
*/ */
page(data?: any): Promise<{ page(data?: any): Promise<BaseSysUserPageResponse>;
pagination: { size: number; page: number; total: number; [key: string]: any };
list: BaseSysUserEntity[];
[key: string]: any;
}>;
/** /**
* *
@ -1501,7 +1569,7 @@ declare namespace Eps {
add: boolean; add: boolean;
}; };
request: Service["request"]; request: Request;
} }
interface DemoGoods { interface DemoGoods {
@ -1528,11 +1596,7 @@ declare namespace Eps {
/** /**
* *
*/ */
page(data?: any): Promise<{ page(data?: any): Promise<DemoGoodsPageResponse>;
pagination: { size: number; page: number; total: number; [key: string]: any };
list: DemoGoodsEntity[];
[key: string]: any;
}>;
/** /**
* *
@ -1563,7 +1627,7 @@ declare namespace Eps {
add: boolean; add: boolean;
}; };
request: Service["request"]; request: Request;
} }
interface DemoTenant { interface DemoTenant {
@ -1592,7 +1656,7 @@ declare namespace Eps {
*/ */
_permission: { noTenant: boolean; noUse: boolean; use: boolean }; _permission: { noTenant: boolean; noUse: boolean; use: boolean };
request: Service["request"]; request: Request;
} }
interface DictInfo { interface DictInfo {
@ -1629,11 +1693,7 @@ declare namespace Eps {
/** /**
* *
*/ */
page(data?: any): Promise<{ page(data?: any): Promise<DictInfoPageResponse>;
pagination: { size: number; page: number; total: number; [key: string]: any };
list: DictInfoEntity[];
[key: string]: any;
}>;
/** /**
* *
@ -1668,7 +1728,7 @@ declare namespace Eps {
add: boolean; add: boolean;
}; };
request: Service["request"]; request: Request;
} }
interface DictType { interface DictType {
@ -1695,11 +1755,7 @@ declare namespace Eps {
/** /**
* *
*/ */
page(data?: any): Promise<{ page(data?: any): Promise<DictTypePageResponse>;
pagination: { size: number; page: number; total: number; [key: string]: any };
list: DictTypeEntity[];
[key: string]: any;
}>;
/** /**
* *
@ -1730,7 +1786,7 @@ declare namespace Eps {
add: boolean; add: boolean;
}; };
request: Service["request"]; request: Request;
} }
interface PluginInfo { interface PluginInfo {
@ -1762,11 +1818,7 @@ declare namespace Eps {
/** /**
* *
*/ */
page(data?: any): Promise<{ page(data?: any): Promise<PluginInfoPageResponse>;
pagination: { size: number; page: number; total: number; [key: string]: any };
list: PluginInfoEntity[];
[key: string]: any;
}>;
/** /**
* *
@ -1799,7 +1851,7 @@ declare namespace Eps {
add: boolean; add: boolean;
}; };
request: Service["request"]; request: Request;
} }
interface RecycleData { interface RecycleData {
@ -1816,11 +1868,7 @@ declare namespace Eps {
/** /**
* *
*/ */
page(data?: any): Promise<{ page(data?: any): Promise<RecycleDataPageResponse>;
pagination: { size: number; page: number; total: number; [key: string]: any };
list: RecycleDataEntity[];
[key: string]: any;
}>;
/** /**
* *
@ -1832,7 +1880,7 @@ declare namespace Eps {
*/ */
_permission: { restore: boolean; info: boolean; page: boolean }; _permission: { restore: boolean; info: boolean; page: boolean };
request: Service["request"]; request: Request;
} }
interface SpaceInfo { interface SpaceInfo {
@ -1859,11 +1907,7 @@ declare namespace Eps {
/** /**
* *
*/ */
page(data?: any): Promise<{ page(data?: any): Promise<SpaceInfoPageResponse>;
pagination: { size: number; page: number; total: number; [key: string]: any };
list: SpaceInfoEntity[];
[key: string]: any;
}>;
/** /**
* *
@ -1894,7 +1938,7 @@ declare namespace Eps {
add: boolean; add: boolean;
}; };
request: Service["request"]; request: Request;
} }
interface SpaceType { interface SpaceType {
@ -1921,11 +1965,7 @@ declare namespace Eps {
/** /**
* *
*/ */
page(data?: any): Promise<{ page(data?: any): Promise<SpaceTypePageResponse>;
pagination: { size: number; page: number; total: number; [key: string]: any };
list: SpaceTypeEntity[];
[key: string]: any;
}>;
/** /**
* *
@ -1956,7 +1996,7 @@ declare namespace Eps {
add: boolean; add: boolean;
}; };
request: Service["request"]; request: Request;
} }
interface TaskInfo { interface TaskInfo {
@ -1993,11 +2033,7 @@ declare namespace Eps {
/** /**
* *
*/ */
page(data?: any): Promise<{ page(data?: any): Promise<TaskInfoPageResponse>;
pagination: { size: number; page: number; total: number; [key: string]: any };
list: TaskInfoEntity[];
[key: string]: any;
}>;
/** /**
* *
@ -2039,7 +2075,7 @@ declare namespace Eps {
add: boolean; add: boolean;
}; };
request: Service["request"]; request: Request;
} }
interface UserAddress { interface UserAddress {
@ -2066,11 +2102,7 @@ declare namespace Eps {
/** /**
* *
*/ */
page(data?: any): Promise<{ page(data?: any): Promise<UserAddressPageResponse>;
pagination: { size: number; page: number; total: number; [key: string]: any };
list: UserAddressEntity[];
[key: string]: any;
}>;
/** /**
* *
@ -2101,7 +2133,7 @@ declare namespace Eps {
add: boolean; add: boolean;
}; };
request: Service["request"]; request: Request;
} }
interface UserInfo { interface UserInfo {
@ -2128,11 +2160,7 @@ declare namespace Eps {
/** /**
* *
*/ */
page(data?: any): Promise<{ page(data?: any): Promise<UserInfoPageResponse>;
pagination: { size: number; page: number; total: number; [key: string]: any };
list: UserInfoEntity[];
[key: string]: any;
}>;
/** /**
* *
@ -2163,26 +2191,25 @@ declare namespace Eps {
add: boolean; add: boolean;
}; };
request: Service["request"]; request: Request;
} }
interface RequestOptions {
url: string;
method?: "OPTIONS" | "GET" | "HEAD" | "POST" | "PUT" | "DELETE" | "TRACE" | "CONNECT";
data?: any;
params?: any;
headers?: any;
timeout?: number;
[key: string]: any;
}
type Request = (options: RequestOptions) => Promise<any>;
type DictKey = "brand" | "occupation";
type Service = { type Service = {
/** request: Request;
*
*/
request(options?: {
url: string;
method?: "POST" | "GET" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS";
data?: any;
params?: any;
headers?: {
authorization?: string;
[key: string]: any;
};
timeout?: number;
proxy?: boolean;
[key: string]: any;
}): Promise<any>;
base: { base: {
coding: BaseCoding; coding: BaseCoding;
@ -2205,6 +2232,4 @@ declare namespace Eps {
task: { info: TaskInfo }; task: { info: TaskInfo };
user: { address: UserAddress; info: UserInfo }; user: { address: UserAddress; info: UserInfo };
}; };
type DictKey = "brand" | "occupation" | "upgradeType" | "complainType" | "feedbackType";
} }

View File

@ -23,7 +23,7 @@
"core-js": "^3.40.0", "core-js": "^3.40.0",
"dayjs": "^1.11.13", "dayjs": "^1.11.13",
"echarts": "^5.6.0", "echarts": "^5.6.0",
"element-plus": "^2.9.3", "element-plus": "2.10.2",
"file-saver": "^2.0.5", "file-saver": "^2.0.5",
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",
"marked": "^14.1.3", "marked": "^14.1.3",
@ -39,7 +39,7 @@
"xlsx": "^0.18.5" "xlsx": "^0.18.5"
}, },
"devDependencies": { "devDependencies": {
"@cool-vue/vite-plugin": "^8.1.2", "@cool-vue/vite-plugin": "^8.2.2",
"@intlify/unplugin-vue-i18n": "^6.0.3", "@intlify/unplugin-vue-i18n": "^6.0.3",
"@rushstack/eslint-patch": "^1.10.5", "@rushstack/eslint-patch": "^1.10.5",
"@tsconfig/node20": "^20.1.4", "@tsconfig/node20": "^20.1.4",

View File

@ -13,7 +13,7 @@
}, },
"dependencies": { "dependencies": {
"@vue/runtime-core": "^3.5.13", "@vue/runtime-core": "^3.5.13",
"element-plus": "^2.9.4", "element-plus": "^2.10.4",
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",
"vue": "^3.5.13" "vue": "^3.5.13"
}, },

View File

@ -1,7 +1,7 @@
import { h, useSlots } from "vue"; import { h, useSlots } from "vue";
import { useCore, useBrowser, useConfig } from "../../../hooks"; import { useCore, useBrowser, useConfig } from "../../../hooks";
import { assign, cloneDeep, isArray, isEmpty, isObject, isString, orderBy } from "lodash-es"; import { assign, cloneDeep, isArray, isEmpty, isObject, isString, orderBy } from "lodash-es";
import { deepFind, getValue, } from "../../../utils"; import { deepFind, getValue } from "../../../utils";
import { renderNode } from "../../../utils/vnode"; import { renderNode } from "../../../utils/vnode";
import { renderHeader } from "./header"; import { renderHeader } from "./header";
@ -41,25 +41,24 @@ export function useRender() {
// 操作按钮 // 操作按钮
if (item.type === "op") { if (item.type === "op") {
const props = assign({ const props = assign(
label: crud.dict.label.op,
width: style.table.column.opWidth,
fixed: browser.isMini ? null : "right",
}, item)
return h(
ElTableColumn,
props,
{ {
default: (scope: any) => { label: crud.dict.label.op,
return ( width: style.table.column.opWidth,
<div class="cl-table__op"> fixed: browser.isMini ? null : "right"
{renderOpButtons(item.buttons, { scope })} },
</div> item
);
}
}
); );
return h(ElTableColumn, props, {
default: (scope: any) => {
return (
<div class="cl-table__op">
{renderOpButtons(item.buttons, { scope })}
</div>
);
}
});
} }
// 多选,序号 // 多选,序号
else if (["selection", "index"].includes(item.type)) { else if (["selection", "index"].includes(item.type)) {
@ -108,7 +107,7 @@ export function useRender() {
); );
if (isObject(value)) { if (isObject(value)) {
return value return value;
} }
} }
@ -201,32 +200,30 @@ export function useRender() {
</el-button> </el-button>
); );
} else { } else {
if (typeof vnode === 'object') { if (typeof vnode === "object") {
if (vnode.hidden) { if (vnode.hidden) {
return null; return null;
} }
} }
return ( return renderNode(vnode, {
renderNode(vnode, { scope,
scope, slots,
slots, custom(vnode) {
custom(vnode) { return (
return ( <el-button
<el-button text
text type={vnode.type}
type={vnode.type} {...vnode?.props}
{...vnode?.props} onClick={(e: MouseEvent) => {
onClick={(e: MouseEvent) => { vnode.onClick({ scope });
vnode.onClick({ scope }); e.stopPropagation();
e.stopPropagation(); }}>
}}> {vnode.label}
{vnode.label} </el-button>
</el-button> );
); }
} });
})
);
} }
}); });
} }

1790
packages/crud/yarn.lock Normal file

File diff suppressed because it is too large Load Diff

View File

@ -845,7 +845,9 @@
}; };
} }
}); });
list = list.filter((e) => e.prefix.startsWith("/app")); if (config.type == "uniapp-x" || config.type == "app") {
list = list.filter((e) => e.prefix.startsWith("/app"));
}
} }
/** /**
* 创建 eps.json 文件 * 创建 eps.json 文件
@ -1117,7 +1119,7 @@
const content = await formatCode(text); const content = await formatCode(text);
const local_content = readFile(getEpsPath(name)); const local_content = readFile(getEpsPath(name));
// 是否需要更新 // 是否需要更新
if (content && content != local_content) { if (content && content != local_content && list.length > 0) {
// 创建 eps 描述文件 // 创建 eps 描述文件
fs.createWriteStream(getEpsPath(name), { fs.createWriteStream(getEpsPath(name), {
flags: "w", flags: "w",
@ -1848,8 +1850,6 @@ if (typeof window !== 'undefined') {
"=": "-equal-", "=": "-equal-",
"%": "-percent-", "%": "-percent-",
"@": "-at-", "@": "-at-",
"《": "-chinese-lt-",
"》": "-chinese-gt-",
}; };
// @ts-ignore // @ts-ignore

View File

@ -1,6 +1,6 @@
{ {
"name": "@cool-vue/vite-plugin", "name": "@cool-vue/vite-plugin",
"version": "8.1.2", "version": "8.2.2",
"description": "cool-admin、cool-uni builder", "description": "cool-admin、cool-uni builder",
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"main": "/dist/index.js", "main": "/dist/index.js",

View File

@ -181,7 +181,9 @@ async function getData() {
} }
}); });
list = list.filter((e) => e.prefix.startsWith("/app")); if (config.type == "uniapp-x" || config.type == "app") {
list = list.filter((e) => e.prefix.startsWith("/app"));
}
} }
/** /**
@ -500,7 +502,7 @@ async function createDescribe({ list, service }: { list: Eps.Entity[]; service:
const local_content = readFile(getEpsPath(name)); const local_content = readFile(getEpsPath(name));
// 是否需要更新 // 是否需要更新
if (content && content != local_content) { if (content && content != local_content && list.length > 0) {
// 创建 eps 描述文件 // 创建 eps 描述文件
createWriteStream(getEpsPath(name), { createWriteStream(getEpsPath(name), {
flags: "w", flags: "w",

1603
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff