Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
ty_patentSys
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hanxiao
ty_patentSys
Commits
9623b853
Commit
9623b853
authored
Jul 24, 2023
by
liudx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
联调接口
parent
b54a9ba0
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
627 additions
and
201 deletions
+627
-201
src/App.vue
+1
-1
src/components/HeaderCon.vue
+42
-4
src/router/index.js
+9
-3
src/static/login/icon-add.png
+0
-0
src/static/login/icon-delete.png
+0
-0
src/store/index.js
+5
-5
src/utils/indexApi.js
+3
-0
src/views/adminset/index.vue
+4
-2
src/views/adminset/userInfo.vue
+76
-19
src/views/company/index.vue
+99
-20
src/views/company/overview.vue
+14
-14
src/views/company/technology.vue
+32
-37
src/views/follow/index.vue
+126
-21
src/views/history/index.vue
+39
-5
src/views/home/home.vue
+52
-11
src/views/home/index.vue
+33
-22
src/views/login/index.vue
+21
-22
src/views/patent/index.vue
+12
-9
src/views/patent/patentDetails.vue
+2
-1
src/views/userset/personalSetting.vue
+6
-5
src/views/userset/securitySetting.vue
+51
-0
No files found.
src/App.vue
View file @
9623b853
...
...
@@ -19,7 +19,7 @@
}
html
,
body
,
#app
{
//
height
:
100%
;
//
height
:
92
0px
;
//
min-height
:
98
0px
;
}
::-webkit-scrollbar
{
...
...
src/components/HeaderCon.vue
View file @
9623b853
...
...
@@ -49,7 +49,11 @@
@
mouseenter=
"hover($event, '2')"
@
mouseleave=
"leave($event)"
>
<span
v-if=
"hover_num == 2"
@
click=
"exit"
style=
"cursor: pointer"
>
<span
v-if=
"hover_num == 2"
@
click=
"openModal"
style=
"cursor: pointer"
>
<img
src=
"@/static/common/icon-tcdl-hover.png"
alt=
""
/>
<span
style=
"color: #3e7bfa"
>
退出登录
</span>
</span>
...
...
@@ -62,15 +66,29 @@
<span
class=
"tel"
>
{{ username }}
</span>
</a-popover>
</div>
<!-- <a-modal
v-model:visible="visible"
title="退出登录"
@ok="exit"
cancelText="取消"
okText="确定"
@onCancel="closeModal"
>
</a-modal> -->
</div>
</template>
<
script
>
import
{
ExclamationCircleOutlined
}
from
"@ant-design/icons-vue"
;
import
{
createVNode
}
from
"vue"
;
import
{
Modal
}
from
"ant-design-vue"
;
import
{
mapState
}
from
"vuex"
;
export
default
{
name
:
"HeaderCon"
,
props
:
{},
created
()
{
this
.
username
=
this
.
$store
.
state
.
username
;
this
.
username
=
localStorage
.
getItem
(
'login_name'
)
;
},
computed
:
{
...
mapState
([
"username"
]),
...
...
@@ -81,6 +99,7 @@ export default {
username
:
""
,
type
:
"专利"
,
keyword
:
""
,
visible
:
false
,
};
},
methods
:
{
...
...
@@ -97,12 +116,31 @@ export default {
});
window
.
open
(
routeUrl
.
href
,
"_blank"
);
},
//打开弹窗
openModal
()
{
let
that
=
this
Modal
.
confirm
({
title
:
"确认退出登录吗?"
,
icon
:
createVNode
(
ExclamationCircleOutlined
),
onOk
()
{
that
.
exit
();
},
okText
:
'确认'
,
onCancel
()
{},
cancelText
:
'取消'
,
});
},
//关闭弹窗
closeModal
()
{
this
.
visible
=
false
;
},
exit
()
{
this
.
$router
.
push
({
path
:
"/login"
,
});
localStorage
.
removeItem
(
"login_name"
);
localStorage
.
removeItem
(
"password"
);
localStorage
.
removeItem
(
"token"
);
// localStorage.removeItem("login_name");
// localStorage.removeItem("password");
},
},
};
...
...
src/router/index.js
View file @
9623b853
import
{
createRouter
,
createWebH
ashH
istory
}
from
'vue-router'
import
{
createRouter
,
createWebHistory
}
from
'vue-router'
import
{
message
}
from
"ant-design-vue"
;
// import HomeView from '../views/HomeView.vue'
import
login
from
"../views/login/index.vue"
...
...
@@ -43,6 +43,10 @@ const routes = [
path
:
'/adminLogin'
,
name
:
'AdminLogin'
,
component
:
AdminLogin
,
//如果登录的是管理员页面,那么不允许查看用户
beforeEach
:(
to
,
from
,
next
)
=>
{
console
.
log
(
to
)
}
},
{
path
:
'/forget'
,
...
...
@@ -149,8 +153,8 @@ const routes = [
]
const
router
=
createRouter
({
history
:
createWebH
ashH
istory
(
process
.
env
.
BASE_URL
),
mode
:
'hash'
,
history
:
createWebHistory
(
process
.
env
.
BASE_URL
),
//
mode:'hash',
routes
})
router
.
beforeEach
((
to
,
from
,
next
)
=>
{
...
...
@@ -169,4 +173,6 @@ router.beforeEach((to,from,next)=>{
})
export
default
router
src/static/login/icon-add.png
0 → 100644
View file @
9623b853
353 Bytes
src/static/login/icon-delete.png
0 → 100644
View file @
9623b853
419 Bytes
src/store/index.js
View file @
9623b853
...
...
@@ -15,12 +15,12 @@ export default createStore({
// console.log(state,payload)
this
.
state
.
username
=
payload
},
setcurrent
(
state
,
payload
){
// console.log(state,payload)
this
.
state
.
current
=
payload
},
//
setcurrent(state,payload){
//
// console.log(state,payload)
//
this.state.current = payload
//
},
setkeyword
(
state
,
payload
){
console
.
log
(
state
,
payload
)
//
console.log(state,payload)
this
.
state
.
keyword
=
payload
},
},
...
...
src/utils/indexApi.js
View file @
9623b853
...
...
@@ -3,5 +3,8 @@ export const patents = p => get('/api/patent/patents?keyword='+p.keyword+'&page=
export
const
patentselect
=
p
=>
post
(
'/api/patent/patents'
,
p
);
export
const
patentDetail
=
p
=>
get
(
'/api/patent/patentDetail/'
+
p
.
id
);
export
const
exportword
=
p
=>
post
(
'/api/patent/patentDetail/125'
,
p
);
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'
);
src/views/adminset/index.vue
View file @
9623b853
...
...
@@ -67,9 +67,11 @@ export default {
<
style
lang=
"less"
scoped
>
.user
{
width
:
calc
(
100%
);
height
:
100%
;
//
height
:
100%
;
min-height
:
900px
;
.user_main
{
height
:
calc
(
100%
-
65px
);
min-height
:
800px
;
//
height
:
calc
(
100%
-
65px
);
width
:
100%
;
background-color
:
#ebebeb
;
display
:
flex
;
...
...
src/views/adminset/userInfo.vue
View file @
9623b853
...
...
@@ -6,23 +6,15 @@
<a-breadcrumb-item>
个人信息
</a-breadcrumb-item>
</a-breadcrumb>
<div
class=
"table"
>
<a-button
type=
"primary"
size=
"large"
@
click=
"openModal"
>
新增
</a-button
<a-button
type=
"primary"
size=
"large"
@
click=
"openModal"
>
<img
src=
"../../static/login/icon-add.png"
alt=
""
class=
"img"
>
新增
</a-button
>
<a-button
type=
"primary"
size=
"large"
>
删除
</a-button>
<a-button
type=
"primary"
size=
"large"
danger
@
click=
"opendeleteModal"
>
<img
src=
"../../static/login/icon-delete.png"
alt=
""
class=
"img"
>
删除
</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>
-->
<a-table
:row-selection=
"rowSelection"
:columns=
"columns"
...
...
@@ -31,9 +23,18 @@
>
<template
#
bodyCell=
"
{ column, text, record }">
<template
v-if=
"column.dataIndex === 'status'"
>
<a
@
click=
"change(record)"
danger
v-if=
"text"
>
禁用
</a>
<a
v-else
>
使用
</a>
<!--
<a-switch>
禁用
</a-switch>
-->
<div
v-if=
"text"
class=
"status"
>
<span
class=
"marker"
></span>
已启用
</div>
<div
v-else
class=
"status"
>
<span
class=
"marker disabled"
></span>
已禁用
</div>
</
template
>
<
template
v-if=
"column.dataIndex === 'action'"
>
<!--
<a
@
click=
"change(record)"
danger
v-if=
"text"
>
禁用
</a>
<a
v-else
>
使用
</a>
-->
<a-switch
@
click=
"change(record)"
v-model:checked=
"status"
>
禁用
</a-switch>
</
template
>
</template>
</a-table>
...
...
@@ -41,8 +42,10 @@
</div>
<a-modal
v-model:visible=
"visible"
title=
"新增账号"
@
ok=
"add"
centered
cancelText=
"取消"
okText=
"确定"
@
onCancel=
"closeModal"
...
...
@@ -50,6 +53,17 @@
<label
for=
"username"
>
账号名:
</label>
<a-input
style=
"width: 60%"
id=
"username"
v-model:value=
"username"
/>
</a-modal>
<a-modal
v-model:visible=
"visibleDelete"
title=
"提示信息"
centered
@
ok=
"deleteUser"
cancelText=
"取消"
okText=
"确定"
@
onCancel=
"closeModal"
>
<p>
确定删除以下用户吗?
</p>
</a-modal>
</template>
<
script
>
// import { AES_Encrypt, AES_Decrypt } from "@/utils/aes_util.js";
...
...
@@ -60,34 +74,47 @@ export default {
data
()
{
return
{
visible
:
false
,
visibleDelete
:
false
,
columns
:
[
{
title
:
"序号"
,
dataIndex
:
"id"
,
align
:
'center'
},
{
title
:
"姓名"
,
dataIndex
:
"name"
,
align
:
'center'
},
{
title
:
"手机号"
,
dataIndex
:
"phone"
,
align
:
'center'
},
{
title
:
"账号名"
,
dataIndex
:
"account_number"
,
align
:
'center'
},
{
title
:
"创建时间"
,
dataIndex
:
"create_time"
,
align
:
'center'
},
{
title
:
"
操作
"
,
title
:
"
状态
"
,
dataIndex
:
"status"
,
align
:
'center'
},
{
title
:
"操作"
,
dataIndex
:
"action"
,
align
:
'center'
},
],
selectedRowKeys
:
[],
data
:
[],
checked
:
true
};
},
created
()
{
...
...
@@ -111,11 +138,21 @@ export default {
mounted
()
{},
methods
:
{
//调用删除用户接口
deleteUser
(){
this
.
visibleDelete
=
false
},
//打开删除用户弹窗
opendeleteModal
(){
this
.
visibleDelete
=
true
},
//打开新增用户弹窗
openModal
()
{
this
.
visible
=
true
;
},
closeModal
()
{
this
.
visible
=
false
;
this
.
visibleDelete
=
false
},
add
()
{},
//用户列表初始化
...
...
@@ -153,11 +190,31 @@ export default {
background-color
:
#ebebeb
;
padding-left
:
30px
;
width
:
calc
(
100%
-
80px
);
//
text-align
:
center
;
flex
:
1
;
.img{
width
:
15px
;
height
:
15px
;
padding-right
:
3px
;
}
.marker
{
width
:
12px
;
height
:
12px
;
background-color
:
#00B42A
;
border-radius
:
50%
;
display
:
inline-block
;
}
.disabled
{
background-color
:
#ccc
;
}
.nav_bread
{
height
:
50px
;
padding
:
20px
3px
;
background-color
:
#ebebeb
;
}
:deep
(
.ant-switch-checked
)
{
background-color
:
#00B42A
;
}
}
</
style
>
src/views/company/index.vue
View file @
9623b853
...
...
@@ -36,9 +36,9 @@
</a-form-item>
<a-form-item
label=
"国民经济行业"
>
<a-cascader
v-model:value=
"value"
v-model:value=
"
industry
value"
multiple
:options=
"options
Area
"
:options=
"options
industry
"
placeholder=
"请选择"
></a-cascader>
</a-form-item>
...
...
@@ -59,18 +59,17 @@
<a-range-picker
v-model:value=
"formState['range-picker']"
value-format=
"YYYY-MM-DD"
:allowEmpty=
"[true,true]"
/>
</a-config-provider>
</a-form-item>
<a-form-item
label=
"企业创新"
>
<
!-- <
a-form-item label="企业创新">
<a-select
v-model:value="valueInnovation"
mode="multiple"
placeholder="请选择"
:options="optionsInnovation"
></a-select>
</a-form-item>
</a-form-item>
-->
<a-form-item
label=
"注册资本"
>
<a-input
v-model:value=
"formState.fieldA"
...
...
@@ -84,6 +83,13 @@
placeholder=
"请输入关键词"
/>
</a-form-item>
<a-form-item
label=
"企业创新排名"
>
<a-select
v-model:value=
"valueInnovation"
placeholder=
"请选择"
:options=
"optionsInnovation"
></a-select>
</a-form-item>
</a-form>
<a-button
type=
"default"
...
...
@@ -119,9 +125,9 @@
class=
"card"
v-for=
"item in companylist"
:key=
"item"
@
click=
"openCompany(item.name)"
@
click=
"openCompany(item.
company_
name)"
>
<div
class=
"card_title"
>
{{ item.name }}
</div>
<div
class=
"card_title"
>
{{ item.
company_
name }}
</div>
<!-- 关注 -->
<div
class=
"follow"
@
click=
"follow"
v-if=
"item.follow"
>
<img
...
...
@@ -140,21 +146,32 @@
<span
class=
"follow_str"
>
已关注
</span>
</div>
<a-tag
color=
"#56CA95"
>
{{ item.status }}
</a-tag>
<a-tag
color=
"#6096E6"
>
{{ item.type }}
</a-tag>
<a-tag
color=
"#6096E6"
v-if=
"item.high_new == 1"
>
{{
"高新技术"
}}
</a-tag>
<a-tag
color=
"#6096E6"
v-if=
"item.zjtg == 1"
>
{{
"专精特新"
}}
</a-tag>
<a-tag
color=
"#6096E6"
v-if=
"item.zjtg_sjxjr == 1"
>
{{
"专精特新小巨人"
}}
</a-tag>
<a-tag
color=
"#6096E6"
v-if=
"item.quoted_company == 1"
>
{{
"上市企业"
}}
</a-tag>
<a-divider
/>
<div
class=
"card_desc"
>
<a-descriptions
layout=
"vertical"
>
<a-descriptions-item
label=
"法定代表人"
>
{{
item.legal
Representative
item.legal
}}
</a-descriptions-item>
<a-descriptions-item
label=
"注册时间"
>
{{
item.
registrationTim
e
item.
build_dat
e
}}
</a-descriptions-item>
<a-descriptions-item
label=
"统一社会信用代码"
>
{{
item.code
item.
social_
code
}}
</a-descriptions-item>
<a-descriptions-item
label=
"国民经济行业"
>
{{ item.
industry
}}
{{ item.
company_industry_parent
}}
</a-descriptions-item>
<a-descriptions-item
:span=
"2"
label=
"注册地址"
>
{{
item.address
...
...
@@ -178,6 +195,7 @@
<
script
>
import
dayjs
from
"dayjs"
;
import
arealist
from
"../../utils/map.js"
;
import
{
enterpriseList
,
industryType
}
from
"../../utils/indexApi.js"
;
import
"dayjs/locale/zh-cn"
;
import
zh_CN
from
"ant-design-vue/lib/locale-provider/zh_CN"
;
dayjs
.
locale
(
"zh-cn"
);
...
...
@@ -186,12 +204,13 @@ export default {
data
()
{
return
{
zh_CN
,
total
:
"1255"
,
total
:
0
,
valueArea
:
[],
value2
:
[],
optionsArea
:
[],
valueInnovation
:
[]
,
valueInnovation
:
""
,
optionsInnovation
:
[
{
label
:
"请选择"
,
value
:
""
},
{
label
:
"企业科创能力"
,
value
:
"企业科创能力"
},
{
label
:
"企业技术合作"
,
value
:
"企业技术合作"
},
],
...
...
@@ -201,6 +220,8 @@ export default {
{
label
:
"专精特新小巨人"
,
value
:
"专精特新小巨人"
},
{
label
:
"上市挂牌企业"
,
value
:
"上市挂牌企业"
},
],
optionsindustry
:[],
industryType
:[],
valueType
:
[],
formState
:
{
layout
:
"horizontal"
,
...
...
@@ -250,6 +271,62 @@ export default {
},
components
:
{},
methods
:
{
//获取企业列表
getCompanyList
()
{
let
params
=
{
keyword
:
this
.
$route
.
params
.
keyword
||
""
,
page
:
1
,
size
:
10
,
};
enterpriseList
({
...
params
}).
then
((
res
)
=>
{
if
(
res
.
code
==
0
)
{
this
.
companylist
=
res
.
data
.
list
;
this
.
total
=
res
.
data
.
total
;
}
else
{
}
});
},
//获取国民经济行业
getindustryType
()
{
industryType
({}).
then
((
res
)
=>
{
// console.log(res)
this
.
optionsindustry
=
res
.
data
;
this
.
optionsindustry
.
forEach
((
item
)
=>
{
item
.
value
=
item
.
name
;
item
.
label
=
item
.
name
;
if
(
item
.
children
&&
item
.
children
.
length
!=
0
)
{
item
.
children
.
forEach
((
it
)
=>
{
it
.
value
=
it
.
name
;
it
.
label
=
it
.
name
;
});
}
});
console
.
log
(
this
.
optionsindustry
)
});
},
//改变页码
onChange
(
page
)
{
this
.
patentdata
=
[];
let
params
=
{
page
:
page
,
size
:
10
,
keyword
:
this
.
keyword
?
this
.
keyword
:
null
,
// zl_type: this.value1,
// sqrq_start: this.formState.rangetime1
// ? this.formState.rangetime1[0]
// : null,
// sqrq_end: this.formState.rangetime1
// ? this.formState.rangetime1[1]
// : null,
// gkrq_start: this.formState.rangetime2
// ? this.formState.rangetime2[0]
// : null,
// gkrq_end: this.formState.rangetime2
// ? this.formState.rangetime2[1]
// : null,
// zl_status: this.value2,
};
},
//重置筛选
clearvalue
()
{
this
.
valueArea
=
[];
...
...
@@ -281,18 +358,20 @@ export default {
},
//打开企业详情
openCompany
(
name
)
{
this
.
$store
.
commit
(
'setcurrent'
,
'企业'
)
this
.
$router
.
push
({
path
:
'/companyDetails'
,
query
:{
name
:
'111'
}
})
path
:
"/companyDetails"
,
query
:
{
name
:
name
,
}
,
})
;
},
},
created
()
{
this
.
getCompanyList
();
this
.
getindustryType
();
this
.
optionsArea
=
arealist
;
this
.
keyword
=
this
.
$route
.
query
.
keyword
;
this
.
valueInnovation
=
this
.
$route
.
query
.
valueInnovation
;
this
.
type
=
"企业"
;
},
};
...
...
src/views/company/overview.vue
View file @
9623b853
...
...
@@ -52,7 +52,7 @@
<div
class=
"company_con1"
id=
"PatentAnalysis"
>
<h2
class=
"title"
>
专利结构分析
</h2>
<p>
专利结构可从专利类型以及专利基本法律状态两个方面进行分析。从专利类型来看,一般在评估专利技术质量时,普遍认为发明>实用新型>外观。因此,关注发明专利的占比高低,可以帮助了解企业历史研发的技术质量水平。从专利基本法律状态来看,关注失效专利的占比,可以帮助了解企业当前持有技术的质量水平。该企业的专利数量为7件,其中发明专利4件,占比57.14%;
失
效专利4件,占比57.14%。
专利结构可从专利类型以及专利基本法律状态两个方面进行分析。从专利类型来看,一般在评估专利技术质量时,普遍认为发明>实用新型>外观。因此,关注发明专利的占比高低,可以帮助了解企业历史研发的技术质量水平。从专利基本法律状态来看,关注失效专利的占比,可以帮助了解企业当前持有技术的质量水平。该企业的专利数量为7件,其中发明专利4件,占比57.14%;
有
效专利4件,占比57.14%。
</p>
<div
class=
"ecahrsThree"
>
<EchartsCon
...
...
@@ -393,12 +393,12 @@ export default {
},
series
:
[
{
name
:
"
分类资金统计
"
,
name
:
"
专利类型分布图
"
,
type
:
"pie"
,
radius
:
[
"
30%"
,
"6
0%"
],
center
:
[
"
35
%"
,
"50%"
],
radius
:
[
"
20%"
,
"4
0%"
],
center
:
[
"
50
%"
,
"50%"
],
label
:
{
formatter
:
"{b}:{d}%"
,
// 用来换行
formatter
:
"{b}:
\
n
{d}%"
,
// 用来换行
},
data
:
[
{
value
:
6
,
name
:
"实用新型"
},
...
...
@@ -427,17 +427,17 @@ export default {
},
series
:
[
{
name
:
"
分类资金统计
"
,
name
:
"
专利状态分布图
"
,
type
:
"pie"
,
radius
:
[
"
30%"
,
"6
0%"
],
center
:
[
"
35
%"
,
"50%"
],
radius
:
[
"
20%"
,
"4
0%"
],
center
:
[
"
50
%"
,
"50%"
],
label
:
{
formatter
:
"{b}:{d}%"
,
// 用来换行
formatter
:
"{b}:
\
n
{d}%"
,
// 用来换行
},
data
:
[
{
value
:
6
,
name
:
"审中"
},
{
value
:
10
,
name
:
"有效"
},
{
value
:
20
,
name
:
"失效"
},
],
emphasis
:
{
itemStyle
:
{
...
...
@@ -462,12 +462,12 @@ export default {
},
series
:
[
{
name
:
"
分类资金统计
"
,
name
:
"
有效专利分布图
"
,
type
:
"pie"
,
radius
:
[
"
30%"
,
"6
0%"
],
center
:
[
"
35
%"
,
"50%"
],
radius
:
[
"
20%"
,
"4
0%"
],
center
:
[
"
50
%"
,
"50%"
],
label
:
{
formatter
:
"{b}:{d}%"
,
// 用来换行
formatter
:
"{b}:
\
n
{d}%"
,
// 用来换行
},
data
:
[
{
value
:
6
,
name
:
"实用新型"
},
...
...
src/views/company/technology.vue
View file @
9623b853
...
...
@@ -31,7 +31,7 @@
<div
class=
"company_con_anchor"
>
<a-anchor>
<a-anchor-link
style=
"font-size: 20px; color: #1
C1C
28; font-weight: bold"
style=
"font-size: 20px; color: #1
c1c
28; font-weight: bold"
title=
"科创能力评价"
/>
<a-anchor-link
href=
"#Ability"
title=
"科创能力分析"
/>
...
...
@@ -40,7 +40,7 @@
<div
id=
"components-back-top-demo-custom"
>
<a-back-top>
<div
class=
"ant-back-top-inner"
>
<img
src=
"@/static/common/icon-top.png"
alt=
""
>
<img
src=
"@/static/common/icon-top.png"
alt=
""
/
>
回到顶部
</div>
</a-back-top>
...
...
@@ -74,14 +74,19 @@ export default {
},
methods
:
{
getOption1
()
{
let
chart
=
echarts
.
init
(
document
.
getElementById
(
"echartsraodar"
));
let
option1
=
{
// tooltip: {
// trigger: "item",
// show: !this.hover,
// },
radar
:
[
{
indicator
:
[
{
text
:
"公司竞争力"
,
max
:
1
5
0
},
{
text
:
"技术质量"
,
max
:
1
5
0
},
{
text
:
"技术体量"
,
max
:
1
5
0
},
{
text
:
"公司竞争力"
,
max
:
1
0
0
},
{
text
:
"技术质量"
,
max
:
1
0
0
},
{
text
:
"技术体量"
,
max
:
1
0
0
},
],
center
:
[
"50%"
,
"50%"
],
...
...
@@ -105,7 +110,7 @@ export default {
},
data
:
[
{
value
:
[
10
0
,
93
,
50
],
value
:
[
5
0
,
93
,
50
],
name
:
"分值"
,
areaStyle
:
{
...
...
@@ -126,44 +131,35 @@ export default {
//在name上移动
let
that
=
this
;
chart
.
on
(
"mousemove"
,
function
(
params
)
{
console
.
log
(
params
.
event
.
offsetX
);
that
.
hover
=
true
;
that
.
$nextTick
(()
=>
{
if
(
params
.
name
==
"技术质量"
)
{
that
.
$nextTick
(()
=>
{
that
.
$refs
.
hover
.
style
.
left
=
params
.
event
.
offsetX
+
"px"
;
that
.
$refs
.
hover
.
style
.
top
=
params
.
event
.
offsetY
+
"px"
;
});
if
(
params
.
name
==
"技术质量"
)
{
that
.
con
=
"从有效专利占专利申请总量比例、有效发明专利占有效专利比例和风险专利占全部申请专利的比例分析"
;
}
else
if
(
params
.
name
==
"公司竞争力"
)
{
that
.
$nextTick
(()
=>
{
that
.
$refs
.
hover
.
style
.
left
=
params
.
event
.
offsetX
+
"px"
;
that
.
$refs
.
hover
.
style
.
top
=
params
.
event
.
offsetY
+
"px"
;
});
that
.
con
=
"从公司资质类别、公司规模、对外投资和公司融资分析"
;
}
else
if
(
params
.
name
==
"技术体量"
)
{
that
.
$nextTick
(()
=>
{
that
.
$refs
.
hover
.
style
.
left
=
params
.
event
.
offsetX
+
"px"
;
that
.
$refs
.
hover
.
style
.
top
=
params
.
event
.
offsetY
+
"px"
;
});
that
.
con
=
"从专利申请总量、有效专利总量和近3年专利申请增速分析"
;
}
else
{
that
.
hover
=
false
;
}
});
chart
.
on
(
"mouseout"
,
function
(
params
)
{
console
.
log
(
params
.
event
.
offsetX
);
that
.
hover
=
false
;
// that.$nextTick(() => {
// that.$refs.hover.style.left = params.event.offsetX;
// that.$nextTick(() => {
// // that.left = params.event.offsetX + "px";
// // that.top = params.event.offsetY + "px";
// that.$refs.hover.style.left = params.event.offsetX+'px';
// that.$refs.hover.style.top = params.event.offsetY+'px';
// });
// console.log( that.top)
// console.log(that.$refs.hover)
// });
// if (params.name == "技术质量") {
// that.con =
// "从有效专利占专利申请总量比例、有效发明专利占有效专利比例和风险专利占全部申请专利的比例分析";
// // tooldiv.innerHTML =
// }
// chart.setOption(that.option);
});
},
getOption2
()
{
...
...
@@ -190,7 +186,6 @@ export default {
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
)
{
datalength
.
push
(
0
);
}
this
.
option2
=
{
grid
:
{
...
...
@@ -211,7 +206,7 @@ export default {
legend
:
{
show
:
true
,
data
:
[
"均值"
,
"公司"
],
bottom
:
'0%'
,
bottom
:
"0%"
,
},
yAxis
:
[
{
...
...
@@ -353,23 +348,23 @@ export default {
.company_con_anchor
{
margin-top
:
15px
;
font-weight
:
bold
;
color
:
#1
C1C
28
;
color
:
#1
c1c
28
;
:deep(.ant-anchor-link-title)
{
color
:
#1
C1C
28
;
color
:
#1
c1c
28
;
margin-bottom
:
15px
;
}
:deep
(
.ant-anchor-link-active
>
.ant-anchor-link-title
)
{
color
:
#1890ff
;
}
:deep
(
.ant-anchor-ink
::before
)
{
:deep
(
.ant-anchor-ink
::before
)
{
width
:
8px
;
background-color
:
#
F5F5F
5
;
background-color
:
#
f5f5f
5
;
}
:deep
(
.ant-anchor-wrapper
)
{
background-color
:
#fff
;
padding-left
:
10px
;
color
:
#1
C1C
28
;
color
:
#1
c1c
28
;
height
:
350px
;
margin-left
:
10px
;
padding
:
30px
15px
0
;
...
...
src/views/follow/index.vue
View file @
9623b853
<
template
>
<div
class=
"history"
>
<a-breadcrumb
class=
"nav_bread"
>
<a-breadcrumb-item>
首页
</a-breadcrumb-item>
<a-breadcrumb-item>
历史记录
</a-breadcrumb-item>
</a-breadcrumb>
<!-- 主体 -->
<div
class=
"history_con"
>
<a-table
:style=
"'width:90%'"
:columns=
"columnshistory"
:data-source=
"dataHistory"
:pagination=
"false"
>
<template
#
bodyCell=
"
{ column, text, record }">
<template
v-if=
"column.dataIndex == 'action'"
>
<a-button
type=
"primary"
danger
@
click=
"openModal"
>
取消关注
</a-button
>
</
template
>
</template>
</a-table>
<a-pagination
@
change=
"onChange"
:total=
"total"
:showSizeChanger=
"false"
/>
</div>
<a-modal
centered
style=
"text-align: center"
v-model:visible=
"visible"
title=
"提示信息"
@
ok=
"removeFollow"
cancelText=
"取消"
okText=
"确定"
@
onCancel=
"closeModal"
>
<p>
是否确定从当前分组中删除该企业?
</p>
</a-modal>
</div>
</template>
<
script
>
export
default
{
name
:
'follow'
,
data
(){
return
{
}
name
:
"follow"
,
data
()
{
return
{
total
:
0
,
visible
:
false
,
columnshistory
:
[
{
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"
,
},
{
title
:
"操作"
,
dataIndex
:
"action"
,
key
:
"action"
,
},
],
dataHistory
:
[
{
key
:
"1"
,
name
:
"John Brown"
,
age
:
32
,
address
:
"New York No. 1 Lake "
,
action
:
1
,
},
],
};
},
components
:
{
components
:
{},
methods
:
{
//改变页码
onChange
()
{},
//取消关注
removeFollow
()
{
this
.
visible
=
false
;
},
//打开弹窗
openModal
()
{
this
.
visible
=
true
;
},
//关闭弹窗
closeModal
()
{
this
.
visible
=
false
;
},
},
methods
:{
},
created
(){
}
}
created
()
{},
};
</
script
>
<
style
lang=
"less"
scoped
>
</
style
>
\ No newline at end of file
.history
{
padding
:
0
30px
;
width
:
calc
(
100%
);
min-height
:
820px
;
background-color
:
#ebebeb
;
position
:
relative
;
.nav_bread
{
height
:
50px
;
padding
:
20px
3px
;
background-color
:
#ebebeb
;
}
.history_con
{
background-color
:
#fff
;
padding
:
20px
;
text-align
:
center
;
}
:deep
(
.ant-modal-footer
)
{
text-align
:
center
!important
;
}
}
</
style
>
src/views/history/index.vue
View file @
9623b853
...
...
@@ -3,7 +3,8 @@
<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-item
v-if=
"activeKey == 1"
>
浏览记录
</a-breadcrumb-item>
<a-breadcrumb-item
v-else
>
导出记录
</a-breadcrumb-item>
</a-breadcrumb>
<!-- 主体 -->
<div
class=
"history_con"
>
...
...
@@ -14,6 +15,7 @@
:columns=
"columnshistory"
:data-source=
"dataHistory"
:pagination=
"false"
:style=
"'width:90%;'"
>
</a-table>
<a-pagination
...
...
@@ -25,9 +27,10 @@
<a-tab-pane
key=
"2"
tab=
"导出记录"
>
<p
style=
"text-align: left"
>
系统会为您保留 30 天的导出记录
</p>
<a-table
:columns=
"column
shistory
"
:columns=
"column
out
"
:data-source=
"dataHistory"
:pagination=
"false"
:style=
"'width:90%'"
>
<template
#
bodyCell=
"
{ column, text, record }">
<template
v-if=
"column.dataIndex == 'action'"
>
...
...
@@ -62,7 +65,11 @@
@
onCancel=
"closeModal"
>
<a-form
:model=
"formState"
:validate-messages=
"validateMessages"
>
<a-form-item
:name=
"'email'"
label=
"发送给"
:rules=
"[{ type: 'email' }]"
>
<a-form-item
:name=
"'email'"
label=
"发送给"
:rules=
"[{ type: 'email' }]"
>
<a-input
v-model:value=
"formState.email"
/>
</a-form-item>
</a-form>
...
...
@@ -103,19 +110,44 @@ export default {
key
:
"address 1"
,
},
{
title
:
"时间"
,
dataIndex
:
"address"
,
key
:
"address 3"
,
},
],
columnout
:[
{
title
:
"序号"
,
dataIndex
:
"name"
,
key
:
"name"
,
},
{
title
:
"名称"
,
dataIndex
:
"age"
,
key
:
"age"
,
},
{
title
:
"类型"
,
dataIndex
:
"address"
,
key
:
"address 1"
,
width
:
200
},
{
title
:
"接受邮箱"
,
dataIndex
:
"address"
,
key
:
"address 2"
,
key
:
"address 3"
,
width
:
200
},
{
title
:
"时间"
,
dataIndex
:
"address"
,
key
:
"address 3"
,
width
:
200
},
{
title
:
"操作"
,
dataIndex
:
"action"
,
key
:
"a
ction
"
,
key
:
"a
ddress 3
"
,
},
],
dataHistory
:
[
...
...
@@ -151,6 +183,7 @@ export default {
.history
{
padding
:
0
30px
;
width
:
calc
(
100%
);
min-height
:
820px
;
background-color
:
#ebebeb
;
position
:
relative
;
.nav_bread
{
...
...
@@ -162,6 +195,7 @@ export default {
background-color
:
#fff
;
padding
:
20px
;
text-align
:
center
;
//
height
:
600px
;
}
}
</
style
>
src/views/home/home.vue
View file @
9623b853
<
template
>
<div
class=
"home_con"
>
<!-- 面包屑导航 -->
<a-breadcrumb
class=
"nav_bread"
>
...
...
@@ -63,7 +62,7 @@
<div
class=
"ranking_title"
>
<img
src=
"@/static/home/index/icon-list01.png"
alt=
""
/>
<span
class=
"title"
>
企业科创能力榜单
</span>
<span
class=
"more"
>
更多
</span>
<span
class=
"more"
@
click=
"openmore('1')"
>
更多
</span>
</div>
<!-- 判断是否有数据 -->
<ul
v-if=
"innovateList.length !== 0"
>
...
...
@@ -80,7 +79,7 @@
<div
class=
"ranking_title"
>
<img
src=
"@/static/home/index/icon-list02.png"
alt=
""
/>
<span
class=
"title"
>
企业技术合作榜单
</span>
<span
class=
"more"
>
更多
</span>
<span
class=
"more"
@
click=
"openmore('2')"
>
更多
</span>
</div>
<ul
v-if=
"innovateList.length !== 0"
>
<li
class=
"rank_item"
v-for=
"item in innovateList"
>
...
...
@@ -96,7 +95,7 @@
<div
class=
"ranking_title"
>
<img
src=
"@/static/home/index/icon-list02.png"
alt=
""
/>
<span
class=
"title"
>
浏览记录
</span>
<span
class=
"more"
>
更多
</span>
<span
class=
"more"
@
click=
"openHistory"
>
更多
</span>
</div>
<ul
v-if=
"followList.length !== 0"
>
<li
class=
"rank_item"
v-for=
"item in followList"
>
...
...
@@ -112,7 +111,7 @@
<div
class=
"ranking_title"
>
<img
src=
"@/static/home/index/icon-list02.png"
alt=
""
/>
<span
class=
"title"
>
我的关注
</span>
<span
class=
"more"
>
更多
</span>
<span
class=
"more"
@
click=
"openFollow"
>
更多
</span>
</div>
<ul
v-if=
"followList.length !== 0"
>
<li
class=
"rank_item"
v-for=
"item in followList"
>
...
...
@@ -128,7 +127,6 @@
</div>
</template>
<
script
>
export
default
{
name
:
"home"
,
data
()
{
...
...
@@ -145,21 +143,64 @@ export default {
},
components
:
{},
methods
:
{
//打开历史记录
openHistory
()
{
this
.
$router
.
push
({
path
:
"/history"
,
});
},
//打开我的关注
openFollow
()
{
this
.
$router
.
push
({
path
:
"/follow"
,
});
},
//打开榜单
openmore
(
id
)
{
if
(
id
==
'1'
)
{
this
.
$router
.
push
({
path
:
"/company"
,
query
:
{
valueInnovation
:
"企业科创能力"
,
},
});
}
else
{
this
.
$router
.
push
({
path
:
"/company"
,
query
:
{
valueInnovation
:
"企业技术合作"
,
},
});
}
},
changetab
(
id
)
{
// console.log(id)
this
.
tab_id
=
id
;
},
onSearch
()
{
if
(
this
.
tab_id
==
"1"
)
{
this
.
$router
.
push
({
path
:
"/patent"
,
query
:{
keyword
:
this
.
searchValue
}
query
:
{
keyword
:
this
.
searchValue
,
}
,
});
this
.
$store
.
commit
(
'setcurrent'
,
'专利'
)
}
else
{
this
.
$router
.
push
({
path
:
"/company"
,
query
:
{
keyword
:
this
.
searchValue
,
},
});
}
},
},
...
...
src/views/home/index.vue
View file @
9623b853
...
...
@@ -25,29 +25,21 @@
<div
class=
"home_main"
>
<div
class=
"sider"
>
{{
this.$store.state.
current }}
{{ current }}
<div
:class=
"[
this.$store.state.current == item.name
? 'sider_item active'
: 'sider_item ',
]"
:class=
"[current == item.name ? 'sider_item active' : 'sider_item ']"
v-for=
"item in siderArr"
:key=
"item.name"
@
click=
"changepage(item.name)"
>
<img
:src=
"
this.$store.state.current == item.name
? item.img_select
: item.img
"
:src=
"current == item.name ? item.img_select : item.img"
alt=
""
class=
"sider_item_img"
/>
<div
:class=
"[
this.$store.state.
current == item.name
current == item.name
? 'sider_item_name active '
: 'sider_item_name',
]"
...
...
@@ -70,7 +62,7 @@ export default {
return
{
current
:
"首页"
,
searchValue
:
""
,
type
:
'企业'
,
type
:
"企业"
,
siderArr
:
[
{
name
:
"首页"
,
...
...
@@ -118,41 +110,60 @@ export default {
this
.
$router
.
push
({
path
:
"/company"
,
});
this
.
$store
.
commit
(
"setcurrent"
,
"企业"
);
break
;
case
"首页"
:
this
.
$router
.
push
({
path
:
"/home"
,
});
this
.
$store
.
commit
(
"setcurrent"
,
"首页"
);
break
;
case
"专利"
:
this
.
$router
.
push
({
path
:
"/patent"
,
});
this
.
$store
.
commit
(
"setcurrent"
,
"专利"
);
break
;
case
"历史记录"
:
this
.
$store
.
commit
(
"setcurrent"
,
"历史记录"
);
this
.
$router
.
push
({
path
:
"/history"
,
});
this
.
$store
.
commit
(
"setcurrent"
,
"历史记录"
);
break
;
case
"我的关注"
:
this
.
$store
.
commit
(
"setcurrent"
,
"我的关注"
);
this
.
$router
.
push
({
path
:
"/follow"
,
});
break
;
}
this
.
current
=
this
.
$store
.
state
.
current
;
},
},
watch
:
{
$route
()
{
let
path
=
this
.
$route
.
path
;
switch
(
path
)
{
case
"/company"
||
"/companyDetails"
:
this
.
current
=
"企业"
;
break
;
case
"/home"
:
this
.
current
=
"首页"
;
break
;
case
"/patent"
||
"/patentDetails"
:
this
.
current
=
"专利"
;
break
;
case
"/history"
:
this
.
current
=
"历史记录"
;
break
;
case
"/follow"
:
this
.
current
=
"我的关注"
;
break
;
}
},
},
mounted
()
{},
created
()
{
this
.
username
=
this
.
$store
.
state
.
username
;
this
.
current
=
this
.
$store
.
state
.
current
;
},
};
</
script
>
...
...
@@ -161,7 +172,7 @@ export default {
height
:
calc
(
100%
);
width
:
calc
(
100%
);
position
:
relative
;
.home_main
{
height
:
calc
(
100%
-
80px
);
width
:
100%
;
...
...
src/views/login/index.vue
View file @
9623b853
...
...
@@ -52,7 +52,7 @@
</a-form-item>
<a-form-item>
<a-form-item
name=
"remember"
>
<a-form-item
name=
"remember"
>
<a-checkbox
v-model:checked=
"formState.remember"
>
记住密码
</a-checkbox
>
...
...
@@ -67,14 +67,6 @@
>
登录
</a-button>
<!-- <a-button
type="primary"
html-type="submit"
class="login-form-button"
@click="send"
>
发送
</a-button> -->
</a-form-item>
<a-form-item>
<div
class=
"admin_login"
style=
"float: left"
>
...
...
@@ -125,18 +117,21 @@ export default {
mounted
()
{
let
login_name
=
localStorage
.
getItem
(
"login_name"
);
let
password
=
localStorage
.
getItem
(
"password"
);
console
.
log
(
password
)
//如果登录的用户名和密码都保存了 name选择的是记住密码选项
if
(
login_name
&&
password
)
{
this
.
formState
.
username
=
login_name
;
this
.
formState
.
password
=
password
;
this
.
formState
.
remember
=
true
this
.
formState
.
remember
=
true
;
}
if
(
login_name
)
{
this
.
formState
.
username
=
login_name
;
}
},
methods
:
{
//账号登录
login
()
{
console
.
log
(
this
.
formState
.
username
)
let
param
=
AES_Encrypt
(
JSON
.
stringify
({
login_name
:
this
.
formState
.
username
,
...
...
@@ -147,20 +142,18 @@ export default {
param
,
}).
then
((
res
)
=>
{
if
(
res
.
code
==
0
)
{
message
.
success
(
"登录成功"
);
// this.$store.commit("setTOKEN", res.data.token);
this
.
$store
.
commit
(
"setname"
,
this
.
formState
.
username
);
this
.
$store
.
commit
(
"setcurrent"
,
'首页'
);
localStorage
.
setItem
(
"token"
,
res
.
data
.
token
);
localStorage
.
setItem
(
"login_name"
,
this
.
formState
.
username
);
//记住密码功能
if
(
this
.
formState
.
remember
)
{
//存在localstroge中
localStorage
.
setItem
(
"password"
,
this
.
formState
.
password
);
localStorage
.
setItem
(
"login_name"
,
this
.
formState
.
username
);
}
localStorage
.
setItem
(
"token"
,
res
.
data
.
token
);
this
.
$router
.
push
({
path
:
"/index"
,
});
...
...
@@ -169,9 +162,15 @@ export default {
}
});
},
send
()
{
sendSms
({
phone
:
15313067271
}).
then
((
res
)
=>
{});
},
// send() {
// sendSms({ phone: 15313067271 }).then((res) => {
// if(res.code == 0){
// }else{
// message.error(res.msg);
// }
// });
// },
},
};
</
script
>
...
...
src/views/patent/index.vue
View file @
9623b853
...
...
@@ -34,21 +34,21 @@
:options=
"optionsType"
></a-select>
</a-form-item>
<a-form-item
name=
"range-picker"
label=
"申请日"
v-bind=
"rangeConfig"
>
<a-form-item
name=
"range-picker"
label=
"申请日"
>
<a-config-provider
:locale=
"zh_CN"
>
<a-range-picker
v-model:value=
"formState['rangetime1']"
value-format=
"YYYY-MM-DD"
:allowEmpty=
"[true,true]"
/>
</a-config-provider>
</a-form-item>
<a-form-item
name=
"range-picker"
label=
"公开日"
v-bind=
"rangeConfig"
>
<a-form-item
name=
"range-picker"
label=
"公开日"
>
<a-config-provider
:locale=
"zh_CN"
>
<a-range-picker
v-model:value=
"formState['rangetime2']"
value-format=
"YYYY-MM-DD"
:allowEmpty=
"[true,true]"
/>
</a-config-provider>
</a-form-item>
...
...
@@ -123,6 +123,7 @@ import { patents, patentselect } from "../../utils/indexApi";
import
dayjs
from
"dayjs"
;
import
"dayjs/locale/zh-cn"
;
import
zh_CN
from
"ant-design-vue/lib/locale-provider/zh_CN"
;
import
{
message
}
from
"ant-design-vue"
;
dayjs
.
locale
(
"zh-cn"
);
export
default
{
...
...
@@ -147,8 +148,8 @@ export default {
formState
:
{
// layout: "horizontal",
// keyword: "",
rangetime1
:
""
,
rangetime2
:
""
,
rangetime1
:
[]
,
rangetime2
:
[]
,
},
columns
:
[
{
...
...
@@ -181,6 +182,7 @@ export default {
],
patentdata
:
[],
filter
:
[],
total
:
0
};
},
components
:
{},
...
...
@@ -193,11 +195,14 @@ export default {
size
:
10
,
};
patents
({
...
params
}).
then
((
res
)
=>
{
console
.
log
(
res
);
if
(
res
.
code
==
0
)
{
this
.
patentdata
=
res
.
data
.
list
;
this
.
total
=
res
.
data
.
total
;
}
else
{
message
.
error
(
res
.
data
.
msg
)
}
});
},
//改变页码
...
...
@@ -223,7 +228,6 @@ export default {
zl_status
:
this
.
value2
,
};
patentselect
({
...
params
}).
then
((
res
)
=>
{
console
.
log
(
res
);
if
(
res
.
code
==
0
)
{
this
.
patentdata
=
res
.
data
.
list
;
this
.
total
=
res
.
data
.
total
;
...
...
@@ -296,7 +300,6 @@ export default {
return
{
onClick
:
(
event
)
=>
{
console
.
log
(
record
);
this
.
$store
.
commit
(
"setcurrent"
,
"专利"
);
this
.
$router
.
push
({
path
:
"/patentDetails"
,
query
:
{
...
...
src/views/patent/patentDetails.vue
View file @
9623b853
...
...
@@ -556,7 +556,8 @@ export default {
},
},
created
()
{
this
.
$store
.
commit
(
"setcurrent"
,
"专利"
);
// this.$store.commit("setcurrent", "专利");
localStorage
.
setItem
(
"current"
,
"专利"
);
let
id
=
this
.
$route
.
query
.
id
;
this
.
zlcode
=
this
.
$route
.
query
.
zlcode
;
this
.
title
=
this
.
$route
.
query
.
title
;
...
...
src/views/userset/personalSetting.vue
View file @
9623b853
...
...
@@ -30,7 +30,7 @@
</a-upload>
</a-form-item>
<a-form-item
label=
"账号"
name=
"username"
>
<a-input
v-model:value=
"
formState.username"
readOnly
/>
<a-input
v-model:value=
"
login_name"
disabled
/>
</a-form-item>
<a-form-item
label=
"姓名"
name=
"name"
>
...
...
@@ -140,13 +140,12 @@ export default {
resetShow
:
false
,
timer
:
null
,
RemainingTime
:
0
,
phone
:
"
125
"
,
phone
:
""
,
fileList
:
[],
headers
:
{
authorization
:
"authorization-text"
,
},
formState
:
{
username
:
""
,
name
:
"李建国"
,
phone
:
""
,
code
:
""
,
...
...
@@ -160,10 +159,11 @@ export default {
},
created
()
{
//获取个人详细信息
this
.
formState
.
phone
=
"1"
;
// this.formState.phone = "1";
},
mounted
()
{
this
.
formState
.
username
=
this
.
$store
.
state
.
username
;
this
.
login_name
=
localStorage
.
getItem
(
'login_name'
)
;
},
methods
:
{
handleChange
(
info
)
{
...
...
@@ -230,6 +230,7 @@ export default {
background-color
:
#ebebeb
;
padding-left
:
30px
;
width
:
calc
(
100%
-
80px
);
min-height
:
800px
;
flex
:
1
;
.nav_bread
{
height
:
50px
;
...
...
src/views/userset/securitySetting.vue
View file @
9623b853
...
...
@@ -5,12 +5,51 @@
<a-breadcrumb-item>
用户设置
</a-breadcrumb-item>
<a-breadcrumb-item>
安全设置
</a-breadcrumb-item>
</a-breadcrumb>
<!-- 安全设置-->
<div
class=
"personal_set"
>
<a-form
:model=
"formState"
name=
"basic"
:label-col=
"
{ span: 2 }"
:wrapper-col="{ span: 5 }"
autocomplete="off"
>
<a-form-item
label=
"手机号"
name=
"img"
class=
"header_label"
>
<a-input
v-model:value=
"formState.phone"
/>
</a-form-item>
<a-form-item
label=
"验证码"
name=
"code"
>
<a-input
v-model:value=
"formState.code"
/>
</a-form-item>
<a-form-item
label=
"新密码"
name=
"newpwd"
>
<a-input
v-model:value=
"formState.newpwd"
/>
</a-form-item>
<a-form-item
label=
"确认密码"
name=
"renewpwd"
>
<a-input
v-model:value=
"formState.renewpwd"
/>
</a-form-item>
<div
class=
"save_btn"
>
<a-button
type=
"primary"
html-type=
"submit"
@
click=
"save"
>
保存
</a-button>
</div>
</a-form>
</div>
</div>
</
template
>
<
script
>
export
default
{
name
:
"securitySetting"
,
data
(){
return
{
formState
:{
phone
:
''
,
code
:
''
,
newpwd
:
''
,
renewpwd
:
''
}
}
}
};
</
script
>
...
...
@@ -19,11 +58,23 @@ export default {
background-color
:
#ebebeb
;
padding-left
:
30px
;
width
:
calc
(
100%
-
80px
);
min-height
:
800px
;
flex
:
1
;
.nav_bread
{
height
:
50px
;
padding
:
20px
3px
;
background-color
:
#ebebeb
;
}
.personal_set
{
width
:
100%
;
height
:
calc
(
100%
-
80px
);
background-color
:
#fff
;
padding
:
40px
40px
;
}
.save_btn
{
padding-left
:
150px
;
padding-top
:
20px
;
}
}
</
style
>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment