Commit 6b85d2ea by liudx

联调管理员页面接口

parent 9956c743
......@@ -8,7 +8,7 @@ export default {
name: "EchartsCon",
data() {
return {
chart: "",
};
},
props: {
......@@ -32,7 +32,17 @@ export default {
},
tooltip: {},
legend: {
data: ["销量"],
icon: "circle",
orient: "horizontal",
itemGap: 40,
itemWidth: 14,
itemHeight: 14,
textStyle: {
fontSize: 14,
fontWeight: 400,
padding: [4, 0, 0, 0],
},
},
xAxis: {
type: "category",
......@@ -59,6 +69,7 @@ export default {
};
},
},
watch: {
option: {
handler(newVal) {
......@@ -76,9 +87,12 @@ export default {
},
methods: {
init() {
this.chart = echarts.init(document.getElementById(this.id));
this.chart.setOption(this.option);
// window.addEventListener("resize", this.chart.resize);
let chart = echarts.init(document.getElementById(this.id));
chart.setOption(this.option);
// window.addEventListener("resize", chart.resize);
},
},
};
......
......@@ -48,13 +48,15 @@
export default {
name: "HeaderCon",
props: {
username: {
type: String,
},
},
created(){
this.username = this.$store.state.username
},
data() {
return {
hover_num: 0,
username:''
};
},
methods: {
......
......@@ -5,6 +5,7 @@ import home from "../views/home/home.vue"
import index from "../views/home/index.vue"
//企业页面
import company from "../views/company/index.vue"
import companyDetails from "../views/company/companyDetails.vue"
//专利页面
import patent from "../views/patent/index.vue"
import patentDetails from "../views/patent/patentDetails.vue"
......@@ -20,6 +21,10 @@ import forget from "../views/login/forget.vue"
import usersetting from "../views/userset/index.vue"
import personalSetting from "../views/userset/personalSetting.vue"
import securitySetting from "../views/userset/securitySetting.vue"
//管理员设置
import adminset from "../views/adminset/index.vue"
import userInfo from "../views/adminset/userInfo.vue"
const routes = [
......@@ -79,28 +84,49 @@ const routes = [
name: 'patentDetails',
component: patentDetails
},
{
path: '/companyDetails',
name: 'companyDetails',
component: companyDetails
}
]
},
//个人信息设置
{
path:'/usersetting',
name:'usersetting',
component:usersetting,
redirect:'/personalSetting',
children:[
path: '/usersetting',
name: 'usersetting',
component: usersetting,
redirect: '/personalSetting',
children: [
{
path:'/personalSetting',
name:'personalSetting',
component:personalSetting,
path: '/personalSetting',
name: 'personalSetting',
component: personalSetting,
},
{
path:'/securitySetting',
name:'securitySetting',
component:securitySetting,
path: '/securitySetting',
name: 'securitySetting',
component: securitySetting,
}
]
},
//管理员设置
{
path: '/adminset',
name: 'adminset',
component: adminset,
redirect: '/userInfo',
children: [
{
path: '/userInfo',
name: 'userInfo',
component: userInfo,
},
]
}
// path: '/about',
// name: 'about',
// // route level code-splitting
......
......@@ -2,12 +2,16 @@ import { createStore } from 'vuex'
export default createStore({
state: {
username:'123456',
username:'',
token:''
},
mutations: {
setTOKEN(str){
this.token = str
setTOKEN(state,payload){
this.state.token = payload
},
setname(state,payload){
// console.log(state,payload)
this.state.username = payload
}
},
actions: {
......
import { get, post } from './request'
import { get, post,put } from './request'
/**
* 示例
get请求
......@@ -9,6 +9,9 @@ import { get, post } from './request'
export const login = p => post('/api/common/login', p);
export const changePassword = p => post('/api/common/changePassword',p);
export const sendSms = p => post('/api/common/sendSms',p);
export const users = p => get('/api/backup/users?page='+p.page+'&size='+p.size);
export const changeStatus = p => put('/api/backup/users/'+p.id,{status:p.status});
......
......@@ -15,7 +15,7 @@ axios.interceptors.request.use(
const token = localStorage.getItem('token') || '';
if (token) {
// config.params = { 'token': token } //如果要求携带在参数中
config.headers.token = token; //如果要求携带在请求头中
config.headers.Authorization = token; //如果要求携带在请求头中
}
return config;
},
......@@ -85,7 +85,8 @@ axios.interceptors.response.use(
}
return Promise.reject(error.response);
}
});/**
});
/**
* get方法,对应get请求
* @param {String} url [请求的url地址]
* @param {Object} params [请求时携带的参数]
......@@ -101,7 +102,8 @@ axios.interceptors.response.use(
reject(err.data)
})
});
}/**
}
/**
* post方法,对应post请求
* @param {String} url [请求的url地址]
* @param {Object} params [请求时携带的参数]
......@@ -116,3 +118,18 @@ axios.interceptors.response.use(
})
});
}
/**
* put方法,对应put请求
* @param {String} url [请求的url地址]
* @param {Object} params [请求时携带的参数]
*/export function put(url, params) {
return new Promise((resolve, reject) => {
axios.put(url, params)
.then(res => {
resolve(res.data);
})
.catch(err => {
reject(err.data)
})
});
}
<template>
<div class="user">
<!-- 标题栏 -->
<HeaderCon ></HeaderCon>
<div class="user_main">
<div class="sider">
<div
:class="[current == item.name ? 'sider_item active' : 'sider_item ']"
v-for="item in siderArr"
:key="item.name"
@click="changepage(item.name)"
>
<img
:src="current == item.name ? item.img_select : item.img"
alt=""
class="sider_item_img"
/>
<div
:class="[
current == item.name
? ' sider_item_name active '
: 'sider_item_name',
]"
>
{{ item.name }}
</div>
</div>
</div>
<router-view></router-view>
</div>
</div>
</template>
<script>
import HeaderCon from "../../components/HeaderCon.vue";
export default {
name: "adminset",
components: {
HeaderCon,
},
data() {
return {
current: "用户信息管理",
username: "",
siderArr: [
{
name: "用户信息管理",
img: require("@/static/user/icon-grxx.png"),
img_select: require("@/static/user/icon-grxx-select.png"),
},
],
};
},
methods: {
changepage(name) {
switch (name) {
case "用户信息管理":
this.$router.push({
path: "/userInfo",
});
break;
}
this.current = name;
},
},
};
</script>
<style lang="less" scoped>
.user {
width: calc(100%);
height: 100%;
.user_main {
height: calc(100% - 65px);
width: 100%;
background-color: #ebebeb;
display: flex;
.home_con {
background-color: #ebebeb;
padding-left: 30px;
width: calc(100% -80px);
flex: 1;
.nav_bread {
height: 50px;
padding: 20px 3px;
background-color: #ebebeb;
}
}
}
.sider {
// height: calc(100% - 70px);
background-color: #002d70;
width: 80px;
.sider_item {
height: 100px;
text-align: center;
padding: 20px 10px 20px 0;
.sider_item_img {
width: 27px;
}
.sider_item_name {
margin-top: 10px;
color: #848bad;
font-size: 14px;
text-align: center;
}
.active {
color: #fff;
}
}
.active {
background-color: #124795;
color: #fff;
}
}
}
</style>
<template>
<div class="personal_con">
<!-- 面包屑导航 -->
<a-breadcrumb class="nav_bread">
<a-breadcrumb-item>用户设置</a-breadcrumb-item>
<a-breadcrumb-item>个人信息</a-breadcrumb-item>
</a-breadcrumb>
<div class="table">
<a-button type="primary" size="large">新增</a-button>&nbsp;
<a-button type="primary" size="large">删除</a-button>
<br /><br />
<a-table
:row-selection="{ onChange: onSelectChange }"
:columns="columns"
:data-source="data"
>
<template #bodyCell="{ column, text, record }">
<template v-if="column.dataIndex === 'status'">
<a @click="change(record)" danger v-if="text">禁用</a>
<a v-else>使用</a>
</template>
</template>
</a-table>
</div>
</div>
</template>
<script>
// import { AES_Encrypt, AES_Decrypt } from "@/utils/aes_util.js";
import { message } from "ant-design-vue";
import { users, changeStatus } from "@/utils/loginAPI";
export default {
name: "userInfo",
data() {
return {
columns: [
{
title: "序号",
dataIndex: "id",
},
{
title: "姓名",
dataIndex: "name",
},
{
title: "手机号",
dataIndex: "phone",
},
{
title: "账号名",
dataIndex: "account_number",
},
{
title: "创建时间",
dataIndex: "create_time",
},
{
title: "操作",
dataIndex: "status",
},
],
data:[]
};
},
created() {
this.init();
},
mounted() {},
methods: {
init() {
users({
page: 1,
size: 10,
}).then((res) => {
console.log(res);
if (res.code == 0) {
this.data = res.data;
} else {
message.error(res.msg);
}
});
},
onSelectChange: (selectedRowKeys, selectedRows) => {
console.log(
`selectedRowKeys: ${selectedRowKeys}`,
"selectedRows: ",
selectedRows
);
},
change(record) {
console.log(record);
changeStatus({ id: record.id, status: record.status }).then((res) => {
console.log(res);
});
},
},
};
</script>
<style lang="less" scoped>
.personal_con {
background-color: #ebebeb;
padding-left: 30px;
width: calc(100% - 80px);
flex: 1;
.nav_bread {
height: 50px;
padding: 20px 3px;
background-color: #ebebeb;
}
}
</style>
<template>
<div class="details">
<a-breadcrumb class="nav_bread">
<a-breadcrumb-item>首页</a-breadcrumb-item>
<a-breadcrumb-item>专利</a-breadcrumb-item>
<a-breadcrumb-item>公司详情</a-breadcrumb-item>
</a-breadcrumb>
<div class="back_btn">返回</div>
<div class="details_title">
<div class="company_num">
<span>{{ "山西煤炭进出口集团有限公司" }}</span>
<a-tag color="#56CA95">{{ "存续(在营、开业、在册)" }}</a-tag>
<a-tag color="#6096E6">{{ "2222222" }}</a-tag>
</div>
<div class="company_basic">
<div>注册地址:太原市小店区长风街115号</div>
<div>邮箱:zonghebangong@sxmtcoal.cn</div>
<div>联系电话:0351-4645051</div>
<div>官网:http://www.shanxicoal.cn/</div>
</div>
</div>
<div class="btn_group">
<span><img src="@/static/patent/icon-dc.png" alt="" />导出</span>
<span v-if="follow"
><img src="@/static/patent/icon-gz.png" alt="" />关注</span
>
<span v-else
><img src="@/static/patent/icon-gz-select.png" alt="" />关注</span
>
</div>
<a-tabs v-model:activeKey="activeKey" style="background: #fff">
<a-tab-pane key="企业概况" tab="企业概况">
<companyProfile></companyProfile>
</a-tab-pane>
<a-tab-pane key="研发概要" tab="研发概要">
<overview></overview>
</a-tab-pane>
<a-tab-pane key="技术合作" tab="技术合作">
<cooperation></cooperation>
</a-tab-pane>
<a-tab-pane key="科创能力评价" tab="科创能力评价">
<technology></technology>
</a-tab-pane>
</a-tabs>
</div>
</template>
<script>
import EchartsCloud from "../../components/EchartsCloud.vue";
import companyProfile from "./companyProfile.vue";
import overview from "./overview.vue";
import cooperation from "./cooperation.vue"
import technology from "./technology.vue"
export default {
name: "companyDetails",
data() {
return {
value: undefined,
activeKey: "企业概况",
count: 161,
follow: true,
techArr: [
{
name: "支架搬运车",
value: 30,
},
{
name: "人工智能领域",
value: 80,
},
{
name: "广泛应用",
value: 70,
},
{
name: "驾驶室",
value: 301,
},
],
list: [
{
name: "山西科达自控股份有限公司",
status: "存续(在营、开业、在册)",
type: "高新技术企业",
legalRepresentative: "郭晓明",
registrationTime: "2023-6-1",
money: "222941.42万人民币",
industry: "批发和零售业>批发业",
address: "北京市海淀区西二旗产业园百度大厦28号",
info: "一种基于人工智能的雷达视频数据融合方法",
range:
"提供智能化科技服务,智能仓储,装直径单桩人工智能单钩硬件销售;机械设备研发",
},
{
name: "山西科达自控股份有限公司",
status: "存续(在营、开业、在册)",
type: "高新技术企业",
legalRepresentative: "郭晓明",
registrationTime: "2023-6-1",
money: "222941.42万人民币",
industry: "批发和零售业>批发业",
address: "北京市海淀区西二旗产业园百度大厦28号",
info: "一种基于人工智能的雷达视频数据融合方法",
range:
"提供智能化科技服务,智能仓储,装直径单桩人工智能单钩硬件销售;机械设备研发",
},
],
};
},
components: {
EchartsCloud,
companyProfile,
cooperation,
overview,
technology
},
methods: {
getCurrentAnchor() {
return "#technicalSummary";
},
},
created() {},
};
</script>
<style lang="less" scoped>
.details {
padding: 0 30px;
width: calc(100%);
background-color: #ebebeb;
position: relative;
.back_btn {
width: 76px;
height: 32px;
background: #ffffff;
border-radius: 8px 8px 8px 8px;
opacity: 1;
color: #3e7bfa;
text-align: center;
line-height: 32px;
position: absolute;
right: 80px;
top: 10px;
}
.nav_bread {
height: 50px;
padding: 20px 3px;
background-color: #ebebeb;
}
.details_title {
background-color: #0062c4;
width: 100%;
height: 176px;
.company_num {
font-size: 25px;
padding: 20px 0 15px 40px;
font-family: Microsoft YaHei-Bold, Microsoft YaHei;
font-weight: bold;
color: #fff;
span {
vertical-align: -webkit-baseline-middle;
margin-right: 20px;
}
}
:deep(.ant-tag-has-color) {
padding: 3px 5px;
border-radius: 6px;
}
.company_basic {
margin-top: 20px;
display: flex;
margin-left: 15px;
div {
width: 18%;
font-size: 16px;
text-align: center;
color: #c7d8ec;
border-right: 1px solid #c7d8ec;
}
div:last-child {
border-right: transparent;
}
}
}
.btn_group {
position: absolute;
top: 80px;
right: 60px;
span {
display: inline-block;
width: 100px;
height: 32px;
background: rgba(255, 255, 255, 0.3);
border-radius: 8px 8px 8px 8px;
opacity: 1;
color: #fff;
line-height: 32px;
text-align: center;
margin-right: 15px;
img {
width: 17px;
vertical-align: text-bottom;
margin-right: 5px;
}
}
}
}
</style>
<template>
<div>
<div class="company_con">
<div class="company_con_left">
<!-- 工商信息 -->
<div class="company_con1" id="businessInfo">
<h2 class="title">工商信息</h2>
<a-descriptions
bordered
:column="3"
:labelStyle="{ background: '#F2F9FC' }"
>
<a-descriptions-item label="法定代表人"
>Cloud Database</a-descriptions-item
>
<a-descriptions-item label="经营状态">Prepaid</a-descriptions-item>
<a-descriptions-item label="成立日期">YES</a-descriptions-item>
<a-descriptions-item label="工商注册号"
>2018-04-24 18:00:00</a-descriptions-item
>
<a-descriptions-item label="注册资本">$80.00</a-descriptions-item>
<a-descriptions-item label="实缴资本">授权日</a-descriptions-item>
<a-descriptions-item label="统一社会信用代码"
>授权日</a-descriptions-item
>
<a-descriptions-item label="纳税人识别号"
>授权日</a-descriptions-item
>
<a-descriptions-item label="组织机构代码"
>授权日</a-descriptions-item
>
<a-descriptions-item label="营业期限">授权日</a-descriptions-item>
<a-descriptions-item label="纳税人资质">授权日</a-descriptions-item>
<a-descriptions-item label="核准日期">授权日</a-descriptions-item>
<a-descriptions-item label="企业类型">授权日</a-descriptions-item>
<a-descriptions-item label="行业">授权日</a-descriptions-item>
<a-descriptions-item label="人员规模">人员规模</a-descriptions-item>
<a-descriptions-item label="参保人数">参保人数</a-descriptions-item>
<a-descriptions-item label="登记机关">登记机关</a-descriptions-item>
<a-descriptions-item label="曾用名">曾用名</a-descriptions-item>
<a-descriptions-item label="英文名">英文名</a-descriptions-item>
<a-descriptions-item label=""></a-descriptions-item>
<a-descriptions-item label=""></a-descriptions-item>
<a-descriptions-item label="注册地址" :span="3"
>注册地址
</a-descriptions-item>
<a-descriptions-item label="经营范围" :span="3"
>经营范围</a-descriptions-item
>
</a-descriptions>
</div>
<!-- 股东信息 -->
<div class="company_con1" id="shareholder">
<h2 class="title">股东信息</h2>
<a-tabs
v-model:activeKey="activeKey_shareholder"
style="background: #fff"
>
<!-- 工商登记表格 -->
<a-tab-pane key="工商登记" tab="工商登记">
<a-table
:columns="columns_shareholder"
:data-source="data_shareholder"
>
</a-table>
</a-tab-pane>
<a-tab-pane key="历史股东信息" tab="历史股东信息">
<a-table
style="text-align: center"
:columns="columns_history"
:data-source="history_shareholder"
>
</a-table>
</a-tab-pane>
</a-tabs>
</div>
<!-- 主要人员 -->
<div class="company_con1" id="keyPerson">
<h2 class="title">主要人员</h2>
<a-table :columns="columns_keyperson" :data-source="data_shareholder">
</a-table>
</div>
<!-- 对外投资 -->
<div class="company_con1" id="investment">
<h2 class="title">对外投资</h2>
<a-table
:columns="columns_investment"
:data-source="data_shareholder"
>
</a-table>
</div>
<!-- 融资经历 -->
<div class="company_con1" id="">
<h2 class="title">融资经历</h2>
<a-table :columns="columns_financing" :data-source="data_shareholder">
</a-table>
</div>
</div>
<div class="company_con_anchor">
<a-anchor>
<a-anchor-link
style="font-size: 20px; color: #1C1C28; font-weight: bold"
title="企业概况"
/>
<a-anchor-link href="#businessInfo" title="工商信息" />
<a-anchor-link href="#shareholder" title="股东信息" />
<!-- <a-anchor-link href="#appAera" title="应用领域" /> -->
<a-anchor-link href="#keyPerson" title="主要人员" />
<a-anchor-link href="#investment" title="对外投资" />
<a-anchor-link href="#financing" title="融资经历" />
</a-anchor>
<div id="components-back-top-demo-custom">
<a-back-top>
<div class="ant-back-top-inner">回到顶部</div>
</a-back-top>
<div class="back">回到顶部</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: "companyProfile",
data() {
return {
activeKey_shareholder: "工商登记",
columns_shareholder: [
{
title: "序号",
dataIndex: "name",
key: "name",
},
{
title: "股东(发起人)",
dataIndex: "age",
key: "age",
},
{
title: "持股比例",
dataIndex: "address",
key: "address 1",
},
{
title: "最终受益股份",
dataIndex: "address",
key: "address 2",
},
{
title: "认缴出资额",
dataIndex: "address",
key: "address 3",
sorter: {
compare: (a, b) => a.chinese - b.chinese,
multiple: 3,
},
},
{
title: "认缴出资日期",
dataIndex: "address",
key: "address 4",
},
],
columns_history: [
{
title: "序号",
dataIndex: "name",
key: "name",
},
{
title: "股东",
dataIndex: "age",
key: "age",
width: 300,
},
{
title: "股东类型",
dataIndex: "address",
key: "address 1",
},
{
title: "退出时持股比例",
dataIndex: "address",
key: "address 2",
},
{
title: "退出日期",
dataIndex: "address",
key: "address 3",
sorter: {
compare: (a, b) => a.chinese - b.chinese,
multiple: 3,
},
},
{
title: "认缴出资额",
dataIndex: "address",
key: "address 4",
sorter: {
compare: (a, b) => a.chinese - b.chinese,
multiple: 3,
},
},
{
title: "认缴出资日期",
dataIndex: "address",
key: "address 4",
sorter: {
compare: (a, b) => a.chinese - b.chinese,
multiple: 3,
},
},
{
title: "实缴出资额",
dataIndex: "address",
key: "address 4",
sorter: {
compare: (a, b) => a.chinese - b.chinese,
multiple: 3,
},
},
{
title: "实缴出资日期",
dataIndex: "address",
key: "address 4",
sorter: {
compare: (a, b) => a.chinese - b.chinese,
multiple: 3,
},
},
],
data_shareholder: [
{
key: "1",
name: "John Brown",
age: 32,
address: "New York No. 1 Lake Park, New York No. 1 Lake Park",
tags: ["nice", "developer"],
},
{
key: "2",
name: "Jim Green",
age: 42,
address: "London No. 2 Lake Park, London No. 2 Lake Park",
tags: ["loser"],
},
{
key: "3",
name: "Joe Black",
age: 32,
address: "Sidney No. 1 Lake Park, Sidney No. 1 Lake Park",
tags: ["cool", "teacher"],
},
],
history_shareholder: [
{
key: "1",
name: "John Brown",
age: 32,
address: "New York No. 1 Lake Park, New York No. 1 Lake Park",
tags: ["nice", "developer"],
},
{
key: "2",
name: "Jim Green",
age: 42,
address: "London No. 2 Lake Park, London No. 2 Lake Park",
tags: ["loser"],
},
{
key: "3",
name: "Joe Black",
age: 32,
address: "Sidney No. 1 Lake Park, Sidney No. 1 Lake Park",
tags: ["cool", "teacher"],
},
],
columns_keyperson: [
{
title: "序号",
dataIndex: "name",
key: "name",
},
{
title: "姓名",
dataIndex: "age",
key: "age",
width: 300,
},
{
title: "职位",
dataIndex: "address",
key: "address 1",
},
{
title: "持股比例",
dataIndex: "address",
key: "address 2",
},
{
title: "最终收益股份",
dataIndex: "address",
key: "address 3",
},
],
columns_investment: [
{
title: "序号",
dataIndex: "name",
key: "name",
},
{
title: "被投资企业名称",
dataIndex: "age",
key: "age",
width: 300,
},
{
title: "法定代表人/执行事务合伙人",
dataIndex: "address",
key: "address 1",
},
{
title: "成立日期",
dataIndex: "address",
key: "address 2",
},
{
title: "投资数额",
dataIndex: "address",
key: "address 3",
},
{
title: "投资比例",
dataIndex: "address",
key: "address 3",
},
{
title: "经营状态",
dataIndex: "address",
key: "address 3",
},
],
columns_financing: [
{
title: "披露日期",
dataIndex: "name",
key: "name",
},
{
title: "交易金额",
dataIndex: "age",
key: "age",
width: 300,
},
{
title: "融资轮次",
dataIndex: "address",
key: "address 1",
},
{
title: "投资方",
dataIndex: "address",
key: "address 2",
},
],
};
},
};
</script>
<style lang="less" scoped>
.company_con {
clear: both;
position: relative;
display: flex;
justify-content: flex-start;
background-color: #f3f3f6;
.company_con_left {
.company_con1 {
width: 1400px;
// height: 175px;
background: #ffffff;
border-radius: 8px 8px 8px 8px;
opacity: 1;
padding: 40px 30px;
margin: 15px 0;
.title {
color: #1c1c28;
font-size: 18px;
font-family: Microsoft YaHei UI-Bold, Microsoft YaHei UI;
font-weight: bold;
line-height: 28px;
}
.desc {
font-size: 12px;
font-family: Microsoft YaHei UI-Regular, Microsoft YaHei UI;
font-weight: 400;
color: #1c1c28;
line-height: 28px;
}
}
:deep(.ant-table-thead > tr > th) {
background-color: #f2f9fc;
}
}
.company_con_anchor {
margin-top: 15px;
// width: 150px;
// height: 350px;
font-weight: bold;
color: #666666;
:deep(.ant-anchor-link-title) {
color: #666666;
}
:deep(.ant-anchor-link-active > .ant-anchor-link-title) {
color: #1890ff;
}
:deep(.ant-anchor-wrapper) {
background-color: #fff;
padding-left: 10px;
color: #666666;
height: 350px;
margin-left: 10px;
padding: 30px 15px 0;
}
#components-back-top-demo-custom .ant-back-top {
bottom: 55%;
right: 20%;
}
#components-back-top-demo-custom .ant-back-top-inner {
margin-top: 20px;
width: 150px;
height: 60px;
background-color: #fff;
text-align: center;
line-height: 60px;
}
}
.back {
display: none;
margin-top: 20px;
width: 150px;
height: 60px;
background-color: #fff;
text-align: center;
line-height: 60px;
}
}
</style>
<template>
<div>
3333333333
</div>
</template>
<script>
export default {
name:'cooperation'
}
</script>
<style lang="less" scoped>
</style>
\ No newline at end of file
<template>
<div class="details">
<a-breadcrumb class="nav_bread">
<a-breadcrumb-item>首页</a-breadcrumb-item>
<a-breadcrumb-item>专利</a-breadcrumb-item>
<a-breadcrumb-item>专利详情</a-breadcrumb-item>
</a-breadcrumb>
<div class="back_btn">返回</div>
<div class="details_title">
<div class="patent_num">{{ "CN109775565B" }}</div>
<div class="patent_title">{{ "一种大直径单桩单钩水下翻桩方法" }}</div>
</div>
<div class="btn_group">
<span><img src="@/static/patent/icon-dc.png" alt="" />导出</span>
<span v-if="follow"
><img src="@/static/patent/icon-gz.png" alt="" />关注</span
>
<span v-else
><img src="@/static/patent/icon-gz-select.png" alt="" />关注</span
>
</div>
<div class="patent_con">
<div class="patent_con_left">
<!-- 技术摘要 -->
<!-- <div class="patent_con1" id="technicalSummary">
<h2 class="title">技术摘要</h2>
<p class="desc">
本技术解决的问题:如果是单船起吊,则起重船上一定要具备主吊钩和副吊钩,且钩头方位、各个钩的起重能力需满足要求,否则就只有采用两条起重船才能实现翻身,因此要增加船舶设备的投入,施工成本高。
</p>
</div> -->
<!-- 摘要 -->
<div class="patent_con1" id="summary">
<h2 class="title">摘要</h2>
<p class="desc">
本发明公开了一种大直径单桩单钩水下翻桩方法,采用一艘具有一个主钩的起重船并包括以下步骤:先根据单桩起吊后平衡状态时与水平面的夹角为α计算主钩至主吊耳之间的距离以及主钩至单桩底部的距离,然后根据α确定主吊钢丝绳的直径和辅吊钢丝绳的直径;将两根主吊钢丝绳的上端均挂在主钩上,下端各自挂在单桩的两个主吊耳上,再将辅吊钢丝绳的上端挂在主钩上,下端通过U形扣钳制在单桩的底部;主钩起吊单桩,使单桩落入水中,并下放至单桩的底部桩尖触到海底泥面;继续下放起重船的主钩使辅吊钢丝绳逐渐呈松弛状态,将辅吊钢丝绳与主钩脱钩,同时U形扣自动脱离单桩的底部,然后起升主钩将单桩竖立。本发明的翻桩方法可有效降低船舶设备的投入。
</p>
</div>
<!-- 技术领域 -->
<div class="patent_con1" id="techAera">
<h2 class="title">技术领域</h2>
<EchartsCloud :id="'tech'" :dataArr="techArr"></EchartsCloud>
</div>
<!-- 应用领域 -->
<!-- <div class="patent_con1" id="appArea">
<h2 class="title">应用领域</h2>
<EchartsCloud
:id="'applicationArea'"
:dataArr="techArr"
></EchartsCloud>
</div> -->
<!-- 主要录项 -->
<div class="patent_con1" id="mainentries">
<h2 class="title">主著录项</h2>
<a-descriptions
bordered
:column="2"
:labelStyle="{ background: '#F2F9FC' }"
>
<a-descriptions-item label="申请号"
>Cloud Database</a-descriptions-item
>
<a-descriptions-item label="优先权号">Prepaid</a-descriptions-item>
<a-descriptions-item label="申请日">YES</a-descriptions-item>
<a-descriptions-item label="优先权日"
>2018-04-24 18:00:00</a-descriptions-item
>
<a-descriptions-item label="公开号">$80.00</a-descriptions-item>
<a-descriptions-item label="授权日">授权日</a-descriptions-item>
<a-descriptions-item label="公开日">授权日</a-descriptions-item>
<a-descriptions-item label="失效日">授权日</a-descriptions-item>
<a-descriptions-item label="专利类型">授权日</a-descriptions-item>
<a-descriptions-item label="专利维持期">授权日</a-descriptions-item>
</a-descriptions>
</div>
<!-- 相关人 -->
<div class="patent_con1" id="relatedper">
<h2 class="title">相关人</h2>
<a-descriptions
bordered
:column="2"
:labelStyle="{ background: '#F2F9FC' }"
>
<a-descriptions-item label="申请人(原始)"
>Cloud Database</a-descriptions-item
>
<a-descriptions-item label="专利权人(当前)"
>中交第三航务工程局有限公司;<br />
中交三航(厦门)工程有限公司;<br />
中交第三航务工程局有限公司厦门分公司</a-descriptions-item
>
<a-descriptions-item label="申请人"
>中交第三航务工程局有限公司; 中交三航(厦门)工程有限公司;
中交第三航务工程局有限公司厦门分公司</a-descriptions-item
>
<a-descriptions-item label="专利权人"
>中交第三航务工程局有限公司; 中交三航(厦门)工程有限公司;
中交第三航务工程局有限公司厦门分公司</a-descriptions-item
>
<a-descriptions-item label="申请人(工商)"
>$80.00</a-descriptions-item
>
<a-descriptions-item label="专利权人(机构树)"
>授权日</a-descriptions-item
>
<a-descriptions-item label="申请人(机构树)"
>授权日</a-descriptions-item
>
<a-descriptions-item label="代理人">授权日</a-descriptions-item>
<a-descriptions-item label="发明人">授权日</a-descriptions-item>
<a-descriptions-item label="代理机构">授权日</a-descriptions-item>
</a-descriptions>
</div>
<!-- 地址 -->
<div class="patent_con1" id="address">
<h2 class="title">地址</h2>
<a-descriptions
bordered
:column="2"
:labelStyle="{ background: '#F2F9FC' }"
>
<a-descriptions-item label="申请人国">授权日</a-descriptions-item>
<a-descriptions-item label="公开国">授权日</a-descriptions-item>
<a-descriptions-item label="申请人地址">授权日</a-descriptions-item>
<a-descriptions-item label="专利权人地址"
>授权日</a-descriptions-item
>
</a-descriptions>
</div>
<!-- 统计信息 -->
<div class="patent_con1" id="statistic">
<h2 class="title">统计信息</h2>
<a-descriptions
bordered
:column="2"
:labelStyle="{ background: '#F2F9FC' }"
>
<a-descriptions-item label="引用数量">授权日</a-descriptions-item>
<a-descriptions-item label="权利要求数">授权日</a-descriptions-item>
<a-descriptions-item label="被引用数量">授权日</a-descriptions-item>
<a-descriptions-item label="同族数量">授权日</a-descriptions-item>
</a-descriptions>
</div>
<!-- 分类号 -->
<div class="patent_con1" id="catenum">
<h2 class="title">分类号</h2>
<a-descriptions
bordered
:column="2"
:labelStyle="{ background: '#F2F9FC' }"
>
<a-descriptions-item label="IPC分类号">授权日</a-descriptions-item>
<a-descriptions-item label="战略新兴产业分类号"
>授权日</a-descriptions-item
>
<a-descriptions-item label="国民经济分类号"
>授权日</a-descriptions-item
>
<a-descriptions-item label="双十产业集群分类号"
>授权日</a-descriptions-item
>
</a-descriptions>
</div>
</div>
<div class="patent_con_anchor">
<a-anchor>
<!-- <a-anchor-link href="#technicalSummary" title="AI技术摘要" /> -->
<a-anchor-link href="#summary" title="摘要" />
<a-anchor-link href="#techAera" title="技术领域" />
<!-- <a-anchor-link href="#appAera" title="应用领域" /> -->
<a-anchor-link href="#mainentries" title="主著录项" />
<a-anchor-link href="#relatedper" title="相关人" />
<a-anchor-link href="#address" title="地址" />
<a-anchor-link href="#statistic" title="统计信息" />
<a-anchor-link href="#catenum" title="分类号" />
</a-anchor>
<div id="components-back-top-demo-custom">
<a-back-top>
<div class="ant-back-top-inner">回到顶部</div>
</a-back-top>
<div class="back">回到顶部</div>
</div>
</div>
<div class="patent_con_right">
<div class="patent_con1">
<h2 class="title">智能推荐</h2>
<a-select
v-model:value="value"
show-search
placeholder="请按照企业类型筛选"
style="width: 200px"
>
<a-select-option value="1">企业1</a-select-option>
<a-select-option value="2">企业2</a-select-option>
<a-select-option value="3">企业3</a-select-option>
</a-select>
<div class="result">
推荐
<span style="color: #4079ff; font-weight: bold">{{ count }}</span
>条相关结果
</div>
<div class="card" v-for="item in list" :key="item">
<div class="card_title">{{ item.name }}</div>
<a-tag color="#56CA95">{{ item.status }}</a-tag>
<a-tag color="#6096E6">{{ item.type }}</a-tag>
<a-divider />
<div class="card_desc">
<a-descriptions layout="vertical">
<a-descriptions-item label="法定代表人">{{
item.legalRepresentative
}}</a-descriptions-item>
<a-descriptions-item label="注册时间">{{
item.registrationTime
}}</a-descriptions-item>
<a-descriptions-item label="注册资本">{{
item.money
}}</a-descriptions-item>
<a-descriptions-item label="国民经济行业">
{{ item.industry }}
</a-descriptions-item>
<a-descriptions-item :span="2" label="注册地址">{{
item.address
}}</a-descriptions-item>
<a-descriptions-item :span="3" label="专利信息">{{
item.info
}}</a-descriptions-item>
<a-descriptions-item :span="2" label="经营范围">{{
item.range
}}</a-descriptions-item>
</a-descriptions>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { DownOutlined } from "@ant-design/icons-vue";
import EchartsCloud from "../../components/EchartsCloud.vue";
export default {
name: "patentDetails",
data() {
return {
value: undefined,
count: 161,
follow: true,
techArr: [
{
name: "支架搬运车",
value: 30,
},
{
name: "人工智能领域",
value: 80,
},
{
name: "广泛应用",
value: 70,
},
{
name: "驾驶室",
value: 301,
},
],
list: [
{
name: "山西科达自控股份有限公司",
status: "存续(在营、开业、在册)",
type: "高新技术企业",
legalRepresentative: "郭晓明",
registrationTime: "2023-6-1",
money: "222941.42万人民币",
industry: "批发和零售业>批发业",
address: "北京市海淀区西二旗产业园百度大厦28号",
info: "一种基于人工智能的雷达视频数据融合方法",
range:
"提供智能化科技服务,智能仓储,装直径单桩人工智能单钩硬件销售;机械设备研发",
},
{
name: "山西科达自控股份有限公司",
status: "存续(在营、开业、在册)",
type: "高新技术企业",
legalRepresentative: "郭晓明",
registrationTime: "2023-6-1",
money: "222941.42万人民币",
industry: "批发和零售业>批发业",
address: "北京市海淀区西二旗产业园百度大厦28号",
info: "一种基于人工智能的雷达视频数据融合方法",
range:
"提供智能化科技服务,智能仓储,装直径单桩人工智能单钩硬件销售;机械设备研发",
},
],
};
},
components: {
EchartsCloud,
DownOutlined,
},
methods: {
getCurrentAnchor() {
return "#technicalSummary";
},
},
created() {},
};
</script>
<style lang="less" scoped>
.details {
padding: 0 30px;
width: calc(100%);
background-color: #ebebeb;
position: relative;
.back_btn {
width: 76px;
height: 32px;
background: #ffffff;
border-radius: 8px 8px 8px 8px;
opacity: 1;
color: #3e7bfa;
text-align: center;
line-height: 32px;
position: absolute;
right: 80px;
top: 10px;
}
.nav_bread {
height: 50px;
padding: 20px 3px;
background-color: #ebebeb;
}
.details_title {
background-color: #0062c4;
width: 100%;
height: 176px;
.patent_num {
font-size: 25px;
padding: 20px 0 15px 20px;
font-family: Microsoft YaHei-Bold, Microsoft YaHei;
font-weight: bold;
color: #c7d8ec;
}
.patent_title {
font-size: 25px;
padding: 0 0 20px 20px;
font-family: Microsoft YaHei-Bold, Microsoft YaHei;
font-weight: bold;
color: #fff;
}
}
.btn_group {
position: absolute;
top: 80px;
right: 60px;
span {
display: inline-block;
width: 100px;
height: 32px;
background: rgba(255, 255, 255, 0.3);
border-radius: 8px 8px 8px 8px;
opacity: 1;
color: #fff;
line-height: 32px;
text-align: center;
margin-right: 15px;
img {
width: 17px;
vertical-align: text-bottom;
margin-right: 5px;
}
}
}
.patent_con {
clear: both;
display: flex;
position: relative;
justify-content: space-evenly;
background-color: #f3f3f6;
.patent_con_left {
.patent_con1 {
width: 949px;
// height: 175px;
background: #ffffff;
border-radius: 8px 8px 8px 8px;
opacity: 1;
padding: 40px 30px;
margin: 15px 0;
.title {
color: #1c1c28;
font-size: 18px;
font-family: Microsoft YaHei UI-Bold, Microsoft YaHei UI;
font-weight: bold;
line-height: 28px;
}
.desc {
font-size: 12px;
font-family: Microsoft YaHei UI-Regular, Microsoft YaHei UI;
font-weight: 400;
color: #1c1c28;
line-height: 28px;
}
}
}
.patent_con_anchor {
margin-top: 15px;
width: 150px;
height: 500px;
font-weight: bold;
color: #666666;
// background-color: #fff;
:deep(.ant-anchor-link-title) {
color: #666666;
}
:deep(.ant-anchor-link-active > .ant-anchor-link-title) {
color: #1890ff;
}
:deep(.ant-anchor-wrapper) {
background-color: #fff;
padding-left: 10px;
color: #666666;
}
#components-back-top-demo-custom .ant-back-top {
bottom: 55%;
left: 57%;
}
#components-back-top-demo-custom .ant-back-top-inner {
margin-top: 20px;
width: 150px;
height: 60px;
background-color: #fff;
text-align: center;
line-height: 60px;
}
}
.back {
display: none;
margin-top: 20px;
width: 150px;
height: 60px;
background-color: #fff;
text-align: center;
line-height: 60px;
}
.patent_con_right {
margin-top: 15px;
width: 610px;
height: 600px;
background-color: #fff;
.patent_con1 {
// width: 949px;
// height: 175px;
background: #ffffff;
border-radius: 8px 8px 8px 8px;
opacity: 1;
padding: 20px 20px;
margin: 15px 0;
.title {
color: #1c1c28;
font-size: 18px;
font-family: Microsoft YaHei UI-Bold, Microsoft YaHei UI;
font-weight: bold;
line-height: 28px;
}
.result {
font-size: 16px;
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
font-weight: 400;
}
.card {
background: #f6f7fb;
border-radius: 10px 10px 10px 10px;
opacity: 0.8;
padding: 24px;
margin-bottom: 15px;
:deep(.ant-tag-has-color) {
padding: 5px;
border-radius: 6px;
}
.card_title {
font-family: Microsoft YaHei UI-Regular, Microsoft YaHei UI;
font-weight: 400;
color: #333333;
font-size: 20px;
}
.card_desc {
:deep(.ant-descriptions-item-label) {
color: #999999;
font-family: Microsoft YaHei UI-Regular, Microsoft YaHei UI;
font-weight: 400;
}
:deep(.ant-descriptions-item-content) {
font-family: Microsoft YaHei UI-Regular, Microsoft YaHei UI;
font-weight: bold;
color: #1c1c28;
}
:deep(.ant-descriptions-row > th) {
padding-bottom: 4px;
}
}
}
}
}
}
}
</style>
<template>
<router-link to="/companyDetails">企业详情</router-link>
<router-view></router-view>
</template>
......
<template>
<div>
<div class="company_con">
<div class="company_con_left">
<!-- 研发规模 -->
<div class="company_con1" id="">
<h2 class="title">研发规模</h2>
<a-descriptions
bordered
:column="2"
:labelStyle="{ background: '#F2F9FC' }"
>
<a-descriptions-item label="专利申请数量"
>Cloud Database</a-descriptions-item
>
<a-descriptions-item label="非外观专利申请数量"
>Prepaid</a-descriptions-item
>
<a-descriptions-item label="商标数量">YES</a-descriptions-item>
<a-descriptions-item label="作品著作权登记总数"
>2018-04-24 18:00:00</a-descriptions-item
>
<a-descriptions-item label="软件著作权登记总数"
>$80.00</a-descriptions-item
>
</a-descriptions>
</div>
<!-- 研发可持续性 -->
<div class="company_con1" id="">
<h2 class="title">研发可持续性</h2>
<p>
企业的总专利申请量为7件,最早专利申请是2018年,企业在2018年的专利申请量最多,为6件且专利授权率为50.00%。
</p>
<a-radio-group v-model:value="tabchange" style="margin: 8px">
<a-radio-button value="1">专利申请年份趋势</a-radio-button>
<a-radio-button value="2">历年专利申请及授权</a-radio-button>
</a-radio-group>
<EchartsCon
v-if="tabchange == 1"
:id="'applyTrend'"
:option="option1"
:style="'height:300px'"
></EchartsCon>
<EchartsCon
v-if="tabchange == 2"
:id="'patentAuthorize'"
:option="option2"
:style="'height:300px;width:100%;'"
></EchartsCon>
</div>
<!-- 专利结构分析 -->
<div class="company_con1" id="">
<h2 class="title">专利结构分析</h2>
<p>
专利结构可从专利类型以及专利基本法律状态两个方面进行分析。从专利类型来看,一般在评估专利技术质量时,普遍认为发明>实用新型>外观。因此,关注发明专利的占比高低,可以帮助了解企业历史研发的技术质量水平。从专利基本法律状态来看,关注失效专利的占比,可以帮助了解企业当前持有技术的质量水平。该企业的专利数量为7件,其中发明专利4件,占比57.14%;失效专利4件,占比57.14%。
</p>
<div class="ecahrsThree">
<EchartsCon :style="'width:33%;'" :id="'echartsone'" :option="option3"></EchartsCon>
<EchartsCon :style="'width:33%;'" :id="'echartstwo'" :option="option4"></EchartsCon>
<EchartsCon :style="'width:33%;'" :id="'echartsthree'" :option="option5"></EchartsCon>
</div>
</div>
<!-- 技术领域布局 -->
<div class="company_con1" id="">
<h2 class="title">技术领域布局</h2>
<p>
特定周期内,某个主题关键词出现的次数越多,则企业在该主题领域的技术布局越多。通过算法分析,该企业近期主要专注在履带式、运输车、液压支架、支架搬运车、运输设备等技术领域
</p>
<EchartsCloud
:id="'TechnicalField'"
:dataArr="techArr"
></EchartsCloud>
</div>
</div>
</div>
</div>
</template>
<script>
import EchartsCon from "../../components/EchartsCon";
import EchartsCloud from "../../components/EchartsCloud";
export default {
name: "overview",
components: {
EchartsCon,
EchartsCloud,
},
data() {
return {
tabchange: "1",
};
},
beforeMount() {
this.init();
},
methods: {
init() {
this.getTrend();
this.getAuthorize();
this.getPatentStructure();
this.getTechnicalField();
},
//获取专利申请年份趋势
getTrend() {
this.option1 = {
// tooltip: {
// trigger: "axis",
// axisPointer: {
// // Use axis to trigger tooltip
// type: "shadow", // 'shadow' as default; can also be 'line' or 'shadow'
// },
// },
legend: {
icon: "circle",
orient: "horizontal",
itemGap: 40,
itemWidth: 14,
itemHeight: 14,
textStyle: {
fontSize: 14,
fontWeight: 400,
padding: [4, 0, 0, 0],
},
},
grid: {
top: "8%",
left: "3%",
right: "0",
bottom: "10%",
containLabel: false,
},
xAxis: {
type: "category",
data: [
"1日",
"2日",
"3日",
"4日",
"5日",
"6日",
"7日",
"8日",
"9日",
"10日",
"11日",
"12日",
],
axisTick: {
show: false,
},
axisLabel: {
show: true,
// color: "white",
},
axisLine: {
show: false,
},
},
yAxis: {
// 去网格线
splitLine: {
show: false,
},
type: "value",
name: "kW.h",
// 标题名称颜色
nameTextStyle: {
color: "white",
fontSize: 12,
fontWeight: 800,
},
axisLine: {
// show: false ,// 去除轴线
lineStyle: {
lineStyle: {
color: "white",
},
},
},
axisLabel: {
formatter: "{value}",
color: "white", // 文本颜色
},
},
series: [
{
name: "尖",
type: "bar",
stack: "total",
label: {
show: false,
formatter: function (e) {
// return e.value ? e.value : "";
// return e.value ? e.seriesName : "";
},
},
itemStyle: {
borderRadius: [0, 0, 4, 4],
},
barWidth: 20,
emphasis: {
focus: "series",
},
data: [320, 302, 120, 100, 540, 123, 345, 667, 333, 122, 211, 99],
},
{
name: "峰",
type: "bar",
stack: "total",
barWidth: 20,
label: {
show: false,
formatter: "{a}",
},
emphasis: {
focus: "series",
},
data: [320, 302, 120, 100, 540, 123, 345, 667, 333, 122, 211, 99],
},
{
name: "平",
type: "bar",
stack: "total",
barWidth: 20,
label: {
show: false,
formatter: "{a}",
},
emphasis: {
focus: "series",
},
data: [320, 302, 120, 100, 540, 123, 345, 667, 333, 122, 211, 99],
},
],
};
},
//获取历年专利申请及授权
getAuthorize() {
this.option2 = {
//下面就是上图的配置项,关键部分有注释
tooltip: {
trigger: "axis",
axisPointer: {
type: "shadow",
},
},
//图表选择栏
legend: {
icon: "circle",
top: 20,
// right:0,
// bottom: 0,
itemHeight: 10, //修改icon图形大小
textStyle: {
fontSize: 12,
},
},
grid: {
left: "3%",
right: "4%",
bottom: "5%",
containLabel: true,
},
xAxis: {
type: "category",
data: ["周一", "周二", "周三", "周四", "周五"],
axisTick: {
show: false,
},
axisLine: {
show: false,
},
},
yAxis: [
{
type: "value",
// boundaryGap: [0, 0.01],
name: "专利数量",
axisLine: {
show: false,
},
},
{
type: "value",
// boundaryGap: [0, 0.01],
name: "授权占比",
axisLine: {
show: false,
},
},
],
series: [
{
//里层的柱子
name: "授权",
type: "pictorialBar", //象形柱状图
barWidth: 20, //柱子的宽度
data: [72, 79, 70, 67, 59], //柱子的数据
symbol: "rect", //柱子的形状
symbolRepeat: true, //是否重复
// symbolOffset: [-40, 0], //柱子的位置
symbolBoundingData: 1, //图形的个数
z: 12, //柱子的层级
label: {
show: true,
position: "top",
color: "#000",
formatter: "{c}",
},
},
{
//外层的柱子
name: "申请",
type: "pictorialBar",
barWidth: 20,
//symbolSize: [40, 18], //调整截面形状
// symbolOffset: [-40, 0],
symbol: "rect",
symbolRepeat: true,
symbolBoundingData: 1,
itemStyle: {
color: "",
},
data: [82, 89, 90, 97, 79],
label: {
show: true,
position: "top",
color: "#000",
formatter: "{c}",
},
},
{
type: "line",
yAxisIndex: 1,
data: [82, 89, 90, 97, 79],
name: "授权占比",
},
],
};
},
//获取专利结构分析
getPatentStructure() {
this.option3 = {
//你的代码
title: {
text: "分类资金统计",
left: "center",
top: "5%",
},
//color: colors,
tooltip: {
trigger: "item",
},
legend: {
orient: "vertical",
align: "auto",
right: "10%",
top: "middle",
itemWidth: 13,
itemHeight: 13,
textStyle: {
color: "#333",
fontSize: 14,
},
},
series: [
{
name: "分类资金统计",
type: "pie",
radius: ["30%", "60%"],
center: ["35%", "50%"],
label: {
formatter: "{b}:{d}%", // 用来换行
},
data: [
{ value: 6, name: "安全" },
{ value: 10, name: "工艺" },
],
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: "rgba(0, 0, 0, 0.5)",
},
},
},
],
};
},
//获取技术领域布局
getTechnicalField() {
this.techArr = [
{
name: "支架搬运车",
value: 30,
},
{
name: "人工智能领域",
value: 80,
},
{
name: "广泛应用",
value: 70,
},
{
name: "驾驶室",
value: 301,
},
];
},
},
created() {},
};
</script>
<style lang="less" scoped>
.company_con {
clear: both;
position: relative;
display: flex;
justify-content: flex-start;
background-color: #f3f3f6;
.company_con_left {
.company_con1 {
width: 1400px;
// height: 175px;
background: #ffffff;
border-radius: 8px 8px 8px 8px;
opacity: 1;
padding: 40px 30px;
margin: 15px 0;
.title {
color: #1c1c28;
font-size: 18px;
font-family: Microsoft YaHei UI-Bold, Microsoft YaHei UI;
font-weight: bold;
line-height: 28px;
}
.desc {
font-size: 12px;
font-family: Microsoft YaHei UI-Regular, Microsoft YaHei UI;
font-weight: 400;
color: #1c1c28;
line-height: 28px;
}
.ecahrsThree{
display: flex;
width: 100%;
justify-content: space-between;
}
}
:deep(.ant-table-thead > tr > th) {
background-color: #f2f9fc;
}
}
.company_con_anchor {
margin-top: 15px;
// width: 150px;
// height: 350px;
font-weight: bold;
color: #666666;
:deep(.ant-anchor-link-title) {
color: #666666;
}
:deep(.ant-anchor-link-active > .ant-anchor-link-title) {
color: #1890ff;
}
:deep(.ant-anchor-wrapper) {
background-color: #fff;
padding-left: 10px;
color: #666666;
height: 350px;
margin-left: 10px;
padding: 30px 15px 0;
}
#components-back-top-demo-custom .ant-back-top {
bottom: 55%;
right: 20%;
}
#components-back-top-demo-custom .ant-back-top-inner {
margin-top: 20px;
width: 150px;
height: 60px;
background-color: #fff;
text-align: center;
line-height: 60px;
}
}
.back {
display: none;
margin-top: 20px;
width: 150px;
height: 60px;
background-color: #fff;
text-align: center;
line-height: 60px;
}
}
</style>
<template>
<div>
444444444444
</div>
</template>
<script>
export default {
name:'technology'
}
</script>
<style lang="less" scoped>
</style>
\ No newline at end of file
<template>
<div class="home">
<!-- 标题栏 -->
<HeaderCon :username="username"></HeaderCon>
<HeaderCon></HeaderCon>
<div class="home_main">
<div class="sider">
......
......@@ -129,10 +129,11 @@ export default {
console.log(res)
if(res.code == 0){
message.success('登录成功')
this.$store.commit('setTOKEN',res.data.token)
// this.$store.commit('setTOKEN',res.data.token)
this.$store.commit('setname',this.formState.username)
localStorage.setItem('token',res.data.token)
this.$router.push({
path:'/index'
path:'/adminset'
})
}else{
message.error(res.msg)
......
......@@ -149,7 +149,8 @@ export default {
if (res.code == 0) {
message.success("登录成功");
this.$store.commit("setTOKEN", res.data.token);
// this.$store.commit("setTOKEN", res.data.token);
this.$store.commit("setname", this.formState.username);
localStorage.setItem("token", res.data.token);
//记住密码功能
......
<template>
<router-link to="/patentDetails">专利</router-link>
<router-view></router-view>
<router-link to="/patentDetails">专利</router-link>
<router-view></router-view>
</template>
<script>
export default {
name:'patent',
data(){
return{
}
name: "patent",
data() {
return {};
},
components: {
},
methods:{
},
created(){
}
}
components: {},
methods: {},
created() {},
};
</script>
<style lang="less" scoped>
</style>
\ No newline at end of file
<style lang="less" scoped></style>
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