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

perf: DynamicallyCrudOptions 动态CrudOptions
refactor: doc cover
refactor: doc cover
pull/14/head
GitHub Actions Bot 2023-03-13 19:24:02 +00:00
parent 263b0fa455
commit f344c58f26
7 changed files with 30 additions and 34 deletions

View File

@ -1,22 +1,20 @@
import * as api from "./api";
import { requestForMock } from "/src/api/service";
import { useCompute } from "@fast-crud/fast-crud";
import { message } from "ant-design-vue";
import { ref, computed } from "vue";
const { asyncCompute, compute } = useCompute();
export default function ({ expose }) {
const pageRequest = async (query) => {
import { AddReq, CreateCrudOptionsProps, CreateCrudOptionsRet, DelReq, EditReq, UserPageQuery, UserPageRes } from "@fast-crud/fast-crud";
import { computed, ref } from "vue";
export default function ({ crudExpose }: CreateCrudOptionsProps): CreateCrudOptionsRet {
const pageRequest = async (query: UserPageQuery): Promise<UserPageRes> => {
return await api.GetList(query);
};
const editRequest = async ({ form, row }) => {
const editRequest = async ({ form, row }: EditReq) => {
form.id = row.id;
return await api.UpdateObj(form);
};
const delRequest = async ({ row }) => {
const delRequest = async ({ row }: DelReq) => {
return await api.DelObj(row.id);
};
const addRequest = async ({ form }) => {
const addRequest = async ({ form }: AddReq) => {
return await api.AddObj(form);
};
@ -48,7 +46,7 @@ export default function ({ expose }) {
},
rowHandle: {
fixed: "right",
align:'center',
align: "center"
},
columns: {
id: {

View File

@ -10,30 +10,19 @@
</fs-page>
</template>
<script>
import { defineComponent, ref, onMounted } from "vue";
import { useCrud, useExpose } from "@fast-crud/fast-crud";
<script lang="ts">
import { defineComponent, onMounted } from "vue";
import { useFs } from "@fast-crud/fast-crud";
import createCrudOptions from "./crud";
export default defineComponent({
name: "BasisComputeMore",
setup() {
// crudref
const crudRef = ref();
// crud ref
const crudBinding = ref();
//
const { expose } = useExpose({ crudRef, crudBinding });
// crud
const { crudOptions, output } = createCrudOptions({ expose });
// crud
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-unused-vars
const { resetCrudOptions } = useCrud({ expose, crudOptions });
// crud
// resetCrudOptions(options)
const { crudBinding, crudRef, crudExpose, output } = useFs({ createCrudOptions });
//
onMounted(() => {
expose.doRefresh();
crudExpose.doRefresh();
});
return {

View File

@ -1,6 +1,6 @@
import * as api from "./api";
import { requestForMock } from "/src/api/service";
import { AddReq, CreateCrudOptionsProps, CreateCrudOptionsRet, DelReq, EditReq, useCompute, UserPageQuery, UserPageRes } from "@fast-crud/fast-crud";
import { AddReq, ButtonProps, CreateCrudOptionsProps, CreateCrudOptionsRet, DelReq, EditReq, RowHandleProps, useCompute, UserPageQuery, UserPageRes } from "@fast-crud/fast-crud";
import { message } from "ant-design-vue";
import { ref, computed } from "vue";
const { asyncCompute, compute } = useCompute();
@ -58,9 +58,12 @@ export default function ({ crudExpose }: CreateCrudOptionsProps): CreateCrudOpti
},
rowHandle: {
fixed: "right",
show: computed(() => {
return false;
}),
buttons: {
edit: {
show: compute(({ row }) => {
show: compute<boolean>(({ row }) => {
return row.editable;
})
},
@ -68,7 +71,13 @@ export default function ({ crudExpose }: CreateCrudOptionsProps): CreateCrudOpti
show: compute(({ row }) => {
return row.editable;
})
}
},
custom: compute(({ row }) => {
return {
text: "动态按钮:" + row.id,
show: true
};
})
}
},
columns: {

View File

@ -25,8 +25,8 @@
</template>
<script lang="ts">
import {defineComponent, onMounted} from "vue";
import {useFs} from "@fast-crud/fast-crud";
import { defineComponent, onMounted } from "vue";
import { useFs } from "@fast-crud/fast-crud";
import createCrudOptions from "./crud";
export default defineComponent({

View File

@ -33,7 +33,7 @@ export function DelObj(id: any) {
});
}
export function GetObj(id) {
export function GetObj(id: any) {
return request({
url: apiPrefix + "/info",
method: "get",