mirror of https://github.com/certd/certd
🔱: [client] sync upgrade with 8 commits [trident-sync]
chore: 1.14.4 chore: 1.14.3 fix: export lib chore: 1.14.2 refactor: import refactor: import perf: 导入支持pull/14/head
parent
a8edaf4dfa
commit
6fda0d6896
|
@ -3,6 +3,27 @@
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [1.14.4](https://github.com/fast-crud/fast-crud/compare/v1.14.3...v1.14.4) (2023-07-02)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @fast-crud/fs-admin-antdv
|
||||||
|
|
||||||
|
## [1.14.3](https://github.com/fast-crud/fast-crud/compare/v1.14.2...v1.14.3) (2023-07-02)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @fast-crud/fs-admin-antdv
|
||||||
|
|
||||||
|
## [1.14.2](https://github.com/fast-crud/fast-crud/compare/v1.14.1...v1.14.2) (2023-07-02)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* 修复多选导出csv,导致表格错位的bug ([4e0bf5b](https://github.com/fast-crud/fast-crud/commit/4e0bf5bae3bd39fd1654c5cf10991039eacf1acc))
|
||||||
|
* 修复某些情况下fs-icon spin失效的bug ([2499a33](https://github.com/fast-crud/fast-crud/commit/2499a338def7436356c91a9b547e570c4204286d))
|
||||||
|
* 修复行编辑模式下,render、conditionalRender无效的bug ([403fedc](https://github.com/fast-crud/fast-crud/commit/403fedc6e22817e33a1f4ac316a016e570127aa8))
|
||||||
|
|
||||||
|
### Performance Improvements
|
||||||
|
|
||||||
|
* 导出重构 ([e99dc7b](https://github.com/fast-crud/fast-crud/commit/e99dc7bb6b24d4456fc524a04e8787e16b07511e))
|
||||||
|
* export 功能 ([2accdba](https://github.com/fast-crud/fast-crud/commit/2accdba5d087c01a87c6fd20b98c6510d0038f9d))
|
||||||
|
|
||||||
## [1.14.1](https://github.com/fast-crud/fast-crud/compare/v1.14.0...v1.14.1) (2023-06-16)
|
## [1.14.1](https://github.com/fast-crud/fast-crud/compare/v1.14.0...v1.14.1) (2023-06-16)
|
||||||
|
|
||||||
**Note:** Version bump only for package @fast-crud/fs-admin-antdv
|
**Note:** Version bump only for package @fast-crud/fs-admin-antdv
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@fast-crud/fs-admin-antdv",
|
"name": "@fast-crud/fs-admin-antdv",
|
||||||
"version": "1.14.1",
|
"version": "1.14.4",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
|
@ -25,10 +25,10 @@
|
||||||
"@ant-design/icons-vue": "^6.1.0",
|
"@ant-design/icons-vue": "^6.1.0",
|
||||||
"@aws-sdk/client-s3": "^3.292.0",
|
"@aws-sdk/client-s3": "^3.292.0",
|
||||||
"@aws-sdk/s3-request-presigner": "^3.292.0",
|
"@aws-sdk/s3-request-presigner": "^3.292.0",
|
||||||
"@fast-crud/fast-crud": "^1.14.1",
|
"@fast-crud/fast-crud": "^1.14.4",
|
||||||
"@fast-crud/fast-extends": "^1.14.1",
|
"@fast-crud/fast-extends": "^1.14.4",
|
||||||
"@fast-crud/ui-antdv": "^1.14.1",
|
"@fast-crud/ui-antdv": "^1.14.4",
|
||||||
"@fast-crud/ui-interface": "^1.14.1",
|
"@fast-crud/ui-interface": "^1.14.4",
|
||||||
"@iconify/iconify": "^3.1.0",
|
"@iconify/iconify": "^3.1.0",
|
||||||
"@iconify/json": "^2.2.35",
|
"@iconify/json": "^2.2.35",
|
||||||
"@purge-icons/generated": "^0.9.0",
|
"@purge-icons/generated": "^0.9.0",
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
name,mobile
|
||||||
|
张三,18603040102
|
||||||
|
李四,18603040103
|
||||||
|
王五,18603040104
|
||||||
|
赵六,18603040105
|
||||||
|
田七,18603040106
|
|
|
@ -579,6 +579,12 @@ export const crudResources = [
|
||||||
path: "/crud/feature/local-v-model",
|
path: "/crud/feature/local-v-model",
|
||||||
component: "/crud/feature/local-v-model/index.vue"
|
component: "/crud/feature/local-v-model/index.vue"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "导入",
|
||||||
|
name: "FeatureImport",
|
||||||
|
path: "/crud/feature/local-import",
|
||||||
|
component: "/crud/feature/local-import/index.vue"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "自定义删除",
|
title: "自定义删除",
|
||||||
name: "FeatureRemove",
|
name: "FeatureRemove",
|
||||||
|
|
|
@ -0,0 +1,90 @@
|
||||||
|
import { CreateCrudOptionsProps, CreateCrudOptionsRet, importTable } from "@fast-crud/fast-crud";
|
||||||
|
import { Modal, notification } from "ant-design-vue";
|
||||||
|
|
||||||
|
export default function ({ crudExpose }: CreateCrudOptionsProps): CreateCrudOptionsRet {
|
||||||
|
const crudBinding = crudExpose.crudBinding;
|
||||||
|
return {
|
||||||
|
crudOptions: {
|
||||||
|
mode: {
|
||||||
|
name: "local",
|
||||||
|
isMergeWhenUpdate: true,
|
||||||
|
isAppendWhenAdd: true
|
||||||
|
},
|
||||||
|
//启用addRow按钮
|
||||||
|
actionbar: {
|
||||||
|
buttons: {
|
||||||
|
//禁用弹框添加
|
||||||
|
add: { show: false },
|
||||||
|
//启用添加行
|
||||||
|
addRow: { show: true },
|
||||||
|
//导入按钮
|
||||||
|
import: {
|
||||||
|
show: true,
|
||||||
|
text: "批量导入",
|
||||||
|
type: "primary",
|
||||||
|
click() {
|
||||||
|
const modal = Modal.info({
|
||||||
|
title: "批量导入",
|
||||||
|
okText: "关闭",
|
||||||
|
content() {
|
||||||
|
async function onChange(e: any) {
|
||||||
|
const file = e.target.files[0];
|
||||||
|
await importTable(crudExpose, { file, append: true });
|
||||||
|
modal.destroy();
|
||||||
|
notification.success({
|
||||||
|
message: "导入成功"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<p>
|
||||||
|
1、<a href={"template-import.csv"}>下载导入模板</a>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
2、<span>模板填充数据</span>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<span>3、导入:</span>
|
||||||
|
<input type={"file"} onInput={onChange}></input>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
table: {
|
||||||
|
remove: {
|
||||||
|
//删除数据后不请求后台
|
||||||
|
refreshTable: false
|
||||||
|
},
|
||||||
|
editable: {
|
||||||
|
enabled: true,
|
||||||
|
mode: "row",
|
||||||
|
activeTrigger: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
search: {
|
||||||
|
show: false
|
||||||
|
},
|
||||||
|
toolbar: {
|
||||||
|
show: false
|
||||||
|
},
|
||||||
|
pagination: {
|
||||||
|
show: false
|
||||||
|
},
|
||||||
|
columns: {
|
||||||
|
name: {
|
||||||
|
type: "text",
|
||||||
|
title: "联系人姓名"
|
||||||
|
},
|
||||||
|
mobile: {
|
||||||
|
type: "text",
|
||||||
|
title: "联系人手机号码"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,47 @@
|
||||||
|
<template>
|
||||||
|
<fs-page>
|
||||||
|
<template #header>
|
||||||
|
<div class="title">将本地crud当做v-model,编辑好之后一并提交,本示例演示import导入</div>
|
||||||
|
</template>
|
||||||
|
<div style="padding: 30px">
|
||||||
|
<a-form ref="formRef" :model="form" laba-width="120px">
|
||||||
|
<a-form-item label="姓名">
|
||||||
|
<a-input v-model:value="form.name"></a-input>
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item label="表格">
|
||||||
|
<div style="min-height: 300px">
|
||||||
|
<FeatureLocalImportValueInput v-model="form.data" />
|
||||||
|
</div>
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item>
|
||||||
|
<a-button @click="submit">提交</a-button>
|
||||||
|
</a-form-item>
|
||||||
|
</a-form>
|
||||||
|
</div>
|
||||||
|
</fs-page>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
import { defineComponent, onMounted, reactive } from "vue";
|
||||||
|
import { message } from "ant-design-vue";
|
||||||
|
import FeatureLocalImportValueInput from "./local.vue";
|
||||||
|
export default defineComponent({
|
||||||
|
name: "FeatureLocalImport",
|
||||||
|
components: { FeatureLocalImportValueInput },
|
||||||
|
setup() {
|
||||||
|
const form = reactive({
|
||||||
|
name: "test",
|
||||||
|
data: [{ name: "初始数据" }]
|
||||||
|
});
|
||||||
|
|
||||||
|
function submit() {
|
||||||
|
message.info("submit:" + JSON.stringify(form));
|
||||||
|
console.log("submit:", form);
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
form,
|
||||||
|
submit
|
||||||
|
};
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
|
@ -0,0 +1,57 @@
|
||||||
|
<template>
|
||||||
|
<fs-crud ref="crudRef" v-bind="crudBinding" />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
import { defineComponent, onMounted, watch } from "vue";
|
||||||
|
import createCrudOptions from "./crud";
|
||||||
|
import { useFs } from "@fast-crud/fast-crud";
|
||||||
|
|
||||||
|
export default defineComponent({
|
||||||
|
name: "FeatureLocalImportValueInput",
|
||||||
|
props: {
|
||||||
|
modelValue: {
|
||||||
|
default() {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
setup(props) {
|
||||||
|
const { crudBinding, crudRef, crudExpose } = useFs({ createCrudOptions });
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
//启用行编辑模式
|
||||||
|
crudExpose.editable.enable({ mode: "row" });
|
||||||
|
});
|
||||||
|
|
||||||
|
//通过导出modelValue, 可以导出成为一个input组件
|
||||||
|
watch(
|
||||||
|
() => {
|
||||||
|
return props.modelValue;
|
||||||
|
},
|
||||||
|
(value = []) => {
|
||||||
|
crudBinding.value.data = value;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
immediate: true
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
// 通过crudBinding.value.data 可以获取表格实时数据
|
||||||
|
function showData() {
|
||||||
|
console.log("data:", crudBinding.value.data);
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
crudBinding,
|
||||||
|
crudRef,
|
||||||
|
showData
|
||||||
|
};
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<style lang="less">
|
||||||
|
.fs-crud-container.compact .el-table--border {
|
||||||
|
border-left: 1px solid #eee;
|
||||||
|
}
|
||||||
|
</style>
|
Loading…
Reference in New Issue