Browse Source

修改usecrud。修改commonTable。

jxq 4 days ago
parent
commit
4b6ace5d0d
2 changed files with 40 additions and 9 deletions
  1. 4 2
      src/components/CommonTable/index.vue
  2. 36 7
      src/hooks/userCrud.ts

+ 4 - 2
src/components/CommonTable/index.vue

@@ -4,6 +4,8 @@
     :before-close="handleClose"
     :title="tableTitle"
     width="1200"
+    append-to-body
+    destroy-on-close
   >
     <avue-crud
       ref="crudRef"
@@ -190,9 +192,9 @@ const onSelected = () => {
   if (props.multiple) {
     commonTableEmits("selectMultipleSure", toDeleteIds.value);
   } else {
-    if(props.multipleRow){
+    if (props.multipleRow) {
       commonTableEmits("selectedSure", selectedRows.value);
-    }else {
+    } else {
       commonTableEmits("selectedSure", selectRowValue.value);
     }
   }

+ 36 - 7
src/hooks/userCrud.ts

@@ -11,6 +11,10 @@ interface UseCrudConfig {
 
   dataListUrl?: string;
 
+  afterDataList?: Function;
+
+  afterAdd?: Function;
+
   // 需要操作的数据
   row?: any;
   // done用于结束操作
@@ -77,6 +81,9 @@ export const useCrud = (config?: UseCrudConfig) => {
         Methords.dataList();
         config?.done && config?.done();
         ElMessage.success(res?.msg ?? "");
+        if (commonConfig.value?.afterAdd) {
+          commonConfig.value?.afterAdd(res?.data);
+        }
       } else {
         config?.loading && config?.loading();
         ElMessage.error(res?.msg ?? "");
@@ -109,16 +116,13 @@ export const useCrud = (config?: UseCrudConfig) => {
       handleSearchData();
       try {
         const res = await request({
-          url:
-            pageStr.value == "no"
-              ? (commonConfig.value?.dataListUrl ?? `${url.value}`)
-              : (commonConfig.value?.dataListUrl ?? `${url.value}/page`),
+          url: commonConfig.value?.dataListUrl ?? `${url.value}/page`,
           method: "post",
           data: {
             pageNo: page.value.currentPage,
             pageSize: page.value.pageSize,
-            ...search.value,
             ...(commonConfig.value?.params ?? {}),
+            ...search.value,
           },
         });
         if (res?.data) {
@@ -127,9 +131,11 @@ export const useCrud = (config?: UseCrudConfig) => {
             page.value.total = res?.data?.length || 0;
           } else {
             data.value = res?.data?.records || [];
-            lines.value = res?.data?.productLines || [];
             page.value.total = res?.data?.totalCount || 0;
           }
+          if (commonConfig.value?.afterDataList) {
+            commonConfig.value?.afterDataList();
+          }
         }
         config?.done && config?.done();
       } catch (err) {
@@ -142,7 +148,7 @@ export const useCrud = (config?: UseCrudConfig) => {
       handleSearchData();
       try {
         const res = await request({
-          url: pageStr.value == "no" ? `${url.value}` : `${url.value}/page`,
+          url: commonConfig.value?.dataListUrl ?? `${url.value}/page`,
           method: "post",
           data: {
             pageNo: page.value.currentPage,
@@ -245,10 +251,33 @@ export const useCrud = (config?: UseCrudConfig) => {
       });
     },
 
+    deleteRow2: async (row: any, index: number, done: () => void) => {
+      ElMessageBox.confirm("是否删除所选中数据?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(async () => {
+        try {
+          const res = await request({
+            url: `${url.value}/del`,
+            method: "post",
+            data: row,
+          });
+          Methords.dataList();
+          config?.done && config?.done();
+        } catch (err) {
+          config?.loading && config?.loading();
+        } finally {
+          config?.done && config?.done();
+        }
+      });
+    },
+
     // 设置selection: true,后监听选中改变事件,将Id存入数组
     selectionChange: (rows?: any[]) => {
       toDeleteIds.value = [];
       selectedRows.value = [];
+      console.log("dddd", rows);
       rows?.forEach((element) => {
         toDeleteIds.value.push(
           element[commonConfig.value?.multipleSelectKey ?? "id"]