Commit afc70db8 by liudx

添加返回记录保存记录

parent 95dd3cf7
......@@ -5,6 +5,7 @@
</div>
<router-view/> -->
<router-view/>
</template>
<style lang="less">
......@@ -15,7 +16,7 @@
// text-align: center;
color: #2c3e50;
box-sizing: border-box !important;
background-color: #F2F3F5;
background-color: #f2f3f5;
}
@font-face {
font-family: "jiangcheng";
......@@ -24,28 +25,26 @@
font-style: normal;
}
html,body,#app{
// height: 100%;
// min-height:980px;
html,
body,
#app {
// height: 100%;
// min-height:1020px;
}
::-webkit-scrollbar
{
width: 10px;
::-webkit-scrollbar {
width: 10px;
}
/*定义滚动条轨道 内阴影+圆角*/
::-webkit-scrollbar-track
{
border-radius: 10px;
background-color: rgba(0,0,0,0.1);
}
/*定义滑块 内阴影+圆角*/
::-webkit-scrollbar-thumb
{
border-radius: 10px;
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
background-color: rgba(0,0,0,0.1);
/*定义滚动条轨道 内阴影+圆角*/
::-webkit-scrollbar-track {
border-radius: 10px;
background-color: rgba(0, 0, 0, 0.1);
}
/*定义滑块 内阴影+圆角*/
::-webkit-scrollbar-thumb {
border-radius: 10px;
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
background-color: rgba(0, 0, 0, 0.1);
}
</style>
......@@ -49,20 +49,22 @@ export default {
},
mounted() {
this.init();
},
methods: {
init() {
if (document.getElementById(this.id) == null) {
return;
}
echarts.dispose(document.getElementById(this.id));
let chart = echarts.init(document.getElementById(this.id));
if (chart) {
chart.dispose(); //销毁
}
chart.setOption(this.option);
// let that = this;
window.addEventListener("resize", chart.resize);
},
},
};
......
import { createRouter, createWebHistory ,createWebHashHistory } from 'vue-router'
import { createRouter, createWebHistory, createWebHashHistory } from 'vue-router'
import { message } from "ant-design-vue";
// import HomeView from '../views/HomeView.vue'
import login from "../views/login/index.vue"
......@@ -50,7 +50,7 @@ const routes = [
name: 'AdminLogin',
component: AdminLogin,
//如果登录的是管理员页面,那么不允许查看用户
beforeEach:(to,from,next)=>{
beforeEach: (to, from, next) => {
console.log(to)
}
},
......@@ -73,12 +73,35 @@ const routes = [
{
path: '/company',
name: 'company',
component: company
component: company,
beforeEnter: (to, from, next) => {
// console.log(from)
if (from.path != '/companyDetails') {
sessionStorage.setItem("currentpageqy", 1);
sessionStorage.setItem("searchqy", '');
next()
} else {
next()
}
}
},
{
path: '/patent',
name: 'patent',
component: patent,
beforeEnter: (to, from, next) => {
// console.log(from)
if (from.path != '/patentDetails') {
sessionStorage.setItem("currentpagezl", 1);
sessionStorage.setItem("searchzl", '');
next()
} else {
next()
}
}
},
{
path: '/history',
......@@ -165,21 +188,21 @@ const routes = [
]
const router = createRouter({
history: createWebHashHistory(process.env.BASE_URL),
mode:'hash',
history: createWebHashHistory(process.env.BASE_URL),
mode: 'hash',
routes,
})
router.beforeEach((to,from,next)=>{
if (to.path === '/login' || to.path === '/adminLogin' ||to.path === '/forget') {
router.beforeEach((to, from, next) => {
if (to.path === '/login' || to.path === '/adminLogin' || to.path === '/forget') {
next();
}
else{
else {
let token = localStorage.getItem('token');
if (!token) {
message.error('请先登录')
next('/login');
}else{
} else {
next();
}
}
......
......@@ -231,7 +231,8 @@ export default {
},
//返回上一页
backbtn() {
this.$router.go(-1);
// this.$router.go(-1);
this.$router.back();
},
//页面初始化
init(id) {
......@@ -697,20 +698,17 @@ export default {
//添加数据
if (this.jointData.joint_application.length != 0) {
this.jointData.joint_application.forEach((item, index) => {
if (index == 0) {
} else {
points.push({
name: item.name,
symbolSize: 40,
category: 1,
value: item.value,
x:
index % 2 == 1
? 300 * Math.ceil(index / 2)
: -300 * Math.ceil(index / 2),
y: 80 * (10 - index),
});
}
points.push({
name: item.name,
symbolSize: 40,
category: 1,
value: item.value,
x:
index % 2 == 1
? 300 * Math.ceil(index / 2)
: -300 * Math.ceil(index / 2),
y: 80 * (10 - index),
});
links.push({
source: this.baseinfo.company_name,
......
......@@ -9,32 +9,44 @@
在遇到技术创新难题时,企业往往会借助外部机构的研究优势和实力来共同研发解决。在某个技术领域企业的产学研合作次数越多,可以反映企业在该技术领域布局的意愿更强烈。同时,关注产学研合作的主要伙伴,可进一步分析企业在主要布局领域的技术依赖程度和权属纠纷可能性。该企业与其他单位共进行了<span
class="color"
>{{ joint.all_nums }}</span
>次产学研合作。其中,与<span class="color">{{
joint.max_name_apply
}}</span
>最为密切,合作次数为<span class="color">{{
joint.max_value_apply
}}</span
>次,与该企业合作次数最多的申请人如下图所示。
>次产学研合作。
<template v-if="!joint.all_nums"> </template>
<template v-else>
其中,与<span class="color">{{ joint.max_name_apply }}</span
>最为密切,合作次数为<span class="color">{{
joint.max_value_apply
}}</span
>次,与该企业合作次数最多的申请人如下图所示。
</template>
</p>
<EchartsCon :option="option1" :id="'echarts1'"></EchartsCon>
<EchartsCon
:option="option1"
:id="'echarts1'"
v-if="joint.all_nums"
></EchartsCon>
</div>
<!-- 专利购买 -->
<div class="company_con1" id="PatentPurchase">
<h2 class="title">专利购买</h2>
<p>
分析该企业专利购买历史,了解该企业向哪些专利权人购买了专利,以及购买了哪些专利。如果该企业购买专利数量较多,需要关注这些外购专利是否为企业的核心专利,进而分析企业的研发能力。该企业向<span
class="color"
>{{ patentPurchase.max_name_purchase }}</span
>购买专利最多,为<span class="color">{{
patentPurchase.max_value_purchase
}}</span
>件。
分析该企业专利购买历史,了解该企业向哪些专利权人购买了专利,以及购买了哪些专利。如果该企业购买专利数量较多,需要关注这些外购专利是否为企业的核心专利,进而分析企业的研发能力。
<template v-if="patentPurchase.max_value_purchase">
该企业向<span class="color">{{
patentPurchase.max_name_purchase
}}</span
>购买专利最多,为<span class="color">{{
patentPurchase.max_value_purchase
}}</span
>件。
</template>
<template v-else>
该企业购买专利为<span class="color">{{
patentPurchase.max_value_purchase
}}</span
>件。
</template>
</p>
<a-empty v-if="empty2"/>
<EchartsCon :option="option2" :id="'echarts2'" v-else></EchartsCon>
<EchartsCon :option="option2" :id="'echarts2'" v-if="patentPurchase.max_value_purchase"></EchartsCon>
</div>
</div>
<div class="company_con_anchor">
......@@ -71,7 +83,7 @@ export default {
option2: null,
joint: {},
company_name: "",
empty2:false
empty2: false,
};
},
props: {
......@@ -113,8 +125,7 @@ export default {
//添加数据
if (this.joint.joint_application.length != 0) {
this.joint.joint_application.forEach((item, index) => {
if (index == 0) {
} else {
points.push({
name: item.name,
symbolSize: 40,
......@@ -124,9 +135,9 @@ export default {
index % 2 == 1
? 300 * Math.ceil(index / 2)
: -300 * Math.ceil(index / 2),
y:80*(10-index)
y: 80 * (10 - index),
});
}
links.push({
source: this.company_name,
......@@ -221,8 +232,8 @@ export default {
},
getOptions2() {
const dataList = this.patentPurchase.patent_purchase;
if(dataList.length == 0){
this.empty2 = true
if (dataList.length == 0) {
this.empty2 = true;
}
this.option2 = {
tooltip: {
......
......@@ -65,20 +65,22 @@
<a-col :span="11">
<a-form-item name="capital_nums_min">
<a-input
v-model="formState.capital_nums_min"
v-model:value="formState.capital_nums_min"
style="width: 80%"
placeholder="请输入数值"
></a-input>&nbsp;
></a-input
>&nbsp;
</a-form-item>
</a-col>
<a-col :span="1">-</a-col>
<a-col :span="11">
<a-form-item name="capital_nums_max">
<a-input
v-model="formState.capital_nums_max"
v-model:value="formState.capital_nums_max"
style="width: 80%"
placeholder="请输入数值"
></a-input>&nbsp;
></a-input
>&nbsp;
</a-form-item>
</a-col>
</a-row>
......@@ -126,7 +128,7 @@
class="card"
v-for="item in companylist"
:key="item"
@click="openCompany(item.mysql_id,item.company_name)"
@click="openCompany(item.mysql_id, item.company_name)"
>
<div class="card_title">{{ item.company_name }}</div>
<!-- 关注 -->
......@@ -183,6 +185,7 @@
</div>
<br />
<a-pagination
v-model:current="currentPage"
@change="onChange"
:total="total"
:showSizeChanger="false"
......@@ -210,6 +213,7 @@ export default {
return {
zh_CN,
total: 0,
currentPage: 1,
keyword: "",
type: "",
valueArea: [],
......@@ -229,8 +233,8 @@ export default {
industryvalue: [],
valueType: [],
formState: {
capital_nums_min: null,
capital_nums_max: null,
capital_nums_min: "",
capital_nums_max: "",
rangetime1: [],
},
filter: [],
......@@ -273,6 +277,8 @@ export default {
},
//改变页码
onChange(page) {
//获取当前页码数
this.currentPage = page;
//修改省份的格式
let area = [];
if (this.valueArea.length != 0) {
......@@ -314,9 +320,9 @@ export default {
capital_nums_max: Number(this.formState.capital_nums_max),
innovate: this.valueInnovation,
};
//请求接口
enterpriseSelect({ ...params }).then((res) => {
console.log(res);
if (res.code == 0) {
this.companylist = res.data.list;
this.total = res.data.total;
......@@ -326,7 +332,7 @@ export default {
//重置筛选
clearvalue() {
this.valueArea = [];
this.valueInnovation = [];
this.valueInnovation = "";
this.valueType = [];
this.formState = {
capital_nums_min: "",
......@@ -364,7 +370,7 @@ export default {
//企业结果
this.companylist = [];
let params = {
page: 1,
page: this.currentPage,
size: 10,
keyword: this.keyword ? this.keyword : null,
area: area,
......@@ -378,7 +384,7 @@ export default {
: null,
capital_nums_min: Number(this.formState.capital_nums_min),
capital_nums_max: Number(this.formState.capital_nums_max),
innovate: this.valueInnovation?this.valueInnovation:null,
innovate: this.valueInnovation ? this.valueInnovation : null,
};
//将筛选条件渲染到页面上//搜索结果标签
let filter = [];
......@@ -393,14 +399,14 @@ export default {
if (key == "keyword") {
params.keyword ? filter.push(params.keyword) : "";
}
if(key == "innovate"){
params.innovate?filter.push(params.innovate) : "";
if (key == "innovate") {
params.innovate ? filter.push(params.innovate) : "";
}
}
this.filter = filter;
//请求接口
enterpriseSelect({ ...params }).then((res) => {
console.log(res);
// console.log(res);
if (res.code == 0) {
this.companylist = res.data.list;
this.total = res.data.total;
......@@ -408,12 +414,25 @@ export default {
});
},
//打开企业详情
openCompany(id,company_name) {
openCompany(id, company_name) {
//保留历史搜索记录
let historysearch = {
keyword: this.keyword,
valueArea: this.valueArea,
industryvalue: this.industryvalue,
valueType: this.valueType,
rangetime1: this.formState.rangetime1,
capital_nums_min: this.formState.capital_nums_min,
capital_nums_max: this.formState.capital_nums_max,
valueInnovation: this.valueInnovation,
};
sessionStorage.setItem("currentpageqy", this.currentPage);
sessionStorage.setItem("searchqy", JSON.stringify(historysearch));
this.$router.push({
path: "/companyDetails",
query: {
id: id,
name:company_name
name: company_name,
},
});
},
......@@ -425,9 +444,13 @@ export default {
this.getindustryType();
this.optionsArea = arealist;
this.keyword = this.$route.query.keyword;
this.getCompanyList(this.keyword);
if (!sessionStorage.getItem("searchqy")) {
this.getCompanyList(this.keyword);
}
this.valueInnovation = this.$route.query.valueInnovation;
this.type = "企业";
},
watch: {
type: function (newV, oldV) {
......@@ -439,6 +462,21 @@ export default {
}
},
},
beforeMount() {
this.currentPage = sessionStorage.getItem("currentpageqy");
if (sessionStorage.getItem("searchqy")) {
let searchValue = JSON.parse(sessionStorage.getItem("searchqy"));
this.valueArea = searchValue.valueArea;
this.industryvalue = searchValue.industryvalue;
this.valueType = searchValue.valueType;
this.formState.rangetime1 = searchValue.rangetime1;
this.formState.capital_nums_min = searchValue.capital_nums_min;
this.formState.capital_nums_max = searchValue.capital_nums_max;
this.valueInnovation = searchValue.valueInnovation;
this.keyword = searchValue.keyword;
this.Filter();
}
},
};
</script>
<style lang="less" scoped>
......
......@@ -30,7 +30,7 @@
<!-- 研发可持续性 -->
<div class="company_con1" id="ResearchSustainable">
<h2 class="title">研发可持续性</h2>
<p>
<p v-if="deveSustainData.patent_application_num">
企业的总专利申请量为<span class="color">{{
deveSustainData.patent_application_num
}}</span
......@@ -47,18 +47,24 @@
}}</span
>
</p>
<a-radio-group v-model:value="tabchange" style="margin: 8px">
<p v-else>
企业的总专利申请量为<span class="color">{{
deveSustainData.patent_application_num
}}</span
>
</p>
<a-radio-group v-model:value="tabchange" style="margin: 8px" v-if="deveSustainData.patent_application_num">
<a-radio-button value="1">专利申请年份趋势</a-radio-button>
<a-radio-button value="2">历年专利申请及授权</a-radio-button>
</a-radio-group>
<EchartsCon
v-if="tabchange == 1"
v-if="tabchange == 1 &&deveSustainData.patent_application_num"
:id="'applyTrend'"
:option="option1"
:style="'height:300px'"
></EchartsCon>
<EchartsCon
v-if="tabchange == 2"
v-if="tabchange == 2&& deveSustainData.patent_application_num"
:id="'patentAuthorize'"
:option="option2"
:style="'height:300px;width:100%;'"
......@@ -90,16 +96,19 @@
:style="'width:33%;'"
:id="'echartsone'"
:option="option3"
v-if="devstructureData.patent_application_num"
></EchartsCon>
<EchartsCon
:style="'width:33%;'"
:id="'echartstwo'"
:option="option4"
v-if="devstructureData.patent_application_num"
></EchartsCon>
<EchartsCon
:style="'width:33%;'"
:id="'echartsthree'"
:option="option5"
v-if="devstructureData.patent_application_num"
></EchartsCon>
</div>
</div>
......
......@@ -180,11 +180,13 @@ export default {
<style lang="less" scoped>
.home {
height: calc(100%);
min-height: 960px;
width: calc(100%);
position: relative;
.home_main {
height: calc(100% - 80px);
height: 100%;
min-height: 960px;
width: 100%;
background-color: #ebebeb;
display: flex;
......
......@@ -8,15 +8,14 @@
<a-select-option value="专利">查专利</a-select-option>
</a-select>
</template>
<template #addonAfter >
<template #addonAfter>
<div @click="onsearch">
<img
style="padding-right: 5px"
src="@/static/home/index/icon-search.png"
alt=""
/>搜索
style="padding-right: 5px"
src="@/static/home/index/icon-search.png"
alt=""
/>搜索
</div>
</template>
</a-input>
</div>
......@@ -28,7 +27,7 @@
<div class="patent_con">
<div class="patent_con_left">
<h3>筛选器</h3>
<a-form style="height: 90%" :layout="'vertical'" :model="formState">
<a-form style="height: 80%" :layout="'vertical'" :model="formState">
<a-form-item label="专利类型">
<a-select
v-model:value="value1"
......@@ -42,7 +41,6 @@
<a-range-picker
v-model:value="formState['rangetime1']"
value-format="YYYY-MM-DD"
/>
</a-config-provider>
</a-form-item>
......@@ -51,7 +49,6 @@
<a-range-picker
v-model:value="formState['rangetime2']"
value-format="YYYY-MM-DD"
/>
</a-config-provider>
</a-form-item>
......@@ -66,18 +63,10 @@
</a-form-item>
</a-form>
<a-button
type="default"
size="large"
class="btn"
@click="clearvalue"
<a-button type="default" size="large" class="btn" @click="clearvalue"
>重置</a-button
>&nbsp;
<a-button
type="primary"
size="large"
class="btn"
@click="Filter"
<a-button type="primary" size="large" class="btn" @click="Filter"
>筛选</a-button
>
</div>
......@@ -108,6 +97,7 @@
</a-table>
<br />
<a-pagination
v-model:current="currentPage"
@change="onChange"
:total="total"
:showSizeChanger="false"
......@@ -115,8 +105,6 @@
<br />
</div>
</div>
</div>
<router-view></router-view>
......@@ -134,7 +122,8 @@ export default {
data() {
return {
zh_CN,
type:'',
type: "",
currentPage:1,
value1: [],
value2: [],
keyword: "",
......@@ -186,7 +175,7 @@ export default {
],
patentdata: [],
filter: [],
total:0
total: 0,
};
},
components: {},
......@@ -194,29 +183,27 @@ export default {
//获取页面的表格
getList(keyword) {
let params = {
keyword: keyword|| '',
page: 1,
keyword: keyword || "",
page: this.currentPage,
size: 10,
};
patents({ ...params }).then((res) => {
if (res.code == 0) {
this.patentdata = res.data.list;
this.total = res.data.total;
}
else{
message.error(res.data.msg)
} else {
message.error(res.data.msg);
}
});
},
onsearch(){
this.getList(this.keyword)
onsearch() {
this.getList(this.keyword);
},
//改变页码
onChange(page) {
onChange() {
this.patentdata = [];
let params = {
page: page,
page: this.currentPage,
size: 10,
keyword: this.keyword ? this.keyword : null,
zl_type: this.value1,
......@@ -258,7 +245,7 @@ export default {
//专利列表
this.patentdata = [];
let parma = {
page: 1,
page: this.currentPage,
size: 10,
keyword: this.keyword ? this.keyword : null,
zl_type: this.value1,
......@@ -298,9 +285,8 @@ export default {
}
}
}
}
else{
this.$message(res.msg)
} else {
this.$message(res.msg);
}
});
},
......@@ -308,13 +294,22 @@ export default {
rowClick(record, index) {
return {
onClick: (event) => {
console.log(record);
//保留历史搜索记录
let historysearch = {
keyword: this.keyword,
value1:this.value1,
rangetime1:this.formState.rangetime1,
rangetime2:this.formState.rangetime2,
value2:this.value2,
};
sessionStorage.setItem("currentpagezl", this.currentPage);
sessionStorage.setItem("searchzl", JSON.stringify(historysearch));
this.$router.push({
path: "/patentDetails",
query: {
id: record.mysql_id,
zlcode:record.gkh,
title:record.title
zlcode: record.gkh,
title: record.title,
},
});
},
......@@ -333,10 +328,22 @@ export default {
},
created() {
this.keyword = this.$route.query.keyword;
this.getList(this.keyword);
this.type = "专利";
},
beforeMount(){
this.currentPage = sessionStorage.getItem("currentpagezl");
if (sessionStorage.getItem("searchzl")) {
let searchValue = JSON.parse(sessionStorage.getItem("searchzl"));
this.value1 = searchValue.value1;
this.formState.rangetime1 = searchValue.rangetime1;
this.formState.rangetime2 = searchValue.rangetime2;
this.value2 = searchValue.value2;
this.keyword = searchValue.keyword;
this.Filter();
}
},
computed: {},
};
</script>
......@@ -409,7 +416,7 @@ export default {
// height: 90%;
padding: 25px 20px;
background-color: #fff;
.btn{
.btn {
width: 100px;
margin-top: -40px;
}
......
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