|
@@ -23,6 +23,8 @@ interface UseCrudConfig {
|
|
|
params?: object;
|
|
|
// 是否是编辑,如果是编辑调用更新,否则调用新增
|
|
|
isEdit?: boolean;
|
|
|
+ // 用于多选选中后添加进入,toDeleteIds中的key值。
|
|
|
+ multipleSelectKey?: string;
|
|
|
}
|
|
|
|
|
|
export const useCrud = (config?: UseCrudConfig) => {
|
|
@@ -54,7 +56,7 @@ export const useCrud = (config?: UseCrudConfig) => {
|
|
|
});
|
|
|
/** 配置项结构 v-model */
|
|
|
// defaults ?: AvueCrudDefaults;
|
|
|
-
|
|
|
+ // 多选返回的数组,命名是因为后来增加了很多功能,现在这个数组里面的值是根据multipleSelectKey来决定
|
|
|
const toDeleteIds = ref<Array<string>>([]);
|
|
|
|
|
|
const save = async (config?: UseCrudConfig) => {
|
|
@@ -102,7 +104,7 @@ export const useCrud = (config?: UseCrudConfig) => {
|
|
|
handleSearchData();
|
|
|
try {
|
|
|
const res = await request({
|
|
|
- url: commonConfig.value.dataListUrl ?? `${url.value}/page`,
|
|
|
+ url: commonConfig.value?.dataListUrl ?? `${url.value}/page`,
|
|
|
method: "post",
|
|
|
data: {
|
|
|
pageNo: page.value.currentPage,
|
|
@@ -141,22 +143,25 @@ export const useCrud = (config?: UseCrudConfig) => {
|
|
|
},
|
|
|
});
|
|
|
if (res?.data) {
|
|
|
- if(res?.data instanceof Array){
|
|
|
- data.value = res?.data || []
|
|
|
- page.value.total = res?.data?.length || 0
|
|
|
- }else{
|
|
|
+ if (res?.data instanceof Array) {
|
|
|
+ data.value = res?.data || [];
|
|
|
+ page.value.total = res?.data?.length || 0;
|
|
|
+ } else {
|
|
|
data.value = res?.data?.records || [];
|
|
|
for (let i = 0; i < data.value.length; i++) {
|
|
|
data.value[i].$cellEdit = true;
|
|
|
- if(data.value[i].children!=undefined&&data.value[i].children!=null&&data.value[i].children.length > 0 ){
|
|
|
- for(let j=0;j < data.value[i].children.length; j++){
|
|
|
+ if (
|
|
|
+ data.value[i].children != undefined &&
|
|
|
+ data.value[i].children != null &&
|
|
|
+ data.value[i].children.length > 0
|
|
|
+ ) {
|
|
|
+ for (let j = 0; j < data.value[i].children.length; j++) {
|
|
|
data.value[i].children[j].$cellEdit = true;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
page.value.total = res?.data?.totalCount || 0;
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
config?.done && config?.done();
|
|
|
} catch (err) {
|
|
@@ -211,9 +216,9 @@ export const useCrud = (config?: UseCrudConfig) => {
|
|
|
cancelButtonText: "取消",
|
|
|
type: "warning",
|
|
|
}).then(async () => {
|
|
|
- if(row.children && row.children.length > 0 ){
|
|
|
- ElMessage.error("请先解绑下级关系")
|
|
|
- return
|
|
|
+ if (row.children && row.children.length > 0) {
|
|
|
+ ElMessage.error("请先解绑下级关系");
|
|
|
+ return;
|
|
|
}
|
|
|
try {
|
|
|
const res = await request({
|
|
@@ -235,7 +240,9 @@ export const useCrud = (config?: UseCrudConfig) => {
|
|
|
selectionChange: (rows?: any[]) => {
|
|
|
toDeleteIds.value = [];
|
|
|
rows?.forEach((element) => {
|
|
|
- toDeleteIds.value.push(element.id);
|
|
|
+ toDeleteIds.value.push(
|
|
|
+ element[commonConfig.value?.multipleSelectKey ?? "id"]
|
|
|
+ );
|
|
|
});
|
|
|
},
|
|
|
|