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
a72e36fc
Commit
a72e36fc
authored
Jul 27, 2023
by
liudx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
公司详情页面
parent
880918b4
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
211 additions
and
213 deletions
+211
-213
public/company.docx
+0
-0
public/patent.docx
+0
-0
src/components/EchartsCon.vue
+6
-1
src/utils/indexApi.js
+6
-0
src/utils/loginAPI.js
+1
-0
src/views/adminset/userInfo.vue
+60
-38
src/views/company/companyDetails.vue
+0
-0
src/views/company/companyProfile.vue
+3
-18
src/views/company/cooperation.vue
+72
-76
src/views/company/index.vue
+7
-29
src/views/company/overview.vue
+35
-28
src/views/company/technology.vue
+0
-0
src/views/home/home.vue
+4
-0
src/views/login/admin.vue
+1
-1
src/views/login/forget.vue
+9
-15
src/views/patent/patentDetails.vue
+5
-6
src/views/userset/securitySetting.vue
+2
-1
No files found.
public/company.docx
View file @
a72e36fc
No preview for this file type
public/patent.docx
View file @
a72e36fc
No preview for this file type
src/components/EchartsCon.vue
View file @
a72e36fc
...
@@ -23,7 +23,7 @@ export default {
...
@@ -23,7 +23,7 @@ export default {
},
},
option
:
{
option
:
{
type
:
Object
,
type
:
Object
,
default
:
{}
default
:
{},
},
},
},
},
computed
:
{
computed
:
{
...
@@ -69,7 +69,12 @@ export default {
...
@@ -69,7 +69,12 @@ export default {
// });
// });
// },
// },
init
()
{
init
()
{
if
(
document
.
getElementById
(
this
.
id
)
==
null
)
{
return
;
}
echarts
.
dispose
(
document
.
getElementById
(
this
.
id
));
let
chart
=
echarts
.
init
(
document
.
getElementById
(
this
.
id
));
let
chart
=
echarts
.
init
(
document
.
getElementById
(
this
.
id
));
chart
.
setOption
(
this
.
option
);
chart
.
setOption
(
this
.
option
);
// let that = this;
// let that = this;
...
...
src/utils/indexApi.js
View file @
a72e36fc
...
@@ -19,6 +19,12 @@ export const enterpriseDetail = p => get('/api/enterprise/detail/'+p.id);
...
@@ -19,6 +19,12 @@ export const enterpriseDetail = p => get('/api/enterprise/detail/'+p.id);
export
const
researchDevelop
=
p
=>
get
(
'/api/enterprise/researchDevelop/'
+
p
.
id
)
export
const
researchDevelop
=
p
=>
get
(
'/api/enterprise/researchDevelop/'
+
p
.
id
)
//企业详情-》研发概要 研发可持续性
//企业详情-》研发概要 研发可持续性
export
const
sustainability
=
p
=>
get
(
'/api/enterprise/sustainability/'
+
p
.
id
)
export
const
sustainability
=
p
=>
get
(
'/api/enterprise/sustainability/'
+
p
.
id
)
//企业详情-》研发概要 专利结构分析
export
const
structure
=
p
=>
get
(
'/api/enterprise/structure/'
+
p
.
id
)
//企业详情-技术合作 联合申请
export
const
jointApplication
=
p
=>
get
(
'/api/enterprise/jointApplication/'
+
p
.
id
)
//企业详情-技术合作 专利购买
export
const
patentPurchase
=
p
=>
get
(
'/api/enterprise/patentPurchase/'
+
p
.
id
)
...
...
src/utils/loginAPI.js
View file @
a72e36fc
...
@@ -11,6 +11,7 @@ import { get, post,put } from './request'
...
@@ -11,6 +11,7 @@ import { get, post,put } from './request'
export
const
sendSms
=
p
=>
post
(
'/api/common/sendSms'
,
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
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
});
export
const
changeStatus
=
p
=>
put
(
'/api/backup/users/'
+
p
.
id
,{
status
:
p
.
status
});
export
const
addusers
=
p
=>
post
(
'/api/backup/users'
,
p
);
...
...
src/views/adminset/userInfo.vue
View file @
a72e36fc
...
@@ -7,34 +7,41 @@
...
@@ -7,34 +7,41 @@
</a-breadcrumb>
</a-breadcrumb>
<div
class=
"table"
>
<div
class=
"table"
>
<a-button
type=
"primary"
size=
"large"
@
click=
"openModal"
>
<a-button
type=
"primary"
size=
"large"
@
click=
"openModal"
>
<img
src=
"../../static/login/icon-add.png"
alt=
""
class=
"img"
>
<img
src=
"../../static/login/icon-add.png"
alt=
""
class=
"img"
/>
新增
新增
</a-button
</a-button
>
>
<a-button
type=
"primary"
size=
"large"
danger
@
click=
"opendeleteModal"
>
<a-button
type=
"primary"
size=
"large"
danger
@
click=
"opendeleteModal"
>
<img
src=
"../../static/login/icon-delete.png"
alt=
""
class=
"img"
>
<img
src=
"../../static/login/icon-delete.png"
alt=
""
class=
"img"
/>
删除
</a-button>
删除
</a-button
>
<br
/><br
/>
<br
/><br
/>
<a-table
<a-table
:row-selection=
"rowSelection"
:row-selection=
"rowSelection"
:columns=
"columns"
:columns=
"columns"
:data-source=
"data"
:data-source=
"data"
:rowKey=
"row=>
{return row.id}"
:rowKey=
"
(row) =>
{
return row.id;
}
"
>
>
<template
#
bodyCell=
"
{ column, text, record }">
<template
#
bodyCell=
"
{ column, text, record }">
<template
v-if=
"column.dataIndex === 'status'"
>
<template
v-if=
"column.dataIndex === 'status'"
>
<div
v-if=
"text"
class=
"status"
>
<div
v-if=
"text"
class=
"status"
>
<span
class=
"marker"
></span>
<span
class=
"marker"
></span>
已启用
</div>
已启用
</div>
<div
v-else
class=
"status"
>
<div
v-else
class=
"status"
>
<span
class=
"marker disabled"
></span>
<span
class=
"marker disabled"
></span>
已禁用
</div>
已禁用
</div>
</
template
>
</
template
>
<
template
v-if=
"column.dataIndex === 'action'"
>
<
template
v-if=
"column.dataIndex === 'action'"
>
<!--
<a
@
click=
"change(record)"
danger
v-if=
"text"
>
禁用
</a>
<!--
<a
@
click=
"change(record)"
danger
v-if=
"text"
>
禁用
</a>
<a
v-else
>
使用
</a>
-->
<a
v-else
>
使用
</a>
-->
<a-switch
@
click=
"change(record)"
v-model:checked=
"status"
>
禁用
</a-switch>
<a-switch
@
click=
"change(record)"
v-model:checked=
"status"
></a-switch
>
</
template
>
</
template
>
</template>
</template>
</a-table>
</a-table>
...
@@ -42,7 +49,6 @@
...
@@ -42,7 +49,6 @@
</div>
</div>
<a-modal
<a-modal
v-model:visible=
"visible"
v-model:visible=
"visible"
title=
"新增账号"
title=
"新增账号"
@
ok=
"add"
@
ok=
"add"
centered
centered
...
@@ -68,53 +74,54 @@
...
@@ -68,53 +74,54 @@
<
script
>
<
script
>
// import { AES_Encrypt, AES_Decrypt } from "@/utils/aes_util.js";
// import { AES_Encrypt, AES_Decrypt } from "@/utils/aes_util.js";
import
{
message
}
from
"ant-design-vue"
;
import
{
message
}
from
"ant-design-vue"
;
import
{
users
,
changeStatus
}
from
"@/utils/loginAPI"
;
import
{
users
,
changeStatus
,
addusers
}
from
"@/utils/loginAPI"
;
export
default
{
export
default
{
name
:
"userInfo"
,
name
:
"userInfo"
,
data
()
{
data
()
{
return
{
return
{
visible
:
false
,
visible
:
false
,
visibleDelete
:
false
,
username
:
''
,
visibleDelete
:
false
,
columns
:
[
columns
:
[
{
{
title
:
"序号"
,
title
:
"序号"
,
dataIndex
:
"id"
,
dataIndex
:
"id"
,
align
:
'center'
align
:
"center"
,
},
},
{
{
title
:
"姓名"
,
title
:
"姓名"
,
dataIndex
:
"name"
,
dataIndex
:
"name"
,
align
:
'center'
align
:
"center"
,
},
},
{
{
title
:
"手机号"
,
title
:
"手机号"
,
dataIndex
:
"phone"
,
dataIndex
:
"phone"
,
align
:
'center'
align
:
"center"
,
},
},
{
{
title
:
"账号名"
,
title
:
"账号名"
,
dataIndex
:
"account_number"
,
dataIndex
:
"account_number"
,
align
:
'center'
align
:
"center"
,
},
},
{
{
title
:
"创建时间"
,
title
:
"创建时间"
,
dataIndex
:
"create_time"
,
dataIndex
:
"create_time"
,
align
:
'center'
align
:
"center"
,
},
},
{
{
title
:
"状态"
,
title
:
"状态"
,
dataIndex
:
"status"
,
dataIndex
:
"status"
,
align
:
'center'
align
:
"center"
,
},
},
{
{
title
:
"操作"
,
title
:
"操作"
,
dataIndex
:
"action"
,
dataIndex
:
"action"
,
align
:
'center'
align
:
"center"
,
},
},
],
],
selectedRowKeys
:
[],
selectedRowKeys
:
[],
data
:
[],
data
:
[],
checked
:
true
checked
:
true
,
};
};
},
},
created
()
{
created
()
{
...
@@ -139,12 +146,12 @@ export default {
...
@@ -139,12 +146,12 @@ export default {
mounted
()
{},
mounted
()
{},
methods
:
{
methods
:
{
//调用删除用户接口
//调用删除用户接口
deleteUser
(){
deleteUser
()
{
this
.
visibleDelete
=
false
this
.
visibleDelete
=
false
;
},
},
//打开删除用户弹窗
//打开删除用户弹窗
opendeleteModal
(){
opendeleteModal
()
{
this
.
visibleDelete
=
true
this
.
visibleDelete
=
true
;
},
},
//打开新增用户弹窗
//打开新增用户弹窗
openModal
()
{
openModal
()
{
...
@@ -152,16 +159,28 @@ export default {
...
@@ -152,16 +159,28 @@ export default {
},
},
closeModal
()
{
closeModal
()
{
this
.
visible
=
false
;
this
.
visible
=
false
;
this
.
visibleDelete
=
false
this
.
visibleDelete
=
false
;
},
add
()
{
addusers
({
account_number
:
this
.
username
}).
then
(
res
=>
{
if
(
res
.
code
==
0
)
{
this
.
getList
()
this
.
visible
=
false
;
message
.
success
(
res
.
msg
);
}
else
{
message
.
error
(
res
.
msg
);
}
})
},
},
add
()
{},
//用户列表初始化
//用户列表初始化
init
()
{
init
()
{
this
.
getList
();
},
getList
(
page
)
{
users
({
users
({
page
:
1
,
page
:
page
||
1
,
size
:
10
,
size
:
10
,
}).
then
((
res
)
=>
{
}).
then
((
res
)
=>
{
console
.
log
(
res
);
if
(
res
.
code
==
0
)
{
if
(
res
.
code
==
0
)
{
this
.
data
=
res
.
data
;
this
.
data
=
res
.
data
;
}
else
{
}
else
{
...
@@ -177,9 +196,12 @@ export default {
...
@@ -177,9 +196,12 @@ export default {
//修改用户状态
//修改用户状态
change
(
record
)
{
change
(
record
)
{
console
.
log
(
record
);
changeStatus
({
id
:
record
.
id
,
status
:
!
record
.
status
}).
then
((
res
)
=>
{
changeStatus
({
id
:
record
.
id
,
status
:
record
.
status
}).
then
((
res
)
=>
{
// console.log(res);
console
.
log
(
res
);
if
(
res
.
code
==
0
)
{
this
.
getList
()
message
.
success
(
res
.
msg
);
}
});
});
},
},
},
},
...
@@ -192,19 +214,19 @@ export default {
...
@@ -192,19 +214,19 @@ export default {
width
:
calc
(
100%
-
80px
);
width
:
calc
(
100%
-
80px
);
//
text-align
:
center
;
//
text-align
:
center
;
flex
:
1
;
flex
:
1
;
.img{
.img
{
width
:
15px
;
width
:
15px
;
height
:
15px
;
height
:
15px
;
padding-right
:
3px
;
padding-right
:
3px
;
}
}
.marker
{
.marker
{
width
:
12px
;
width
:
12px
;
height
:
12px
;
height
:
12px
;
background-color
:
#00
B42A
;
background-color
:
#00
b42a
;
border-radius
:
50%
;
border-radius
:
50%
;
display
:
inline-block
;
display
:
inline-block
;
}
}
.disabled
{
.disabled
{
background-color
:
#ccc
;
background-color
:
#ccc
;
}
}
...
@@ -213,8 +235,8 @@ export default {
...
@@ -213,8 +235,8 @@ export default {
padding
:
20px
3px
;
padding
:
20px
3px
;
background-color
:
#ebebeb
;
background-color
:
#ebebeb
;
}
}
:deep
(
.ant-switch-checked
)
{
:deep
(
.ant-switch-checked
)
{
background-color
:
#00
B42A
;
background-color
:
#00
b42a
;
}
}
}
}
</
style
>
</
style
>
src/views/company/companyDetails.vue
View file @
a72e36fc
This diff is collapsed.
Click to expand it.
src/views/company/companyProfile.vue
View file @
a72e36fc
...
@@ -83,12 +83,8 @@
...
@@ -83,12 +83,8 @@
<!-- 股东信息 -->
<!-- 股东信息 -->
<div
class=
"company_con1"
id=
"shareholder"
>
<div
class=
"company_con1"
id=
"shareholder"
>
<h2
class=
"title"
>
股东信息
</h2>
<h2
class=
"title"
>
股东信息
</h2>
<a-tabs
v-model:activeKey=
"activeKey_shareholder"
style=
"background: #fff"
>
<!-- 工商登记表格 -->
<!-- 工商登记表格 -->
<a-tab-pane
key=
"工商登记"
tab=
"工商登记"
>
<a-table
<a-table
:columns=
"columns_shareholder"
:columns=
"columns_shareholder"
:data-source=
"baseinfo.share_holders"
:data-source=
"baseinfo.share_holders"
...
@@ -103,18 +99,6 @@
...
@@ -103,18 +99,6 @@
</
template
>
</
template
>
</template>
</template>
</a-table>
</a-table>
</a-tab-pane>
<a-tab-pane
key=
"历史股东信息"
tab=
"历史股东信息"
>
<a-table
style=
"text-align: center"
:columns=
"columns_history"
:data-source=
"history_shareholder"
:pagination=
"pagination"
>
</a-table>
</a-tab-pane>
</a-tabs>
</div>
</div>
<!-- 主要人员 -->
<!-- 主要人员 -->
<div
class=
"company_con1"
id=
"keyPerson"
>
<div
class=
"company_con1"
id=
"keyPerson"
>
...
@@ -138,11 +122,12 @@
...
@@ -138,11 +122,12 @@
</div>
</div>
<!-- 融资经历 -->
<!-- 融资经历 -->
<div
class=
"company_con1"
id=
""
>
<div
class=
"company_con1"
id=
"
financing
"
>
<h2
class=
"title"
>
融资经历
</h2>
<h2
class=
"title"
>
融资经历
</h2>
<a-table
<a-table
:columns=
"columns_financing"
:columns=
"columns_financing"
:data-source=
"baseinfo.company_finance"
:data-source=
"baseinfo.company_finance"
:pagination=
"pagination"
>
>
</a-table>
</a-table>
</div>
</div>
...
...
src/views/company/cooperation.vue
View file @
a72e36fc
...
@@ -6,7 +6,14 @@
...
@@ -6,7 +6,14 @@
<div
class=
"company_con1"
id=
"jointApplication"
>
<div
class=
"company_con1"
id=
"jointApplication"
>
<h2
class=
"title"
>
联合申请
</h2>
<h2
class=
"title"
>
联合申请
</h2>
<p>
<p>
在遇到技术创新难题时,企业往往会借助外部机构的研究优势和实力来共同研发解决。在某个技术领域企业的产学研合作次数越多,可以反映企业在该技术领域布局的意愿更强烈。同时,关注产学研合作的主要伙伴,可进一步分析企业在主要布局领域的技术依赖程度和权属纠纷可能性。该企业与其他公司、高校、研究所等机构共进行了6次产学研合作。其中,与山西凌志达煤业有限公司最为密切,合作次数为6次,与该企业合作次数最多的申请人如下图所示。
在遇到技术创新难题时,企业往往会借助外部机构的研究优势和实力来共同研发解决。在某个技术领域企业的产学研合作次数越多,可以反映企业在该技术领域布局的意愿更强烈。同时,关注产学研合作的主要伙伴,可进一步分析企业在主要布局领域的技术依赖程度和权属纠纷可能性。该企业与其他单位共进行了
<span
class=
"color"
>
{{
joint
.
all_nums
}}
</span
>
次产学研合作。其中,与
<span
class=
"color"
>
{{
joint
.
max_name_apply
}}
</span
>
最为密切,合作次数为
<span
class=
"color"
>
{{
joint
.
max_value_apply
}}
</span
>
次,与该企业合作次数最多的申请人如下图所示。
</p>
</p>
<EchartsCon
:option=
"option1"
:id=
"'echarts1'"
></EchartsCon>
<EchartsCon
:option=
"option1"
:id=
"'echarts1'"
></EchartsCon>
</div>
</div>
...
@@ -14,7 +21,13 @@
...
@@ -14,7 +21,13 @@
<div
class=
"company_con1"
id=
"PatentPurchase"
>
<div
class=
"company_con1"
id=
"PatentPurchase"
>
<h2
class=
"title"
>
专利购买
</h2>
<h2
class=
"title"
>
专利购买
</h2>
<p>
<p>
分析该企业专利购买历史,了解该企业向哪些专利权人购买了专利,以及购买了哪些专利。如果该企业购买专利数量较多,需要关注这些外购专利是否为企业的核心专利,进而分析企业的研发能力。该企业向山西凌志达煤业有限公司购买专利最多,为6件。
分析该企业专利购买历史,了解该企业向哪些专利权人购买了专利,以及购买了哪些专利。如果该企业购买专利数量较多,需要关注这些外购专利是否为企业的核心专利,进而分析企业的研发能力。该企业向
<span
class=
"color"
>
{{
patentPurchase
.
max_name_purchase
}}
</span
>
购买专利最多,为
<span
class=
"color"
>
{{
patentPurchase
.
max_value_purchase
}}
</span
>
件。
</p>
</p>
<EchartsCon
:option=
"option2"
:id=
"'echarts2'"
></EchartsCon>
<EchartsCon
:option=
"option2"
:id=
"'echarts2'"
></EchartsCon>
</div>
</div>
...
@@ -22,7 +35,7 @@
...
@@ -22,7 +35,7 @@
<div
class=
"company_con_anchor"
>
<div
class=
"company_con_anchor"
>
<a-anchor>
<a-anchor>
<a-anchor-link
<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=
"技术合作"
title=
"技术合作"
/>
/>
<a-anchor-link
href=
"#jointApplication"
title=
"联合申请"
/>
<a-anchor-link
href=
"#jointApplication"
title=
"联合申请"
/>
...
@@ -32,7 +45,7 @@
...
@@ -32,7 +45,7 @@
<div
id=
"components-back-top-demo-custom"
>
<div
id=
"components-back-top-demo-custom"
>
<a-back-top>
<a-back-top>
<div
class=
"ant-back-top-inner"
>
<div
class=
"ant-back-top-inner"
>
<img
src=
"@/static/common/icon-top.png"
alt=
""
>
<img
src=
"@/static/common/icon-top.png"
alt=
""
/
>
回到顶部
回到顶部
</div>
</div>
</a-back-top>
</a-back-top>
...
@@ -50,12 +63,24 @@ export default {
...
@@ -50,12 +63,24 @@ export default {
data
()
{
data
()
{
return
{
return
{
option1
:
null
,
option1
:
null
,
option2
:
null
,
joint
:
{},
company_name
:
""
,
};
};
},
},
props
:
{
jointData
:
Object
,
patentPurchaseData
:
Object
,
},
components
:
{
components
:
{
EchartsCon
,
EchartsCon
,
},
},
created
()
{
created
()
{
this
.
joint
=
this
.
$props
.
jointData
;
this
.
patentPurchase
=
this
.
$props
.
patentPurchaseData
;
this
.
company_name
=
this
.
$route
.
query
.
name
;
},
beforeMount
()
{
this
.
init
();
this
.
init
();
},
},
methods
:
{
methods
:
{
...
@@ -66,48 +91,33 @@ export default {
...
@@ -66,48 +91,33 @@ export default {
getOptions1
()
{
getOptions1
()
{
let
points
=
[
let
points
=
[
{
{
name
:
"山西煤炭进出口集团有限公司"
,
name
:
this
.
company_name
,
symbolSize
:
40
,
symbolSize
:
40
,
category
:
0
,
category
:
0
,
value
:
0
,
},
},
];
{
let
links
=
[];
name
:
"企业1"
,
//添加数据
if
(
this
.
joint
.
joint_application
.
length
!=
0
)
{
this
.
joint
.
joint_application
.
forEach
((
item
)
=>
{
points
.
push
({
name
:
item
.
name
,
symbolSize
:
40
,
symbolSize
:
40
,
category
:
1
,
category
:
1
,
},
value
:
item
.
value
,
{
});
name
:
"院校1"
,
links
.
push
({
symbolSize
:
40
,
source
:
this
.
company_name
,
category
:
2
,
target
:
item
.
name
,
},
value
:
item
.
value
,
{
});
name
:
"院校2"
,
});
symbolSize
:
40
,
}
category
:
2
,
},
];
let
links
=
[
{
source
:
"山西煤炭进出口集团有限公司"
,
target
:
"企业1"
,
},
{
source
:
"山西煤炭进出口集团有限公司"
,
target
:
"院校1"
,
},
{
source
:
"山西煤炭进出口集团有限公司"
,
target
:
"院校2"
,
},
];
this
.
option1
=
{
this
.
option1
=
{
// animationDurationUpdate: 1500,
legend
:
{
// animationEasingUpdate: "quinticInOut",
show
:
true
,
// color: ["#83e0ff", "#45f5ce", "#b158ff"],
data
:
[
"搜索的企业"
,
"其他单位"
],
legend
:{
show
:
true
,
data
:[
'搜索的企业'
,
'企业'
,
'院校'
]
},
},
series
:
[
series
:
[
{
{
...
@@ -117,10 +127,15 @@ export default {
...
@@ -117,10 +127,15 @@ export default {
repulsion
:
1500
,
repulsion
:
1500
,
edgeLength
:
30
,
edgeLength
:
30
,
},
},
roam
:
tru
e
,
roam
:
fals
e
,
label
:
{
label
:
{
normal
:
{
show
:
true
,
show
:
true
,
formatter
:
function
(
params
)
{
if
(
params
.
value
)
{
return
params
.
name
+
"("
+
params
.
value
+
")"
;
// 显示节点的数值
}
else
{
return
params
.
name
;
}
},
},
},
},
data
:
points
,
data
:
points
,
...
@@ -132,34 +147,14 @@ export default {
...
@@ -132,34 +147,14 @@ export default {
curveness
:
0
,
curveness
:
0
,
},
},
},
},
categories
:
[{
name
:
"搜索的企业"
},
{
name
:
"
企业"
},
{
name
:
"院校
"
}],
categories
:
[{
name
:
"搜索的企业"
},
{
name
:
"
其他单位
"
}],
},
},
],
],
};
};
},
},
getOptions2
(){
getOptions2
()
{
const
dataList
=
[{
const
dataList
=
this
.
patentPurchase
.
patent_purchase
;
name
:
"Mon"
,
this
.
option2
=
{
value
:
260
,
},
{
name
:
"Tue"
,
value
:
220
,
},
{
name
:
"Wed"
,
value
:
200
,
},
{
name
:
"Thu"
,
value
:
160
,
},
{
name
:
"Fri"
,
value
:
140
,
},]
this
.
option2
=
{
tooltip
:
{
tooltip
:
{
show
:
false
,
show
:
false
,
},
},
...
@@ -178,7 +173,6 @@ this.option2 = {
...
@@ -178,7 +173,6 @@ this.option2 = {
splitLine
:
{
splitLine
:
{
show
:
true
,
show
:
true
,
lineStyle
:
{
lineStyle
:
{
// color: "rgba(21, 200, 221,0.2)",
},
},
},
},
},
},
...
@@ -196,7 +190,7 @@ this.option2 = {
...
@@ -196,7 +190,7 @@ this.option2 = {
axisTick
:
{
axisTick
:
{
show
:
false
,
show
:
false
,
},
},
data
:
dataList
.
map
(
r
=>
r
.
name
),
data
:
dataList
.
map
((
r
)
=>
r
.
name
),
},
},
series
:
[
series
:
[
{
{
...
@@ -215,10 +209,9 @@ this.option2 = {
...
@@ -215,10 +209,9 @@ this.option2 = {
},
},
data
:
dataList
,
data
:
dataList
,
},
},
],
],
};
};
}
}
,
},
},
};
};
</
script
>
</
script
>
...
@@ -230,6 +223,9 @@ this.option2 = {
...
@@ -230,6 +223,9 @@ this.option2 = {
display
:
flex
;
display
:
flex
;
justify-content
:
flex-start
;
justify-content
:
flex-start
;
background-color
:
#f3f3f6
;
background-color
:
#f3f3f6
;
.color
{
color
:
#53a7f0
;
}
.company_con_left
{
.company_con_left
{
.company_con1
{
.company_con1
{
width
:
1400px
;
width
:
1400px
;
...
@@ -267,23 +263,23 @@ this.option2 = {
...
@@ -267,23 +263,23 @@ this.option2 = {
.company_con_anchor
{
.company_con_anchor
{
margin-top
:
15px
;
margin-top
:
15px
;
font-weight
:
bold
;
font-weight
:
bold
;
color
:
#1
C1C
28
;
color
:
#1
c1c
28
;
:deep(.ant-anchor-link-title)
{
:deep(.ant-anchor-link-title)
{
color
:
#1
C1C
28
;
color
:
#1
c1c
28
;
margin-bottom
:
15px
;
margin-bottom
:
15px
;
}
}
:deep
(
.ant-anchor-link-active
>
.ant-anchor-link-title
)
{
:deep
(
.ant-anchor-link-active
>
.ant-anchor-link-title
)
{
color
:
#1890ff
;
color
:
#1890ff
;
}
}
:deep
(
.ant-anchor-ink
::before
)
{
:deep
(
.ant-anchor-ink
::before
)
{
width
:
8px
;
width
:
8px
;
background-color
:
#
F5F5F
5
;
background-color
:
#
f5f5f
5
;
}
}
:deep
(
.ant-anchor-wrapper
)
{
:deep
(
.ant-anchor-wrapper
)
{
background-color
:
#fff
;
background-color
:
#fff
;
padding-left
:
10px
;
padding-left
:
10px
;
color
:
#1
C1C
28
;
color
:
#1
c1c
28
;
height
:
350px
;
height
:
350px
;
margin-left
:
10px
;
margin-left
:
10px
;
padding
:
30px
15px
0
;
padding
:
30px
15px
0
;
...
...
src/views/company/index.vue
View file @
a72e36fc
...
@@ -27,12 +27,7 @@
...
@@ -27,12 +27,7 @@
<div
class=
"company_con"
>
<div
class=
"company_con"
>
<div
class=
"company_con_left"
>
<div
class=
"company_con_left"
>
<h3>
筛选器
</h3>
<h3>
筛选器
</h3>
<a-form
<a-form
:layout=
"'vertical'"
:model=
"formState"
>
:layout=
"'vertical'"
:model=
"formState"
validateTrigger=
"change"
:ref=
"form"
>
<a-form-item
label=
"区域"
>
<a-form-item
label=
"区域"
>
<a-cascader
<a-cascader
v-model:value=
"valueArea"
v-model:value=
"valueArea"
...
@@ -57,7 +52,7 @@
...
@@ -57,7 +52,7 @@
placeholder=
"请选择"
placeholder=
"请选择"
></a-select>
></a-select>
</a-form-item>
</a-form-item>
<a-form-item
name=
"range-picker"
label=
"注册时间"
>
<a-form-item
label=
"注册时间"
>
<a-config-provider
:locale=
"zh_CN"
>
<a-config-provider
:locale=
"zh_CN"
>
<a-range-picker
<a-range-picker
v-model:value=
"formState['rangetime1']"
v-model:value=
"formState['rangetime1']"
...
@@ -68,7 +63,7 @@
...
@@ -68,7 +63,7 @@
<a-row><label
for=
""
>
注册资本
</label></a-row>
<a-row><label
for=
""
>
注册资本
</label></a-row>
<a-row>
<a-row>
<a-col
:span=
"11"
>
<a-col
:span=
"11"
>
<a-form-item
name=
"
minvalue"
:rules=
"minvalueRules
"
>
<a-form-item
name=
"
capital_nums_min
"
>
<a-input
<a-input
v-model=
"formState.capital_nums_min"
v-model=
"formState.capital_nums_min"
style=
"width: 95%"
style=
"width: 95%"
...
@@ -78,7 +73,7 @@
...
@@ -78,7 +73,7 @@
</a-col>
</a-col>
<a-col
:span=
"1"
>
-
</a-col>
<a-col
:span=
"1"
>
-
</a-col>
<a-col
:span=
"11"
>
<a-col
:span=
"11"
>
<a-form-item
name=
"
maxvalue"
:rules=
"maxvalueRules
"
>
<a-form-item
name=
"
capital_nums_max
"
>
<a-input
<a-input
v-model=
"formState.capital_nums_max"
v-model=
"formState.capital_nums_max"
style=
"width: 95%"
style=
"width: 95%"
...
@@ -130,7 +125,7 @@
...
@@ -130,7 +125,7 @@
class=
"card"
class=
"card"
v-for=
"item in companylist"
v-for=
"item in companylist"
:key=
"item"
:key=
"item"
@
click=
"openCompany(item.mysql_id)"
@
click=
"openCompany(item.mysql_id
,item.company_name
)"
>
>
<div
class=
"card_title"
>
{{ item.company_name }}
</div>
<div
class=
"card_title"
>
{{ item.company_name }}
</div>
<!-- 关注 -->
<!-- 关注 -->
...
@@ -204,7 +199,6 @@ import {
...
@@ -204,7 +199,6 @@ import {
enterpriseList
,
enterpriseList
,
industryType
,
industryType
,
enterpriseSelect
,
enterpriseSelect
,
}
from
"../../utils/indexApi.js"
;
}
from
"../../utils/indexApi.js"
;
import
"dayjs/locale/zh-cn"
;
import
"dayjs/locale/zh-cn"
;
import
zh_CN
from
"ant-design-vue/lib/locale-provider/zh_CN"
;
import
zh_CN
from
"ant-design-vue/lib/locale-provider/zh_CN"
;
...
@@ -241,27 +235,10 @@ export default {
...
@@ -241,27 +235,10 @@ export default {
},
},
filter
:
[],
filter
:
[],
companylist
:
[],
companylist
:
[],
minvalueRules
:
[
{
required
:
true
,
message
:
"请输入ghj"
,
trigger
:
"blur"
},
{
type
:
"number"
,
message
:
"年龄必须是一个数值"
,
trigger
:
"blur"
},
{
min
:
18
,
max
:
60
,
message
:
"年龄必须介于18到60之间"
,
trigger
:
"blur"
,
},
],
};
};
},
},
components
:
{},
components
:
{},
methods
:
{
methods
:
{
validateUsername
()
{
if
(
value
!==
"admin"
)
{
callback
(
new
Error
(
"用户名必须是 admin"
));
}
else
{
callback
();
}
},
//获取企业列表
//获取企业列表
getCompanyList
(
keyword
)
{
getCompanyList
(
keyword
)
{
let
params
=
{
let
params
=
{
...
@@ -428,11 +405,12 @@ export default {
...
@@ -428,11 +405,12 @@ export default {
});
});
},
},
//打开企业详情
//打开企业详情
openCompany
(
id
)
{
openCompany
(
id
,
company_name
)
{
this
.
$router
.
push
({
this
.
$router
.
push
({
path
:
"/companyDetails"
,
path
:
"/companyDetails"
,
query
:
{
query
:
{
id
:
id
,
id
:
id
,
name
:
company_name
},
},
});
});
},
},
...
...
src/views/company/overview.vue
View file @
a72e36fc
...
@@ -32,18 +32,18 @@
...
@@ -32,18 +32,18 @@
<h2
class=
"title"
>
研发可持续性
</h2>
<h2
class=
"title"
>
研发可持续性
</h2>
<p>
<p>
企业的总专利申请量为
<span
class=
"color"
>
{{
企业的总专利申请量为
<span
class=
"color"
>
{{
deveSustain
.
patent_application_num
deveSustain
Data
.
patent_application_num
}}
</span
}}
</span
>
件,最早专利申请是
<span
class=
"color"
>
>
件,最早专利申请是
<span
class=
"color"
>
{{
deveSustain
.
earliest_patent_application_year
}}
</span
{{
deveSustain
Data
.
earliest_patent_application_year
}}
</span
>
年,企业在
<span
class=
"color"
>
{{
>
年,企业在
<span
class=
"color"
>
{{
deveSustain
.
most_patent_application_year
deveSustain
Data
.
most_patent_application_year
}}
</span
}}
</span
>
年的专利申请量最多,为
<span
class=
"color"
>
{{
>
年的专利申请量最多,为
<span
class=
"color"
>
{{
deveSustain
.
most_patent_application_num
deveSustain
Data
.
most_patent_application_num
}}
</span
}}
</span
>
件且专利授权率为
<span
class=
"color"
>
{{
>
件且专利授权率为
<span
class=
"color"
>
{{
deveSustain
.
patent_authorization_rate
deveSustain
Data
.
patent_authorization_rate
}}
</span
}}
</span
>
。
>
。
</p>
</p>
...
@@ -68,7 +68,14 @@
...
@@ -68,7 +68,14 @@
<div
class=
"company_con1"
id=
"PatentAnalysis"
>
<div
class=
"company_con1"
id=
"PatentAnalysis"
>
<h2
class=
"title"
>
专利结构分析
</h2>
<h2
class=
"title"
>
专利结构分析
</h2>
<p>
<p>
专利结构可从专利类型以及专利基本法律状态两个方面进行分析。从专利类型来看,一般在评估专利技术质量时,普遍认为发明>实用新型>外观。因此,关注发明专利的占比高低,可以帮助了解企业历史研发的技术质量水平。从专利基本法律状态来看,关注失效专利的占比,可以帮助了解企业当前持有技术的质量水平。该企业的专利数量为7件,其中发明专利4件,占比57.14%;有效专利4件,占比57.14%。
专利结构可从专利类型以及专利基本法律状态两个方面进行分析。从专利类型来看,一般在评估专利技术质量时,普遍认为发明>实用新型>外观。因此,关注发明专利的占比高低,可以帮助了解企业历史研发的技术质量水平。从专利基本法律状态来看,关注失效专利的占比,可以帮助了解企业当前持有技术的质量水平。该企业的专利数量为
<span
class=
"color"
>
{{
devstructureData
.
patent_application_num
}}
</span
>
件,其中发明专利
<span
class=
"color"
>
{{
devstructureData
.
invent_patent_num
}}
</span
>
件,占比
<span
class=
"color"
>
{{
devstructureData
.
invent_patent_percent
}}
</span
>
;有效专利
<span
class=
"color"
>
{{
devstructureData
.
valid_patent_num
}}
</span
>
件,占比
<span
class=
"color"
>
{{
devstructureData
.
valid_patent_percent
}}
</span
>
。
</p>
</p>
<div
class=
"ecahrsThree"
>
<div
class=
"ecahrsThree"
>
<EchartsCon
<EchartsCon
...
@@ -138,11 +145,13 @@ export default {
...
@@ -138,11 +145,13 @@ export default {
props
:
{
props
:
{
developmentOverview
:
Object
,
developmentOverview
:
Object
,
deveSustain
:
Object
,
deveSustain
:
Object
,
structureData
:
Object
,
},
},
data
()
{
data
()
{
return
{
return
{
tabchange
:
"1"
,
tabchange
:
"1"
,
deveSustain
:
null
,
deveSustainData
:
null
,
devstructureData
:
null
,
};
};
},
},
...
@@ -163,15 +172,14 @@ export default {
...
@@ -163,15 +172,14 @@ export default {
ydata2
=
[],
ydata2
=
[],
ydata3
=
[],
ydata3
=
[],
maxdata
=
[];
maxdata
=
[];
this
.
deveSustain
.
invent
.
forEach
((
item
)
=>
{
this
.
deveSustain
Data
.
invent
.
forEach
((
item
)
=>
{
xdata
.
push
(
item
[
0
]);
xdata
.
push
(
item
[
0
]);
ydata1
.
push
(
item
[
1
]);
ydata1
.
push
(
item
[
1
]);
});
});
this
.
deveSustain
.
appearance
.
forEach
((
item
)
=>
{
this
.
deveSustain
Data
.
appearance
.
forEach
((
item
)
=>
{
ydata2
.
push
(
item
[
1
]);
ydata2
.
push
(
item
[
1
]);
});
});
this
.
deveSustain
.
utility
.
forEach
((
item
)
=>
{
this
.
deveSustainData
.
utility
.
forEach
((
item
)
=>
{
xdata
.
push
(
item
[
0
]);
ydata3
.
push
(
item
[
1
]);
ydata3
.
push
(
item
[
1
]);
});
});
this
.
option1
=
{
this
.
option1
=
{
...
@@ -290,11 +298,11 @@ export default {
...
@@ -290,11 +298,11 @@ export default {
ydata1
=
[],
ydata1
=
[],
ydata2
=
[],
ydata2
=
[],
ydata3
=
[];
ydata3
=
[];
this
.
deveSustain
.
old_patent_authorization
.
forEach
((
item
)
=>
{
this
.
deveSustain
Data
.
old_patent_authorization
.
forEach
((
item
)
=>
{
xdata
.
push
(
item
[
0
]);
xdata
.
push
(
item
[
0
]);
ydata1
.
push
(
item
[
1
]);
ydata1
.
push
(
item
[
1
]);
});
});
this
.
deveSustain
.
old_patent_application
.
forEach
((
item
)
=>
{
this
.
deveSustain
Data
.
old_patent_application
.
forEach
((
item
)
=>
{
ydata2
.
push
(
item
[
1
]);
ydata2
.
push
(
item
[
1
]);
});
});
ydata3
=
ydata1
.
map
((
elem
,
index
)
=>
ydata3
=
ydata1
.
map
((
elem
,
index
)
=>
...
@@ -451,10 +459,7 @@ export default {
...
@@ -451,10 +459,7 @@ export default {
label
:
{
label
:
{
formatter
:
"{b}:
\
n{d}%"
,
// 用来换行
formatter
:
"{b}:
\
n{d}%"
,
// 用来换行
},
},
data
:
[
data
:
this
.
devstructureData
.
patent_type
,
{
value
:
6
,
name
:
"实用新型"
},
{
value
:
10
,
name
:
"发明"
},
],
emphasis
:
{
emphasis
:
{
itemStyle
:
{
itemStyle
:
{
shadowBlur
:
10
,
shadowBlur
:
10
,
...
@@ -485,10 +490,7 @@ export default {
...
@@ -485,10 +490,7 @@ export default {
label
:
{
label
:
{
formatter
:
"{b}:
\
n{d}%"
,
// 用来换行
formatter
:
"{b}:
\
n{d}%"
,
// 用来换行
},
},
data
:
[
data
:
this
.
devstructureData
.
patent_status
,
{
value
:
6
,
name
:
"审中"
},
{
value
:
10
,
name
:
"有效"
},
],
emphasis
:
{
emphasis
:
{
itemStyle
:
{
itemStyle
:
{
shadowBlur
:
10
,
shadowBlur
:
10
,
...
@@ -519,10 +521,7 @@ export default {
...
@@ -519,10 +521,7 @@ export default {
label
:
{
label
:
{
formatter
:
"{b}:
\
n{d}%"
,
// 用来换行
formatter
:
"{b}:
\
n{d}%"
,
// 用来换行
},
},
data
:
[
data
:
this
.
devstructureData
.
valid_patent_type
,
{
value
:
6
,
name
:
"实用新型"
},
{
value
:
10
,
name
:
"发明"
},
],
emphasis
:
{
emphasis
:
{
itemStyle
:
{
itemStyle
:
{
shadowBlur
:
10
,
shadowBlur
:
10
,
...
@@ -557,9 +556,17 @@ export default {
...
@@ -557,9 +556,17 @@ export default {
},
},
},
},
created
()
{
created
()
{
this
.
deveSustain
=
this
.
$props
.
deveSustain
;
this
.
deveSustainData
=
this
.
$props
.
deveSustain
;
this
.
deveSustain
.
patent_authorization_rate
=
this
.
devstructureData
=
this
.
$props
.
structureData
;
(
this
.
deveSustain
.
patent_authorization_rate
*
100
).
toFixed
(
2
)
+
"%"
;
// this.deveSustain.patent_authorization_rate =
// (this.deveSustain.patent_authorization_rate * 100).toFixed(2) + "%";
// //专利结构占比的发明专利占比
// this.structureData.invent_patent_percent =
// (this.structureData.invent_patent_percent * 100).toFixed(2) + "%";
// //专利结构占比的有效专利占比
// this.structureData.valid_patent_percent =
// (this.structureData.valid_patent_percent * 100).toFixed(2) + "%";
},
},
};
};
</
script
>
</
script
>
...
...
src/views/company/technology.vue
View file @
a72e36fc
This diff is collapsed.
Click to expand it.
src/views/home/home.vue
View file @
a72e36fc
...
@@ -261,23 +261,27 @@ export default {
...
@@ -261,23 +261,27 @@ export default {
background
:
url("../../static/home/index/icon-czl-normal.png")
background
:
url("../../static/home/index/icon-czl-normal.png")
no-repeat
;
no-repeat
;
background-size
:
100%
100%
;
background-size
:
100%
100%
;
cursor
:
pointer
;
}
}
.patent_active
{
.patent_active
{
background
:
url("../../static/home/index/icon-czl-select.png")
background
:
url("../../static/home/index/icon-czl-select.png")
no-repeat
;
no-repeat
;
background-size
:
100%
100%
;
background-size
:
100%
100%
;
color
:
#fff
;
color
:
#fff
;
cursor
:
pointer
;
}
}
.company
{
.company
{
background
:
url("../../static/home/index/icon-cqy-normal.png")
background
:
url("../../static/home/index/icon-cqy-normal.png")
no-repeat
;
no-repeat
;
background-size
:
100%
100%
;
background-size
:
100%
100%
;
cursor
:
pointer
;
}
}
.company_active
{
.company_active
{
background
:
url("../../static/home/index/icon-cqy-select.png")
background
:
url("../../static/home/index/icon-cqy-select.png")
no-repeat
;
no-repeat
;
background-size
:
100%
100%
;
background-size
:
100%
100%
;
color
:
#fff
;
color
:
#fff
;
cursor
:
pointer
;
}
}
}
}
.search
{
.search
{
...
...
src/views/login/admin.vue
View file @
a72e36fc
...
@@ -110,7 +110,7 @@ export default {
...
@@ -110,7 +110,7 @@ export default {
formState
:
{
formState
:
{
username
:
""
,
username
:
""
,
password
:
""
,
password
:
""
,
remember
:
tru
e
,
remember
:
fals
e
,
},
},
};
};
},
},
...
...
src/views/login/forget.vue
View file @
a72e36fc
...
@@ -34,9 +34,8 @@
...
@@ -34,9 +34,8 @@
ref=
"form"
ref=
"form"
:rules=
"formRules"
:rules=
"formRules"
>
>
<a-form-item
<a-form-item
name=
"phone"
>
name=
"phone"
<!-- :rules="[
:rules=
"[
{ required: true, message: '请输入手机号!' },
{ required: true, message: '请输入手机号!' },
{
{
pattern:
pattern:
...
@@ -44,8 +43,7 @@
...
@@ -44,8 +43,7 @@
message: '手机号格式不正确!',
message: '手机号格式不正确!',
validateTrigger: 'onBlur',
validateTrigger: 'onBlur',
},
},
]"
]" -->
>
<a-input
v-model:value=
"formState.phone"
placeholder=
"请输入手机号"
>
<a-input
v-model:value=
"formState.phone"
placeholder=
"请输入手机号"
>
<template
#
prefix
>
<template
#
prefix
>
<img
src=
"../../static/login/icon-user.png"
alt=
""
/>
<img
src=
"../../static/login/icon-user.png"
alt=
""
/>
...
@@ -53,10 +51,8 @@
...
@@ -53,10 +51,8 @@
</a-input>
</a-input>
</a-form-item>
</a-form-item>
<a-form-item
<a-form-item
name=
"code"
>
name=
"code"
<!-- :rules="[{ required: true, message: '请输入验证码!' }]" -->
:rules=
"[{ required: true, message: '请输入验证码!' }]"
>
<a-input
v-model:value=
"formState.code"
placeholder=
"请输入验证码"
>
<a-input
v-model:value=
"formState.code"
placeholder=
"请输入验证码"
>
<
template
#
prefix
>
<
template
#
prefix
>
<img
src=
"../../static/login/icon-yzm.png"
alt=
""
/>
<img
src=
"../../static/login/icon-yzm.png"
alt=
""
/>
...
@@ -74,8 +70,9 @@
...
@@ -74,8 +70,9 @@
</a-form-item>
</a-form-item>
<a-form-item
<a-form-item
name=
"password"
name=
"password"
:rules=
"[{ required: true, message: '请输入密码!' }]"
>
>
<!-- :rules="[{ required: true, message: '请输入密码!' }]" -->
<a-input-password
<a-input-password
v-model:value=
"formState.password"
v-model:value=
"formState.password"
placeholder=
"请输入新密码"
placeholder=
"请输入新密码"
...
@@ -85,10 +82,7 @@
...
@@ -85,10 +82,7 @@
</
template
>
</
template
>
</a-input-password>
</a-input-password>
</a-form-item>
</a-form-item>
<a-form-item
<a-form-item
name=
"repassword"
>
name=
"password"
:rules=
"[{ required: true, message: '请输入密码!' }]"
>
<a-input-password
<a-input-password
v-model:value=
"formState.repassword"
v-model:value=
"formState.repassword"
placeholder=
"请再次输入新密码"
placeholder=
"请再次输入新密码"
...
@@ -187,7 +181,7 @@ export default {
...
@@ -187,7 +181,7 @@ export default {
//验证两次密码
//验证两次密码
validateConfirmPassword
(
rule
,
value
)
{
validateConfirmPassword
(
rule
,
value
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
if
(
value
&&
value
!==
this
.
formState
.
newpw
d
)
{
if
(
value
&&
value
!==
this
.
formState
.
passwor
d
)
{
reject
(
new
Error
());
reject
(
new
Error
());
}
else
{
}
else
{
resolve
();
resolve
();
...
...
src/views/patent/patentDetails.vue
View file @
a72e36fc
...
@@ -279,8 +279,7 @@
...
@@ -279,8 +279,7 @@
okText=
"确定"
okText=
"确定"
@
onCancel=
"closeModal"
@
onCancel=
"closeModal"
>
>
<p>
请选择报告格式,请稍后在历史记录里查看
</p>
<p>
报告格式
PDF
</p>
<p>
报告格式
<span
class=
"PDF"
>
PDF
</span></p>
<a-form
:model=
"formState"
>
<a-form
:model=
"formState"
>
<a-form-item
<a-form-item
:name=
"'email'"
:name=
"'email'"
...
@@ -531,9 +530,9 @@ export default {
...
@@ -531,9 +530,9 @@ export default {
"application/vnd.openxmlformats-officedocument.wordprocessingml.document"
,
"application/vnd.openxmlformats-officedocument.wordprocessingml.document"
,
});
});
//formData文件流
//formData文件流
that
.
blobToBase64
(
out
);
//
that.blobToBase64(out);
// 将目标文件对象保存为目标类型的文件,并命名
// 将目标文件对象保存为目标类型的文件,并命名
// saveAs(out, `专利详情报告.word
`);
saveAs
(
out
,
`专利成果转移转化智能推荐报告.docx
`
);
});
});
},
1000
);
},
1000
);
},
},
...
@@ -541,11 +540,11 @@ export default {
...
@@ -541,11 +540,11 @@ export default {
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
const
fileReader
=
new
FileReader
();
const
fileReader
=
new
FileReader
();
fileReader
.
onload
=
(
e
)
=>
{
fileReader
.
onload
=
(
e
)
=>
{
console
.
log
(
e
.
target
.
result
)
console
.
log
(
e
.
target
.
result
)
;
// resolve(e.target.result);
// resolve(e.target.result);
setTimeout
(
function
()
{
setTimeout
(
function
()
{
exportword
({
file
:
e
.
target
.
result
}).
then
((
res
)
=>
{});
exportword
({
file
:
e
.
target
.
result
}).
then
((
res
)
=>
{});
},
300
);
},
300
);
};
};
// readAsDataURL
// readAsDataURL
fileReader
.
readAsDataURL
(
blob
);
fileReader
.
readAsDataURL
(
blob
);
...
...
src/views/userset/securitySetting.vue
View file @
a72e36fc
...
@@ -156,7 +156,8 @@ export default {
...
@@ -156,7 +156,8 @@ export default {
changePassword
({
param
}).
then
((
res
)
=>
{
changePassword
({
param
}).
then
((
res
)
=>
{
// console.log(res)
// console.log(res)
if
(
res
.
code
==
0
)
{
if
(
res
.
code
==
0
)
{
this
.
resetShow
=
true
;
message
.
success
(
res
.
msg
)
// this.resetShow = true;
}
else
{
}
else
{
message
.
error
(
res
.
msg
);
message
.
error
(
res
.
msg
);
}
}
...
...
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