Commit c52e5259 by heshihao

feat: 添加专利批量导出

parent e12be3b8
import { get, post,put } from './request'
import { get, post, put } from "./request";
//专利搜索接口
export const patents = p => get('/api/patent/patents?keyword='+p.keyword+'&page='+p.page+'&size='+p.size);
export const patents = (p) => get("/api/patent/patents?keyword=" + p.keyword + "&page=" + p.page + "&size=" + p.size);
//专利筛选接口
export const patentselect = p => post('/api/patent/patents',p);
export const patentselect = (p) => post("/api/patent/patents", p);
//专利详情页面
export const patentDetail = p => get('/api/patent/patentDetail/'+p.id);
export const patentDetail = (p) => get("/api/patent/patentDetail/" + p.id);
//导出word给后端传递base64
export const exportword = p => post('/api/users/enterprisePatentExport',p);
export const exportword = (p) => post("/api/users/enterprisePatentExport", p);
//专利智能推荐
export const Recommend = p => post('/api/patent/intelligentRecommendation/'+p.id,p);
export const Recommend = (p) => post("/api/patent/intelligentRecommendation/" + p.id, p);
// 企业搜索接口
export const enterpriseList = p => get('/api/enterprise/list?keyword='+p.keyword+'&page='+p.page+'&size='+p.size);
export const enterpriseList = (p) =>
get("/api/enterprise/list?keyword=" + p.keyword + "&page=" + p.page + "&size=" + p.size);
//企业国民经济行业接口
export const industryType = p => get('/api/common/industryType');
export const industryType = (p) => get("/api/common/industryType");
//企业筛选器接口
export const enterpriseSelect = p => post('/api/enterprise/list',p);
export const enterpriseSelect = (p) => post("/api/enterprise/list", p);
//企业详情
export const enterpriseDetail = p => get('/api/enterprise/detail/'+p.id);
export const enterpriseDetail = (p) => get("/api/enterprise/detail/" + p.id);
//企业详情-》研发概要 研发规模
export const researchDevelop = p=>get('/api/enterprise/researchDevelop/'+p.id)
export const researchDevelop = (p) => get("/api/enterprise/researchDevelop/" + p.id);
//企业详情-》研发概要 研发可持续性
export const sustainability = p=>get('/api/enterprise/sustainability/'+p.id)
export const sustainability = (p) => get("/api/enterprise/sustainability/" + p.id);
//企业详情-》研发概要 专利结构分析
export const structure = p=>get('/api/enterprise/structure/'+p.id)
export const structure = (p) => get("/api/enterprise/structure/" + p.id);
//企业详情-技术合作 联合申请
export const jointApplication = p=>get('/api/enterprise/jointApplication/'+p.id)
export const jointApplication = (p) => get("/api/enterprise/jointApplication/" + p.id);
//企业详情-技术合作 专利购买
export const patentPurchase = p=>get('/api/enterprise/patentPurchase/'+p.id)
export const patentPurchase = (p) => get("/api/enterprise/patentPurchase/" + p.id);
//首页-企业技术合作榜单
export const technicalCooperation = p =>get('/api/enterprise/technicalCooperation',{})
export const technicalCooperation = (p) => get("/api/enterprise/technicalCooperation", {});
//首页-企业科创能力榜单
export const scientificEvaluationTop = p =>get('/api/enterprise/scientificEvaluationTop',{})
export const scientificEvaluationTop = (p) => get("/api/enterprise/scientificEvaluationTop", {});
//企业详情 科创能力评价
export const scientificEvaluation = p =>get('/api/enterprise/scientificEvaluation/'+p.id)
export const scientificEvaluation = (p) => get("/api/enterprise/scientificEvaluation/" + p.id);
//企业搜索联想
export const enterpriseLenovo = p=>get('/api/enterprise/enterpriseLenovo?keyword='+p.keyword)
export const enterpriseLenovo = (p) => get("/api/enterprise/enterpriseLenovo?keyword=" + p.keyword);
//专利搜索联想
export const patentLenovo = p=>get('/api/patent/patentLenovo?keyword='+p.keyword)
export const patentLenovo = (p) => get("/api/patent/patentLenovo?keyword=" + p.keyword);
// 导出专利
export const patentExport = (p) => post("/api/patent/patentExport", p);
......@@ -102,6 +102,9 @@
{{ item }}
</a-tag>
</div>
<div class="btn_group">
<span style="cursor: pointer" @click="openModal"><img src="@/static/patent/icon-dc.png" alt="" />导出</span>
</div>
</h2>
<a-table
......@@ -134,12 +137,34 @@
<br />
</div>
</div>
<a-modal
v-model:visible="visible"
title="导出"
@ok="patentExportExcel"
cancelText="取消"
okText="确定"
@onCancel="closeModal"
>
<p>导出当前数据</p>
<a-form :model="formDialog" ref="form">
<a-form-item
:name="'email'"
label="发送给"
:rules="[
{ required: true, message: '请输入邮箱' },
{ type: 'email', message: '邮箱不合法' },
]"
>
<a-input v-model:value="formDialog.email" placeholder="请输入邮箱地址" />
</a-form-item>
</a-form>
</a-modal>
</div>
<router-view></router-view>
</template>
<script>
import { patents, patentselect, patentLenovo } from "../../utils/indexApi";
import { patents, patentselect, patentLenovo, patentExport } from "../../utils/indexApi";
import dayjs from "dayjs";
import "dayjs/locale/zh-cn";
import zh_CN from "ant-design-vue/lib/locale-provider/zh_CN";
......@@ -227,10 +252,44 @@ export default {
filter: [],
total: 0,
search_word: false,
visible: false,
loading: false,
formDialog: {
email: "",
},
};
},
components: {},
methods: {
openModal() {
this.visible = true;
},
patentExportExcel() {
return new Promise((resolve, reject) => {
var that = this;
that.visible = false;
that.loading = true;
patentExport({
keywords: this.keyword == undefined ? "" : this.keyword,
email: that.formDialog.email,
})
.then((res) => {
if (res.code == 0) {
this.loading = false;
message.success(res.msg);
} else {
this.loading = false;
message.error(res.msg);
}
})
.catch((err) => {
console.log(err);
this.loading = false;
message.error(err);
reject(err);
});
});
},
disabledDate(current) {
return current && current > dayjs().endOf("day");
},
......@@ -564,6 +623,31 @@ export default {
font-weight: 400;
}
}
.btn_group {
position: absolute;
top: 80px;
right: 60px;
span {
display: inline-block;
width: 100px;
height: 32px;
background: #4079ff;
border-radius: 8px 8px 8px 8px;
opacity: 1;
color: #fff;
line-height: 32px;
text-align: center;
margin-right: 15px;
font-size: 15px;
font-weight: 400;
img {
width: 17px;
vertical-align: text-bottom;
margin-right: 5px;
}
}
}
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment