|
@@ -1,4 +1,3 @@
|
|
|
-
|
|
|
<template>
|
|
|
<div class="content">
|
|
|
<div class="top">
|
|
@@ -13,19 +12,18 @@
|
|
|
allow-clear
|
|
|
@change="selectChange"
|
|
|
>
|
|
|
- <a-select-option v-for="item in typeOptions" :key="item.code" :value="item.code">{{
|
|
|
+ <a-select-option v-for="item in typeOptions" :key="item.id" :value="item.id">{{
|
|
|
item.name
|
|
|
}}</a-select-option>
|
|
|
</a-select>
|
|
|
</a-form-item>
|
|
|
- <a-form-item
|
|
|
- has-feedback
|
|
|
- label="分类"
|
|
|
- name="subType"
|
|
|
- :wrapper-col="selectWrapperCol"
|
|
|
- v-if="isShowType"
|
|
|
- >
|
|
|
- <a-select v-model:value="formState.subType" placeholder="请选择分类" allow-clear>
|
|
|
+ <a-form-item has-feedback label="分类" name="subType" :wrapper-col="selectWrapperCol">
|
|
|
+ <a-select
|
|
|
+ :disabled="!isShowType"
|
|
|
+ v-model:value="formState.subType"
|
|
|
+ placeholder="请选择分类"
|
|
|
+ allow-clear
|
|
|
+ >
|
|
|
<a-select-option v-for="item in subType" :key="item.id" :value="item.id">{{
|
|
|
item.name
|
|
|
}}</a-select-option>
|
|
@@ -56,7 +54,7 @@
|
|
|
:options="fileTypeList"
|
|
|
placeholder="请选择"
|
|
|
allow-clear
|
|
|
- ></a-select>
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
<div style="margin-left: 41px">
|
|
|
<a-button type="primary" html-type="submit" @click="search">搜索</a-button>
|
|
@@ -96,12 +94,12 @@
|
|
|
text == '1'
|
|
|
? '电子图书'
|
|
|
: text == '2'
|
|
|
- ? '文献资料'
|
|
|
- : text == '3'
|
|
|
- ? '学术论文'
|
|
|
- : text == '4'
|
|
|
- ? '其他'
|
|
|
- : ''
|
|
|
+ ? '文献资料'
|
|
|
+ : text == '3'
|
|
|
+ ? '学术论文'
|
|
|
+ : text == '4'
|
|
|
+ ? '其他'
|
|
|
+ : ''
|
|
|
}}
|
|
|
</template>
|
|
|
<template #audit="{ record }">
|
|
@@ -112,7 +110,7 @@
|
|
|
<template #action="{ record }">
|
|
|
<a-space :size="10">
|
|
|
<a-button type="link" @click="updateBook(record)" :disabled="record.status == '1'"
|
|
|
- >编辑</a-button
|
|
|
+ >编辑</a-button
|
|
|
>
|
|
|
<a @click="backBook(record)" v-if="record.status == '1'">撤回</a>
|
|
|
<a @click="bulkShelves(record)" v-if="record.status == '2'">发布</a>
|
|
@@ -147,477 +145,482 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
-<script setup lang="ts" >
|
|
|
-import { ConfigProvider, message } from 'ant-design-vue';
|
|
|
-import { reactive, ref, onMounted } from 'vue';
|
|
|
-import { useRouter } from 'vue-router';
|
|
|
-// import { Moment } from 'moment';
|
|
|
-import addDialog from './addDialog.vue';
|
|
|
-import audit from './audit.vue';
|
|
|
-import zhCN from 'ant-design-vue/es/locale/zh_CN';
|
|
|
-import packagebook from '@/api/bookManage';
|
|
|
-import alertBook from '@/api/manageBookAlert';
|
|
|
-const router = useRouter();
|
|
|
-interface FormState {
|
|
|
- name: string;
|
|
|
- type: number;
|
|
|
- dateRange: Array<any>;
|
|
|
- author: string;
|
|
|
- status: number;
|
|
|
- fileType: string;
|
|
|
- subType: number;
|
|
|
-}
|
|
|
-const fileTypeList = ref([
|
|
|
- { label: 'pdf', value: 'pdf' },
|
|
|
- { label: 'docx', value: 'docx' },
|
|
|
- { label: 'doc', value: 'doc' },
|
|
|
- { label: 'txt', value: 'txt' },
|
|
|
- { label: 'htm', value: 'htm' },
|
|
|
- { label: 'prc', value: 'prc' },
|
|
|
- { label: 'mobi', value: 'mobi' },
|
|
|
- { label: 'avi', value: 'avi' },
|
|
|
- { label: 'rmvb', value: 'rmvb' },
|
|
|
- { label: 'rar', value: 'rar' },
|
|
|
- { label: 'mp3', value: 'mp3' },
|
|
|
- { label: 'zip', value: 'zip' },
|
|
|
- { label: 'chm', value: 'chm' },
|
|
|
- { label: 'ppt', value: 'ppt' },
|
|
|
- { label: 'wma', value: 'wma' },
|
|
|
- { label: 'exe', value: 'exe' },
|
|
|
- { label: 'fiv', value: 'fiv' },
|
|
|
- { label: 'pptx', value: 'pptx' },
|
|
|
- { label: 'swf', value: 'swf' },
|
|
|
- { label: 'cfg', value: 'cfg' },
|
|
|
- { label: 'wmv', value: 'wmv' },
|
|
|
- { label: 'f4v', value: 'f4v' },
|
|
|
- { label: 'rm', value: 'rm' },
|
|
|
- { label: 'IFO', value: 'IFO' },
|
|
|
- { label: 'mp4', value: 'mp4' },
|
|
|
- { label: 'epub', value: 'epub' },
|
|
|
- { label: 'azw3', value: 'azw3' },
|
|
|
- { label: 'psd', value: 'psd' },
|
|
|
- { label: 'VOB', value: 'VOB' },
|
|
|
- { label: 'MPG', value: 'MPG' },
|
|
|
- { label: 'MTS', value: 'MTS' },
|
|
|
- { label: 'pps', value: 'pps' },
|
|
|
- { label: 'djvu', value: 'djvu' },
|
|
|
- { label: 'xls', value: 'xls' },
|
|
|
- { label: 'pdz', value: 'pdz' },
|
|
|
- { label: 'ppsx', value: 'ppsx' },
|
|
|
- { label: 'jpeg', value: 'jpeg' },
|
|
|
-]);
|
|
|
-const formState: FormState = reactive({
|
|
|
- name: '',
|
|
|
- type: null,
|
|
|
- dateRange: [],
|
|
|
- author: '',
|
|
|
- status: null,
|
|
|
- fileType: undefined,
|
|
|
- subType: null,
|
|
|
-});
|
|
|
-formState.fileType = fileTypeList.value[0].value;
|
|
|
+<script setup lang="ts">
|
|
|
+ import { ConfigProvider, message } from 'ant-design-vue';
|
|
|
+ import { reactive, ref, onMounted } from 'vue';
|
|
|
+ import { useRouter } from 'vue-router';
|
|
|
+ // import { Moment } from 'moment';
|
|
|
+ import addDialog from './addDialog.vue';
|
|
|
+ import audit from './audit.vue';
|
|
|
+ import zhCN from 'ant-design-vue/es/locale/zh_CN';
|
|
|
+ import packagebook from '@/api/bookManage';
|
|
|
+ import alertBook from '@/api/manageBookAlert';
|
|
|
+ const router = useRouter();
|
|
|
+ interface FormState {
|
|
|
+ name: string;
|
|
|
+ type: number;
|
|
|
+ dateRange: Array<any>;
|
|
|
+ author: string;
|
|
|
+ status: number;
|
|
|
+ fileType: string;
|
|
|
+ subType: number;
|
|
|
+ }
|
|
|
+ const fileTypeList = ref([
|
|
|
+ { label: 'pdf', value: 'pdf' },
|
|
|
+ { label: 'docx', value: 'docx' },
|
|
|
+ { label: 'doc', value: 'doc' },
|
|
|
+ { label: 'txt', value: 'txt' },
|
|
|
+ { label: 'htm', value: 'htm' },
|
|
|
+ { label: 'prc', value: 'prc' },
|
|
|
+ { label: 'mobi', value: 'mobi' },
|
|
|
+ { label: 'avi', value: 'avi' },
|
|
|
+ { label: 'rmvb', value: 'rmvb' },
|
|
|
+ { label: 'rar', value: 'rar' },
|
|
|
+ { label: 'mp3', value: 'mp3' },
|
|
|
+ { label: 'zip', value: 'zip' },
|
|
|
+ { label: 'chm', value: 'chm' },
|
|
|
+ { label: 'ppt', value: 'ppt' },
|
|
|
+ { label: 'wma', value: 'wma' },
|
|
|
+ { label: 'exe', value: 'exe' },
|
|
|
+ { label: 'fiv', value: 'fiv' },
|
|
|
+ { label: 'pptx', value: 'pptx' },
|
|
|
+ { label: 'swf', value: 'swf' },
|
|
|
+ { label: 'cfg', value: 'cfg' },
|
|
|
+ { label: 'wmv', value: 'wmv' },
|
|
|
+ { label: 'f4v', value: 'f4v' },
|
|
|
+ { label: 'rm', value: 'rm' },
|
|
|
+ { label: 'IFO', value: 'IFO' },
|
|
|
+ { label: 'mp4', value: 'mp4' },
|
|
|
+ { label: 'epub', value: 'epub' },
|
|
|
+ { label: 'azw3', value: 'azw3' },
|
|
|
+ { label: 'psd', value: 'psd' },
|
|
|
+ { label: 'VOB', value: 'VOB' },
|
|
|
+ { label: 'MPG', value: 'MPG' },
|
|
|
+ { label: 'MTS', value: 'MTS' },
|
|
|
+ { label: 'pps', value: 'pps' },
|
|
|
+ { label: 'djvu', value: 'djvu' },
|
|
|
+ { label: 'xls', value: 'xls' },
|
|
|
+ { label: 'pdz', value: 'pdz' },
|
|
|
+ { label: 'ppsx', value: 'ppsx' },
|
|
|
+ { label: 'jpeg', value: 'jpeg' },
|
|
|
+ ]);
|
|
|
+ const formState: FormState = reactive({
|
|
|
+ name: '',
|
|
|
+ type: null,
|
|
|
+ dateRange: [],
|
|
|
+ author: '',
|
|
|
+ status: null,
|
|
|
+ fileType: undefined,
|
|
|
+ subType: null,
|
|
|
+ });
|
|
|
+ formState.fileType = fileTypeList.value[0].value;
|
|
|
|
|
|
-// 表格
|
|
|
-let dataSource = ref([]);
|
|
|
-const formRef = ref();
|
|
|
-const selectWrapperCol = {
|
|
|
- style: {
|
|
|
- width: '171px',
|
|
|
- },
|
|
|
-};
|
|
|
+ // 表格
|
|
|
+ let dataSource = ref([]);
|
|
|
+ const formRef = ref();
|
|
|
+ const selectWrapperCol = {
|
|
|
+ style: {
|
|
|
+ width: '171px',
|
|
|
+ },
|
|
|
+ };
|
|
|
|
|
|
-const typeOptions = ref<any>([]);
|
|
|
-const statusOptions = ref<any>([]);
|
|
|
-const resetForm = () => {
|
|
|
- formRef.value.resetFields();
|
|
|
- pageSize.value = 10;
|
|
|
- current.value = 1;
|
|
|
- queryList();
|
|
|
-};
|
|
|
+ const typeOptions = ref<any>([]);
|
|
|
+ const statusOptions = ref<any>([]);
|
|
|
+ const resetForm = () => {
|
|
|
+ formRef.value.resetFields();
|
|
|
+ pageSize.value = 10;
|
|
|
+ current.value = 1;
|
|
|
+ queryList();
|
|
|
+ };
|
|
|
|
|
|
-const search = () => {
|
|
|
- pageSize.value = 10;
|
|
|
- current.value = 1;
|
|
|
- queryList();
|
|
|
-};
|
|
|
+ const search = () => {
|
|
|
+ pageSize.value = 10;
|
|
|
+ current.value = 1;
|
|
|
+ queryList();
|
|
|
+ };
|
|
|
|
|
|
-const columns = [
|
|
|
- {
|
|
|
- title: '名称',
|
|
|
- dataIndex: 'name',
|
|
|
- key: 'name',
|
|
|
- width: 200,
|
|
|
- fixed: 'left',
|
|
|
- },
|
|
|
- {
|
|
|
- title: '类型',
|
|
|
- dataIndex: 'type',
|
|
|
- key: 'type',
|
|
|
- slots: { customRender: 'type' },
|
|
|
- },
|
|
|
- {
|
|
|
- title: '作者',
|
|
|
- dataIndex: 'author',
|
|
|
- key: 'author',
|
|
|
- },
|
|
|
- {
|
|
|
- title: '创建时间',
|
|
|
- dataIndex: 'createTime',
|
|
|
- key: 'createTime',
|
|
|
- width: 200,
|
|
|
- },
|
|
|
- {
|
|
|
- title: '上传者',
|
|
|
- width: '100px',
|
|
|
- dataIndex: 'createUser',
|
|
|
- key: 'createUser',
|
|
|
- },
|
|
|
- {
|
|
|
- title: '发布状态',
|
|
|
- width: '100px',
|
|
|
- dataIndex: 'status',
|
|
|
- key: 'status',
|
|
|
- customRender: function (text) {
|
|
|
- return text.text == '1' ? '已发布' : '未发布';
|
|
|
+ const columns = [
|
|
|
+ {
|
|
|
+ title: '名称',
|
|
|
+ dataIndex: 'name',
|
|
|
+ key: 'name',
|
|
|
+ width: 200,
|
|
|
+ fixed: 'left',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '类型',
|
|
|
+ dataIndex: 'type',
|
|
|
+ key: 'type',
|
|
|
+ slots: { customRender: 'type' },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '作者',
|
|
|
+ dataIndex: 'author',
|
|
|
+ key: 'author',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '创建时间',
|
|
|
+ dataIndex: 'createTime',
|
|
|
+ key: 'createTime',
|
|
|
+ width: 200,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '上传者',
|
|
|
+ width: '100px',
|
|
|
+ dataIndex: 'createUser',
|
|
|
+ key: 'createUser',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '发布状态',
|
|
|
+ width: '100px',
|
|
|
+ dataIndex: 'status',
|
|
|
+ key: 'status',
|
|
|
+ customRender: function (text) {
|
|
|
+ return text.text == '1' ? '已发布' : '未发布';
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '文件类型',
|
|
|
+ width: '100px',
|
|
|
+ dataIndex: 'fileType',
|
|
|
+ key: 'fileType',
|
|
|
},
|
|
|
- },
|
|
|
- {
|
|
|
- title: '文件类型',
|
|
|
- width: '100px',
|
|
|
- dataIndex: 'fileType',
|
|
|
- key: 'fileType',
|
|
|
- },
|
|
|
- {
|
|
|
- title: '审核状态',
|
|
|
- dataIndex: 'auditStatus',
|
|
|
- key: 'auditStatus',
|
|
|
- slots: { customRender: 'audit' },
|
|
|
- },
|
|
|
- {
|
|
|
- title: '审核原因',
|
|
|
- dataIndex: 'remark',
|
|
|
- key: 'remark',
|
|
|
- },
|
|
|
- {
|
|
|
- title: '操作',
|
|
|
- key: 'operation',
|
|
|
- fixed: 'right',
|
|
|
- width: 250,
|
|
|
- slots: { customRender: 'action' },
|
|
|
- align: 'center',
|
|
|
- },
|
|
|
-];
|
|
|
+ {
|
|
|
+ title: '审核状态',
|
|
|
+ dataIndex: 'auditStatus',
|
|
|
+ key: 'auditStatus',
|
|
|
+ slots: { customRender: 'audit' },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '审核原因',
|
|
|
+ dataIndex: 'remark',
|
|
|
+ key: 'remark',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '操作',
|
|
|
+ key: 'operation',
|
|
|
+ fixed: 'right',
|
|
|
+ width: 250,
|
|
|
+ slots: { customRender: 'action' },
|
|
|
+ align: 'center',
|
|
|
+ },
|
|
|
+ ];
|
|
|
|
|
|
-const show = ref(false);
|
|
|
-const pageSize = ref<Number>(10);
|
|
|
-const current = ref<number>(1);
|
|
|
-let total = ref();
|
|
|
+ const show = ref(false);
|
|
|
+ const pageSize = ref<Number>(10);
|
|
|
+ const current = ref<number>(1);
|
|
|
+ let total = ref();
|
|
|
|
|
|
-const bulkShelves = (scope) => {
|
|
|
- packagebook
|
|
|
- .releaseBook({ id: scope.id })
|
|
|
- .then((res) => {
|
|
|
- if (res.data && res.data.code === 200) {
|
|
|
- message.info('操作成功');
|
|
|
- } else {
|
|
|
- message.info(res.data.message);
|
|
|
- }
|
|
|
- // current.value = 1;
|
|
|
- pageSize.value = 10;
|
|
|
- queryList();
|
|
|
- })
|
|
|
- .catch((err) => {
|
|
|
- message.info(err.data.message);
|
|
|
- // current.value = 1;
|
|
|
- pageSize.value = 10;
|
|
|
- queryList();
|
|
|
- });
|
|
|
-};
|
|
|
-const backBook = (scope) => {
|
|
|
- packagebook
|
|
|
- .backBook({ id: scope.id })
|
|
|
- .then((res) => {
|
|
|
- if (res.data && res.data.code === 200) {
|
|
|
- message.info('操作成功');
|
|
|
- } else {
|
|
|
- message.info(res.data.message);
|
|
|
+ const bulkShelves = (scope) => {
|
|
|
+ packagebook
|
|
|
+ .releaseBook({ id: scope.id })
|
|
|
+ .then((res) => {
|
|
|
+ if (res.data && res.data.code === 200) {
|
|
|
+ message.info('操作成功');
|
|
|
+ } else {
|
|
|
+ message.info(res.data.message);
|
|
|
+ }
|
|
|
+ // current.value = 1;
|
|
|
+ pageSize.value = 10;
|
|
|
+ queryList();
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ message.info(err.data.message);
|
|
|
+ // current.value = 1;
|
|
|
+ pageSize.value = 10;
|
|
|
+ queryList();
|
|
|
+ });
|
|
|
+ };
|
|
|
+ const backBook = (scope) => {
|
|
|
+ packagebook
|
|
|
+ .backBook({ id: scope.id })
|
|
|
+ .then((res) => {
|
|
|
+ if (res.data && res.data.code === 200) {
|
|
|
+ message.info('操作成功');
|
|
|
+ } else {
|
|
|
+ message.info(res.data.message);
|
|
|
+ }
|
|
|
+ current.value = 1;
|
|
|
+ pageSize.value = 10;
|
|
|
+ queryList();
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ message.info(err.data.message);
|
|
|
+ current.value = 1;
|
|
|
+ pageSize.value = 10;
|
|
|
+ queryList();
|
|
|
+ });
|
|
|
+ };
|
|
|
+ const deleteRecord = (scope) => {
|
|
|
+ batchDelete([scope.id]);
|
|
|
+ };
|
|
|
+ const isShowType = ref<boolean>(false);
|
|
|
+ const subType = ref([]);
|
|
|
+ const selectChange = (value) => {
|
|
|
+ if (!value) return (isShowType.value = false);
|
|
|
+ packagebook.listCategory({ pid: value }).then((res) => {
|
|
|
+ console.log(res, 'sdfsdf');
|
|
|
+ isShowType.value = true;
|
|
|
+ const { code, data } = res.data;
|
|
|
+ if (code === 200) {
|
|
|
+ subType.value = data;
|
|
|
}
|
|
|
- current.value = 1;
|
|
|
- pageSize.value = 10;
|
|
|
- queryList();
|
|
|
- })
|
|
|
- .catch((err) => {
|
|
|
- message.info(err.data.message);
|
|
|
- current.value = 1;
|
|
|
- pageSize.value = 10;
|
|
|
- queryList();
|
|
|
});
|
|
|
-};
|
|
|
-const deleteRecord = (scope) => {
|
|
|
- batchDelete([scope.id]);
|
|
|
-};
|
|
|
-const isShowType = ref<boolean>(false);
|
|
|
-const subType = ref([]);
|
|
|
-const selectChange = (value) => {
|
|
|
- packagebook.listCategory({ type: value }).then((res) => {
|
|
|
- console.log(res, 'sdfsdf');
|
|
|
- isShowType.value = true;
|
|
|
- const { code, data } = res.data;
|
|
|
- if (code === 200) {
|
|
|
- subType.value = data;
|
|
|
+ };
|
|
|
+ const batchUpperOrLower = (bookIdList, flag) => {
|
|
|
+ if (!bookIdList) {
|
|
|
+ message.info('请选择数据');
|
|
|
+ return;
|
|
|
}
|
|
|
- });
|
|
|
-};
|
|
|
-const batchUpperOrLower = (bookIdList, flag) => {
|
|
|
- if (!bookIdList) {
|
|
|
- message.info('请选择数据');
|
|
|
- return;
|
|
|
- }
|
|
|
- let data = {
|
|
|
- bookIdList: bookIdList,
|
|
|
- flag: flag,
|
|
|
+ let data = {
|
|
|
+ bookIdList: bookIdList,
|
|
|
+ flag: flag,
|
|
|
+ };
|
|
|
+ packagebook
|
|
|
+ .batchUpperOrLower(data)
|
|
|
+ .then((res) => {
|
|
|
+ if (res.data && res.data.code === 200) {
|
|
|
+ message.info('操作成功');
|
|
|
+ selectedRowKeys.value = [];
|
|
|
+ } else {
|
|
|
+ message.info(res.data.message);
|
|
|
+ selectedRowKeys.value = [];
|
|
|
+ }
|
|
|
+ current.value = 1;
|
|
|
+ pageSize.value = 10;
|
|
|
+ queryList();
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ message.info(err.data.message);
|
|
|
+ current.value = 1;
|
|
|
+ pageSize.value = 10;
|
|
|
+ queryList();
|
|
|
+ });
|
|
|
};
|
|
|
- packagebook
|
|
|
- .batchUpperOrLower(data)
|
|
|
- .then((res) => {
|
|
|
- if (res.data && res.data.code === 200) {
|
|
|
- message.info('操作成功');
|
|
|
- selectedRowKeys.value = [];
|
|
|
- } else {
|
|
|
- message.info(res.data.message);
|
|
|
- selectedRowKeys.value = [];
|
|
|
- }
|
|
|
- current.value = 1;
|
|
|
- pageSize.value = 10;
|
|
|
- queryList();
|
|
|
- })
|
|
|
- .catch((err) => {
|
|
|
- message.info(err.data.message);
|
|
|
- current.value = 1;
|
|
|
- pageSize.value = 10;
|
|
|
- queryList();
|
|
|
- });
|
|
|
-};
|
|
|
|
|
|
-// 批量删除
|
|
|
-const batchDelete = (bookIdList) => {
|
|
|
- if (!bookIdList) {
|
|
|
- message.info('请选择数据');
|
|
|
- return;
|
|
|
- }
|
|
|
- let params = {
|
|
|
- bookIdList: bookIdList,
|
|
|
- flag: null,
|
|
|
+ // 批量删除
|
|
|
+ const batchDelete = (bookIdList) => {
|
|
|
+ if (!bookIdList) {
|
|
|
+ message.info('请选择数据');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ let params = {
|
|
|
+ bookIdList: bookIdList,
|
|
|
+ flag: null,
|
|
|
+ };
|
|
|
+ packagebook
|
|
|
+ .deleteBatchBook(params)
|
|
|
+ .then((res) => {
|
|
|
+ if (res.data && res.data.code === 200) {
|
|
|
+ message.info('操作成功');
|
|
|
+ selectedRowKeys.value = [];
|
|
|
+ } else {
|
|
|
+ message.info(res.data.message);
|
|
|
+ selectedRowKeys.value = [];
|
|
|
+ }
|
|
|
+ current.value = 1;
|
|
|
+ pageSize.value = 10;
|
|
|
+ queryList();
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ message.info(err.data.message);
|
|
|
+ current.value = 1;
|
|
|
+ pageSize.value = 10;
|
|
|
+ queryList();
|
|
|
+ });
|
|
|
};
|
|
|
- packagebook
|
|
|
- .deleteBatchBook(params)
|
|
|
- .then((res) => {
|
|
|
- if (res.data && res.data.code === 200) {
|
|
|
- message.info('操作成功');
|
|
|
- selectedRowKeys.value = [];
|
|
|
- } else {
|
|
|
- message.info(res.data.message);
|
|
|
- selectedRowKeys.value = [];
|
|
|
- }
|
|
|
- current.value = 1;
|
|
|
- pageSize.value = 10;
|
|
|
- queryList();
|
|
|
- })
|
|
|
- .catch((err) => {
|
|
|
- message.info(err.data.message);
|
|
|
- current.value = 1;
|
|
|
- pageSize.value = 10;
|
|
|
- queryList();
|
|
|
- });
|
|
|
-};
|
|
|
-//新增,编辑
|
|
|
-const addAlert = ref();
|
|
|
-const auditAlert = ref();
|
|
|
-const typeObj = reactive({
|
|
|
- typeList: [],
|
|
|
-});
|
|
|
+ //新增,编辑
|
|
|
+ const addAlert = ref();
|
|
|
+ const auditAlert = ref();
|
|
|
+ const typeObj = reactive({
|
|
|
+ typeList: [],
|
|
|
+ });
|
|
|
|
|
|
-const insertBook = () => {
|
|
|
- addAlert.value.visible = true;
|
|
|
- addAlert.value.title = '新增';
|
|
|
- getBookTypeDropDown();
|
|
|
-};
|
|
|
-//关闭弹窗后刷新页面
|
|
|
-const getTab = () => {
|
|
|
- // current.value = 1;
|
|
|
- queryList();
|
|
|
-};
|
|
|
-const updateBook = (scope) => {
|
|
|
- addAlert.value.title = '编辑';
|
|
|
- getBookTypeDropDown();
|
|
|
- alertBook
|
|
|
- .getDetails({ bookId: scope.id })
|
|
|
- .then(async (res) => {
|
|
|
- let obj = res.data.data;
|
|
|
- obj.id = scope.id;
|
|
|
- addAlert.value.editAlert(obj);
|
|
|
- })
|
|
|
- .catch((err) => {
|
|
|
- console.log(err);
|
|
|
- });
|
|
|
-};
|
|
|
-const auditBook = (scope) => {
|
|
|
- auditAlert.value.title = '审核';
|
|
|
- getBookTypeDropDown();
|
|
|
- alertBook
|
|
|
- .getDetails({ bookId: scope.id })
|
|
|
- .then(async (res) => {
|
|
|
- let obj = res.data.data;
|
|
|
- obj.id = scope.id;
|
|
|
- auditAlert.value.editAlert(obj);
|
|
|
- })
|
|
|
- .catch((err) => {
|
|
|
- console.log(err);
|
|
|
- });
|
|
|
-};
|
|
|
-// 表格选择
|
|
|
+ const insertBook = () => {
|
|
|
+ addAlert.value.visible = true;
|
|
|
+ addAlert.value.title = '新增';
|
|
|
+ getBookTypeDropDown();
|
|
|
+ };
|
|
|
+ //关闭弹窗后刷新页面
|
|
|
+ const getTab = () => {
|
|
|
+ // current.value = 1;
|
|
|
+ queryList();
|
|
|
+ };
|
|
|
+ const updateBook = (scope) => {
|
|
|
+ addAlert.value.title = '编辑';
|
|
|
+ getBookTypeDropDown();
|
|
|
+ alertBook
|
|
|
+ .getDetails({ bookId: scope.id })
|
|
|
+ .then(async (res) => {
|
|
|
+ let obj = res.data.data;
|
|
|
+ obj.id = scope.id;
|
|
|
+ addAlert.value.editAlert(obj);
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ console.log(err);
|
|
|
+ });
|
|
|
+ };
|
|
|
+ const auditBook = (scope) => {
|
|
|
+ auditAlert.value.title = '审核';
|
|
|
+ getBookTypeDropDown();
|
|
|
+ alertBook
|
|
|
+ .getDetails({ bookId: scope.id })
|
|
|
+ .then(async (res) => {
|
|
|
+ let obj = res.data.data;
|
|
|
+ obj.id = scope.id;
|
|
|
+ auditAlert.value.editAlert(obj);
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ console.log(err);
|
|
|
+ });
|
|
|
+ };
|
|
|
+ // 表格选择
|
|
|
|
|
|
-const selectedRowKeys = ref();
|
|
|
-const onChange = (item, selectedRows) => {
|
|
|
- selectedRowKeys.value = item;
|
|
|
-};
|
|
|
+ const selectedRowKeys = ref();
|
|
|
+ const onChange = (item, selectedRows) => {
|
|
|
+ selectedRowKeys.value = item;
|
|
|
+ };
|
|
|
|
|
|
-// 分页
|
|
|
-const sizeChange = (page, size) => {
|
|
|
- pageSize.value = size;
|
|
|
- queryList();
|
|
|
-};
|
|
|
-const cuerrchange = (page) => {
|
|
|
- current.value = page;
|
|
|
- queryList();
|
|
|
-};
|
|
|
-const isRead = (file) => {
|
|
|
- if (file) {
|
|
|
- // var index = file.lastIndexOf('.');
|
|
|
- // //获取后缀
|
|
|
- // var ext = file.substr(index + 1);
|
|
|
- // console.log(ext);
|
|
|
- if (file == 'pdf' || file == 'PDF') {
|
|
|
- return '立即阅读';
|
|
|
+ // 分页
|
|
|
+ const sizeChange = (page, size) => {
|
|
|
+ pageSize.value = size;
|
|
|
+ queryList();
|
|
|
+ };
|
|
|
+ const cuerrchange = (page) => {
|
|
|
+ current.value = page;
|
|
|
+ queryList();
|
|
|
+ };
|
|
|
+ const isRead = (file) => {
|
|
|
+ if (file) {
|
|
|
+ // var index = file.lastIndexOf('.');
|
|
|
+ // //获取后缀
|
|
|
+ // var ext = file.substr(index + 1);
|
|
|
+ // console.log(ext);
|
|
|
+ if (file == 'pdf' || file == 'PDF') {
|
|
|
+ return '立即阅读';
|
|
|
+ } else {
|
|
|
+ return '立即下载';
|
|
|
+ }
|
|
|
} else {
|
|
|
return '立即下载';
|
|
|
}
|
|
|
- } else {
|
|
|
- return '立即下载';
|
|
|
- }
|
|
|
-};
|
|
|
-
|
|
|
-const readPdf = (file) => {
|
|
|
- window.open(file);
|
|
|
- console.log(file)
|
|
|
-};
|
|
|
-// 分页查询参数
|
|
|
-const queryList = () => {
|
|
|
- let createBeginTime = formState.dateRange.length
|
|
|
- ? formState.dateRange[0].format('YYYY-MM-DD')
|
|
|
- : null;
|
|
|
- let createEndTime = formState.dateRange.length
|
|
|
- ? formState.dateRange[1].format('YYYY-MM-DD')
|
|
|
- : null;
|
|
|
- let data = {
|
|
|
- name: formState.name,
|
|
|
- type: formState.type,
|
|
|
- author: formState.author,
|
|
|
- status: formState.status,
|
|
|
- createBeginTime: createBeginTime,
|
|
|
- createEndTime: createEndTime,
|
|
|
- fileType: formState.fileType,
|
|
|
};
|
|
|
- let params = {
|
|
|
- pageNum: current.value,
|
|
|
- pageSize: pageSize.value,
|
|
|
+
|
|
|
+ const readPdf = (file) => {
|
|
|
+ window.open(file);
|
|
|
+ console.log(file);
|
|
|
};
|
|
|
+ // 分页查询参数
|
|
|
+ const queryList = () => {
|
|
|
+ let createBeginTime = formState.dateRange.length
|
|
|
+ ? formState.dateRange[0].format('YYYY-MM-DD')
|
|
|
+ : null;
|
|
|
+ let createEndTime = formState.dateRange.length
|
|
|
+ ? formState.dateRange[1].format('YYYY-MM-DD')
|
|
|
+ : null;
|
|
|
+ let data = {
|
|
|
+ name: formState.name,
|
|
|
+ currentCateIdList: formState.subType
|
|
|
+ ? [formState.subType]
|
|
|
+ : formState.type
|
|
|
+ ? [formState.type]
|
|
|
+ : [],
|
|
|
+ author: formState.author,
|
|
|
+ status: formState.status,
|
|
|
+ createBeginTime: createBeginTime,
|
|
|
+ createEndTime: createEndTime,
|
|
|
+ fileType: formState.fileType,
|
|
|
+ };
|
|
|
+ let params = {
|
|
|
+ pageNum: current.value,
|
|
|
+ pageSize: pageSize.value,
|
|
|
+ };
|
|
|
|
|
|
- packagebook
|
|
|
- .queryPackage(data, params)
|
|
|
- .then((res) => {
|
|
|
- let data = res.data.data;
|
|
|
- dataSource.value = data.records;
|
|
|
- total.value = data.total;
|
|
|
- })
|
|
|
- .catch((err) => {
|
|
|
- console.log(err);
|
|
|
- });
|
|
|
-};
|
|
|
+ packagebook
|
|
|
+ .queryPackage(data, params)
|
|
|
+ .then((res) => {
|
|
|
+ let data = res.data.data;
|
|
|
+ dataSource.value = data.records;
|
|
|
+ total.value = data.total;
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ console.log(err);
|
|
|
+ });
|
|
|
+ };
|
|
|
|
|
|
-// 状态
|
|
|
-const getBookStatusDropDown = () => {
|
|
|
- packagebook
|
|
|
- .getBookStatusDropDown()
|
|
|
- .then((res) => {
|
|
|
- statusOptions.value = res.data.data;
|
|
|
- })
|
|
|
- .catch((err) => {
|
|
|
- console.log(err);
|
|
|
- });
|
|
|
-};
|
|
|
+ // 状态
|
|
|
+ const getBookStatusDropDown = () => {
|
|
|
+ packagebook
|
|
|
+ .getBookStatusDropDown()
|
|
|
+ .then((res) => {
|
|
|
+ statusOptions.value = res.data.data;
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ console.log(err);
|
|
|
+ });
|
|
|
+ };
|
|
|
|
|
|
-// 类型
|
|
|
-const getBookTypeDropDown = () => {
|
|
|
- // packagebook
|
|
|
- // .getBookTypeDropDown()
|
|
|
- // .then((res) => {
|
|
|
- // typeOptions.value = res.data.data;
|
|
|
- // typeObj.typeList = res.data.data.map((i) => {
|
|
|
- // return {
|
|
|
- // value: i.code,
|
|
|
- // label: i.name,
|
|
|
- // };
|
|
|
- // });
|
|
|
- // })
|
|
|
- // .catch((err) => {
|
|
|
- // console.log(err);
|
|
|
- // });
|
|
|
-};
|
|
|
+ // 类型
|
|
|
+ const getBookTypeDropDown = () => {
|
|
|
+ packagebook
|
|
|
+ .listTopCategory()
|
|
|
+ .then((res) => {
|
|
|
+ typeOptions.value = res.data.data;
|
|
|
+ typeObj.typeList = res.data.data.map((i) => {
|
|
|
+ return {
|
|
|
+ value: i.id,
|
|
|
+ label: i.name,
|
|
|
+ };
|
|
|
+ });
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ console.log(err);
|
|
|
+ });
|
|
|
+ };
|
|
|
|
|
|
-onMounted(() => {
|
|
|
- getBookStatusDropDown();
|
|
|
- getBookTypeDropDown();
|
|
|
- queryList();
|
|
|
-});
|
|
|
+ onMounted(() => {
|
|
|
+ getBookStatusDropDown();
|
|
|
+ getBookTypeDropDown();
|
|
|
+ queryList();
|
|
|
+ });
|
|
|
</script>
|
|
|
|
|
|
-<style lang="less" scoped >
|
|
|
-.content {
|
|
|
- margin: 10px 20px;
|
|
|
-}
|
|
|
-.top {
|
|
|
- margin: 20px 0px 0px 20px;
|
|
|
-}
|
|
|
-.ant-form-item {
|
|
|
- margin-right: 50px;
|
|
|
- margin-bottom: 20px;
|
|
|
-}
|
|
|
-.ant-btn-link {
|
|
|
- padding: 0;
|
|
|
-}
|
|
|
-.options {
|
|
|
- margin-top: 20px;
|
|
|
- margin-left: 20px;
|
|
|
- .ant-btn {
|
|
|
- margin-right: 5px;
|
|
|
- border-radius: 4px;
|
|
|
+<style lang="less" scoped>
|
|
|
+ .content {
|
|
|
+ margin: 10px 20px;
|
|
|
+ }
|
|
|
+ .top {
|
|
|
+ margin: 20px 0px 0px 20px;
|
|
|
+ }
|
|
|
+ .ant-form-item {
|
|
|
+ margin-right: 50px;
|
|
|
+ margin-bottom: 20px;
|
|
|
+ }
|
|
|
+ .ant-btn-link {
|
|
|
+ padding: 0;
|
|
|
+ }
|
|
|
+ .options {
|
|
|
+ margin-top: 20px;
|
|
|
+ margin-left: 20px;
|
|
|
+ .ant-btn {
|
|
|
+ margin-right: 5px;
|
|
|
+ border-radius: 4px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .list_table {
|
|
|
+ margin-top: 20px;
|
|
|
+ margin-left: 20px;
|
|
|
+ width: 1200px;
|
|
|
+ }
|
|
|
+ .ant-pagination {
|
|
|
+ text-align: center;
|
|
|
+ margin-top: 20px;
|
|
|
+ }
|
|
|
+ .read_txt {
|
|
|
+ cursor: pointer;
|
|
|
+ color: #1890ff;
|
|
|
+ font-weight: 400;
|
|
|
+ line-height: 40px;
|
|
|
+ text-align: center;
|
|
|
}
|
|
|
-}
|
|
|
-.list_table {
|
|
|
- margin-top: 20px;
|
|
|
- margin-left: 20px;
|
|
|
- width: 1200px;
|
|
|
-}
|
|
|
-.ant-pagination {
|
|
|
- text-align: center;
|
|
|
- margin-top: 20px;
|
|
|
-}
|
|
|
-.read_txt {
|
|
|
- cursor: pointer;
|
|
|
- color: #1890ff;
|
|
|
- font-weight: 400;
|
|
|
- line-height: 40px;
|
|
|
- text-align: center;
|
|
|
-}
|
|
|
</style>
|