🔱: [client] sync upgrade with 9 commits [trident-sync]

perf: 完善文档,完善部分types
perf: 优化d.ts类型
perf: 日期增加week、month、year、quarter类型
feat: resetCrudOptions 示例
feat: tabs快捷查询组件
fix: 行编辑支持多级表头

https://github.com/fast-crud/fast-crud/issues/143
perf: antdv 增加自定义表头示例

https://github.com/fast-crud/fast-crud/issues/141
perf: 表单下方按钮支持context

https://github.com/fast-crud/fast-crud/issues/142
This commit is contained in:
GitHub Actions Bot
2023-03-09 19:24:01 +00:00
parent 76dd23174a
commit 52a167c647
100 changed files with 1465 additions and 585 deletions
@@ -1,6 +1,6 @@
import { request } from "/src/api/service";
const apiPrefix = "/sys/authority/permission";
export async function GetList(query) {
export async function GetList(query: any) {
return request({
url: apiPrefix + "/page",
method: "post",
@@ -15,7 +15,7 @@ export async function GetTree() {
});
}
export async function AddObj(obj) {
export async function AddObj(obj: any) {
return request({
url: apiPrefix + "/add",
method: "post",
@@ -23,7 +23,7 @@ export async function AddObj(obj) {
});
}
export async function UpdateObj(obj) {
export async function UpdateObj(obj: any) {
return request({
url: apiPrefix + "/update",
method: "post",
@@ -31,7 +31,7 @@ export async function UpdateObj(obj) {
});
}
export async function DelObj(id) {
export async function DelObj(id: any) {
return request({
url: apiPrefix + "/delete",
method: "post",
@@ -39,7 +39,7 @@ export async function DelObj(id) {
});
}
export async function GetObj(id) {
export async function GetObj(id: any) {
return request({
url: apiPrefix + "/info",
method: "post",
@@ -1,9 +1,9 @@
import * as api from "./api";
import { dict } from "@fast-crud/fast-crud";
import * as api from "./api.js";
import { AddReq, CreateCrudOptionsProps, CreateCrudOptionsRet, DelReq, dict, EditReq, UserPageQuery, UserPageRes } from "@fast-crud/fast-crud";
export default function ({ expose }) {
const pageRequest = async (query) => {
const list = await api.GetTree(query);
export default function ({ crudExpose }: CreateCrudOptionsProps): CreateCrudOptionsRet {
const pageRequest = async (query: UserPageQuery): Promise<UserPageRes> => {
const list = await api.GetTree();
return {
current: 1,
@@ -16,29 +16,29 @@ export default function ({ expose }) {
async function afterChange() {
await permissionTreeDict.reloadDict();
}
const editRequest = async ({ form, row }) => {
const editRequest = async ({ form, row }: EditReq) => {
form.id = row.id;
const ret = await api.UpdateObj(form);
await afterChange();
return ret;
};
const delRequest = async ({ row }) => {
const delRequest = async ({ row }: DelReq) => {
const ret = await api.DelObj(row.id);
await afterChange();
return ret;
};
const addRequest = async ({ form }) => {
const addRequest = async ({ form }: AddReq) => {
const ret = await api.AddObj(form);
await afterChange();
return ret;
};
let permissionTreeDict = dict({
const permissionTreeDict = dict({
url: "/sys/authority/permission/tree",
isTree: true,
value: "id",
label: "title",
async onReady({ dict }) {
async onReady({ dict }: any) {
dict.setData([{ id: -1, title: "根节点", children: dict.data }]);
}
});
@@ -8,15 +8,7 @@
<fs-icon :icon="$fsui.icons.add"></fs-icon>
添加</a-button
>
<fs-permission-tree
class="permission-tree"
:tree="crudBinding.data"
:checkable="false"
:actions="permission"
@add="addHandle"
@edit="editHandle"
@remove="removeHandle"
></fs-permission-tree>
<fs-permission-tree class="permission-tree" :tree="crudBinding.data" :checkable="false" :actions="permission" @add="addHandle" @edit="editHandle" @remove="removeHandle"></fs-permission-tree>
</fs-crud>
</fs-page>
</template>
@@ -24,7 +16,7 @@
<script lang="ts">
import { defineComponent, ref, onMounted } from "vue";
import { useCrud, useExpose, CrudExpose, useUi } from "@fast-crud/fast-crud";
import createCrudOptions from "./crud";
import createCrudOptions from "./crud.js";
import FsPermissionTree from "./fs-permission-tree.vue";
import { usePermission } from "/src/plugin/permission";
export default defineComponent({
@@ -36,21 +28,20 @@ export default defineComponent({
// crud 配置的ref
const crudBinding = ref();
// 暴露的方法
const exposeRet: { expose: CrudExpose } = useExpose({ crudRef, crudBinding });
const expose: CrudExpose = exposeRet.expose;
const { crudExpose } = useExpose({ crudRef, crudBinding });
// 你的crud配置
const { crudOptions } = createCrudOptions({ expose });
const { crudOptions } = createCrudOptions({ crudExpose });
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-unused-vars
// 初始化crud配置
// 此处传入permission进行通用按钮权限设置,会通过commonOptions去设置actionbar和rowHandle的按钮的show属性
// 更多关于按钮权限的源代码设置,请参考 ./src/plugin/fast-crud/index.js 75-77行)
const { resetCrudOptions } = useCrud({ expose, crudOptions, permission: "sys:auth:per" });
const { resetCrudOptions } = useCrud({ crudExpose, crudOptions, permission: "sys:auth:per" });
// 你可以调用此方法,重新初始化crud配置
// resetCrudOptions(options)
// 页面打开后获取列表数据
onMounted(async () => {
await expose.doRefresh();
await crudExpose.doRefresh();
});
//用户业务代码