Browse Source

fix(recycle): 修复一键检测功能并优化编辑逻辑

移除一键检测功能中的选中项检查,直接调用接口
编辑功能改为根据ISBN获取详情后再打开编辑窗口
ylong 1 month ago
parent
commit
8c2c509497
2 changed files with 19 additions and 52 deletions
  1. 1 8
      src/views/recycle/pending/index.vue
  2. 18 44
      src/views/recycle/processed/index.vue

+ 1 - 8
src/views/recycle/pending/index.vue

@@ -129,17 +129,10 @@ function handleExportExcel() {
 
 //一键检测
 function handleOneDetection() {
-    //需要 ids 传参, 需要获取当前表格的选中项
-    const selections = pageRef.value?.getSelections();
-    if (selections.length === 0) {
-        return ElMessage.warning('请先选中要检测的记录');
-    }
-    const ids = selections.map((item) => item.id);
-
     pageRef.value?.messageBoxConfirm({
         message: '确定要执行一键检测吗?',
         fetch: () =>
-            request.post('/book/bookNoData/unDispose/check', { ids })
+            request.post('/book/bookNoData/unDispose/check')
     });
 }
 

+ 18 - 44
src/views/recycle/processed/index.vue

@@ -2,46 +2,22 @@
     <ele-page flex-table>
         <page-search @search="reload" />
 
-        <common-table
-            ref="pageRef"
-            :pageConfig="pageConfig"
-            :columns="columns"
-            :tools="false"
-        >
+        <common-table ref="pageRef" :pageConfig="pageConfig" :columns="columns" :tools="false">
             <template #toolbar>
-                <el-button
-                    type="success"
-                    plain
-                    v-permission="'recycle:pending:exprot'"
-                    @click="handleExportExcel()"
-                >
+                <el-button type="success" plain v-permission="'recycle:pending:exprot'" @click="handleExportExcel()">
                     导出Excel
                 </el-button>
-                <el-button
-                    type="warning"
-                    plain
-                    v-permission="'recycle:pending:clear'"
-                    @click="handleClear()"
-                >
+                <el-button type="warning" plain v-permission="'recycle:pending:clear'" @click="handleClear()">
                     清空
                 </el-button>
             </template>
 
             <template #checkStatus="{ row }">
-                <dict-data
-                    code="is_common_yes"
-                    type="tag"
-                    :model-value="row.checkStatus"
-                />
+                <dict-data code="is_common_yes" type="tag" :model-value="row.checkStatus" />
             </template>
 
             <template #bookTag="{ row }">
-                <dict-data
-                    v-if="row.bookTag"
-                    code="book_tag_ku"
-                    type="text"
-                    :model-value="row.bookTag"
-                />
+                <dict-data v-if="row.bookTag" code="book_tag_ku" type="text" :model-value="row.bookTag" />
                 <span v-else>未分配</span>
             </template>
 
@@ -56,20 +32,10 @@
             </template>
 
             <template #action="{ row }">
-                <el-button
-                    type="primary"
-                    link
-                    v-permission="'recycle:pending:delete'"
-                    @click="handleEdit(row)"
-                >
+                <el-button type="primary" link v-permission="'recycle:pending:delete'" @click="handleEdit(row)">
                     [编辑]
                 </el-button>
-                <el-button
-                    type="warning"
-                    link
-                    v-permission="'recycle:pending:dealLog'"
-                    @click="handleDealLog(row)"
-                >
+                <el-button type="warning" link v-permission="'recycle:pending:dealLog'" @click="handleDealLog(row)">
                     [处理日志]
                 </el-button>
             </template>
@@ -81,18 +47,19 @@
 </template>
 
 <script setup>
-    import { ref, reactive } from 'vue';
+    import { ref, reactive, getCurrentInstance } from 'vue';
     import CommonTable from '@/components/CommonPage/CommonTable.vue';
     import pageSearch from '@/views/recycle/processed/components/page-search.vue';
     import booksEdit from '@/views/data/books/components/books-edit.vue';
     import dealLog from '@/views/recycle/pending/components/deal-log.vue';
     import request from '@/utils/request';
 
+    const { proxy } = getCurrentInstance()
     defineOptions({ name: 'Processed' });
 
     /** 表格列配置 */
     const columns = ref([
-    {
+        {
             type: 'selection',
             columnKey: 'selection',
             width: 50,
@@ -178,7 +145,14 @@
     //编辑
     const editRef = ref(null);
     function handleEdit(row) {
-        editRef.value?.handleOpen(row);
+        request.get('/book/bookInfo/getDetailByIsbn/' + row.isbn).then(res => {
+            console.log(res, 'xxx')
+            if (res.data.code == 200) {
+                editRef.value?.handleOpen(res.data.data);
+            } else {
+                editRef.value?.handleOpen({ isbn: row.isbn })
+            }
+        })
     }
 
     //处理日志