|
@@ -1,7 +1,7 @@
|
|
|
<template>
|
|
|
<div id="index">
|
|
|
- <data-table :fields="fields" :opera="opera" :data="list" :total="total" @query="search" @view="toView">
|
|
|
- <template #btn>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="24" style="text-align: right">
|
|
|
<el-popover placement="bottom" width="370" trigger="click" style="margin-right: 10px">
|
|
|
<template #reference>
|
|
|
<el-button type="primary" size="mini">导入</el-button>
|
|
@@ -20,6 +20,13 @@
|
|
|
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
|
|
|
</el-upload>
|
|
|
</el-popover>
|
|
|
+ <el-button type="primary" size="mini" @click="exportView">导出</el-button>
|
|
|
+ <el-button type="primary" size="mini" @click="toResult">查看导出结果</el-button>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <data-table :fields="fields" :opera="opera" :data="list" :total="total" @query="search" @view="toView">
|
|
|
+ <template #filter>
|
|
|
+ <filter-bar v-model="filter" @search="search"></filter-bar>
|
|
|
</template>
|
|
|
</data-table>
|
|
|
<el-dialog title="错误记录" center :visible.sync="dialog" :destroy-on-close="true">
|
|
@@ -53,41 +60,53 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import filterBar from './filter_bar.vue';
|
|
|
import account from './account.vue';
|
|
|
const _ = require('lodash');
|
|
|
import { mapState, createNamespacedHelpers } from 'vuex';
|
|
|
const { mapActions: disclosure } = createNamespacedHelpers('disclosure');
|
|
|
+const { mapActions: patent } = createNamespacedHelpers('patent');
|
|
|
export default {
|
|
|
name: 'index',
|
|
|
props: {},
|
|
|
- components: { account },
|
|
|
+ components: { account, filterBar },
|
|
|
data: function () {
|
|
|
return {
|
|
|
+ filter: {},
|
|
|
list: [],
|
|
|
total: 0,
|
|
|
fields: [
|
|
|
- { label: '专利名称', model: 'name', filter: true },
|
|
|
- { label: '申请人', model: 'apply_name' },
|
|
|
- { label: '申请类型', model: 'type' },
|
|
|
- { label: '技术联系人', model: 'contact' },
|
|
|
- { label: '联系人电话', model: 'phone' },
|
|
|
- { label: '联系人邮箱', model: 'email' },
|
|
|
+ { label: '申请号', model: 'create_number' },
|
|
|
+ { label: '申请日', model: 'create_date' },
|
|
|
+ { label: '标题', model: 'name' },
|
|
|
+ { label: '发明人', model: 'inventor' },
|
|
|
+ { label: '专利类型', model: 'type' },
|
|
|
],
|
|
|
opera: [{ label: '查看', method: 'view' }],
|
|
|
dialog: false,
|
|
|
+ //错误
|
|
|
errcode: undefined,
|
|
|
temp_id: undefined,
|
|
|
errorList: [],
|
|
|
+ //选人
|
|
|
innerDialog: false,
|
|
|
nameList: [],
|
|
|
listIndex: undefined,
|
|
|
};
|
|
|
},
|
|
|
- created() {},
|
|
|
+ created() {
|
|
|
+ this.search();
|
|
|
+ },
|
|
|
methods: {
|
|
|
- ...disclosure(['import', 'cacheImport']),
|
|
|
- async search({ skip = 0, limit = 10, ...info } = {}) {
|
|
|
- console.log('in function:');
|
|
|
+ ...disclosure(['import', 'cacheImport', 'toExport']),
|
|
|
+ ...patent(['query']),
|
|
|
+ async search({ skip = 0, limit = 10 } = {}) {
|
|
|
+ const info = _.cloneDeep(this.filter);
|
|
|
+ const res = await this.query({ skip, limit, ...info });
|
|
|
+ if (this.$checkRes(res)) {
|
|
|
+ this.$set(this, `list`, res.data);
|
|
|
+ this.$set(this, `total`, res.total);
|
|
|
+ }
|
|
|
},
|
|
|
toView({ data }) {
|
|
|
// TODO查看
|
|
@@ -159,6 +178,15 @@ export default {
|
|
|
this.dialog = false;
|
|
|
}
|
|
|
},
|
|
|
+ async exportView() {
|
|
|
+ const res = await this.toExport({ ...this.filter });
|
|
|
+ if (this.$checkRes(res, '正在导出,请稍后')) {
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 查看导出结果
|
|
|
+ async toResult() {
|
|
|
+ this.$router.push({ path: '/adminCenter/patent/result' });
|
|
|
+ },
|
|
|
},
|
|
|
computed: {
|
|
|
...mapState(['user']),
|