From 7b42d7252e330221bc9ef80d23557d4e3422d738 Mon Sep 17 00:00:00 2001 From: GitHub Actions Bot Date: Tue, 26 Nov 2024 19:26:27 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=B1:=20[client]=20sync=20upgrade=20wit?= =?UTF-8?q?h=205=20commits=20[trident-sync]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit build: publish success perf: 增加card列表示例 fix: 修复antdv4新页面打开示例不显示表单的bug chore: --- packages/ui/certd-client/CHANGELOG.md | 10 ++++ packages/ui/certd-client/package.json | 10 ++-- .../src/router/source/modules/crud.ts | 6 ++ .../src/views/crud/advanced/card/api.ts | 42 +++++++++++++ .../src/views/crud/advanced/card/crud.tsx | 60 +++++++++++++++++++ .../src/views/crud/advanced/card/index.vue | 42 +++++++++++++ .../src/views/crud/advanced/card/mock.ts | 27 +++++++++ .../crud/component/table-select/crud.tsx | 13 +++- .../src/views/crud/form/new-page/edit.vue | 57 ++++++++---------- 9 files changed, 230 insertions(+), 37 deletions(-) create mode 100644 packages/ui/certd-client/src/views/crud/advanced/card/api.ts create mode 100644 packages/ui/certd-client/src/views/crud/advanced/card/crud.tsx create mode 100644 packages/ui/certd-client/src/views/crud/advanced/card/index.vue create mode 100644 packages/ui/certd-client/src/views/crud/advanced/card/mock.ts diff --git a/packages/ui/certd-client/CHANGELOG.md b/packages/ui/certd-client/CHANGELOG.md index 61f38c374..9dc873166 100644 --- a/packages/ui/certd-client/CHANGELOG.md +++ b/packages/ui/certd-client/CHANGELOG.md @@ -3,6 +3,16 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.23.3](https://github.com/fast-crud/fast-crud/compare/v1.23.2...v1.23.3) (2024-11-26) + +### Bug Fixes + +* 修复antdv4新页面打开示例不显示表单的bug ([34ab106](https://github.com/fast-crud/fast-crud/commit/34ab106d5e1cce918ce9745df141fda03f69331d)) + +### Performance Improvements + +* 增加card列表示例 ([cfad8c8](https://github.com/fast-crud/fast-crud/commit/cfad8c87cb6f9588bb016c0595d03b34b0147c2a)) + ## [1.23.2](https://github.com/fast-crud/fast-crud/compare/v1.23.1...v1.23.2) (2024-11-18) ### Bug Fixes diff --git a/packages/ui/certd-client/package.json b/packages/ui/certd-client/package.json index d65132fc2..14fb5afce 100644 --- a/packages/ui/certd-client/package.json +++ b/packages/ui/certd-client/package.json @@ -1,6 +1,6 @@ { "name": "@fast-crud/fs-admin-antdv4", - "version": "1.23.2", + "version": "1.23.3", "private": true, "scripts": { "dev": "vite", @@ -26,10 +26,10 @@ "@ant-design/icons-vue": "^7.0.1", "@aws-sdk/client-s3": "^3.535.0", "@aws-sdk/s3-request-presigner": "^3.535.0", - "@fast-crud/fast-crud": "^1.23.2", - "@fast-crud/fast-extends": "^1.23.2", - "@fast-crud/ui-antdv4": "^1.23.2", - "@fast-crud/ui-interface": "^1.23.2", + "@fast-crud/fast-crud": "^1.23.3", + "@fast-crud/fast-extends": "^1.23.3", + "@fast-crud/ui-antdv4": "^1.23.3", + "@fast-crud/ui-interface": "^1.23.3", "@iconify/vue": "^4.1.1", "@soerenmartius/vue3-clipboard": "^0.1.2", "ant-design-vue": "^4.1.2", diff --git a/packages/ui/certd-client/src/router/source/modules/crud.ts b/packages/ui/certd-client/src/router/source/modules/crud.ts index d3a034ad8..07a32b0d8 100644 --- a/packages/ui/certd-client/src/router/source/modules/crud.ts +++ b/packages/ui/certd-client/src/router/source/modules/crud.ts @@ -782,6 +782,12 @@ export const crudResources = [ name: "AdvancedBigData", path: "/crud/advanced/big-data", component: "/crud/advanced/big-data/index.vue" + }, + { + title: "列表以card方式显示", + name: "AdvancedCard", + path: "/crud/advanced/card", + component: "/crud/advanced/card/index.vue" } ] } diff --git a/packages/ui/certd-client/src/views/crud/advanced/card/api.ts b/packages/ui/certd-client/src/views/crud/advanced/card/api.ts new file mode 100644 index 000000000..0ff529821 --- /dev/null +++ b/packages/ui/certd-client/src/views/crud/advanced/card/api.ts @@ -0,0 +1,42 @@ +import { requestForMock } from "/src/api/service"; +const request = requestForMock; +const apiPrefix = "/mock/AdvancedCard"; +export function GetList(query: any) { + return request({ + url: apiPrefix + "/page", + method: "get", + data: query + }); +} + +export function AddObj(obj: any) { + return request({ + url: apiPrefix + "/add", + method: "post", + data: obj + }); +} + +export function UpdateObj(obj: any) { + return request({ + url: apiPrefix + "/update", + method: "post", + data: obj + }); +} + +export function DelObj(id: any) { + return request({ + url: apiPrefix + "/delete", + method: "post", + params: { id } + }); +} + +export function GetObj(id: any) { + return request({ + url: apiPrefix + "/get", + method: "get", + params: { id } + }); +} diff --git a/packages/ui/certd-client/src/views/crud/advanced/card/crud.tsx b/packages/ui/certd-client/src/views/crud/advanced/card/crud.tsx new file mode 100644 index 000000000..15ae21b32 --- /dev/null +++ b/packages/ui/certd-client/src/views/crud/advanced/card/crud.tsx @@ -0,0 +1,60 @@ +import * as api from "./api"; +import { AddReq, CreateCrudOptionsProps, CreateCrudOptionsRet, DelReq, dict, EditReq, ScopeContext, UserPageQuery, UserPageRes } from "@fast-crud/fast-crud"; +export default async function ({ crudExpose }: CreateCrudOptionsProps): Promise { + const pageRequest = async (query: UserPageQuery): Promise => { + return await api.GetList(query); + }; + const editRequest = async ({ form, row }: EditReq) => { + if (form.id == null) { + form.id = row.id; + } + return await api.UpdateObj(form); + }; + const delRequest = async ({ row }: DelReq) => { + return await api.DelObj(row.id); + }; + + const addRequest = async ({ form }: AddReq) => { + return await api.AddObj(form); + }; + + return { + crudOptions: { + request: { + pageRequest, + addRequest, + editRequest, + delRequest + }, + rowHandle: { + align: "center" + }, + table: { + show: false + }, + toolbar: { + compact: false + }, + columns: { + id: { + title: "ID", + type: "number", + column: { + width: 50 + }, + form: { + show: false + } + }, + title: { + title: "标题", + type: "text" + }, + content: { + title: "内容", + type: "text" + } + } + } + }; +} diff --git a/packages/ui/certd-client/src/views/crud/advanced/card/index.vue b/packages/ui/certd-client/src/views/crud/advanced/card/index.vue new file mode 100644 index 000000000..805fc1713 --- /dev/null +++ b/packages/ui/certd-client/src/views/crud/advanced/card/index.vue @@ -0,0 +1,42 @@ + + + diff --git a/packages/ui/certd-client/src/views/crud/advanced/card/mock.ts b/packages/ui/certd-client/src/views/crud/advanced/card/mock.ts new file mode 100644 index 000000000..2c6a29c2c --- /dev/null +++ b/packages/ui/certd-client/src/views/crud/advanced/card/mock.ts @@ -0,0 +1,27 @@ +// @ts-ignore +import mockUtil from "/src/mock/base"; +import _ from "lodash-es"; +const options: any = { + name: "AdvancedCard", + idGenerator: 0 +}; +const list = [ + { + title: "fast-crud怎么样", + content: "很好用" + }, + { + title: "大环境不好呀", + content: "好好学习提升自己吧" + }, + { + title: "Certd是什么", + content: "Certd是一款开源的证书全自动管理系统" + } +]; + +options.list = list; +options.copyTimes = 100; +const mock = mockUtil.buildMock(options); + +export default mock; diff --git a/packages/ui/certd-client/src/views/crud/component/table-select/crud.tsx b/packages/ui/certd-client/src/views/crud/component/table-select/crud.tsx index d52400cef..aafda5fac 100644 --- a/packages/ui/certd-client/src/views/crud/component/table-select/crud.tsx +++ b/packages/ui/certd-client/src/views/crud/component/table-select/crud.tsx @@ -210,7 +210,10 @@ export default async function ({ crudExpose }: CreateCrudOptionsProps): Promise< title: "查看模式", dict: dict({ value: "id", - label: "name" + label: "name", + getNodesByValues: async (values: any[]) => { + return await textTableApi.GetByIds(values); + } }), column: { component: { @@ -219,6 +222,14 @@ export default async function ({ crudExpose }: CreateCrudOptionsProps): Promise< viewMode: true, createCrudOptions: createCrudOptionsText, crudOptionsOverride, + on: { + dialogClose(ctx) { + console.log("dialog close", ctx); + }, + dialogClosed(ctx) { + console.log("dialog closed", ctx); + } + }, slots: { default({ scope, value }) { async function open() { diff --git a/packages/ui/certd-client/src/views/crud/form/new-page/edit.vue b/packages/ui/certd-client/src/views/crud/form/new-page/edit.vue index 257cfda52..83b0b68ff 100644 --- a/packages/ui/certd-client/src/views/crud/form/new-page/edit.vue +++ b/packages/ui/certd-client/src/views/crud/form/new-page/edit.vue @@ -25,41 +25,32 @@ export default defineComponent({ name: "FormNewPageEdit", setup(props, ctx) { const { crudRef, crudBinding, crudExpose, context } = useFsRef(); - - // 页面打开后获取列表数据 - onMounted(async () => { - await useFsAsync({ crudBinding, crudRef,crudExpose, context, createCrudOptions }); - await crudExpose.doRefresh(); - }); - const formRef = ref(); const formOptions = ref(); - - const route = useRoute(); - const id: any = route.query.id; - - if (id) { - //编辑表单 - formOptions.value = crudBinding.value.editForm; - } else { - formOptions.value = crudBinding.value.addForm; - } - const doSubmit = formOptions.value.doSubmit; const pageStore = usePageStore(); - - formOptions.value.doSubmit = (context: any) => { - utils.logger.log("submit", context); - doSubmit(context); - //提交成功后,关闭本页面 - message.success("保存成功"); - pageStore.close({ tagName: route.fullPath }); - }; - - const getDetail = async (id: any) => { - return await api.GetObj(id); - }; - + const route = useRoute(); + // 页面打开后获取列表数据 onMounted(async () => { + await useFsAsync({ crudBinding, crudRef, crudExpose, context, createCrudOptions }); + await crudExpose.doRefresh(); + + const id: any = route.query.id; + if (id) { + //编辑表单 + formOptions.value = crudBinding.value.editForm; + } else { + formOptions.value = crudBinding.value.addForm; + } + const doSubmit = formOptions.value.doSubmit; + + formOptions.value.doSubmit = (context: any) => { + utils.logger.log("submit", context); + doSubmit(context); + //提交成功后,关闭本页面 + message.success("保存成功"); + pageStore.close({ tagName: route.fullPath }); + }; + if (id) { //远程获取记录详情 const detail = await getDetail(id); @@ -67,6 +58,10 @@ export default defineComponent({ } }); + const getDetail = async (id: any) => { + return await api.GetObj(id); + }; + return { crudBinding, crudRef,