|
@@ -13,7 +13,7 @@
|
|
|
type="success"
|
|
type="success"
|
|
|
plain
|
|
plain
|
|
|
v-permission="'recycle:pending:oneDetection'"
|
|
v-permission="'recycle:pending:oneDetection'"
|
|
|
- @click="handleOptBooklist()"
|
|
|
|
|
|
|
+ @click="handleOneDetection()"
|
|
|
>
|
|
>
|
|
|
一键检测
|
|
一键检测
|
|
|
</el-button>
|
|
</el-button>
|
|
@@ -29,12 +29,38 @@
|
|
|
type="warning"
|
|
type="warning"
|
|
|
plain
|
|
plain
|
|
|
v-permission="'recycle:pending:clear'"
|
|
v-permission="'recycle:pending:clear'"
|
|
|
- @click="handleOptBlacklist()"
|
|
|
|
|
|
|
+ @click="handleClear()"
|
|
|
>
|
|
>
|
|
|
清空
|
|
清空
|
|
|
</el-button>
|
|
</el-button>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
|
|
+ <template #checkStatus="{ row }">
|
|
|
|
|
+ <dict-data
|
|
|
|
|
+ code="is_common_yes"
|
|
|
|
|
+ type="tag"
|
|
|
|
|
+ :model-value="row.checkStatus"
|
|
|
|
|
+ />
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
|
|
+ <template #status="{ row }">
|
|
|
|
|
+ <dict-data
|
|
|
|
|
+ code="dispose_status"
|
|
|
|
|
+ type="text"
|
|
|
|
|
+ :model-value="row.status"
|
|
|
|
|
+ />
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
|
|
+ <template #dealMark="{ row }">
|
|
|
|
|
+ <el-tooltip :content="row.exportTimes" v-if="row.exportTimes">
|
|
|
|
|
+ <el-tag type="success">导</el-tag>
|
|
|
|
|
+ </el-tooltip>
|
|
|
|
|
+ <el-tooltip :content="row.crawlerTimes" v-if="row.crawlerTimes">
|
|
|
|
|
+ <el-tag type="danger" style="margin-left: 10px">爬</el-tag>
|
|
|
|
|
+ </el-tooltip>
|
|
|
|
|
+ <span v-if="!row.exportTimes && !row.crawlerTimes">-</span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
<template #action="{ row }">
|
|
<template #action="{ row }">
|
|
|
<el-button
|
|
<el-button
|
|
|
type="primary"
|
|
type="primary"
|
|
@@ -48,7 +74,7 @@
|
|
|
type="danger"
|
|
type="danger"
|
|
|
link
|
|
link
|
|
|
v-permission="'recycle:pending:deal'"
|
|
v-permission="'recycle:pending:deal'"
|
|
|
- @click="handleDelete(row)"
|
|
|
|
|
|
|
+ @click="handleDeal(row)"
|
|
|
>
|
|
>
|
|
|
[去处理]
|
|
[去处理]
|
|
|
</el-button>
|
|
</el-button>
|
|
@@ -56,7 +82,7 @@
|
|
|
type="success"
|
|
type="success"
|
|
|
link
|
|
link
|
|
|
v-permission="'recycle:pending:detection'"
|
|
v-permission="'recycle:pending:detection'"
|
|
|
- @click="handleDelete(row)"
|
|
|
|
|
|
|
+ @click="handleDetectionById(row)"
|
|
|
>
|
|
>
|
|
|
[检测]
|
|
[检测]
|
|
|
</el-button>
|
|
</el-button>
|
|
@@ -64,12 +90,15 @@
|
|
|
type="warning"
|
|
type="warning"
|
|
|
link
|
|
link
|
|
|
v-permission="'recycle:pending:dealLog'"
|
|
v-permission="'recycle:pending:dealLog'"
|
|
|
- @click="handleModifyType(row)"
|
|
|
|
|
|
|
+ @click="handleDealLog(row)"
|
|
|
>
|
|
>
|
|
|
[处理日志]
|
|
[处理日志]
|
|
|
</el-button>
|
|
</el-button>
|
|
|
</template>
|
|
</template>
|
|
|
</common-table>
|
|
</common-table>
|
|
|
|
|
+
|
|
|
|
|
+ <books-edit ref="editRef"></books-edit>
|
|
|
|
|
+ <deal-log ref="dealLogRef"></deal-log>
|
|
|
</ele-page>
|
|
</ele-page>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
@@ -77,28 +106,32 @@
|
|
|
import { ref, reactive } from 'vue';
|
|
import { ref, reactive } from 'vue';
|
|
|
import CommonTable from '@/components/CommonPage/CommonTable.vue';
|
|
import CommonTable from '@/components/CommonPage/CommonTable.vue';
|
|
|
import pageSearch from './components/page-search.vue';
|
|
import pageSearch from './components/page-search.vue';
|
|
|
- import { useDictData } from '@/utils/use-dict-data';
|
|
|
|
|
-
|
|
|
|
|
- defineOptions({ name: 'pending' });
|
|
|
|
|
- const [useStatusDicts, bookTagDicts] = useDictData([
|
|
|
|
|
- 'use_status',
|
|
|
|
|
- 'book_tag_ku'
|
|
|
|
|
- ]);
|
|
|
|
|
|
|
+ import booksEdit from '@/views/data/books/components/books-edit.vue';
|
|
|
|
|
+ import dealLog from './components/deal-log.vue';
|
|
|
|
|
+ import request from '@/utils/request';
|
|
|
|
|
|
|
|
- const useStatus = ref('0');
|
|
|
|
|
- function handleStatusChange(value) {
|
|
|
|
|
- pageRef.value.reload({ useStatus: value });
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ defineOptions({ name: 'pendingDetection' });
|
|
|
|
|
|
|
|
/** 表格列配置 */
|
|
/** 表格列配置 */
|
|
|
const columns = ref([
|
|
const columns = ref([
|
|
|
- { label: 'ID', prop: 'id', width: 120 },
|
|
|
|
|
- { label: 'ISBN', prop: 'isbn' },
|
|
|
|
|
- { label: '处理标记', prop: 'discount' },
|
|
|
|
|
- { label: '创建时间', prop: 'price' },
|
|
|
|
|
- { label: '是否检测', prop: 'maxRecycledAmount' },
|
|
|
|
|
- { label: '处理人', prop: 'remainingRecycledAmount' },
|
|
|
|
|
- { label: '状态', prop: 'alertNum' },
|
|
|
|
|
|
|
+ { label: 'ID', prop: 'id', width: 120, align: 'center' },
|
|
|
|
|
+ { label: 'ISBN', prop: 'isbn', align: 'center' },
|
|
|
|
|
+ { label: '扫描次数', prop: 'scanTimes', align: 'center' },
|
|
|
|
|
+ { label: '处理标记', prop: 'dealMark', slot: 'dealMark', align: 'center' },
|
|
|
|
|
+ { label: '创建时间', prop: 'createTime', align: 'center' },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '是否检测',
|
|
|
|
|
+ prop: 'checkStatus',
|
|
|
|
|
+ slot: 'checkStatus',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '处理人',
|
|
|
|
|
+ prop: 'disposeName',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ formatter: (row) => row.disposeName || '-'
|
|
|
|
|
+ },
|
|
|
|
|
+ { label: '状态', prop: 'status', slot: 'status', align: 'center' },
|
|
|
{
|
|
{
|
|
|
columnKey: 'action',
|
|
columnKey: 'action',
|
|
|
label: '操作',
|
|
label: '操作',
|
|
@@ -112,9 +145,9 @@
|
|
|
const pageRef = ref(null);
|
|
const pageRef = ref(null);
|
|
|
|
|
|
|
|
const pageConfig = reactive({
|
|
const pageConfig = reactive({
|
|
|
- pageUrl: '/book/bookInfo/list',
|
|
|
|
|
- exportUrl: '/book/bookInfo/export',
|
|
|
|
|
- fileName: '待处理ISBN',
|
|
|
|
|
|
|
+ pageUrl: '/book/bookNoData/unDispose/pagelist',
|
|
|
|
|
+ exportUrl: '/book/bookNoData/unDispose/export',
|
|
|
|
|
+ fileName: '待处理数据库',
|
|
|
cacheKey: 'pendingTable'
|
|
cacheKey: 'pendingTable'
|
|
|
});
|
|
});
|
|
|
|
|
|
|
@@ -125,16 +158,55 @@
|
|
|
|
|
|
|
|
//导出excel
|
|
//导出excel
|
|
|
function handleExportExcel() {
|
|
function handleExportExcel() {
|
|
|
- pageRef.value?.exportData('待处理ISBN');
|
|
|
|
|
|
|
+ pageRef.value?.exportData('待处理数据库');
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //一键检测
|
|
|
|
|
+ function handleOneDetection() {
|
|
|
|
|
+ pageRef.value?.messageBoxConfirm({
|
|
|
|
|
+ message: '确定要执行一键检测吗?',
|
|
|
|
|
+ fetch: () => request.post('/book/bookNoData/unDispose/check')
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //去处理
|
|
|
|
|
+ function handleDeal(row) {
|
|
|
|
|
+ editRef.value?.handleOpen(row);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//删除
|
|
//删除
|
|
|
function handleDelete(row) {
|
|
function handleDelete(row) {
|
|
|
pageRef.value?.messageBoxConfirm({
|
|
pageRef.value?.messageBoxConfirm({
|
|
|
message: '确定删除吗?',
|
|
message: '确定删除吗?',
|
|
|
- fetch: () => request.get('/common/exportrecord/deleteRecord?id=' + row.id)
|
|
|
|
|
|
|
+ fetch: () => request.post('/book/bookNoData/deleteById', { id: row.id })
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
//修改类型
|
|
//修改类型
|
|
|
function handleModifyType(row) {}
|
|
function handleModifyType(row) {}
|
|
|
|
|
+
|
|
|
|
|
+ //清空
|
|
|
|
|
+ function handleClear() {
|
|
|
|
|
+ let selections = pageRef.value?.getSelections();
|
|
|
|
|
+ pageRef.value?.operatBatch({
|
|
|
|
|
+ title: '确定要执行清空吗?',
|
|
|
|
|
+ method: 'post',
|
|
|
|
|
+ url: '/book/bookNoData/unDispose/clear',
|
|
|
|
|
+ data: { ids: selections.map((item) => item.id) }
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //根据ID检测
|
|
|
|
|
+ function handleDetectionById(row) {
|
|
|
|
|
+ pageRef.value?.messageBoxConfirm({
|
|
|
|
|
+ message: '确定要检测该条记录吗?',
|
|
|
|
|
+ fetch: () => request.post(`/book/bookNoData/unDispose/checkId/${row.id}`)
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //处理日志
|
|
|
|
|
+ const dealLogRef = ref(null);
|
|
|
|
|
+ function handleDealLog(row) {
|
|
|
|
|
+ dealLogRef.value?.handleOpen(row.id);
|
|
|
|
|
+ }
|
|
|
</script>
|
|
</script>
|