lex 1 ano atrás
pai
commit
e15afb7693

+ 1 - 1
public/version.json

@@ -1 +1 @@
-{"version":1709541806678}
+{"version":1709549872819}

+ 88 - 7
src/views/natural-resources/components/my-resources/index.tsx

@@ -8,7 +8,8 @@ import {
   materialQueryPage,
   materialRemove,
   materialRemoveAll,
-  materialRemoveMusic
+  materialRemoveMusic,
+  materialUpdateAll
 } from '../../api';
 import {
   NButton,
@@ -25,6 +26,7 @@ import resourceDefault from '../../images/resource-default.png';
 import resourceChecked from '../../images/resource-checked.png';
 import MyResourcesGuide from '@/custom-plugins/guide-page/myResources-guide';
 import SaveModal from './save-modal';
+import deepClone from '/src/helpers/deep-clone';
 export default defineComponent({
   name: 'share-resources',
   setup() {
@@ -53,6 +55,8 @@ export default defineComponent({
       editStatus: false, // 是否编辑
       editList: [] as any, // TOD
       editIds: [] as any, // 编辑的
+      deleteIds: [] as any, // 删除编号
+      editOverIds: [] as any, // 确认修改的数据
       removeVisiable: false,
       removeContent: '是否删除该资源?',
       type: 'remove',
@@ -126,10 +130,10 @@ export default defineComponent({
         } else {
           await materialRemoveAll(state.editIds);
         }
-        message.success('删除成功');
-        state.pagination.page = 1;
-        getList();
-        state.editIds = [];
+        // message.success('删除成功');
+        // state.pagination.page = 1;
+        // getList();
+        // state.editIds = [];
       } catch {
         //
       }
@@ -180,11 +184,63 @@ export default defineComponent({
             }
             state.uploadStatus = true;
           }}
-          onEdit={(status: boolean) => {
+          onEditOver={async (status: boolean) => {
+            state.editStatus = status;
+            // 删除
+            try {
+              if (state.deleteIds.length > 0) {
+                await onDelete();
+              }
+
+              // 修改
+              if (state.editIds.length > 0) {
+                const body = [] as any;
+                state.tableList.forEach((item: any) => {
+                  if (state.editIds.includes(item.id)) {
+                    body.push({
+                      subjectIds: item.subjectId,
+                      openFlag: item.openFlag,
+                      coverImg: item.coverImg,
+                      name: item.title,
+                      type: item.type,
+                      enableFlag: 1,
+                      content: item.content,
+                      id: item.id || null
+                    });
+                  }
+                });
+                //
+                if (body.length > 0) {
+                  await materialUpdateAll(body);
+                }
+              }
+              console.log('1111');
+              message.success('修改成功');
+              state.pagination.page = 1;
+              getList();
+              state.editIds = [];
+              state.deleteIds = [];
+              state.editOverIds = [];
+            } catch {
+              //
+            }
+          }}
+          onCancel={status => {
+            state.editStatus = status;
+            state.pagination.page = 1;
+            state.editIds = [];
+            state.deleteIds = [];
+            state.editOverIds = [];
+            getList();
+          }}
+          onEdit={async (status: boolean) => {
             // 点击编辑
             state.editStatus = status;
+
             if (!state.editStatus) {
               state.editIds = [];
+              state.deleteIds = [];
+              state.editOverIds = [];
             }
           }}
           onSelectAll={(status: boolean) => {
@@ -301,6 +357,25 @@ export default defineComponent({
               onSearch(state.searchGroup);
             }}
             list={state.editList}
+            onEditAll={(list: any) => {
+              try {
+                state.tableList.forEach((table: any) => {
+                  const item = list.find((item: any) => item.id === table.id);
+                  if (item) {
+                    table.openFlag = item.openFlag;
+                    table.title = item.name;
+                    table.subjectId = item.subjectIds;
+
+                    if (!state.editOverIds.includes(table.id)) {
+                      state.editOverIds.push(table.id);
+                    }
+                  }
+                });
+                state.uploadStatus = false;
+              } catch (e: any) {
+                console.log(e);
+              }
+            }}
           />
         </NModal>
 
@@ -352,7 +427,13 @@ export default defineComponent({
                   if (state.type === 'remove') {
                     onRemove();
                   } else {
-                    onDelete();
+                    state.editIds.forEach((id: any) => {
+                      const index = state.tableList.findIndex(
+                        (item: any) => item.id === id
+                      );
+                      state.tableList.splice(index, 1);
+                    });
+                    state.deleteIds = deepClone(state.editIds);
                   }
                   state.removeVisiable = false;
                 }}>

+ 12 - 3
src/views/natural-resources/components/my-resources/search-group-resources.tsx

@@ -13,7 +13,16 @@ import { useCatchStore } from '/src/store/modules/catchData';
 
 export default defineComponent({
   name: 'search-group',
-  emits: ['search', 'upload', 'edit', 'selectAll', 'delete', 'update'],
+  emits: [
+    'search',
+    'upload',
+    'edit',
+    'selectAll',
+    'delete',
+    'update',
+    'editOver',
+    'cancel'
+  ],
   setup(props, { emit, expose }) {
     const resourceList = ref([] as any[]);
     const catchStore = useCatchStore();
@@ -145,7 +154,7 @@ export default defineComponent({
                   onClick={() => {
                     state.isEdit = false;
                     state.isSelectAll = false;
-                    emit('edit', state.isEdit);
+                    emit('editOver', state.isEdit);
                   }}>
                   完成编辑
                 </NButton>
@@ -157,7 +166,7 @@ export default defineComponent({
                   onClick={() => {
                     state.isEdit = false;
                     state.isSelectAll = false;
-                    emit('edit', state.isEdit);
+                    emit('cancel', state.isEdit);
                   }}>
                   {/* <img src={iconDelete} class={styles.iconDelete} /> */}
                   取消编辑

+ 9 - 7
src/views/natural-resources/components/my-resources/upload-modal/index.tsx

@@ -57,7 +57,7 @@ export default defineComponent({
       default: true
     }
   },
-  emits: ['close', 'confirm'],
+  emits: ['close', 'confirm', 'editAll'],
   setup(props, { emit }) {
     const catchStore = useCatchStore();
     const formRef = ref();
@@ -119,14 +119,16 @@ export default defineComponent({
             });
           });
           if (isUpdate.value) {
-            await materialUpdateAll(body);
+            // await materialUpdateAll(body);
+            emit('editAll', body);
+            uploadForms.list = [];
           } else {
             await materialSave(body);
+            message.success('保存成功');
+            uploadForms.list = [];
+            emit('close', true);
+            emit('confirm');
           }
-          uploadForms.list = [];
-          message.success('保存成功');
-          emit('close', true);
-          emit('confirm');
         } catch {
           //
         }
@@ -163,7 +165,7 @@ export default defineComponent({
       });
       uploadForms.list = temps || [];
 
-      console.log(temps, 'uploadForms');
+      // console.log(temps, 'uploadForms');
       await catchStore.getSubjects();
     });