Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
smart_gov_platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
smart_gov_platform
Commits
6a14a35d
Commit
6a14a35d
authored
Sep 12, 2023
by
赵啸非
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
f7c78315
f9b967a9
Changes
46
Hide whitespace changes
Inline
Side-by-side
Showing
46 changed files
with
3706 additions
and
2874 deletions
+3706
-2874
base-manager-ui/admin/package.json
base-manager-ui/admin/package.json
+1
-0
base-manager-ui/admin/src/assets/css/common.less
base-manager-ui/admin/src/assets/css/common.less
+17
-10
base-manager-ui/admin/src/components/YQuillEditor.vue
base-manager-ui/admin/src/components/YQuillEditor.vue
+9
-7
base-manager-ui/admin/src/layouts/Layouts.vue
base-manager-ui/admin/src/layouts/Layouts.vue
+5
-2
base-manager-ui/admin/src/pages/basicset/appmarket/components/AppDetailsPage.vue
...rc/pages/basicset/appmarket/components/AppDetailsPage.vue
+23
-6
base-manager-ui/admin/src/pages/basicset/appmarket/components/TerminalApp.vue
...n/src/pages/basicset/appmarket/components/TerminalApp.vue
+0
-1
base-manager-ui/admin/src/pages/basicset/appmarket/modal/AddData.vue
...r-ui/admin/src/pages/basicset/appmarket/modal/AddData.vue
+39
-14
base-manager-ui/admin/src/pages/basicset/appmarket/modal/AddField.vue
...-ui/admin/src/pages/basicset/appmarket/modal/AddField.vue
+13
-0
base-manager-ui/admin/src/pages/basicset/surface/components/LeftMenu.vue
.../admin/src/pages/basicset/surface/components/LeftMenu.vue
+75
-2
base-manager-ui/admin/src/pages/basicset/surface/modal/AddDev.vue
...ager-ui/admin/src/pages/basicset/surface/modal/AddDev.vue
+17
-7
base-manager-ui/admin/src/pages/basicset/surface/surface.vue
base-manager-ui/admin/src/pages/basicset/surface/surface.vue
+11
-3
base-manager-ui/admin/src/store/index.js
base-manager-ui/admin/src/store/index.js
+6
-5
base-manager-ui/admin/src/utils/util.js
base-manager-ui/admin/src/utils/util.js
+50
-1
base-manager-ui/admin/yarn.lock
base-manager-ui/admin/yarn.lock
+5
-0
portal-manager-ui/admin/src/App.vue
portal-manager-ui/admin/src/App.vue
+3
-0
portal-manager-ui/admin/src/assets/css/common.less
portal-manager-ui/admin/src/assets/css/common.less
+8
-1
portal-manager-ui/admin/src/components/ParticleWavy.vue
portal-manager-ui/admin/src/components/ParticleWavy.vue
+199
-0
portal-manager-ui/admin/src/store/index.js
portal-manager-ui/admin/src/store/index.js
+6
-5
portal-manager-ui/admin/src/utils/index.js
portal-manager-ui/admin/src/utils/index.js
+63
-0
portal-manager-ui/admin/src/views/dataActuary/ParticleWavy.vue
...l-manager-ui/admin/src/views/dataActuary/ParticleWavy.vue
+1
-1
portal-manager-ui/admin/src/views/dataActuary/behaviour/pageanalyse/pageAnalyse.vue
...c/views/dataActuary/behaviour/pageanalyse/pageAnalyse.vue
+264
-239
portal-manager-ui/admin/src/views/dataActuary/behaviour/pathanalyse/pathAnalyse.vue
...c/views/dataActuary/behaviour/pathanalyse/pathAnalyse.vue
+155
-104
portal-manager-ui/admin/src/views/dataActuary/behaviour/product/product.vue
...admin/src/views/dataActuary/behaviour/product/product.vue
+4
-2
portal-manager-ui/admin/src/views/dataActuary/behaviour/usinghabit/usinghabit.vue
...src/views/dataActuary/behaviour/usinghabit/usinghabit.vue
+283
-221
portal-manager-ui/admin/src/views/dataActuary/dataActuary.vue
...al-manager-ui/admin/src/views/dataActuary/dataActuary.vue
+3
-3
portal-manager-ui/admin/src/views/dataActuary/portrayal/portrayalBase/index.vue
...n/src/views/dataActuary/portrayal/portrayalBase/index.vue
+677
-529
portal-manager-ui/admin/src/views/dataAdmin/components/Impossible/index.vue
...admin/src/views/dataAdmin/components/Impossible/index.vue
+2
-0
portal-manager-ui/admin/src/views/dataAdmin/components/easyPoliticsShow/PoliticsShow.vue
...ws/dataAdmin/components/easyPoliticsShow/PoliticsShow.vue
+1
-1
portal-manager-ui/admin/src/views/dataAdmin/components/evaluationRecordReport/departmentEvaluation.vue
...omponents/evaluationRecordReport/departmentEvaluation.vue
+2
-0
portal-manager-ui/admin/src/views/dataAdmin/components/evaluationRecordReport/matterEvaluation.vue
...in/components/evaluationRecordReport/matterEvaluation.vue
+2
-0
portal-manager-ui/admin/src/views/dataAdmin/components/evaluationRecordReport/windowEvaluation.vue
...in/components/evaluationRecordReport/windowEvaluation.vue
+2
-0
portal-manager-ui/admin/src/views/dataAdmin/components/fillRecordReport/fillForm.vue
.../views/dataAdmin/components/fillRecordReport/fillForm.vue
+11
-26
portal-manager-ui/admin/src/views/dataAdmin/components/makeRecordReport/makeRecordReport.vue
...ataAdmin/components/makeRecordReport/makeRecordReport.vue
+2
-0
portal-manager-ui/admin/src/views/dataAdmin/components/networkGovernance/callRecordForm.vue
...dataAdmin/components/networkGovernance/callRecordForm.vue
+2
-2
portal-manager-ui/admin/src/views/dataAdmin/components/networkGovernance/letterRecordForm.vue
...taAdmin/components/networkGovernance/letterRecordForm.vue
+26
-2
portal-manager-ui/admin/src/views/dataAdmin/components/networkGovernance/networkForm.vue
...ws/dataAdmin/components/networkGovernance/networkForm.vue
+2
-0
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/callRecord.vue
...n/src/views/dataAdmin/components/queueCall/callRecord.vue
+15
-3
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/components/HandlingDetails.vue
...Admin/components/queueCall/components/HandlingDetails.vue
+18
-5
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/queueRecord.vue
.../src/views/dataAdmin/components/queueCall/queueRecord.vue
+15
-3
portal-manager-ui/admin/src/views/dataAdmin/components/sampleRecordReport/sampleForm.vue
...ws/dataAdmin/components/sampleRecordReport/sampleForm.vue
+16
-29
portal-manager-ui/admin/src/views/dataAdmin/dataAdmin.vue
portal-manager-ui/admin/src/views/dataAdmin/dataAdmin.vue
+19
-15
portal-manager-ui/admin/src/views/thePlatformIsSet/animation.js
...-manager-ui/admin/src/views/thePlatformIsSet/animation.js
+1609
-1610
portal-manager/src/main/java/com/mortals/xhx/module/page/service/impl/PageAccessServiceImpl.java
...s/xhx/module/page/service/impl/PageAccessServiceImpl.java
+7
-8
portal-manager/src/main/java/com/mortals/xhx/module/page/service/impl/PageEventServiceImpl.java
...ls/xhx/module/page/service/impl/PageEventServiceImpl.java
+4
-4
portal-manager/src/main/java/com/mortals/xhx/module/page/service/impl/PageRouteServiceImpl.java
...ls/xhx/module/page/service/impl/PageRouteServiceImpl.java
+9
-1
portal-manager/src/main/java/com/mortals/xhx/module/user/web/UserController.java
.../java/com/mortals/xhx/module/user/web/UserController.java
+5
-2
No files found.
base-manager-ui/admin/package.json
View file @
6a14a35d
...
...
@@ -25,6 +25,7 @@
"china-division"
:
"^2.5.0"
,
"clipboard"
:
"^2.0.6"
,
"core-js"
:
"^3.6.5"
,
"crypto-js"
:
"^4.1.1"
,
"date-fns"
:
"^2.14.0"
,
"echarts"
:
"^5.2.2"
,
"element-china-area-data"
:
"^5.0.2"
,
...
...
base-manager-ui/admin/src/assets/css/common.less
View file @
6a14a35d
...
...
@@ -31,16 +31,17 @@
border-bottom: 1px solid rgb(224, 224, 224) !important;
}
.ant-tabs-tab{
.ant-tabs-tab
{
font-weight: bold;
color: rgba(0, 0, 0, 0.65);
i{
color:
#1890ff
i
{
color:
#1890ff;
}
}
.ant-spin-nested-loading,.ant-spin-container{
width:100%;
height:100%;
.ant-spin-nested-loading,
.ant-spin-container {
width: 100%;
height: 100%;
}
/* 溢出表格滚动条 */
/* 表格 */
...
...
@@ -56,10 +57,9 @@
tr:only-child > th:last-child {
border-right-color: #f0f0f0 !important;
}
}
.ant-table-placeholder{
width:
calc(100% - 6px)
.ant-table-placeholder
{
width:
calc(100% - 6px);
}
.ant-table-header {
background: #fff;
...
...
@@ -118,4 +118,11 @@
// align-items: center;
// justify-content:space-between;
// margin-bottom: 20px;
// }
\ No newline at end of file
// }
// 统一设置表格为空时的展示
.ant-table-tbody {
td:empty::after {
content: "--";
}
}
base-manager-ui/admin/src/components/YQuillEditor.vue
View file @
6a14a35d
...
...
@@ -2,13 +2,16 @@
<div
style=
"margin-bottom: 25px"
class=
"y-quill"
:style=
"
{ height: height }">
<!-- 图片上传组件辅助-->
<a-upload
name=
"
uploadF
ile"
name=
"
f
ile"
:multiple=
"true"
:headers=
"headers"
:headers=
"
{
Authorization: token,
}"
:show-upload-list="false"
:action="serverUrl"
@change="handleChange"
:before-upload="beforeUpload"
:accept="accept"
>
</a-upload>
<!-- 富文本 -->
...
...
@@ -24,7 +27,7 @@
</div>
</
template
>
<
script
>
import
local
from
"
@/utils/local
"
;
import
{
mapGetters
}
from
"
vuex
"
;
// 工具栏配置
const
toolbarOptions
=
[
[
"
bold
"
,
"
italic
"
,
"
underline
"
,
"
strike
"
],
// 加粗 斜体 下划线 删除线
...
...
@@ -104,6 +107,7 @@ export default {
data
()
{
return
{
accept
:
"
image/png,image/gif,image/jpeg,video/mp4
"
,
quillUpdateImg
:
false
,
// 根据图片上传状态来确定是否显示loading动画,刚开始是false,不显示
api
:
process
.
env
.
VUE_APP_API_BASE_URL
+
"
/
"
,
editorOption
:
{
...
...
@@ -142,10 +146,7 @@ export default {
},
},
},
serverUrl
:
process
.
env
.
VUE_APP_API_BASE_URL
+
"
/file/commonupload
"
,
// 这里写你要上传的图片服务器地址
headers
:
{
Authorization
:
local
.
getLocal
(
"
token
"
),
},
serverUrl
:
process
.
env
.
VUE_APP_API_BASE_URL
+
"
/base/file/commonupload
"
,
// 这里写你要上传的图片服务器地址
};
},
computed
:
{
...
...
@@ -157,6 +158,7 @@ export default {
this
.
$emit
(
"
input
"
,
val
);
},
},
...
mapGetters
(
"
site
"
,
[
"
token
"
]),
},
methods
:
{
onEditorBlur
()
{
...
...
base-manager-ui/admin/src/layouts/Layouts.vue
View file @
6a14a35d
...
...
@@ -5,8 +5,7 @@
<div
class=
"flex aic"
>
<router-link
to=
"/"
class=
"flex aic"
>
<img
class=
"mr10"
width=
"32"
class=
"mr10 logo"
:src=
"sysLogo ? api + sysLogo : require('@/assets/img/logo.png')"
/>
<h1
class=
"title"
>
...
...
@@ -102,6 +101,10 @@ export default {
line-height: normal;
}
}
.logo {
height: 32px;
object-fit: contain;
}
.main {
height: calc(100vh - 64px);
padding: 0px 24px 24px;
...
...
base-manager-ui/admin/src/pages/basicset/appmarket/components/AppDetailsPage.vue
View file @
6a14a35d
...
...
@@ -20,7 +20,7 @@
:wrapper-col="{ span: 22 }"
>
<a-form-model-item
label=
"应用主题"
>
{{
filterItems
(
appInfo
.
appThemeName
,
appDict
.
appThemeName
)
}}
{{
filterItems
(
appInfo
.
appThemeName
)
}}
</a-form-model-item>
<a-form-model-item
label=
"应用简介"
>
{{
appInfo
.
summary
}}
...
...
@@ -117,10 +117,10 @@ import {
getVersionList
,
usedVersion
,
previewVersion
,
getCategoryList
,
}
from
"
@/services/market
"
;
import
CheckSite
from
"
../modal/CheckSite.vue
"
;
import
{
pageSizeOptions
}
from
"
@/config/pageConfig.js
"
;
import
{
filterItems
}
from
"
@/utils
"
;
import
{
mapGetters
}
from
"
vuex
"
;
export
default
{
props
:
{
...
...
@@ -153,9 +153,7 @@ export default {
{
title
:
"
更新说明
"
,
width
:
"
40%
"
,
customRender
:
(
text
)
=>
{
return
<
span
>
{
text
.
notes
?
text
.
notes
:
"
--
"
}
<
/span>
;
},
dataIndex
:
"
notes
"
,
},
{
title
:
"
应用包
"
,
...
...
@@ -172,7 +170,6 @@ export default {
},
];
return
{
filterItems
,
api
:
process
.
env
.
VUE_APP_API_BASE_URL
+
"
/
"
,
columns
,
appId
:
this
.
$route
.
query
.
id
,
...
...
@@ -185,16 +182,30 @@ export default {
form
:
{},
tableData
:
[],
siteVisible
:
false
,
categoryList
:
[],
};
},
computed
:
{
...
mapGetters
(
"
site
"
,
[
"
appDict
"
]),
},
created
()
{
this
.
getCategoryList
();
this
.
getAppInfo
();
this
.
getVersions
();
},
methods
:
{
// 获取分类列表
async
getCategoryList
()
{
let
res
=
await
getCategoryList
({
page
:
1
,
size
:
-
1
,
siteId
:
this
.
siteId
,
});
let
{
data
}
=
res
.
data
.
data
;
if
(
res
.
data
.
code
===
1
)
{
this
.
categoryList
=
data
;
}
},
// 获取应用详情
async
getAppInfo
()
{
let
res
=
await
getAppInfo
({
id
:
this
.
appId
});
...
...
@@ -275,6 +286,12 @@ export default {
this
.
$refs
.
CheckSite
.
getSiteList
(
siteList
);
this
.
siteVisible
=
true
;
},
filterItems
(
appThemeName
)
{
return
(
this
.
categoryList
.
find
((
v
)
=>
v
.
id
==
appThemeName
)?.
categoryName
||
"
--
"
);
},
},
};
</
script
>
...
...
base-manager-ui/admin/src/pages/basicset/appmarket/components/TerminalApp.vue
View file @
6a14a35d
...
...
@@ -213,7 +213,6 @@ export default {
...
mapMutations
(
"
site
"
,
[
"
SET_appDict
"
]),
// 获取分类列表
async
getCategoryList
()
{
this
.
loading
=
true
;
let
res
=
await
getCategoryList
({
page
:
1
,
size
:
-
1
,
...
...
base-manager-ui/admin/src/pages/basicset/appmarket/modal/AddData.vue
View file @
6a14a35d
...
...
@@ -83,6 +83,32 @@
:placeholder=
"`请选择$
{v.fieldName}`"
valueFormat="YYYY-MM-DD"
/>
<!-- 年选择器 -->
<a-date-picker
mode=
"year"
v-else-if=
"v.fieldType == 'year'"
v-model=
"v.fieldValue"
:placeholder=
"`请选择$
{v.fieldName}`"
valueFormat="YYYY"
format="YYYY"
:open="isopen"
@openChange="handYearChange"
@panelChange="(value) => panelYearChange(value, v)"
/>
<!-- 月选择器 -->
<a-month-picker
v-else-if=
"v.fieldType == 'month'"
v-model=
"v.fieldValue"
:placeholder=
"`请选择$
{v.fieldName}`"
valueFormat="M"
/>
<!-- 周选择器 -->
<a-week-picker
v-else-if=
"v.fieldType == 'week'"
v-model=
"v.fieldValue"
:placeholder=
"`请选择$
{v.fieldName}`"
valueFormat="YYYY-WW"
/>
<!-- 多行文本输入框 -->
<a-textarea
v-else-if=
"v.fieldType == 'textarea'"
...
...
@@ -170,6 +196,8 @@ export default {
appId
:
""
,
appInfoFieldList
:
[],
},
isopen
:
false
,
year
:
null
,
};
},
computed
:
{
...
...
@@ -269,6 +297,17 @@ export default {
changeCheckBox
(
vals
,
row
)
{
row
.
fieldValue
=
vals
.
join
(
"
,
"
);
},
handYearChange
(
open
)
{
if
(
open
)
{
this
.
isopen
=
true
;
}
else
{
this
.
isopen
=
false
;
}
},
panelYearChange
(
value
,
row
)
{
row
.
fieldValue
=
this
.
$moment
(
value
).
format
(
"
YYYY
"
);
this
.
isopen
=
false
;
},
},
};
</
script
>
...
...
@@ -289,20 +328,6 @@ export default {
padding: 24px;
flex: 1;
overflow-y: auto;
&::-webkit-scrollbar {
width: 12px;
overflow-y: auto;
}
&::-webkit-scrollbar-thumb {
border-radius: 6px;
background-color: rgba(144, 147, 153, 0.5);
}
&::-webkit-scrollbar-track {
border-radius: 6px;
background: #fff;
}
}
.content {
align-items: flex-start !important;
...
...
base-manager-ui/admin/src/pages/basicset/appmarket/modal/AddField.vue
View file @
6a14a35d
...
...
@@ -98,6 +98,19 @@ const fieldTypeItem = [
value
:
"
date
"
,
label
:
"
日期选择框
"
,
},
{
value
:
"
year
"
,
label
:
"
年选择框
"
,
},
{
value
:
"
month
"
,
label
:
"
月选择框
"
,
},
{
value
:
"
week
"
,
label
:
"
周选择框
"
,
},
{
value
:
"
radio
"
,
label
:
"
单选框
"
,
...
...
base-manager-ui/admin/src/pages/basicset/surface/components/LeftMenu.vue
View file @
6a14a35d
...
...
@@ -13,23 +13,42 @@
:class=
"
{ active: i === isActive }"
v-for="(v, i) in productList"
:key="v.id"
@click="changeMenu(i, v)"
@click
.self
="changeMenu(i, v)"
style="width: 50%; text-align: center"
>
<div
class=
"control"
v-permission=
"[1]"
>
<a-space>
<a-icon
type=
"edit"
@
click=
"handleEdit(v)"
/>
<a-icon
type=
"delete"
@
click=
"handleDel(v.id)"
/>
</a-space>
</div>
{{
v
.
productName
}}
</a-card-grid>
</div>
<!-- 编辑产品 -->
<AddDev
ref=
"AddDev"
:visible.sync=
"visible"
:title=
"title"
@
addDev=
"getProductList"
></AddDev>
</div>
</
template
>
<
script
>
import
{
getProductList
}
from
"
@/services/surface
"
;
import
{
getProductList
,
deleteProduct
}
from
"
@/services/surface
"
;
import
{
mapMutations
}
from
"
vuex
"
;
import
AddDev
from
"
../modal/AddDev.vue
"
;
export
default
{
components
:
{
AddDev
,
},
data
()
{
return
{
productList
:
[],
//产品列表
isActive
:
""
,
visible
:
false
,
title
:
"
编辑产品
"
,
};
},
created
()
{
...
...
@@ -62,6 +81,38 @@ export default {
};
this
.
SET_curProduct
(
obj
);
},
// 编辑产品
handleEdit
(
row
)
{
this
.
title
=
"
编辑产品
"
;
this
.
$refs
.
AddDev
.
onEdit
(
row
);
this
.
visible
=
true
;
},
// 删除产品
handleDel
(
id
)
{
let
_this
=
this
;
_this
.
$confirm
({
title
:
"
系统提示
"
,
content
:
"
删除不可恢复,确定要删除吗?
"
,
okText
:
"
确定
"
,
okType
:
"
danger
"
,
cancelText
:
"
取消
"
,
centered
:
true
,
icon
:
"
exclamation-circle
"
,
maskClosable
:
true
,
async
onOk
()
{
let
res
=
await
deleteProduct
({
id
});
let
{
code
,
msg
}
=
res
.
data
;
if
(
code
===
1
)
{
_this
.
$message
.
success
(
msg
);
_this
.
getProductList
();
}
},
onCancel
()
{
console
.
log
(
"
Cancel
"
);
},
});
console
.
log
(
id
);
},
},
beforeDestroy
()
{
this
.
SET_curProduct
({});
...
...
@@ -74,6 +125,7 @@ export default {
height: 100%;
background-color: #fff;
}
.search-box {
padding: 15px 15px 0px;
}
...
...
@@ -85,6 +137,9 @@ export default {
.active {
background-color: #1890ff;
color: #fff;
.anticon {
color: inherit;
}
}
}
/deep/.ant-card-grid {
...
...
@@ -93,5 +148,23 @@ export default {
align-items: center;
justify-content: center;
cursor: pointer;
position: relative;
&:hover {
.control {
display: block;
}
}
}
.control {
position: absolute;
right: 10px;
top: 0px;
display: none;
.anticon-edit {
color: #03d76f;
}
.anticon-delete {
color: #fa4d4c;
}
}
</
style
>
\ No newline at end of file
base-manager-ui/admin/src/pages/basicset/surface/modal/AddDev.vue
View file @
6a14a35d
...
...
@@ -2,7 +2,7 @@
<div>
<a-modal
v-model=
"Visible"
title=
"新增设备
"
:title=
"title
"
@
ok=
"handleOk"
@
cancel=
"handleClose"
>
...
...
@@ -17,11 +17,7 @@
<a-input
placeholder=
"请输入设备名称"
v-model=
"form.productName"
/>
</a-form-model-item>
<a-form-model-item
label=
"设备编号"
prop=
"productCode"
>
<a-input
type=
"password"
placeholder=
"请输入设备编号"
v-model=
"form.productCode"
/>
<a-input
placeholder=
"请输入设备编号"
v-model=
"form.productCode"
/>
</a-form-model-item>
<a-form-model-item
label=
"备注"
prop=
"productRemark"
>
<a-textarea
...
...
@@ -44,6 +40,11 @@ export default {
type
:
Boolean
,
default
:
false
,
},
title
:
{
required
:
true
,
type
:
String
,
default
:
"
新增设备
"
,
},
},
data
()
{
return
{
...
...
@@ -88,9 +89,18 @@ export default {
},
// 关闭对话框
handleClose
()
{
this
.
$refs
.
form
.
resetFields
();
this
.
$refs
.
form
.
clearValidate
();
this
.
Visible
=
false
;
},
// 新增
onAdd
()
{
Object
.
assign
(
this
.
form
,
this
.
$options
.
data
().
form
);
this
.
form
.
id
&&
this
.
$delete
(
this
.
form
,
"
id
"
);
},
// 编辑
onEdit
(
row
)
{
this
.
form
=
{
...
row
};
},
},
};
</
script
>
...
...
base-manager-ui/admin/src/pages/basicset/surface/surface.vue
View file @
6a14a35d
...
...
@@ -3,7 +3,7 @@
<TabHeader
label=
"皮肤管理"
>
<a-space>
<a-button
v-permission=
"[1]"
icon=
"plus"
@
click=
"addDev"
>
新增
设备
</a-button
>
新增
产品
</a-button
>
<a-button
type=
"primary"
...
...
@@ -48,7 +48,12 @@
@
addSkinSuccess=
"addSkinSuccess"
></AddSurface>
<!-- 新增设备 -->
<AddDev
:visible.sync=
"addDevVisible"
@
addDev=
"addDevSuccess"
></AddDev>
<AddDev
ref=
"AddDev"
:visible.sync=
"addDevVisible"
@
addDev=
"addDevSuccess"
:title=
"title"
></AddDev>
</div>
</
template
>
...
...
@@ -77,6 +82,7 @@ export default {
visible
:
false
,
addDevVisible
:
false
,
classifyList
:
[],
//皮肤分类数据
title
:
"
新增产品
"
,
};
},
created
()
{
...
...
@@ -113,8 +119,8 @@ export default {
},
// 编辑皮肤
editSkin
(
row
)
{
this
.
isShow
=
true
;
this
.
$refs
.
AddSurface
.
onEdit
(
row
);
this
.
isShow
=
true
;
},
// 新增分类成功刷新数据
addCategorySuccess
()
{
...
...
@@ -126,6 +132,8 @@ export default {
},
// 新增设备
addDev
()
{
this
.
title
=
"
新增产品
"
;
this
.
$refs
.
AddDev
.
onAdd
();
this
.
addDevVisible
=
true
;
},
// 新增设备成功
...
...
base-manager-ui/admin/src/store/index.js
View file @
6a14a35d
...
...
@@ -2,8 +2,9 @@ import Vue from "vue";
import
Vuex
from
"
vuex
"
;
import
modules
from
"
./modules
"
;
import
createPersistedState
from
"
vuex-persistedstate
"
;
import
SecureLS
from
"
secure-ls
"
;
var
ls
=
new
SecureLS
({
isCompression
:
false
});
// import SecureLS from "secure-ls";
// var ls = new SecureLS({ isCompression: false });
import
{
SessionCrypto
}
from
"
@/utils/util
"
;
Vue
.
use
(
Vuex
);
const
store
=
new
Vuex
.
Store
({
modules
,
...
...
@@ -15,9 +16,9 @@ const store = new Vuex.Store({
createPersistedState
({
key
:
"
info
"
,
storage
:
{
getItem
:
(
key
)
=>
ls
.
get
(
key
),
setItem
:
(
key
,
value
)
=>
ls
.
set
(
key
,
value
),
removeItem
:
(
key
)
=>
ls
.
remove
(
key
),
getItem
:
(
key
)
=>
SessionCrypto
.
getItem
(
key
),
setItem
:
(
key
,
value
)
=>
SessionCrypto
.
setItem
(
key
,
value
),
removeItem
:
(
key
)
=>
SessionCrypto
.
remove
(
key
),
},
}),
],
...
...
base-manager-ui/admin/src/utils/util.js
View file @
6a14a35d
import
enquireJs
from
"
enquire.js
"
;
import
CryptoJS
from
"
crypto-js
"
;
export
function
isDef
(
v
)
{
return
v
!==
undefined
&&
v
!==
null
;
}
...
...
@@ -62,3 +62,52 @@ export const extractTree = (arrs, childs, attrArr) => {
};
return
getObj
(
arrs
);
};
/**
* 加密存储临时数据并解析对象
*/
const
aseKey
=
"
**_FXxx_1234_KEY
"
;
const
KEY
=
"
KEY_EXTRA
"
;
export
class
SessionCrypto
{
// 加密
static
setItem
(
key
=
KEY
,
value
=
""
)
{
if
(
typeof
key
===
"
string
"
)
{
const
stringify
=
JSON
.
stringify
(
value
);
const
encrypt
=
CryptoJS
.
AES
.
encrypt
(
stringify
,
CryptoJS
.
enc
.
Utf8
.
parse
(
aseKey
),
{
mode
:
CryptoJS
.
mode
.
ECB
,
padding
:
CryptoJS
.
pad
.
Pkcs7
,
}
).
toString
();
window
.
sessionStorage
.
setItem
(
key
,
encrypt
);
return
encrypt
;
}
}
// 解密
static
getItem
(
key
=
KEY
)
{
const
ssStr
=
window
.
sessionStorage
.
getItem
(
key
)
||
""
;
try
{
if
(
ssStr
)
{
const
decrypt
=
CryptoJS
.
AES
.
decrypt
(
ssStr
,
CryptoJS
.
enc
.
Utf8
.
parse
(
aseKey
),
{
mode
:
CryptoJS
.
mode
.
ECB
,
padding
:
CryptoJS
.
pad
.
Pkcs7
,
}
).
toString
(
CryptoJS
.
enc
.
Utf8
);
const
parseStr
=
JSON
.
parse
(
decrypt
);
return
parseStr
;
}
return
""
;
}
catch
(
e
)
{
return
""
;
}
}
// 删除
static
remove
(
key
)
{
window
.
sessionStorage
.
removeItem
(
key
);
}
}
base-manager-ui/admin/yarn.lock
View file @
6a14a35d
...
...
@@ -3676,6 +3676,11 @@ crypto-js@^3.1.6:
resolved "https://registry.npmmirror.com/crypto-js/-/crypto-js-3.3.0.tgz#846dd1cce2f68aacfa156c8578f926a609b7976b"
integrity sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q==
crypto-js@^4.1.1:
version "4.1.1"
resolved "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.1.1.tgz#9e485bcf03521041bd85844786b83fb7619736cf"
integrity sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==
crypto-random-string@^2.0.0:
version "2.0.0"
resolved "https://registry.npm.taobao.org/crypto-random-string/download/crypto-random-string-2.0.0.tgz?cache=0&sync_timestamp=1583560482221&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcrypto-random-string%2Fdownload%2Fcrypto-random-string-2.0.0.tgz"
...
...
portal-manager-ui/admin/src/App.vue
View file @
6a14a35d
...
...
@@ -69,4 +69,7 @@ export default {
.ant-calendar-next-year-btn::after {
border-color: rgba(0, 0, 0, 1) !important;
}
.ant-progress-text {
color: #fff !important;
}
</
style
>
\ No newline at end of file
portal-manager-ui/admin/src/assets/css/common.less
View file @
6a14a35d
...
...
@@ -776,4 +776,11 @@ img {
// }
// }
// }
// }
\ No newline at end of file
// }
// 统一设置表格为空时的展示
.ant-table-tbody {
td:empty::after {
content: "--";
}
}
\ No newline at end of file
portal-manager-ui/admin/src/components/ParticleWavy.vue
0 → 100644
View file @
6a14a35d
<
template
>
<div
id=
"indexLizi"
class=
"particle-wavy"
></div>
</
template
>
<
script
>
import
*
as
THREE
from
"
three
"
;
export
default
{
name
:
"
Pointwave
"
,
props
:
{
amountX
:
{
type
:
Number
,
default
:
50
,
},
amountY
:
{
type
:
Number
,
default
:
50
,
},
color
:
{
type
:
String
,
default
:
"
#10cbff
"
,
},
top
:
{
type
:
Number
,
default
:
350
,
},
},
data
()
{
return
{
count
:
0
,
// 用来跟踪鼠标水平位置
mouseX
:
0
,
windowHalfX
:
null
,
// 相机
camera
:
null
,
// 场景
scene
:
null
,
// 批量管理粒子
particles
:
null
,
// 渲染器
renderer
:
null
,
};
},
mounted
()
{
this
.
init
();
this
.
animate
();
},
methods
:
{
init
()
{
const
SEPARATION
=
100
;
const
SCREEN_WIDTH
=
window
.
innerWidth
;
const
SCREEN_HEIGHT
=
window
.
innerHeight
;
const
container
=
document
.
createElement
(
"
div
"
);
this
.
windowHalfX
=
window
.
innerWidth
/
2
;
container
.
style
.
position
=
"
relative
"
;
container
.
style
.
top
=
`
${
this
.
top
}
px`
;
container
.
style
.
height
=
`
${
SCREEN_HEIGHT
-
this
.
top
}
px`
;
document
.
getElementById
(
"
indexLizi
"
).
appendChild
(
container
);
this
.
camera
=
new
THREE
.
PerspectiveCamera
(
75
,
SCREEN_WIDTH
/
SCREEN_HEIGHT
,
1
,
10000
);
this
.
camera
.
position
.
z
=
1000
;
this
.
scene
=
new
THREE
.
Scene
();
const
numParticles
=
this
.
amountX
*
this
.
amountY
;
const
positions
=
new
Float32Array
(
numParticles
*
3
);
const
scales
=
new
Float32Array
(
numParticles
);
// 初始化粒子位置和大小
let
i
=
0
;
let
j
=
0
;
for
(
let
ix
=
0
;
ix
<
this
.
amountX
;
ix
++
)
{
for
(
let
iy
=
0
;
iy
<
this
.
amountY
;
iy
++
)
{
positions
[
i
]
=
ix
*
SEPARATION
-
(
this
.
amountX
*
SEPARATION
)
/
2
;
positions
[
i
+
1
]
=
0
;
positions
[
i
+
2
]
=
iy
*
SEPARATION
-
(
this
.
amountY
*
SEPARATION
)
/
2
;
scales
[
j
]
=
1
;
i
+=
3
;
j
++
;
}
}
const
geometry
=
new
THREE
.
BufferGeometry
();
geometry
.
setAttribute
(
"
position
"
,
new
THREE
.
BufferAttribute
(
positions
,
3
)
);
geometry
.
setAttribute
(
"
scale
"
,
new
THREE
.
BufferAttribute
(
scales
,
1
));
// 初始化粒子材质
const
material
=
new
THREE
.
ShaderMaterial
({
uniforms
:
{
color
:
{
value
:
new
THREE
.
Color
(
this
.
color
)
},
},
vertexShader
:
`
attribute float scale;
void main() {
vec4 mvPosition = modelViewMatrix * vec4( position, 2.0 );
gl_PointSize = scale * ( 300.0 / - mvPosition.z );
gl_Position = projectionMatrix * mvPosition;
}
`
,
fragmentShader
:
`
uniform vec3 color;
void main() {
if ( length( gl_PointCoord - vec2( 0.5, 0.5 ) ) > 0.475 ) discard;
gl_FragColor = vec4( color, 1.0 );
}
`
,
});
this
.
particles
=
new
THREE
.
Points
(
geometry
,
material
);
this
.
scene
.
add
(
this
.
particles
);
this
.
renderer
=
new
THREE
.
WebGLRenderer
({
antialias
:
true
,
alpha
:
true
});
this
.
renderer
.
setSize
(
container
.
clientWidth
,
container
.
clientHeight
);
this
.
renderer
.
setPixelRatio
(
window
.
devicePixelRatio
);
this
.
renderer
.
setClearAlpha
(
0
);
container
.
appendChild
(
this
.
renderer
.
domElement
);
window
.
addEventListener
(
"
resize
"
,
this
.
onWindowResize
,
{
passive
:
false
,
});
document
.
addEventListener
(
"
mousemove
"
,
this
.
onDocumentMouseMove
,
{
passive
:
false
,
});
document
.
addEventListener
(
"
touchstart
"
,
this
.
onDocumentTouchStart
,
{
passive
:
false
,
});
document
.
addEventListener
(
"
touchmove
"
,
this
.
onDocumentTouchMove
,
{
passive
:
false
,
});
},
render
()
{
this
.
camera
.
position
.
x
+=
(
this
.
mouseX
-
this
.
camera
.
position
.
x
)
*
0.05
;
this
.
camera
.
position
.
y
=
400
;
this
.
camera
.
lookAt
(
this
.
scene
.
position
);
const
positions
=
this
.
particles
.
geometry
.
attributes
.
position
.
array
;
const
scales
=
this
.
particles
.
geometry
.
attributes
.
scale
.
array
;
// 计算粒子位置及大小
let
i
=
0
;
let
j
=
0
;
for
(
let
ix
=
0
;
ix
<
this
.
amountX
;
ix
++
)
{
for
(
let
iy
=
0
;
iy
<
this
.
amountY
;
iy
++
)
{
positions
[
i
+
1
]
=
Math
.
sin
((
ix
+
this
.
count
)
*
0.3
)
*
100
+
Math
.
sin
((
iy
+
this
.
count
)
*
0.5
)
*
100
;
scales
[
j
]
=
(
Math
.
sin
((
ix
+
this
.
count
)
*
0.3
)
+
1
)
*
8
+
(
Math
.
sin
((
iy
+
this
.
count
)
*
0.5
)
+
1
)
*
8
;
i
+=
3
;
j
++
;
}
}
// 重新渲染粒子
this
.
particles
.
geometry
.
attributes
.
position
.
needsUpdate
=
true
;
this
.
particles
.
geometry
.
attributes
.
scale
.
needsUpdate
=
true
;
this
.
renderer
.
render
(
this
.
scene
,
this
.
camera
);
this
.
count
+=
0.02
;
},
animate
()
{
requestAnimationFrame
(
this
.
animate
);
this
.
render
();
// setInterval(() => {
// }, 50);
},
onDocumentMouseMove
(
event
)
{
this
.
mouseX
=
event
.
clientX
-
this
.
windowHalfX
;
},
onDocumentTouchStart
(
event
)
{
if
(
event
.
touches
.
length
===
1
)
{
this
.
mouseX
=
event
.
touches
[
0
].
pageX
-
this
.
windowHalfX
;
}
},
onDocumentTouchMove
(
event
)
{
if
(
event
.
touches
.
length
===
1
)
{
event
.
preventDefault
();
this
.
mouseX
=
event
.
touches
[
0
].
pageX
-
this
.
windowHalfX
;
}
},
onWindowResize
()
{
this
.
windowHalfX
=
window
.
innerWidth
/
2
;
this
.
camera
.
aspect
=
window
.
innerWidth
/
window
.
innerHeight
;
this
.
camera
.
updateProjectionMatrix
();
this
.
renderer
.
setSize
(
window
.
innerWidth
,
window
.
innerHeight
);
},
},
};
</
script
>
<
style
lang=
"less"
scoped
>
.particle-wavy {
width: 100%;
height: 100%;
opacity: 0.3;
}
</
style
>
\ No newline at end of file
portal-manager-ui/admin/src/store/index.js
View file @
6a14a35d
...
...
@@ -2,9 +2,10 @@ import Vue from "vue";
import
Vuex
from
"
vuex
"
;
import
modules
from
"
./modules
"
;
import
createPersistedState
from
"
vuex-persistedstate
"
;
import
SecureLS
from
"
secure-ls
"
;
var
ls
=
new
SecureLS
({
isCompression
:
false
});
//
import SecureLS from "secure-ls";
//
var ls = new SecureLS({ isCompression: false });
import
VuexReset
from
"
@ianwalter/vuex-reset
"
;
import
{
SessionCrypto
}
from
"
@/utils
"
;
// import persistedState from 'vuex-persistedstate'
Vue
.
use
(
Vuex
);
const
store
=
new
Vuex
.
Store
({
...
...
@@ -16,9 +17,9 @@ const store = new Vuex.Store({
createPersistedState
({
key
:
"
info
"
,
storage
:
{
getItem
:
(
key
)
=>
ls
.
get
(
key
),
setItem
:
(
key
,
value
)
=>
ls
.
set
(
key
,
value
),
removeItem
:
(
key
)
=>
ls
.
remove
(
key
),
getItem
:
(
key
)
=>
SessionCrypto
.
getItem
(
key
),
setItem
:
(
key
,
value
)
=>
SessionCrypto
.
setItem
(
key
,
value
),
removeItem
:
(
key
)
=>
SessionCrypto
.
remove
(
key
),
},
}),
],
...
...
portal-manager-ui/admin/src/utils/index.js
View file @
6a14a35d
...
...
@@ -16,3 +16,66 @@ export let encrypt = (str, keyStr, ivStr) => {
return
encrypted
.
toString
();
};
// 解密
export
const
decrypt
=
(
word
,
keyStr
,
ivStr
)
=>
{
keyStr
=
keyStr
?
keyStr
:
"
0000000671595991
"
;
ivStr
=
ivStr
?
ivStr
:
"
tdrdadq59tbss5n7
"
;
let
key
=
CryptoJS
.
enc
.
Utf8
.
parse
(
keyStr
);
let
iv
=
CryptoJS
.
enc
.
Utf8
.
parse
(
ivStr
);
let
decrypt
=
CryptoJS
.
AES
.
decrypt
(
word
,
key
,
{
iv
,
mode
:
CryptoJS
.
mode
.
CBC
,
padding
:
CryptoJS
.
pad
.
Pkcs7
,
});
return
decrypt
.
toString
(
CryptoJS
.
enc
.
Utf8
);
};
/**
* 加密存储临时数据并解析对象
*/
const
aseKey
=
"
**_FXxx_1234_KEY
"
;
const
KEY
=
"
KEY_EXTRA
"
;
export
class
SessionCrypto
{
// 加密
static
setItem
(
key
=
KEY
,
value
=
""
)
{
if
(
typeof
key
===
"
string
"
)
{
const
stringify
=
JSON
.
stringify
(
value
);
const
encrypt
=
CryptoJS
.
AES
.
encrypt
(
stringify
,
CryptoJS
.
enc
.
Utf8
.
parse
(
aseKey
),
{
mode
:
CryptoJS
.
mode
.
ECB
,
padding
:
CryptoJS
.
pad
.
Pkcs7
,
}
).
toString
();
window
.
sessionStorage
.
setItem
(
key
,
encrypt
);
return
encrypt
;
}
}
// 解密
static
getItem
(
key
=
KEY
)
{
const
ssStr
=
window
.
sessionStorage
.
getItem
(
key
)
||
""
;
try
{
if
(
ssStr
)
{
const
decrypt
=
CryptoJS
.
AES
.
decrypt
(
ssStr
,
CryptoJS
.
enc
.
Utf8
.
parse
(
aseKey
),
{
mode
:
CryptoJS
.
mode
.
ECB
,
padding
:
CryptoJS
.
pad
.
Pkcs7
,
}
).
toString
(
CryptoJS
.
enc
.
Utf8
);
const
parseStr
=
JSON
.
parse
(
decrypt
);
return
parseStr
;
}
return
""
;
}
catch
(
e
)
{
return
""
;
}
}
// 删除
static
remove
(
key
)
{
window
.
sessionStorage
.
removeItem
(
key
);
}
}
portal-manager-ui/admin/src/views/dataActuary/ParticleWavy.vue
View file @
6a14a35d
...
...
@@ -158,7 +158,7 @@ export default {
this
.
particles
.
geometry
.
attributes
.
position
.
needsUpdate
=
true
;
this
.
particles
.
geometry
.
attributes
.
scale
.
needsUpdate
=
true
;
this
.
renderer
.
render
(
this
.
scene
,
this
.
camera
);
this
.
count
+=
0.
1
;
this
.
count
+=
0.
02
;
},
animate
()
{
requestAnimationFrame
(
this
.
animate
);
...
...
portal-manager-ui/admin/src/views/dataActuary/behaviour/pageanalyse/pageAnalyse.vue
View file @
6a14a35d
<
template
>
<!-- 页面分析 -->
<div
class=
"page"
>
<a-form-model
:model=
"queryform"
:label-col=
"labelCol"
:wrapper-col=
"wrapperCol"
layout=
"inline"
>
<a-form-model-item>
<a-select
v-model=
"queryform.productId"
style=
"width: 200px"
placeholder=
"选择产品"
>
<a-select-option
:value=
"item.id"
v-for=
"(item,index) in product"
:key=
"index"
>
{{
item
.
title
}}
</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item>
<a-range-picker
valueFormat=
"yyyy-MM-DD"
v-model=
"time"
style=
"width: 300px"
:allowClear=
"false"
/>
</a-form-model-item>
<a-form-model-item>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"getData"
>
开始分析
</a-button>
</a-form-model-item>
</a-form-model>
<div
class=
"box"
>
<div
class=
"left-dv"
>
<div>
页面访问指标趋势
</div>
<div
class=
"txt-dv"
>
<div>
<div
class=
"num"
>
{{
data
?
data
.
accessSum
:
0
}}
</div>
<div>
页面累计访问次数
</div>
</div>
<div>
<div
class=
"num"
>
{{
data
?
data
.
dayAccessAvg
:
0
}}
</div>
<div>
日均访问次数
</div>
</div>
</div>
<div
id=
"number"
></div>
</div>
<div
class=
"right-dv"
>
<div
class=
"page-box"
>
<div
class=
"page-dv"
>
<div>
人均访问深度
</div>
<div
class=
"page-num"
>
{{
data
?
data
.
depthAvg
:
0
}}
页
</div>
</div>
<div
class=
"page-dv"
>
<div>
次均访问深度
</div>
<div
class=
"page-num"
>
{{
data
?
data
.
singleDepth
:
0
}}
页
</div>
</div>
</div>
<div
class=
"chatrs-dv"
>
<div>
页面访问次数TOP10
</div>
<div
id=
"pages"
></div>
</div>
</div>
</div>
</div>
<!-- 页面分析 -->
<div
class=
"page"
>
<a-form-model
:model=
"queryform"
:label-col=
"labelCol"
:wrapper-col=
"wrapperCol"
layout=
"inline"
>
<a-form-model-item>
<a-select
v-model=
"queryform.productId"
style=
"width: 200px"
placeholder=
"选择产品"
>
<a-select-option
:value=
"item.id"
v-for=
"(item, index) in product"
:key=
"index"
>
{{
item
.
title
}}
</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item>
<a-range-picker
valueFormat=
"yyyy-MM-DD"
v-model=
"time"
style=
"width: 300px"
:allowClear=
"false"
/>
</a-form-model-item>
<a-form-model-item>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"getData"
>
开始分析
</a-button>
</a-form-model-item>
</a-form-model>
<div
class=
"box"
>
<div
class=
"left-dv"
>
<div>
页面访问指标趋势
</div>
<div
class=
"txt-dv"
>
<div>
<div
class=
"num"
>
{{
data
?
data
.
accessSum
:
0
}}
</div>
<div>
页面累计访问次数
</div>
</div>
<div>
<div
class=
"num"
>
{{
data
?
data
.
dayAccessAvg
:
0
}}
</div>
<div>
日均访问次数
</div>
</div>
</div>
<div
id=
"number"
></div>
</div>
<div
class=
"right-dv"
>
<div
class=
"page-box"
>
<div
class=
"page-dv"
>
<div>
人均访问深度
</div>
<div
class=
"page-num"
>
{{
data
?
data
.
depthAvg
:
0
}}
页
</div>
</div>
<div
class=
"page-dv"
>
<div>
次均访问深度
</div>
<div
class=
"page-num"
>
{{
data
?
data
.
singleDepth
:
0
}}
页
</div>
</div>
</div>
<div
class=
"chatrs-dv"
>
<div>
页面访问次数TOP10
</div>
<div
id=
"pages"
></div>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
import
product
from
"
../mixins/product
"
import
*
as
echarts
from
'
echarts
'
import
{
getAccessAnalyse
}
from
'
@/api/dataActuary.js
'
import
moment
from
'
moment
'
;
export
default
{
mixins
:[
product
],
data
()
{
return
{
queryform
:
{
productId
:
1
,
dateTimeStart
:
moment
().
format
(
'
yyyy-MM-DD
'
),
dateTimeEnd
:
moment
().
format
(
'
yyyy-MM-DD
'
)
},
time
:[
moment
().
format
(
'
yyyy-MM-DD
'
),
moment
().
format
(
'
yyyy-MM-DD
'
)],
product
:[{
title
:
'
排队机
'
,
id
:
1
}],
labelCol
:
{
span
:
1
},
wrapperCol
:
{
span
:
14
},
data
:
null
}
},
mounted
()
{
this
.
getData
()
},
methods
:
{
getData
()
{
this
.
queryform
.
dateTimeStart
=
this
.
time
?
this
.
time
[
0
]
:
null
this
.
queryform
.
dateTimeStart
=
this
.
time
?
this
.
time
[
1
]
:
null
getAccessAnalyse
(
this
.
queryform
).
then
(
res
=>
{
this
.
data
=
res
.
data
let
lineX
=
res
.
data
.
accessTrend
.
map
(
item
=>
item
.
accessDay
)
let
lineY
=
res
.
data
.
accessTrend
.
map
(
item
=>
item
.
accessCount
)
let
barX
=
res
.
data
.
pageAccessTop
.
map
(
item
=>
item
.
accessCount
)
let
barY
=
res
.
data
.
pageAccessTop
.
map
(
item
=>
item
.
pageName
)
this
.
initLine
(
lineX
,
lineY
)
this
.
initBar
(
barX
,
barY
)
})
},
initBar
(
barX
,
barY
)
{
let
chartDom
=
document
.
getElementById
(
'
pages
'
)
let
myChart
=
echarts
.
init
(
chartDom
);
myChart
.
setOption
({
legend
:
{
bottom
:
0
,
itemWidth
:
10
,
itemHeight
:
10
},
tooltip
:
{
trigger
:
'
axis
'
,
axisPointer
:
{
type
:
'
shadow
'
}
},
color
:[
'
#29D090
'
],
grid
:
{
top
:
'
3%
'
,
left
:
'
3%
'
,
right
:
'
3%
'
,
bottom
:
'
10%
'
,
containLabel
:
true
},
xAxis
:
{
type
:
'
value
'
,
boundaryGap
:
[
0
,
0.01
]
},
yAxis
:
{
type
:
'
category
'
,
data
:
barY
,
axisTick
:
{
show
:
false
}
},
series
:
[{
name
:
'
访问次数
'
,
type
:
'
bar
'
,
data
:
barX
,
barWidth
:
10
}
]
})
},
initLine
(
lineX
,
lineY
)
{
let
chartDom
=
document
.
getElementById
(
'
number
'
)
let
myChart
=
echarts
.
init
(
chartDom
);
myChart
.
setOption
({
legend
:
{
bottom
:
0
},
grid
:
{
left
:
'
10%
'
,
rigth
:
0
,
top
:
'
5%
'
,
bottom
:
'
15%
'
},
xAxis
:
{
type
:
'
category
'
,
data
:
lineX
,
axisTick
:
{
show
:
false
}
},
yAxis
:
{
type
:
'
value
'
},
series
:
[{
name
:
'
页面访问次数
'
,
data
:
lineY
,
type
:
'
line
'
,
markLine
:
{
data
:
[{
type
:
'
average
'
,
name
:
'
均值
'
}],
label
:
{
position
:
'
insideStartTop
'
,
formatter
:
'
{b}:{c}
'
}
}
}]
})
}
}
};
import
product
from
"
../mixins/product
"
;
import
*
as
echarts
from
"
echarts
"
;
import
{
getAccessAnalyse
}
from
"
@/api/dataActuary.js
"
;
import
moment
from
"
moment
"
;
export
default
{
mixins
:
[
product
],
data
()
{
return
{
queryform
:
{
productId
:
1
,
dateTimeStart
:
moment
().
format
(
"
yyyy-MM-DD
"
),
dateTimeEnd
:
moment
().
format
(
"
yyyy-MM-DD
"
),
},
time
:
[
moment
().
format
(
"
yyyy-MM-DD
"
),
moment
().
format
(
"
yyyy-MM-DD
"
)],
product
:
[
{
title
:
"
排队机
"
,
id
:
1
,
},
],
labelCol
:
{
span
:
1
,
},
wrapperCol
:
{
span
:
14
,
},
data
:
null
,
};
},
mounted
()
{
this
.
getData
();
},
methods
:
{
getData
()
{
this
.
queryform
.
dateTimeStart
=
this
.
time
?
this
.
time
[
0
]
:
null
;
this
.
queryform
.
dateTimeEnd
=
this
.
time
?
this
.
time
[
1
]
:
null
;
getAccessAnalyse
(
this
.
queryform
).
then
((
res
)
=>
{
this
.
data
=
res
.
data
;
let
lineX
=
res
.
data
.
accessTrend
.
map
((
item
)
=>
item
.
accessDay
);
let
lineY
=
res
.
data
.
accessTrend
.
map
((
item
)
=>
item
.
accessCount
);
let
barX
=
res
.
data
.
pageAccessTop
.
map
((
item
)
=>
item
.
accessCount
);
let
barY
=
res
.
data
.
pageAccessTop
.
map
((
item
)
=>
item
.
pageName
);
this
.
initLine
(
lineX
,
lineY
);
this
.
initBar
(
barX
,
barY
);
});
},
initBar
(
barX
,
barY
)
{
let
chartDom
=
document
.
getElementById
(
"
pages
"
);
let
myChart
=
echarts
.
init
(
chartDom
);
myChart
.
setOption
({
legend
:
{
bottom
:
0
,
itemWidth
:
10
,
itemHeight
:
10
,
},
tooltip
:
{
trigger
:
"
axis
"
,
axisPointer
:
{
type
:
"
shadow
"
,
},
},
color
:
[
"
#29D090
"
],
grid
:
{
top
:
"
3%
"
,
left
:
"
3%
"
,
right
:
"
3%
"
,
bottom
:
"
10%
"
,
containLabel
:
true
,
},
xAxis
:
{
type
:
"
value
"
,
boundaryGap
:
[
0
,
0.01
],
},
yAxis
:
{
type
:
"
category
"
,
data
:
barY
,
axisTick
:
{
show
:
false
,
},
},
series
:
[
{
name
:
"
访问次数
"
,
type
:
"
bar
"
,
data
:
barX
,
barWidth
:
10
,
},
],
});
},
initLine
(
lineX
,
lineY
)
{
let
chartDom
=
document
.
getElementById
(
"
number
"
);
let
myChart
=
echarts
.
init
(
chartDom
);
myChart
.
setOption
({
legend
:
{
bottom
:
0
,
},
grid
:
{
left
:
"
10%
"
,
rigth
:
0
,
top
:
"
5%
"
,
bottom
:
"
15%
"
,
},
xAxis
:
{
type
:
"
category
"
,
data
:
lineX
,
axisTick
:
{
show
:
false
,
},
},
yAxis
:
{
type
:
"
value
"
,
},
series
:
[
{
name
:
"
页面访问次数
"
,
data
:
lineY
,
type
:
"
line
"
,
markLine
:
{
data
:
[
{
type
:
"
average
"
,
name
:
"
均值
"
,
},
],
label
:
{
position
:
"
insideStartTop
"
,
formatter
:
"
{b}:{c}
"
,
},
},
},
],
});
},
},
};
</
script
>
<
style
lang=
"less"
scoped
>
.page {
height: calc(100% - 50px);
.page {
height: calc(100% - 50px);
/deep/.ant-form {
padding: 15px;
border-bottom: solid 1px #efefef;
}
/deep/.ant-form {
padding: 15px;
border-bottom: solid 1px #efefef;
}
.box {
height: calc(100% - 70px);
display: flex;
.box {
height: calc(100% - 70px);
display: flex;
.left-dv {
width: 55%;
min-height: 100%;
border-right: solid 1px #efefef;
padding: 15px;
.left-dv {
width: 55%;
min-height: 100%;
border-right: solid 1px #efefef;
padding: 15px;
.txt-dv {
display: flex;
justify-content: space-around;
margin: 50px;
text-align: center;
.txt-dv {
display: flex;
justify-content: space-around;
margin: 50px;
text-align: center;
.num {
font-size: 24px;
margin-bottom: 10px;
}
}
.num {
font-size: 24px;
margin-bottom: 10px;
}
}
#number {
height: 350px;
}
}
#number {
height: 350px;
}
}
.right-dv {
flex: 1;
padding: 15px;
.right-dv {
flex: 1;
padding: 15px;
.page-box {
display: flex;
justify-content: space-between;
margin: 20px 0;
.page-box {
display: flex;
justify-content: space-between;
margin: 20px 0;
.page-dv {
width: calc(50% - 15px);
height: 140px;
background-color: #F5FAFF
;
padding: 30px;
box-sizing: border-box;
.page-dv {
width: calc(50% - 15px);
height: 140px;
background-color: #f5faff
;
padding: 30px;
box-sizing: border-box;
.page-num {
font-size: 24px;
margin-top: 20px;
}
}
}
.page-num {
font-size: 24px;
margin-top: 20px;
}
}
}
.chatrs-dv {
padding: 20px;
background-color: #F6FBF
7;
}
.chatrs-dv {
padding: 20px;
background-color: #f6fbf
7;
}
#pages {
height: 290px;
}
}
}
}
</
style
>
\ No newline at end of file
#pages {
height: 290px;
}
}
}
}
</
style
>
portal-manager-ui/admin/src/views/dataActuary/behaviour/pathanalyse/pathAnalyse.vue
View file @
6a14a35d
<
template
>
<!-- 路径分析 -->
<div
class=
"page"
>
<a-form-model
:model=
"queryform"
:label-col=
"labelCol"
:wrapper-col=
"wrapperCol"
layout=
"inline"
>
<a-form-model-item>
<a-select
v-model=
"queryform.productId"
style=
"width: 200px"
placeholder=
"选择产品"
>
<a-select-option
:value=
"item.id"
v-for=
"(item,index) in product"
:key=
"index"
>
{{
item
.
title
}}
</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item>
<a-range-picker
valueFormat=
"yyyy-MM-DD"
v-model=
"time"
style=
"width: 300px"
:allowClear=
"false"
/>
</a-form-model-item>
<a-form-model-item>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"getData"
>
开始分析
</a-button>
</a-form-model-item>
</a-form-model>
<div
id=
"path"
></div>
</div>
<!-- 路径分析 -->
<div
class=
"page"
>
<a-form-model
:model=
"queryform"
:label-col=
"labelCol"
:wrapper-col=
"wrapperCol"
layout=
"inline"
>
<a-form-model-item>
<a-select
v-model=
"queryform.productId"
style=
"width: 200px"
placeholder=
"选择产品"
>
<a-select-option
:value=
"item.id"
v-for=
"(item, index) in product"
:key=
"index"
>
{{
item
.
title
}}
</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item>
<a-range-picker
valueFormat=
"yyyy-MM-DD"
v-model=
"time"
style=
"width: 300px"
:allowClear=
"false"
/>
</a-form-model-item>
<a-form-model-item>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"getData"
>
开始分析
</a-button>
</a-form-model-item>
</a-form-model>
<div
id=
"path"
></div>
</div>
</
template
>
<
script
>
import
*
as
echarts
from
'
echarts
'
import
product
from
"
../mixins/product
"
import
{
getWayAccessAnalyse
}
from
'
@/api/dataActuary.js
'
import
moment
from
'
moment
'
;
export
default
{
mixins
:[
product
],
data
()
{
return
{
queryform
:
{
productId
:
1
,
dateTimeStart
:
moment
().
format
(
'
yyyy-MM-DD
'
),
dateTimeEnd
:
moment
().
format
(
'
yyyy-MM-DD
'
)
},
time
:[
moment
().
format
(
'
yyyy-MM-DD
'
),
moment
().
format
(
'
yyyy-MM-DD
'
)],
product
:[{
title
:
'
排队机
'
,
id
:
1
}],
labelCol
:
{
span
:
1
},
wrapperCol
:
{
span
:
14
},
}
},
mounted
()
{
this
.
getData
()
},
methods
:
{
getData
()
{
this
.
queryform
.
dateTimeStart
=
this
.
time
?
this
.
time
[
0
]
:
null
this
.
queryform
.
dateTimeStart
=
this
.
time
?
this
.
time
[
1
]
:
null
getWayAccessAnalyse
(
this
.
queryform
).
then
(
res
=>
{
let
data
=
res
.
data
.
data
.
map
(
item
=>
({
name
:
item
.
name
}))
let
links
=
res
.
data
.
links
.
map
(
item
=>
({
source
:
item
.
sourceName
,
target
:
item
.
targetName
,
value
:
item
.
value
,
lineStyle
:{
color
:
'
source
'
}
}))
this
.
init
(
data
,
links
)
})
},
uniqueFunc
(
arr
,
uniId
){
const
res
=
new
Map
();
return
arr
.
filter
((
item
)
=>
!
res
.
has
(
item
[
uniId
])
&&
res
.
set
(
item
[
uniId
],
1
));
},
init
(
data
,
links
)
{
let
chartDom
=
document
.
getElementById
(
'
path
'
)
let
myChart
=
echarts
.
init
(
chartDom
);
myChart
.
setOption
({
series
:
{
type
:
'
sankey
'
,
layout
:
'
none
'
,
emphasis
:
{
focus
:
'
adjacency
'
},
color
:[
'
#FFCAC4
'
,
'
#6D86DE
'
,
'
#409AFE
'
,
'
#4DB3EA
'
,
'
#07CF8C
'
],
nodeWidth
:
10
,
data
:
data
,
links
:
links
}
})
}
}
};
import
*
as
echarts
from
"
echarts
"
;
import
product
from
"
../mixins/product
"
;
import
{
getWayAccessAnalyse
}
from
"
@/api/dataActuary.js
"
;
import
moment
from
"
moment
"
;
export
default
{
mixins
:
[
product
],
data
()
{
return
{
queryform
:
{
productId
:
1
,
dateTimeStart
:
moment
().
format
(
"
yyyy-MM-DD
"
),
dateTimeEnd
:
moment
().
format
(
"
yyyy-MM-DD
"
),
},
time
:
[
moment
().
format
(
"
yyyy-MM-DD
"
),
moment
().
format
(
"
yyyy-MM-DD
"
)],
product
:
[
{
title
:
"
排队机
"
,
id
:
1
,
},
],
labelCol
:
{
span
:
1
,
},
wrapperCol
:
{
span
:
14
,
},
myChart
:
null
,
};
},
created
()
{
this
.
$nextTick
(()
=>
{
this
.
getData
();
});
},
methods
:
{
getData
()
{
this
.
queryform
.
dateTimeStart
=
this
.
time
?
this
.
time
[
0
]
:
null
;
this
.
queryform
.
dateTimeStart
=
this
.
time
?
this
.
time
[
1
]
:
null
;
getWayAccessAnalyse
(
this
.
queryform
).
then
((
res
)
=>
{
let
newobj
=
{};
let
data
=
res
.
data
.
data
.
reduce
((
preVal
,
curVal
)
=>
{
newobj
[
curVal
.
name
]
?
""
:
(
newobj
[
curVal
.
name
]
=
preVal
.
push
(
curVal
));
return
preVal
;
},
[]);
// let data = res.data.data.map((item, i) =>
// item.code != "/sceneSignIn"
// ? {
// name: item.name,
// }
// : ""
// );
let
links
=
res
.
data
.
links
.
map
((
item
)
=>
({
source
:
item
.
sourceName
,
target
:
item
.
targetName
,
value
:
item
.
value
,
lineStyle
:
{
color
:
"
source
"
,
},
}));
data
=
data
.
filter
((
v
)
=>
v
);
links
=
links
.
filter
((
v
)
=>
v
.
target
!=
"
首页
"
&&
v
.
target
!=
v
.
source
);
this
.
init
(
data
,
links
);
});
},
uniqueFunc
(
arr
,
uniId
)
{
const
res
=
new
Map
();
return
arr
.
filter
(
(
item
)
=>
!
res
.
has
(
item
[
uniId
])
&&
res
.
set
(
item
[
uniId
],
1
)
);
},
init
(
data
,
links
)
{
if
(
this
.
myChart
!=
null
&&
this
.
myChart
!=
""
&&
this
.
myChart
!=
undefined
)
{
this
.
myChart
.
dispose
();
//销毁
}
this
.
myChart
=
echarts
.
init
(
document
.
getElementById
(
"
path
"
));
this
.
myChart
.
setOption
({
series
:
{
type
:
"
sankey
"
,
layout
:
"
none
"
,
emphasis
:
{
focus
:
"
adjacency
"
,
},
color
:
[
"
#FFCAC4
"
,
"
#6D86DE
"
,
"
#409AFE
"
,
"
#4DB3EA
"
,
"
#07CF8C
"
],
nodeWidth
:
10
,
data
:
data
,
links
:
links
,
},
});
window
.
addEventListener
(
"
resize
"
,
()
=>
{
if
(
this
.
myChart
)
{
this
.
myChart
.
resize
();
}
});
},
},
};
</
script
>
<
style
lang=
"less"
scoped
>
.page{
height: calc(100% - 50px);
display: flex;
flex-direction: column;
/deep/.ant-form {
padding: 15px;
}
#path{
flex: 1;
width: 70%;
margin: 0 auto;
}
}
</
style
>
\ No newline at end of file
.page {
height: calc(100% - 50px);
display: flex;
flex-direction: column;
/deep/.ant-form {
padding: 15px;
}
#path {
flex: 1;
width: 70%;
margin: 0 auto;
}
}
</
style
>
portal-manager-ui/admin/src/views/dataActuary/behaviour/product/product.vue
View file @
6a14a35d
...
...
@@ -217,12 +217,14 @@ export default {
display: flex;
.img-dv {
width: 60%
;
flex: 1
;
margin: 100px;
height: 600px;
position: relative;
img {
width: 100%;
height: 100%;
}
#queuing {
...
...
@@ -236,7 +238,7 @@ export default {
}
.list-dv {
width:
40
%;
width:
55
%;
min-height: 100%;
border-left: solid 1px #efefef;
box-sizing: border-box;
...
...
portal-manager-ui/admin/src/views/dataActuary/behaviour/usinghabit/usinghabit.vue
View file @
6a14a35d
<
template
>
<!-- 使用习惯分析 -->
<div
class=
"page"
>
<a-form-model
:model=
"queryform"
:label-col=
"labelCol"
:wrapper-col=
"wrapperCol"
layout=
"inline"
>
<a-form-model-item>
<a-select
v-model=
"queryform.productId"
style=
"width: 200px"
placeholder=
"选择产品"
>
<a-select-option
:value=
"item.id"
v-for=
"(item,index) in product"
:key=
"index"
>
{{
item
.
title
}}
</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item>
<a-range-picker
valueFormat=
"yyyy-MM-DD"
v-model=
"time"
style=
"width: 300px"
:allowClear=
"false"
/>
</a-form-model-item>
<a-form-model-item>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"getData"
>
开始分析
</a-button>
</a-form-model-item>
</a-form-model>
<div
class=
"charts-box"
>
<!--
<div
id=
"canal"
></div>
-->
<div
id=
"type"
></div>
<!--
<div
id=
"way"
></div>
-->
</div>
</div>
<!-- 使用习惯分析 -->
<div
class=
"page"
>
<a-form-model
:model=
"queryform"
:label-col=
"labelCol"
:wrapper-col=
"wrapperCol"
layout=
"inline"
>
<a-form-model-item>
<a-select
v-model=
"queryform.productId"
style=
"width: 200px"
placeholder=
"选择产品"
>
<a-select-option
:value=
"item.id"
v-for=
"(item, index) in product"
:key=
"index"
>
{{
item
.
title
}}
</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item>
<a-range-picker
valueFormat=
"yyyy-MM-DD"
v-model=
"time"
style=
"width: 300px"
:allowClear=
"false"
/>
</a-form-model-item>
<a-form-model-item>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"getData"
>
开始分析
</a-button>
</a-form-model-item>
</a-form-model>
<div
class=
"charts-box"
>
<!--
<div
id=
"canal"
></div>
-->
<div
id=
"type"
></div>
<!--
<div
id=
"way"
></div>
-->
</div>
</div>
</
template
>
<
script
>
import
*
as
echarts
from
'
echarts
'
import
moment
from
'
moment
'
;
import
{
getUsageCensus
}
from
'
@/api/dataActuary.js
'
import
product
from
"
../mixins/product
"
export
default
{
mixins
:[
product
],
data
()
{
return
{
queryform
:
{
productId
:
1
,
dateTimeStart
:
moment
().
format
(
'
yyyy-MM-DD
'
),
dateTimeEnd
:
moment
().
format
(
'
yyyy-MM-DD
'
),
pageCode
:
'
/
'
},
time
:
[
moment
().
format
(
'
yyyy-MM-DD
'
),
moment
().
format
(
'
yyyy-MM-DD
'
)],
product
:
[{
title
:
'
排队机
'
,
id
:
1
}],
labelCol
:
{
span
:
1
},
wrapperCol
:
{
span
:
14
},
}
},
mounted
()
{
this
.
getData
()
},
methods
:
{
getData
()
{
this
.
queryform
.
dateTimeStart
=
this
.
time
?
this
.
time
[
0
]
:
null
this
.
queryform
.
dateTimeEnd
=
this
.
time
?
this
.
time
[
1
]
:
null
getUsageCensus
(
this
.
queryform
).
then
(
res
=>
{
let
data
=
res
.
data
.
map
(({
businessName
,
propValue
})
=>
({
name
:
businessName
,
value
:
propValue
*
100
}))
this
.
initType
(
data
)
})
},
initWay
(){
let
chartDom
=
document
.
getElementById
(
'
way
'
)
let
myChart
=
echarts
.
init
(
chartDom
);
myChart
.
setOption
({
title
:
{
text
:
'
取号方式分析
'
,
left
:
'
center
'
},
tooltip
:
{
trigger
:
'
item
'
,
},
legend
:
{
bottom
:
0
,
left
:
'
center
'
,
itemWidth
:
10
,
itemHeight
:
10
},
color
:
[
'
#6395F9
'
,
'
#64DAAB
'
,
'
#647798
'
,
'
#F6C02D
'
,
'
#7567FA
'
,
'
#75CBED
'
],
series
:
[{
name
:
'
Access From
'
,
type
:
'
pie
'
,
radius
:
'
65%
'
,
label
:
{
normal
:
{
formatter
:
'
{d}%
'
//自定义显示格式(b:name, c:value, d:百分比)
}
},
labelLine
:
{
normal
:
{
length
:
1
}
},
data
:
[{
value
:
1048
,
name
:
'
Search Engine
'
},
{
value
:
735
,
name
:
'
Direct
'
},
{
value
:
580
,
name
:
'
Email
'
},
{
value
:
484
,
name
:
'
Union Ads
'
},
{
value
:
300
,
name
:
'
Video Ads
'
}
],
}]
})
},
initType
(
data
)
{
console
.
log
(
data
)
let
chartDom
=
document
.
getElementById
(
'
type
'
)
let
myChart
=
echarts
.
init
(
chartDom
);
myChart
.
setOption
({
title
:
{
text
:
this
.
queryform
.
productId
==
1
?
'
取号类型分析
'
:
'
功能使用分布
'
,
left
:
'
center
'
},
tooltip
:
{
trigger
:
'
item
'
,
},
legend
:
{
bottom
:
0
,
left
:
'
center
'
,
itemWidth
:
10
,
itemHeight
:
10
},
color
:
[
'
#6395F9
'
,
'
#64DAAB
'
,
'
#647798
'
,
'
#F6C02D
'
,
'
#7567FA
'
,
'
#75CBED
'
],
series
:
[{
type
:
'
pie
'
,
radius
:
'
65%
'
,
label
:
{
normal
:
{
formatter
:
'
{d}%
'
//自定义显示格式(b:name, c:value, d:百分比)
}
},
labelLine
:
{
normal
:
{
length
:
1
}
},
data
:
data
}]
})
},
initCanal
()
{
let
chartDom
=
document
.
getElementById
(
'
canal
'
)
let
myChart
=
echarts
.
init
(
chartDom
);
myChart
.
setOption
({
title
:
{
text
:
'
取号渠道分析
'
,
left
:
'
center
'
},
tooltip
:
{
trigger
:
'
item
'
,
},
legend
:
{
bottom
:
0
,
left
:
'
center
'
,
itemWidth
:
10
,
itemHeight
:
10
},
color
:
[
'
#6395F9
'
,
'
#64DAAB
'
,
'
#647798
'
,
'
#F6C02D
'
,
'
#7567FA
'
,
'
#75CBED
'
],
series
:
[{
name
:
'
Access From
'
,
type
:
'
pie
'
,
radius
:
'
65%
'
,
label
:
{
normal
:
{
formatter
:
'
{d}%
'
//自定义显示格式(b:name, c:value, d:百分比)
}
},
labelLine
:
{
normal
:
{
length
:
1
}
},
data
:
[{
value
:
1048
,
name
:
'
终端取号
'
},
{
value
:
735
,
name
:
'
在线取号
'
}
]
}]
})
}
}
};
import
*
as
echarts
from
"
echarts
"
;
import
moment
from
"
moment
"
;
import
{
getUsageCensus
}
from
"
@/api/dataActuary.js
"
;
import
product
from
"
../mixins/product
"
;
export
default
{
mixins
:
[
product
],
data
()
{
return
{
queryform
:
{
productId
:
1
,
dateTimeStart
:
moment
().
format
(
"
yyyy-MM-DD
"
),
dateTimeEnd
:
moment
().
format
(
"
yyyy-MM-DD
"
),
pageCode
:
"
/
"
,
},
time
:
[
moment
().
format
(
"
yyyy-MM-DD
"
),
moment
().
format
(
"
yyyy-MM-DD
"
)],
product
:
[
{
title
:
"
排队机
"
,
id
:
1
,
},
],
labelCol
:
{
span
:
1
,
},
wrapperCol
:
{
span
:
14
,
},
};
},
mounted
()
{
this
.
getData
();
},
methods
:
{
getData
()
{
this
.
queryform
.
dateTimeStart
=
this
.
time
?
this
.
time
[
0
]
:
null
;
this
.
queryform
.
dateTimeEnd
=
this
.
time
?
this
.
time
[
1
]
:
null
;
this
.
queryform
.
productId
==
1
?
(
this
.
queryform
.
businessCodeList
=
[
"
iDCardSignIn
"
,
"
mobCheck_in
"
,
"
qrCode
"
,
])
:
""
;
console
.
log
(
this
.
queryform
);
getUsageCensus
(
this
.
queryform
).
then
((
res
)
=>
{
let
data
=
res
.
data
.
map
(({
businessName
,
propValue
})
=>
({
name
:
businessName
,
value
:
propValue
*
100
,
}));
this
.
initType
(
data
);
});
},
initWay
()
{
let
chartDom
=
document
.
getElementById
(
"
way
"
);
let
myChart
=
echarts
.
init
(
chartDom
);
myChart
.
setOption
({
title
:
{
text
:
"
取号方式分析
"
,
left
:
"
center
"
,
},
tooltip
:
{
trigger
:
"
item
"
,
},
legend
:
{
bottom
:
0
,
left
:
"
center
"
,
itemWidth
:
10
,
itemHeight
:
10
,
},
color
:
[
"
#6395F9
"
,
"
#64DAAB
"
,
"
#647798
"
,
"
#F6C02D
"
,
"
#7567FA
"
,
"
#75CBED
"
,
],
series
:
[
{
name
:
"
Access From
"
,
type
:
"
pie
"
,
radius
:
"
65%
"
,
label
:
{
normal
:
{
formatter
:
"
{d}%
"
,
//自定义显示格式(b:name, c:value, d:百分比)
},
},
labelLine
:
{
normal
:
{
length
:
1
,
},
},
data
:
[
{
value
:
1048
,
name
:
"
Search Engine
"
,
},
{
value
:
735
,
name
:
"
Direct
"
,
},
{
value
:
580
,
name
:
"
Email
"
,
},
{
value
:
484
,
name
:
"
Union Ads
"
,
},
{
value
:
300
,
name
:
"
Video Ads
"
,
},
],
},
],
});
},
initType
(
data
)
{
console
.
log
(
data
);
let
chartDom
=
document
.
getElementById
(
"
type
"
);
let
myChart
=
echarts
.
init
(
chartDom
);
myChart
.
setOption
({
title
:
{
text
:
this
.
queryform
.
productId
==
1
?
"
取号类型分析
"
:
"
功能使用分布
"
,
left
:
"
center
"
,
},
tooltip
:
{
trigger
:
"
item
"
,
},
legend
:
{
bottom
:
0
,
left
:
"
center
"
,
itemWidth
:
10
,
itemHeight
:
10
,
},
color
:
[
"
#6395F9
"
,
"
#64DAAB
"
,
"
#647798
"
,
"
#F6C02D
"
,
"
#7567FA
"
,
"
#75CBED
"
,
],
series
:
[
{
type
:
"
pie
"
,
radius
:
"
65%
"
,
label
:
{
normal
:
{
formatter
:
"
{d}%
"
,
//自定义显示格式(b:name, c:value, d:百分比)
},
},
labelLine
:
{
normal
:
{
length
:
1
,
},
},
data
:
data
,
},
],
});
},
initCanal
()
{
let
chartDom
=
document
.
getElementById
(
"
canal
"
);
let
myChart
=
echarts
.
init
(
chartDom
);
myChart
.
setOption
({
title
:
{
text
:
"
取号渠道分析
"
,
left
:
"
center
"
,
},
tooltip
:
{
trigger
:
"
item
"
,
},
legend
:
{
bottom
:
0
,
left
:
"
center
"
,
itemWidth
:
10
,
itemHeight
:
10
,
},
color
:
[
"
#6395F9
"
,
"
#64DAAB
"
,
"
#647798
"
,
"
#F6C02D
"
,
"
#7567FA
"
,
"
#75CBED
"
,
],
series
:
[
{
name
:
"
Access From
"
,
type
:
"
pie
"
,
radius
:
"
65%
"
,
label
:
{
normal
:
{
formatter
:
"
{d}%
"
,
//自定义显示格式(b:name, c:value, d:百分比)
},
},
labelLine
:
{
normal
:
{
length
:
1
,
},
},
data
:
[
{
value
:
1048
,
name
:
"
终端取号
"
,
},
{
value
:
735
,
name
:
"
在线取号
"
,
},
],
},
],
});
},
},
};
</
script
>
<
style
lang=
"less"
scoped
>
.page {
height: calc(100% - 50px);
display: flex;
flex-direction: column;
.page {
height: calc(100% - 50px);
display: flex;
flex-direction: column;
/deep/.ant-form {
padding: 15px;
}
/deep/.ant-form {
padding: 15px;
}
.charts-box {
flex: 1;
display: flex;
justify-content: center;
padding: 50px 0;
.charts-box {
flex: 1;
display: flex;
justify-content: center;
padding: 50px 0;
#canal,#type,#way {
width: 30%;
height: 100%;
}
}
}
</
style
>
\ No newline at end of file
#canal,
#type,
#way {
width: 30%;
height: 100%;
}
}
}
</
style
>
portal-manager-ui/admin/src/views/dataActuary/dataActuary.vue
View file @
6a14a35d
<
template
>
<div
class=
"actuary w-full h-auto"
>
<
Start
class=
"start"
/>
<
ParticleWavy
class=
"start"
/>
<div
class=
"act_cont"
>
<div
class=
"act_tit"
>
<h1>
智慧政务数据精算
</h1>
...
...
@@ -42,7 +42,7 @@
<
script
>
import
menu
from
"
@/mixins/menu
"
;
import
Start
from
"
.
/ParticleWavy.vue
"
;
import
ParticleWavy
from
"
@/components
/ParticleWavy.vue
"
;
import
{
mapState
}
from
"
vuex
"
;
import
Storage
from
"
@/utils/js/Storage
"
;
export
default
{
...
...
@@ -54,7 +54,7 @@ export default {
};
},
components
:
{
Start
,
ParticleWavy
,
},
computed
:
{
...
...
portal-manager-ui/admin/src/views/dataActuary/portrayal/portrayalBase/index.vue
View file @
6a14a35d
<
template
>
<div>
<a-card
:bordered=
"false"
class=
"mb_15"
>
<template
slot=
"title"
>
<div
class=
"head"
>
<div
class=
"head_title"
>
整体情况
</div>
<div
class=
"head_desc"
>
更新时间:
{{
nowDate
}}
</div>
</div>
</
template
>
<a-row
type=
"flex"
align=
"middle"
>
<a-col
:span=
"4"
>
<div
class=
"f_40 f_center warning"
>
{{ massCount }}
</div>
<div
class=
"f_center"
>
群众注册总量
</div>
<!-- <div class="f_center primary" @click="toTable">点击查看报表</div> -->
</a-col>
<a-col
:span=
"20"
>
<lineChart
:id=
"`one_line`"
:title=
"`近30日注册情况分析`"
:datas=
"oneLineData"
:height=
"200"
:width=
"1420"
/>
</a-col>
</a-row>
</a-card>
<a-card
:bordered=
"false"
class=
"mb_15"
>
<
template
slot=
"title"
>
<div
class=
"head"
>
<div
class=
"head_title"
>
注册用户理解
</div>
<div
class=
"head_desc"
></div>
</div>
</
template
>
<a-row>
<a-col
:span=
"8"
>
<map-chart
:id=
"`one_map`"
:datas=
"oneMapData"
:height=
"400"
:width=
"550"
/>
</a-col>
<a-col
:span=
"8"
>
<a-table
:rowKey=
"(record, index) => { return index }"
:dataSource=
"provinces"
:columns=
"provincesColumns"
:scroll=
"{ y: 300 }"
:pagination=
"false"
>
</a-table>
</a-col>
<a-col
:span=
"8"
>
<pieChart
:id=
"`one_pie`"
:height=
"400"
:width=
"550"
:datas=
"onePieData"
/>
</a-col>
<a-col
:span=
"12"
>
<doublePieChart
:id=
"`two_pie`"
:height=
"300"
:width=
"800"
:datas=
"twoPieData"
/>
</a-col>
<a-col
:span=
"12"
>
<barChart
:id=
"`one_bar`"
:height=
"300"
:width=
"800"
:datas=
"oneBarData"
/>
</a-col>
<a-col
:span=
"12"
>
<barChart
:id=
"`two_bar`"
:height=
"300"
:width=
"800"
:datas=
"twoBarData"
/>
</a-col>
<a-col
:span=
"12"
>
<pieChart
:id=
"`three_pie`"
:height=
"300"
:width=
"800"
:datas=
"threePieData"
/>
</a-col>
<a-col
:span=
"12"
>
</a-col>
<a-col
:span=
"12"
>
</a-col>
</a-row>
</a-card>
<a-card
:bordered=
"false"
class=
"mb_15"
>
<
template
slot=
"title"
>
<div
class=
"head"
>
<div
class=
"head_title"
>
办件用户理解
</div>
<div
class=
"head_desc"
></div>
</div>
</
template
>
<a-row
type=
"flex"
align=
"middle"
>
<a-row>
<a-col
:span=
"8"
>
<map-chart
:id=
"`two_map`"
:datas=
"oneMapData2"
:height=
"400"
:width=
"550"
/>
</a-col>
<a-col
:span=
"8"
>
<a-table
:rowKey=
"(record, index) => { return index }"
:dataSource=
"provinces2"
:columns=
"provincesColumns2"
:pagination=
"false"
:scroll=
"{ y: 300 }"
>
</a-table>
</a-col>
<a-col
:span=
"8"
>
<pieChart
:id=
"`four_pie`"
:height=
"400"
:width=
"550"
:datas=
"onePieData2"
/>
</a-col>
<a-col
:span=
"12"
>
<doublePieChart
:id=
"`five_pie`"
:height=
"300"
:width=
"800"
:datas=
"twoPieData2"
/>
</a-col>
<a-col
:span=
"12"
>
<barChart
:id=
"`six_bar`"
:height=
"300"
:width=
"800"
:datas=
"oneBarData2"
/>
</a-col>
<a-col
:span=
"12"
>
<barChart
:id=
"`three_bar`"
:height=
"300"
:width=
"800"
:datas=
"twoBarData2"
/>
</a-col>
<a-col
:span=
"12"
>
<pieChart
:id=
"`six_pie`"
:height=
"300"
:width=
"800"
:datas=
"threePieData2"
/>
</a-col>
<a-col
:span=
"12"
>
</a-col>
<a-col
:span=
"12"
>
</a-col>
</a-row>
</a-row>
</a-card>
</div>
<div>
<a-card
:bordered=
"false"
class=
"mb_15"
>
<template
slot=
"title"
>
<div
class=
"head"
>
<div
class=
"head_title"
>
整体情况
</div>
<div
class=
"head_desc"
>
更新时间:
{{
nowDate
}}
</div>
</div>
</
template
>
<a-row
type=
"flex"
align=
"middle"
>
<a-col
:span=
"4"
>
<div
class=
"f_40 f_center warning"
>
{{ massCount }}
</div>
<div
class=
"f_center"
>
群众注册总量
</div>
<!-- <div class="f_center primary" @click="toTable">点击查看报表</div> -->
</a-col>
<a-col
:span=
"20"
>
<lineChart
:id=
"`one_line`"
:title=
"`近30日注册情况分析`"
:datas=
"oneLineData"
:height=
"200"
:width=
"1420"
/>
</a-col>
</a-row>
</a-card>
<a-card
:bordered=
"false"
class=
"mb_15"
>
<
template
slot=
"title"
>
<div
class=
"head"
>
<div
class=
"head_title"
>
注册用户理解
</div>
<div
class=
"head_desc"
></div>
</div>
</
template
>
<a-row>
<a-col
:span=
"8"
>
<map-chart
:id=
"`one_map`"
:datas=
"oneMapData"
:height=
"400"
:width=
"550"
/>
</a-col>
<a-col
:span=
"8"
>
<a-table
:rowKey=
"
(record, index) => {
return index;
}
"
:dataSource=
"provinces"
:columns=
"provincesColumns"
:scroll=
"{ y: 300 }"
:pagination=
"false"
>
</a-table>
</a-col>
<a-col
:span=
"8"
>
<pieChart
:id=
"`one_pie`"
:height=
"400"
:width=
"550"
:datas=
"onePieData"
/>
</a-col>
<a-col
:span=
"12"
>
<doublePieChart
:id=
"`two_pie`"
:height=
"300"
:width=
"800"
:datas=
"twoPieData"
/>
</a-col>
<a-col
:span=
"12"
>
<barChart
:id=
"`one_bar`"
:height=
"300"
:width=
"800"
:datas=
"oneBarData"
/>
</a-col>
<a-col
:span=
"12"
>
<barChart
:id=
"`two_bar`"
:height=
"300"
:width=
"800"
:datas=
"twoBarData"
/>
</a-col>
<a-col
:span=
"12"
>
<pieChart
:id=
"`three_pie`"
:height=
"300"
:width=
"800"
:datas=
"threePieData"
/>
</a-col>
<a-col
:span=
"12"
>
</a-col>
<a-col
:span=
"12"
>
</a-col>
</a-row>
</a-card>
<a-card
:bordered=
"false"
class=
"mb_15"
>
<
template
slot=
"title"
>
<div
class=
"head"
>
<div
class=
"head_title"
>
办件用户理解
</div>
<div
class=
"head_desc"
></div>
</div>
</
template
>
<a-row
type=
"flex"
align=
"middle"
>
<a-row>
<a-col
:span=
"8"
>
<map-chart
:id=
"`two_map`"
:datas=
"oneMapData2"
:height=
"400"
:width=
"550"
/>
</a-col>
<a-col
:span=
"8"
>
<a-table
:rowKey=
"
(record, index) => {
return index;
}
"
:dataSource=
"provinces2"
:columns=
"provincesColumns2"
:pagination=
"false"
:scroll=
"{ y: 300 }"
>
</a-table>
</a-col>
<a-col
:span=
"8"
>
<pieChart
:id=
"`four_pie`"
:height=
"400"
:width=
"550"
:datas=
"onePieData2"
/>
</a-col>
<a-col
:span=
"12"
>
<doublePieChart
:id=
"`five_pie`"
:height=
"300"
:width=
"800"
:datas=
"twoPieData2"
/>
</a-col>
<a-col
:span=
"12"
>
<barChart
:id=
"`six_bar`"
:height=
"300"
:width=
"800"
:datas=
"oneBarData2"
/>
</a-col>
<a-col
:span=
"12"
>
<barChart
:id=
"`three_bar`"
:height=
"300"
:width=
"800"
:datas=
"twoBarData2"
/>
</a-col>
<a-col
:span=
"12"
>
<pieChart
:id=
"`six_pie`"
:height=
"300"
:width=
"800"
:datas=
"threePieData2"
/>
</a-col>
<a-col
:span=
"12"
>
</a-col>
<a-col
:span=
"12"
>
</a-col>
</a-row>
</a-row>
</a-card>
</div>
</template>
<
script
>
import
barChart
from
'
../../business/Component/bar/index.vue
'
import
doublePieChart
from
"
../../business/Component/doublePie/index.vue
"
import
pieChart
from
"
../../business/Component/pie/index.vue
"
import
lineChart
from
"
../../business/Component/line/index.vue
"
import
mapChart
from
"
../../business/Component/map/index.vue
"
import
moment
from
"
moment
"
<
script
>
import
barChart
from
"
../../business/Component/bar/index.vue
"
;
import
doublePieChart
from
"
../../business/Component/doublePie/index.vue
"
;
import
pieChart
from
"
../../business/Component/pie/index.vue
"
;
import
lineChart
from
"
../../business/Component/line/index.vue
"
;
import
mapChart
from
"
../../business/Component/map/index.vue
"
;
import
moment
from
"
moment
"
;
import
{
peopleQs
,
registerProvince
,
registerBwd
,
registerSex
,
registerAge
,
registerNation
,
provinceCase
,
bwdStatistic
,
provinceStatistic
,
genderRateType
,
ageRate
,
TopNationStatistic
,
}
from
"
@/api/userPortrait.js
"
peopleQs
,
registerProvince
,
registerBwd
,
registerSex
,
registerAge
,
registerNation
,
provinceCase
,
bwdStatistic
,
provinceStatistic
,
genderRateType
,
ageRate
,
TopNationStatistic
,
}
from
"
@/api/userPortrait.js
"
;
export
default
{
components
:
{
mapChart
,
pieChart
,
lineChart
,
doublePieChart
,
barChart
},
data
()
{
return
{
options
:
[
{
value
:
'
0
'
,
label
:
'
今天
'
,
},
{
value
:
'
1
'
,
label
:
'
近7日
'
,
},
{
value
:
'
2
'
,
label
:
'
近30日
'
,
},
{
value
:
'
3
'
,
label
:
'
近3个月
'
,
},
{
value
:
'
4
'
,
label
:
'
本年度
'
,
},
],
oneLineData
:
{},
oneMapData
:
{},
oneMapData2
:
{},
onePieData
:
{},
onePieData2
:
{},
twoPieData
:
{},
twoPieData2
:
{},
oneBarData
:
{},
oneBarData2
:
{},
twoBarData
:
{},
twoBarData2
:
{},
threePieData
:
{},
threePieData2
:
{},
provinces
:
[
{
ranking
:
1
,
province
:
'
四川省
'
,
people
:
'
999
'
,
percent
:
'
2
'
},
{
ranking
:
2
,
province
:
'
四川省
'
,
people
:
'
999
'
,
percent
:
'
2
'
},
],
provinces2
:
[
{
ranking
:
1
,
province
:
'
四川省
'
,
people
:
'
999
'
,
percent
:
'
2
'
},
{
ranking
:
2
,
province
:
'
四川省
'
,
people
:
'
999
'
,
percent
:
'
2
'
},
],
provincesColumns
:
[
{
key
:
'
ranking
'
,
title
:
'
序号
'
,
dataIndex
:
'
id
'
,
components
:
{
mapChart
,
pieChart
,
lineChart
,
doublePieChart
,
barChart
,
},
data
()
{
return
{
options
:
[
{
value
:
"
0
"
,
label
:
"
今天
"
,
},
{
value
:
"
1
"
,
label
:
"
近7日
"
,
},
{
value
:
"
2
"
,
label
:
"
近30日
"
,
},
{
value
:
"
3
"
,
label
:
"
近3个月
"
,
},
{
value
:
"
4
"
,
label
:
"
本年度
"
,
},
],
oneLineData
:
{},
oneMapData
:
{},
oneMapData2
:
{},
onePieData
:
{},
onePieData2
:
{},
twoPieData
:
{},
twoPieData2
:
{},
oneBarData
:
{},
oneBarData2
:
{},
twoBarData
:
{},
twoBarData2
:
{},
threePieData
:
{},
threePieData2
:
{},
provinces
:
[
{
ranking
:
1
,
province
:
"
四川省
"
,
people
:
"
999
"
,
percent
:
"
2
"
,
},
{
ranking
:
2
,
province
:
"
四川省
"
,
people
:
"
999
"
,
percent
:
"
2
"
,
},
],
provinces2
:
[
{
ranking
:
1
,
province
:
"
四川省
"
,
people
:
"
999
"
,
percent
:
"
2
"
,
},
{
ranking
:
2
,
province
:
"
四川省
"
,
people
:
"
999
"
,
percent
:
"
2
"
,
},
],
provincesColumns
:
[
{
key
:
"
ranking
"
,
title
:
"
序号
"
,
dataIndex
:
"
id
"
,
},
{
key
:
"
province
"
,
title
:
"
省份
"
,
dataIndex
:
"
province
"
,
},
{
key
:
"
value
"
,
title
:
"
注册人数
"
,
dataIndex
:
"
value
"
,
},
{
key
:
"
zb_lv
"
,
title
:
"
注册占比
"
,
dataIndex
:
"
zb_lv
"
,
customRender
(
text
,
record
,
index
)
{
return
parseFloat
((
text
*
100
).
toFixed
(
2
))
+
"
%
"
;
},
},
],
provincesColumns2
:
[
{
key
:
"
ranking
"
,
title
:
"
序号
"
,
dataIndex
:
"
id
"
,
},
{
key
:
"
province
"
,
title
:
"
省份
"
,
dataIndex
:
"
province
"
,
},
{
key
:
"
value
"
,
title
:
"
办件人数
"
,
dataIndex
:
"
value
"
,
},
{
key
:
"
nums_val
"
,
title
:
"
办件占比
"
,
dataIndex
:
"
nums_val
"
,
customRender
(
text
,
record
,
index
)
{
return
parseFloat
((
text
*
100
).
toFixed
(
2
))
+
"
%
"
;
},
},
],
takeNumber
:
"
0
"
,
nowDate
:
""
,
},
{
key
:
'
province
'
,
title
:
'
省份
'
,
dataIndex
:
'
province
'
,
},
{
key
:
'
value
'
,
title
:
'
注册人数
'
,
dataIndex
:
'
value
'
,
},
{
key
:
'
zb_lv
'
,
title
:
'
注册占比
'
,
dataIndex
:
'
zb_lv
'
,
customRender
(
text
,
record
,
index
)
{
return
parseFloat
((
text
*
100
).
toFixed
(
2
))
+
"
%
"
}
},
],
provincesColumns2
:
[
{
key
:
'
ranking
'
,
title
:
'
序号
'
,
dataIndex
:
'
id
'
,
massCount
:
"
0
"
,
//群众总量
timeArr
:
[],
//群众注册时间
},
{
key
:
'
province
'
,
title
:
'
省份
'
,
dataIndex
:
'
province
'
,
},
{
key
:
'
value
'
,
title
:
'
办件人数
'
,
dataIndex
:
'
value
'
,
},
{
key
:
'
nums_val
'
,
title
:
'
办件占比
'
,
dataIndex
:
'
nums_val
'
,
customRender
(
text
,
record
,
index
)
{
return
parseFloat
((
text
*
100
).
toFixed
(
2
))
+
"
%
"
}
},
],
takeNumber
:
'
0
'
,
nowDate
:
''
,
doTotal
:
0
,
};
},
created
()
{},
mounted
()
{
this
.
getPeopleQs
();
this
.
getRegisterProvince
();
this
.
getRegisterBwd
();
this
.
getRegisterSex
();
this
.
getRegisterAge
();
this
.
getRegisterNation
();
massCount
:
'
0
'
,
//群众总量
timeArr
:
[],
//群众注册时间
this
.
getProvinceCase
();
this
.
getProvinceStatistic
();
this
.
getBwdStatistic
();
this
.
getGenderRateType
();
this
.
getAgeRate
();
this
.
getTopNationStatistic
();
this
.
nowDate
=
moment
(
new
Date
()).
format
(
"
YYYY-MM-DD h:mm:ss
"
);
},
methods
:
{
toTable
()
{
this
.
$router
.
push
({
path
:
"
register
"
});
},
//整体情况
async
getPeopleQs
()
{
let
res
=
await
peopleQs
({
siteid
:
localStorage
.
getItem
(
"
siteId
"
)
});
if
(
res
.
code
==
1
)
{
this
.
massCount
=
res
.
data
.
count
;
let
time
=
res
.
data
.
list
?.
map
((
i
)
=>
{
//循环获取时间
return
moment
(
i
.
datetime
).
format
(
"
MM-DD
"
);
});
let
take
=
[];
let
app
=
[];
let
Applets
=
[];
res
.
data
.
list
?.
forEach
((
i
)
=>
{
i
.
row
.
forEach
((
j
)
=>
{
if
(
j
.
register_type
==
"
take
"
)
{
//循环获取排号机注册情况
return
take
.
push
(
j
.
count
);
}
if
(
j
.
register_type
==
"
app
"
)
{
//循环获取自助终端注册情况
return
app
.
push
(
j
.
count
);
}
if
(
j
.
register_type
==
"
Applets
"
)
{
//循环获取微官网注册情况
return
Applets
.
push
(
j
.
count
);
}
});
});
this
.
oneLineData
=
{
title
:
"
近30日注册情况分析:
"
,
legend
:
[
"
自助服务系统注册人数
"
,
"
微官网注册人数
"
,
"
排队系统注册人数
"
,
],
xData
:
time
,
dataList
:
[
{
name
:
"
自助服务系统注册人数
"
,
data
:
app
},
{
name
:
"
微官网注册人数
"
,
data
:
Applets
},
{
name
:
"
排队系统注册人数
"
,
data
:
take
},
],
};
doTotal
:
0
,
}
},
created
()
{
},
mounted
()
{
this
.
getPeopleQs
()
this
.
getRegisterProvince
()
this
.
getRegisterBwd
()
this
.
getRegisterSex
()
this
.
getRegisterAge
()
this
.
getRegisterNation
()
this
.
getProvinceCase
()
this
.
getProvinceStatistic
()
this
.
getBwdStatistic
()
this
.
getGenderRateType
()
this
.
getAgeRate
()
this
.
getTopNationStatistic
()
this
.
nowDate
=
moment
(
new
Date
()).
format
(
'
YYYY-MM-DD h:mm:ss
'
)
},
methods
:
{
toTable
()
{
this
.
$router
.
push
({
path
:
'
register
'
})
},
//整体情况
async
getPeopleQs
()
{
let
res
=
await
peopleQs
({
siteid
:
localStorage
.
getItem
(
'
siteId
'
)
})
if
(
res
.
code
==
1
)
{
this
.
massCount
=
res
.
data
.
count
let
time
=
res
.
data
.
list
?.
map
(
i
=>
{
//循环获取时间
return
moment
(
i
.
datetime
).
format
(
'
MM-DD
'
)
})
let
take
=
[]
let
app
=
[]
let
Applets
=
[]
res
.
data
.
list
?.
forEach
(
i
=>
{
i
.
row
.
forEach
(
j
=>
{
if
(
j
.
register_type
==
'
take
'
)
{
//循环获取排号机注册情况
return
take
.
push
(
j
.
count
)
}
if
(
j
.
register_type
==
'
app
'
)
{
//循环获取自助终端注册情况
return
app
.
push
(
j
.
count
)
}
if
(
j
.
register_type
==
'
Applets
'
)
{
//循环获取微官网注册情况
return
Applets
.
push
(
j
.
count
)
}
})
})
this
.
oneLineData
=
{
title
:
'
近30日注册情况分析:
'
,
legend
:
[
'
自助服务系统注册人数
'
,
'
微官网注册人数
'
,
'
排队系统注册人数
'
],
xData
:
time
,
dataList
:
[
{
name
:
'
自助服务系统注册人数
'
,
data
:
app
},
{
name
:
'
微官网注册人数
'
,
data
:
Applets
},
{
name
:
'
排队系统注册人数
'
,
data
:
take
},
]
}
}
},
//区域注册情况
async
getRegisterProvince
()
{
let
res
=
await
registerProvince
({
siteid
:
localStorage
.
getItem
(
'
siteId
'
)
})
let
arr2
=
res
.
data
.
sort
(
function
(
a
,
b
)
{
return
b
.
count
-
a
.
count
;
})
let
arr
=
arr2
.
map
((
i
,
j
)
=>
{
i
.
id
=
j
+
1
i
.
name
=
i
.
province
i
.
value
=
i
.
count
return
i
})
// console.log(arr)
this
.
oneMapData
=
{
title
:
"
注册用户地域分析
"
,
data
:
arr
}
this
.
provinces
=
arr
this
.
onePieData
=
{
title
:
''
,
type
:
'
scroll
'
,
legend
:
arr
.
forEach
(
i
=>
{
return
i
.
province
}),
data
:
arr
}
},
//注册分布情况
async
getRegisterBwd
()
{
let
res
=
await
registerBwd
({
siteid
:
localStorage
.
getItem
(
'
siteId
'
)
})
this
.
twoPieData
=
{
title
:
'
本地人与外地人注册分布
'
,
pieName
:
'
分布详情
'
,
firstName
:
'
宜宾市本地人注册占比
'
,
firstVal
:
res
.
data
.
bd_lv
,
firstTotal
:
1
,
secondName
:
'
外地人注册占比
'
,
secondVal
:
res
.
data
.
wd_lv
,
secondTotal
:
1
,
}
},
//注册性别分布情况
async
getRegisterSex
()
{
let
res
=
await
registerSex
({
siteid
:
localStorage
.
getItem
(
'
siteId
'
)
})
// console.log(res)
if
(
res
.
data
?
res
.
data
.
length
>
0
:
''
)
{
let
man
=
res
.
data
[
0
].
row
let
woman
=
res
.
data
[
1
].
row
this
.
oneBarData
=
{
title
:
'
性别分布
'
,
xData
:
[
'
男
'
,
'
女
'
],
data
:
[
{
name
:
'
自助服务系统注册人数
'
,
type
:
'
bar
'
,
data
:
[
man
[
1
].
count
||
0
,
woman
[
1
].
count
||
0
]
},
{
name
:
'
微官网注册人数
'
,
type
:
'
bar
'
,
data
:
[
man
[
2
].
count
||
0
,
woman
[
2
].
count
||
0
]
},
{
name
:
'
排队系统注册人数
'
,
type
:
'
bar
'
,
data
:
[
man
[
0
].
count
||
0
,
woman
[
0
].
count
||
0
]
},
]
}
}
},
//注册年龄分布情况
async
getRegisterAge
()
{
let
res
=
await
registerAge
({
siteid
:
localStorage
.
getItem
(
'
siteId
'
)
})
// console.log(res)
let
age_area
=
res
.
data
.
map
(
i
=>
{
return
i
.
age_area
})
let
total
=
0
let
count
=
res
.
data
.
map
(
i
=>
{
total
+=
i
.
nums
return
i
.
nums
})
// console.log(total)
let
zb
=
count
.
map
(
i
=>
{
return
parseFloat
((
i
/
total
*
10000
).
toFixed
(
2
))
})
// console.log(zb)
this
.
twoBarData
=
{
title
:
'
年龄分布
'
,
xData
:
age_area
,
data
:
[
{
name
:
'
办理次数
'
,
type
:
'
bar
'
,
data
:
count
},
{
name
:
'
占比
'
,
type
:
'
line
'
,
data
:
zb
},
]
}
},
//注册民族分布情况
async
getRegisterNation
()
{
let
res
=
await
registerNation
({
siteid
:
localStorage
.
getItem
(
'
siteId
'
)
})
// console.log(res)
res
.
data
.
forEach
(
i
=>
{
i
.
name
=
i
.
idcard_Nation
i
.
value
=
i
.
count
})
// console.log(res.data)
this
.
threePieData
=
{
title
:
'
民族分布
'
,
type
:
''
,
legend
:
res
.
data
,
data
:
res
.
data
}
},
//办件用户地域分析
async
getProvinceCase
()
{
let
res
=
await
provinceCase
({
siteid
:
localStorage
.
getItem
(
'
siteId
'
),
selected
:
2
})
// console.log(res)
let
arr2
=
res
.
data
.
sort
(
function
(
a
,
b
)
{
return
b
.
nums
-
a
.
nums
;
})
let
arr
=
arr2
.
map
((
i
,
j
)
=>
{
i
.
id
=
j
+
1
i
.
province
=
i
.
name
i
.
value
=
i
.
nums
this
.
doTotal
+=
i
.
nums
return
i
})
arr
.
forEach
(
i
=>
{
i
.
nums_val
=
i
.
nums
/
this
.
doTotal
})
// console.log(arr)
this
.
oneMapData2
=
{
title
:
"
办件用户地域分析
"
,
data
:
arr
}
this
.
provinces2
=
arr
},
//办件用户地域分析
async
getProvinceStatistic
()
{
let
res
=
await
provinceStatistic
({
siteid
:
localStorage
.
getItem
(
'
siteId
'
),
selected
:
2
,
province
:
'
四川省
'
})
// console.log(res)
res
.
data
.
forEach
(
i
=>
{
i
.
value
=
i
.
count
})
this
.
onePieData2
=
{
title
:
''
,
type
:
'
scroll
'
,
legend
:
res
.
data
,
data
:
res
.
data
}
},
//本外地分析
async
getBwdStatistic
()
{
let
res
=
await
bwdStatistic
({
siteid
:
localStorage
.
getItem
(
'
siteId
'
),
selected
:
2
})
// console.log(res)
this
.
twoPieData2
=
{
title
:
'
本地人与外地人办件分布
'
,
pieName
:
'
分布详情
'
,
firstName
:
'
宜宾市本地人办件占比
'
,
firstVal
:
res
.
data
.
bd_lv
,
firstTotal
:
1
,
secondName
:
'
外地人办件占比
'
,
secondVal
:
res
.
data
.
wd_lv
,
secondTotal
:
1
,
}
},
//性别办件分析
async
getGenderRateType
()
{
let
res
=
await
genderRateType
({
siteid
:
localStorage
.
getItem
(
'
siteId
'
),
selected
:
2
})
if
(
res
.
data
?
res
.
data
.
length
>
0
:
''
)
{
let
man
=
res
.
data
[
0
].
row
let
woman
=
res
.
data
[
1
].
row
this
.
oneBarData2
=
{
title
:
'
性别分布
'
,
xData
:
[
'
男
'
,
'
女
'
],
data
:
[
{
name
:
'
自助服务系统注册人数
'
,
type
:
'
bar
'
,
data
:
[
man
[
1
].
nums
||
0
,
woman
[
1
].
nums
||
0
]
},
{
name
:
'
微官网注册人数
'
,
type
:
'
bar
'
,
data
:
[
man
[
2
].
nums
||
0
,
woman
[
2
].
nums
||
0
]
},
{
name
:
'
排队系统注册人数
'
,
type
:
'
bar
'
,
data
:
[
man
[
0
].
nums
||
0
,
woman
[
0
].
nums
||
0
]
},
]
}
}
},
//办件年龄分析
async
getAgeRate
()
{
let
res
=
await
ageRate
({
siteid
:
localStorage
.
getItem
(
'
siteId
'
),
selected
:
2
})
let
age_area
=
res
.
data
.
list
.
map
(
i
=>
{
return
i
.
age_area
})
let
total
=
0
let
count
=
res
.
data
.
list
.
map
(
i
=>
{
total
+=
i
.
nums
return
i
.
nums
})
// console.log(total)
let
zb
=
count
.
map
(
i
=>
{
return
parseFloat
((
i
/
total
*
10000
).
toFixed
(
2
))
})
// console.log(zb)
this
.
twoBarData2
=
{
title
:
'
年龄分布
'
,
xData
:
age_area
,
data
:
[
{
name
:
'
办理次数
'
,
type
:
'
bar
'
,
data
:
count
},
{
name
:
'
占比
'
,
type
:
'
line
'
,
data
:
zb
},
]
}
},
async
getTopNationStatistic
()
{
let
res
=
await
TopNationStatistic
({
siteid
:
localStorage
.
getItem
(
'
siteId
'
),
selected
:
2
})
// console.log(res)
res
.
data
.
forEach
(
i
=>
{
i
.
name
=
i
.
idcard_Nation
i
.
value
=
i
.
count
})
// console.log(res.data)
this
.
threePieData2
=
{
title
:
'
民族分布
'
,
type
:
''
,
legend
:
res
.
data
,
data
:
res
.
data
}
},
}
}
this
.
$forceUpdate
(
this
.
oneLineData
);
}
},
//区域注册情况
async
getRegisterProvince
()
{
let
res
=
await
registerProvince
({
siteid
:
localStorage
.
getItem
(
"
siteId
"
),
});
let
arr2
=
res
.
data
.
sort
(
function
(
a
,
b
)
{
return
b
.
count
-
a
.
count
;
});
let
arr
=
arr2
.
map
((
i
,
j
)
=>
{
i
.
id
=
j
+
1
;
i
.
name
=
i
.
province
;
i
.
value
=
i
.
count
;
return
i
;
});
// console.log(arr)
this
.
oneMapData
=
{
title
:
"
注册用户地域分析
"
,
data
:
arr
,
};
this
.
provinces
=
arr
;
this
.
onePieData
=
{
title
:
""
,
type
:
"
scroll
"
,
legend
:
arr
.
forEach
((
i
)
=>
{
return
i
.
province
;
}),
data
:
arr
,
};
},
//注册分布情况
async
getRegisterBwd
()
{
let
res
=
await
registerBwd
({
siteid
:
localStorage
.
getItem
(
"
siteId
"
)
});
this
.
twoPieData
=
{
title
:
"
本地人与外地人注册分布
"
,
pieName
:
"
分布详情
"
,
firstName
:
"
宜宾市本地人注册占比
"
,
firstVal
:
res
.
data
.
bd_lv
,
firstTotal
:
1
,
secondName
:
"
外地人注册占比
"
,
secondVal
:
res
.
data
.
wd_lv
,
secondTotal
:
1
,
};
},
//注册性别分布情况
async
getRegisterSex
()
{
let
res
=
await
registerSex
({
siteid
:
localStorage
.
getItem
(
"
siteId
"
)
});
// console.log(res)
if
(
res
.
data
?
res
.
data
.
length
>
0
:
""
)
{
let
man
=
res
.
data
[
0
].
row
;
let
woman
=
res
.
data
[
1
].
row
;
this
.
oneBarData
=
{
title
:
"
性别分布
"
,
xData
:
[
"
男
"
,
"
女
"
],
data
:
[
{
name
:
"
自助服务系统注册人数
"
,
type
:
"
bar
"
,
data
:
[
man
[
1
].
count
||
0
,
woman
[
1
].
count
||
0
],
},
{
name
:
"
微官网注册人数
"
,
type
:
"
bar
"
,
data
:
[
man
[
2
].
count
||
0
,
woman
[
2
].
count
||
0
],
},
{
name
:
"
排队系统注册人数
"
,
type
:
"
bar
"
,
data
:
[
man
[
0
].
count
||
0
,
woman
[
0
].
count
||
0
],
},
],
};
}
},
//注册年龄分布情况
async
getRegisterAge
()
{
let
res
=
await
registerAge
({
siteid
:
localStorage
.
getItem
(
"
siteId
"
)
});
// console.log(res)
let
age_area
=
res
.
data
.
map
((
i
)
=>
{
return
i
.
age_area
;
});
let
total
=
0
;
let
count
=
res
.
data
.
map
((
i
)
=>
{
total
+=
i
.
nums
;
return
i
.
nums
;
});
// console.log(total)
let
zb
=
count
.
map
((
i
)
=>
{
return
parseFloat
(((
i
/
total
)
*
10000
).
toFixed
(
2
));
});
// console.log(zb)
this
.
twoBarData
=
{
title
:
"
年龄分布
"
,
xData
:
age_area
,
data
:
[
{
name
:
"
办理次数
"
,
type
:
"
bar
"
,
data
:
count
},
{
name
:
"
占比
"
,
type
:
"
line
"
,
data
:
zb
},
],
};
},
//注册民族分布情况
async
getRegisterNation
()
{
let
res
=
await
registerNation
({
siteid
:
localStorage
.
getItem
(
"
siteId
"
),
});
// console.log(res)
res
.
data
.
forEach
((
i
)
=>
{
i
.
name
=
i
.
idcard_Nation
;
i
.
value
=
i
.
count
;
});
// console.log(res.data)
this
.
threePieData
=
{
title
:
"
民族分布
"
,
type
:
""
,
legend
:
res
.
data
,
data
:
res
.
data
,
};
},
//办件用户地域分析
async
getProvinceCase
()
{
let
res
=
await
provinceCase
({
siteid
:
localStorage
.
getItem
(
"
siteId
"
),
selected
:
2
,
});
// console.log(res)
let
arr2
=
res
.
data
.
sort
(
function
(
a
,
b
)
{
return
b
.
nums
-
a
.
nums
;
});
let
arr
=
arr2
.
map
((
i
,
j
)
=>
{
i
.
id
=
j
+
1
;
i
.
province
=
i
.
name
;
i
.
value
=
i
.
nums
;
this
.
doTotal
+=
i
.
nums
;
return
i
;
});
arr
.
forEach
((
i
)
=>
{
i
.
nums_val
=
i
.
nums
/
this
.
doTotal
;
});
// console.log(arr)
this
.
oneMapData2
=
{
title
:
"
办件用户地域分析
"
,
data
:
arr
,
};
this
.
provinces2
=
arr
;
},
//办件用户地域分析
async
getProvinceStatistic
()
{
let
res
=
await
provinceStatistic
({
siteid
:
localStorage
.
getItem
(
"
siteId
"
),
selected
:
2
,
province
:
"
四川省
"
,
});
// console.log(res)
res
.
data
.
forEach
((
i
)
=>
{
i
.
value
=
i
.
count
;
});
this
.
onePieData2
=
{
title
:
""
,
type
:
"
scroll
"
,
legend
:
res
.
data
,
data
:
res
.
data
,
};
},
//本外地分析
async
getBwdStatistic
()
{
let
res
=
await
bwdStatistic
({
siteid
:
localStorage
.
getItem
(
"
siteId
"
),
selected
:
2
,
});
// console.log(res)
this
.
twoPieData2
=
{
title
:
"
本地人与外地人办件分布
"
,
pieName
:
"
分布详情
"
,
firstName
:
"
宜宾市本地人办件占比
"
,
firstVal
:
res
.
data
.
bd_lv
,
firstTotal
:
1
,
secondName
:
"
外地人办件占比
"
,
secondVal
:
res
.
data
.
wd_lv
,
secondTotal
:
1
,
};
},
//性别办件分析
async
getGenderRateType
()
{
let
res
=
await
genderRateType
({
siteid
:
localStorage
.
getItem
(
"
siteId
"
),
selected
:
2
,
});
if
(
res
.
data
?
res
.
data
.
length
>
0
:
""
)
{
let
man
=
res
.
data
[
0
].
row
;
let
woman
=
res
.
data
[
1
].
row
;
this
.
oneBarData2
=
{
title
:
"
性别分布
"
,
xData
:
[
"
男
"
,
"
女
"
],
data
:
[
{
name
:
"
自助服务系统注册人数
"
,
type
:
"
bar
"
,
data
:
[
man
[
1
].
nums
||
0
,
woman
[
1
].
nums
||
0
],
},
{
name
:
"
微官网注册人数
"
,
type
:
"
bar
"
,
data
:
[
man
[
2
].
nums
||
0
,
woman
[
2
].
nums
||
0
],
},
{
name
:
"
排队系统注册人数
"
,
type
:
"
bar
"
,
data
:
[
man
[
0
].
nums
||
0
,
woman
[
0
].
nums
||
0
],
},
],
};
}
},
//办件年龄分析
async
getAgeRate
()
{
let
res
=
await
ageRate
({
siteid
:
localStorage
.
getItem
(
"
siteId
"
),
selected
:
2
,
});
let
age_area
=
res
.
data
.
list
.
map
((
i
)
=>
{
return
i
.
age_area
;
});
let
total
=
0
;
let
count
=
res
.
data
.
list
.
map
((
i
)
=>
{
total
+=
i
.
nums
;
return
i
.
nums
;
});
// console.log(total)
let
zb
=
count
.
map
((
i
)
=>
{
return
parseFloat
(((
i
/
total
)
*
10000
).
toFixed
(
2
));
});
// console.log(zb)
this
.
twoBarData2
=
{
title
:
"
年龄分布
"
,
xData
:
age_area
,
data
:
[
{
name
:
"
办理次数
"
,
type
:
"
bar
"
,
data
:
count
},
{
name
:
"
占比
"
,
type
:
"
line
"
,
data
:
zb
},
],
};
},
async
getTopNationStatistic
()
{
let
res
=
await
TopNationStatistic
({
siteid
:
localStorage
.
getItem
(
"
siteId
"
),
selected
:
2
,
});
// console.log(res)
res
.
data
.
forEach
((
i
)
=>
{
i
.
name
=
i
.
idcard_Nation
;
i
.
value
=
i
.
count
;
});
// console.log(res.data)
this
.
threePieData2
=
{
title
:
"
民族分布
"
,
type
:
""
,
legend
:
res
.
data
,
data
:
res
.
data
,
};
},
},
};
</
script
>
<
style
scoped
lang=
"less"
>
/deep/.ant-col {
margin-bottom: 20px;
margin-bottom: 20px;
}
.head {
display: flex;
justify-content: flex-start;
align-items: center;
display: flex;
justify-content: flex-start;
align-items: center;
.head_title {
font-weight: 700;
font-style: normal;
font-size: 16px;
color: #333;
margin-right: 1.25rem;
}
.head_title {
font-weight: 700;
font-style: normal;
font-size: 16px;
color: #333;
margin-right: 1.25rem;
}
.head_desc {
font-weight: 400;
font-style: normal;
font-size: 14px;
color: #888888;
}
.head_desc {
font-weight: 400;
font-style: normal;
font-size: 14px;
color: #888888;
}
}
/deep/ .ant-table {
width: 100% !important;
width: 100% !important;
}
.f_20 {
font-size: 1.25rem;
font-size: 1.25rem;
}
.f_40 {
font-size: 2.5rem;
font-size: 2.5rem;
}
.f_center {
text-align: center;
text-align: center;
}
.warning {
color: #FD6805
color: #fd6805;
}
.primary {
color: #0595FD
color: #0595fd;
}
.success {
color: #04CA8F
color: #04ca8f;
}
.h_200 {
height: 12.5rem;
height: 12.5rem;
}
.mb_15 {
margin-bottom:
.9375rem;
margin-bottom: 0
.9375rem;
}
</
style
>
\ No newline at end of file
</
style
>
portal-manager-ui/admin/src/views/dataAdmin/components/Impossible/index.vue
View file @
6a14a35d
...
...
@@ -308,6 +308,7 @@ export default {
// 查看信息
checkInfo
(
id
)
{
this
.
loading
=
true
;
getImpossibleInfo
({
id
:
id
,
}).
then
((
res
)
=>
{
...
...
@@ -316,6 +317,7 @@ export default {
this
.
$refs
.
FormDetails
.
fromData
=
data
;
this
.
visible
=
true
;
}
this
.
loading
=
false
;
});
},
},
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/easyPoliticsShow/PoliticsShow.vue
View file @
6a14a35d
...
...
@@ -96,7 +96,7 @@ const filterVal = [
"
organization
"
,
"
customerDesignPictures
"
,
"
customerDesignVideos
"
,
"
memberLevel
"
,
"
levelName
"
,
"
lastLoginTime
"
,
"
status
"
,
];
// 导出的表头字段名,需要导出表格字段名
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/evaluationRecordReport/departmentEvaluation.vue
View file @
6a14a35d
...
...
@@ -383,6 +383,7 @@ export default {
},
// 详情
async
checkInfo
(
id
)
{
this
.
loading
=
true
;
let
res
=
await
getEvaData
({
id
});
if
(
res
.
code
==
1
)
{
let
{
data
}
=
res
;
...
...
@@ -390,6 +391,7 @@ export default {
this
.
detailsInfo
=
data
;
this
.
detailsVisible
=
true
;
}
this
.
loading
=
false
;
},
// 删除
handleDel
(
id
)
{
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/evaluationRecordReport/matterEvaluation.vue
View file @
6a14a35d
...
...
@@ -380,12 +380,14 @@ export default {
},
// 详情
async
checkInfo
(
id
)
{
this
.
loading
=
true
;
let
res
=
await
getQueEvaData
({
id
});
if
(
res
.
code
==
1
)
{
let
{
data
}
=
res
;
this
.
detailsInfo
=
data
;
this
.
detailsVisible
=
true
;
}
this
.
loading
=
false
;
},
// 删除
handleDel
(
id
)
{
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/evaluationRecordReport/windowEvaluation.vue
View file @
6a14a35d
...
...
@@ -381,6 +381,7 @@ export default {
},
// 详情
async
checkInfo
(
id
)
{
this
.
loading
=
true
;
let
res
=
await
getEvaData
({
id
});
if
(
res
.
code
==
1
)
{
let
{
data
}
=
res
;
...
...
@@ -388,6 +389,7 @@ export default {
this
.
detailsInfo
=
data
;
this
.
detailsVisible
=
true
;
}
this
.
loading
=
false
;
},
// 删除
handleDel
(
id
)
{
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/fillRecordReport/fillForm.vue
View file @
6a14a35d
...
...
@@ -209,31 +209,15 @@ export default {
// 获取报表
async
getPrintList
()
{
this
.
loading
=
true
;
let
pramse
=
{
page
:
this
.
current
,
size
:
this
.
size
,
siteId
:
this
.
siteId
,
type
:
this
.
searchForm
.
status
,
createTimeStart
:
this
.
searchForm
.
time
[
0
],
createTimeEnd
:
this
.
searchForm
.
time
[
1
],
};
if
(
this
.
searchForm
.
type
==
1
)
{
pramse
.
matterName
=
`%
${
this
.
searchForm
.
searchName
}
%`
;
}
else
{
pramse
.
materialName
=
`%
${
this
.
searchForm
.
searchName
}
%`
;
}
let
res
=
await
getPrintList
(
pramse
);
if
(
res
.
code
==
1
)
{
let
{
data
,
total
}
=
res
.
data
;
this
.
total
=
total
;
this
.
tableData
=
data
;
this
.
$emit
(
"
update
"
,
{
total
,
time
:
this
.
searchForm
.
time
});
}
let
{
total
,
data
}
=
await
this
.
getDataList
();
this
.
total
=
total
;
this
.
tableData
=
data
;
this
.
$emit
(
"
update
"
,
{
total
,
time
:
this
.
searchForm
.
time
});
this
.
loading
=
false
;
},
// 获取
导出数据
async
get
ExportPrintList
(
)
{
// 获取
数据函数
async
get
DataList
(
searchForm
)
{
let
list
=
[];
let
listTotal
=
0
;
let
pramse
=
{
...
...
@@ -243,6 +227,7 @@ export default {
type
:
this
.
searchForm
.
status
,
createTimeStart
:
this
.
searchForm
.
time
[
0
],
createTimeEnd
:
this
.
searchForm
.
time
[
1
],
...
searchForm
,
};
if
(
this
.
searchForm
.
type
==
1
)
{
pramse
.
matterName
=
`%
${
this
.
searchForm
.
searchName
}
%`
;
...
...
@@ -250,10 +235,10 @@ export default {
pramse
.
materialName
=
`%
${
this
.
searchForm
.
searchName
}
%`
;
}
let
res
=
await
getPrintList
(
pramse
);
if
(
res
.
data
.
code
==
1
)
{
let
{
data
,
total
}
=
res
.
data
.
data
;
list
=
data
;
if
(
res
.
code
==
1
)
{
let
{
data
,
total
}
=
res
.
data
;
listTotal
=
total
;
list
=
data
;
}
return
{
data
:
list
,
...
...
@@ -304,7 +289,7 @@ export default {
"
填单记录报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
);
}
else
{
this
.
dataSection
(
this
.
get
ExportPrint
List
,
{},
(
data
)
=>
{
this
.
dataSection
(
this
.
get
Data
List
,
{},
(
data
)
=>
{
if
(
!
data
.
length
)
{
this
.
$message
.
warning
(
"
暂无数据
"
);
return
;
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/makeRecordReport/makeRecordReport.vue
View file @
6a14a35d
...
...
@@ -383,11 +383,13 @@ export default {
},
// 详情
async
checkInfo
({
id
})
{
this
.
loading
=
true
;
let
res
=
await
getOrderinfo
({
id
});
if
(
res
.
code
==
1
)
{
this
.
detailsInfo
=
res
.
data
;
this
.
visible
=
true
;
}
this
.
loading
=
false
;
},
},
};
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/networkGovernance/callRecordForm.vue
View file @
6a14a35d
...
...
@@ -32,8 +32,8 @@ import { mapState } from "vuex";
import
storage
from
"
@/utils/js/Storage
"
;
import
{
export2Excel
}
from
"
@/utils/js/exportExcel
"
;
import
{
getSys12345
}
from
"
@/api/dataAdmin
"
;
const
tHeader
=
[
"
序号
"
,
"
微信号
"
,
"
电话号码
"
,
"
拨打位置
"
,
"
拨打时间
"
];
// 导出的表头名信息
const
filterVal
=
[
"
index
"
,
"
nickname
"
,
"
phone
"
,
"
address
"
,
"
create_time
"
];
// 导出的表头字段名,需要导出表格字段名
const
tHeader
=
[
"
微信号
"
,
"
电话号码
"
,
"
拨打位置
"
,
"
拨打时间
"
];
// 导出的表头名信息
const
filterVal
=
[
"
nickname
"
,
"
phone
"
,
"
address
"
,
"
create_time
"
];
// 导出的表头字段名,需要导出表格字段名
export
default
{
components
:
{},
data
()
{
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/networkGovernance/letterRecordForm.vue
View file @
6a14a35d
...
...
@@ -50,7 +50,6 @@ import FormDetails from "./components/FormDetails.vue";
import
{
export2Excel
}
from
"
@/utils/js/exportExcel
"
;
import
{
adminList
,
letterInfo
}
from
"
@/api/dataAdmin
"
;
const
tHeader
=
[
"
序号
"
,
"
工单编号
"
,
"
信件标题
"
,
"
信件类别
"
,
...
...
@@ -64,7 +63,6 @@ const tHeader = [
"
办理部门
"
,
];
// 导出的表头名信息
const
filterVal
=
[
"
index
"
,
"
LetterCode
"
,
"
strTitle
"
,
"
strType
"
,
...
...
@@ -294,6 +292,18 @@ export default {
if
(
this
.
selectedRowKeys
.
length
&&
this
.
excelData
.
length
)
{
// 深度克隆避免影响页面表格展示
let
data
=
this
.
$_
.
cloneDeep
(
this
.
excelData
);
for
(
let
item
of
data
)
{
item
.
strGender
=
item
.
strGender
==
0
?
"
无
"
:
item
.
strGender
==
1
?
"
男
"
:
"
女
"
;
item
.
source
=
item
.
source
==
1
?
"
微官网
"
:
item
.
source
==
2
?
"
自助服务系统
"
:
item
.
source
==
3
?
"
数字填单系统
"
:
"
无
"
;
}
export2Excel
(
this
.
tHeader
,
this
.
filterVal
,
...
...
@@ -306,6 +316,18 @@ export default {
this
.
$message
.
warning
(
"
暂无数据
"
);
return
;
}
for
(
let
item
of
data
)
{
item
.
strGender
=
item
.
strGender
==
0
?
"
无
"
:
item
.
strGender
==
1
?
"
男
"
:
"
女
"
;
item
.
source
=
item
.
source
==
1
?
"
微官网
"
:
item
.
source
==
2
?
"
自助服务系统
"
:
item
.
source
==
3
?
"
数字填单系统
"
:
"
无
"
;
}
export2Excel
(
this
.
tHeader
,
this
.
filterVal
,
...
...
@@ -343,12 +365,14 @@ export default {
},
// 查看信息
checkInfo
(
id
)
{
this
.
loading
=
true
;
letterInfo
({
id
}).
then
((
res
)
=>
{
if
(
res
.
code
==
1
)
{
let
{
data
}
=
res
;
this
.
$refs
.
FormDetails
.
fromData
=
data
;
this
.
visible
=
true
;
}
this
.
loading
=
false
;
});
},
},
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/networkGovernance/networkForm.vue
View file @
6a14a35d
...
...
@@ -377,6 +377,7 @@ export default {
// 查看信息
checkInfo
(
id
)
{
this
.
loading
=
true
;
getWLLZInfo
({
id
:
id
,
}).
then
((
res
)
=>
{
...
...
@@ -385,6 +386,7 @@ export default {
this
.
$refs
.
FormDetails
.
fromData
=
data
;
this
.
visible
=
true
;
}
this
.
loading
=
false
;
});
},
},
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/callRecord.vue
View file @
6a14a35d
...
...
@@ -71,7 +71,7 @@
<a-tag
class=
"cursor-pointer"
color=
"blue"
@
click=
"checkInfo(record.id)"
@
click=
"checkInfo(record.id
, record
)"
>
详细信息
</a-tag>
...
...
@@ -361,6 +361,7 @@ export default {
this
.
$emit
(
"
update
"
,
{
total
,
time
:
this
.
searchForm
.
time
});
}
this
.
loading
=
false
;
this
.
$forceUpdate
();
},
// 翻页
...
...
@@ -372,6 +373,7 @@ export default {
// 查看用户信息
async
checkUser
(
row
)
{
this
.
loading
=
true
;
let
res
=
await
getPeopleanalyse
({
idcard
:
row
.
people_idcard
,
peopleid
:
row
.
peopleid
,
...
...
@@ -381,11 +383,13 @@ export default {
let
{
data
}
=
res
;
this
.
userInfo
=
{
...
row
,
...
data
};
}
this
.
loading
=
false
;
this
.
userInfoVisible
=
true
;
},
// 查看业务信息
async
checkBusiness
(
row
)
{
this
.
loading
=
true
;
let
res
=
await
getBusinessEvent
({
businessid
:
row
.
businessid
,
time
:
this
.
searchForm
.
time
,
...
...
@@ -397,10 +401,12 @@ export default {
this
.
businessInfo
=
data
;
this
.
analysisVisible
=
true
;
}
this
.
loading
=
false
;
},
// 查看工作人员
async
checkWorkman
(
id
)
{
this
.
loading
=
true
;
let
res
=
await
getWorkmananalyse
({
workmanid
:
id
,
time
:
this
.
searchForm
.
time
,
...
...
@@ -410,19 +416,25 @@ export default {
});
let
{
data
}
=
res
;
this
.
workerInfo
=
{
...
data
,
...
result
.
data
};
this
.
loading
=
false
;
this
.
workerInfoVisible
=
true
;
},
// 查看详细信息
async
checkInfo
(
id
)
{
async
checkInfo
(
id
,
row
)
{
this
.
loading
=
true
;
let
res
=
await
getQueueInfo
({
id
,
});
if
(
res
.
code
==
1
)
{
let
{
data
}
=
res
;
this
.
detailsInfo
=
data
;
this
.
detailsInfo
=
{
...
data
,
business
:
row
.
business
,
};
this
.
detailsVisible
=
true
;
}
this
.
loading
=
false
;
},
// 勾选表格
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/components/HandlingDetails.vue
View file @
6a14a35d
...
...
@@ -98,14 +98,27 @@
</a-col>
</a-row>
<a-row
:gutter=
"[0, 8]"
>
<a-col
:span=
"12"
>
<span>
注册方式:
</span>
身份证注册
</a-col>
<a-col
:span=
"12"
>
<span>
注册方式:
</span
>
{{
detailsInfo
.
register_type
==
"
Applets
"
?
"
小程序
"
:
detailsInfo
.
register_type
==
"
wechat
"
?
"
公众号
"
:
detailsInfo
.
register_type
==
"
app
"
?
"
自助服务终端
"
:
"
--
"
}}
</a-col>
<a-col
:span=
"12"
>
<span>
取号设备:
</span>
{{
detailsInfo
.
take_name
}}
</a-col>
</a-row>
<!--
<a-row
:gutter=
"[0, 8]"
>
<a-col
:span=
"12"
>
<span>
健康状态:
</span>
绿码
</a-col>
</a-row>
-->
<a-row
:gutter=
"[0, 8]"
>
<a-col
:span=
"24"
>
<span>
办理业务:
</span>
{{
detailsInfo
.
business
||
"
--
"
}}
</a-col>
</a-row>
<!-- 当前办理步骤标识 -->
<div
class=
"transact-tips2"
v-if=
"detailsInfo.style === 0"
>
<span
class=
"tips-text"
>
排队中
</span>
...
...
@@ -140,7 +153,7 @@
</a-row>
<a-row
:gutter=
"[0, 8]"
>
<a-col
:span=
"12"
>
<span>
叫号设备:
</span>
{{
detailsInfo
.
call_name
}}
<span>
叫号设备:
</span>
{{
detailsInfo
.
call_name
||
"
--
"
}}
</a-col>
</a-row>
</div>
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/queueRecord.vue
View file @
6a14a35d
...
...
@@ -71,7 +71,7 @@
<a-tag
class=
"cursor-pointer"
color=
"blue"
@
click=
"checkInfo(record.id)"
@
click=
"checkInfo(record.id
, record
)"
>
详细信息
</a-tag>
...
...
@@ -354,6 +354,7 @@ export default {
this
.
$emit
(
"
update
"
,
{
total
,
time
:
this
.
searchForm
.
time
});
}
this
.
loading
=
false
;
this
.
$forceUpdate
();
},
// 翻页
...
...
@@ -365,6 +366,7 @@ export default {
// 查看用户信息
async
checkUser
(
row
)
{
this
.
loading
=
true
;
let
res
=
await
getPeopleanalyse
({
idcard
:
row
.
people_idcard
,
peopleid
:
row
.
peopleid
,
...
...
@@ -374,11 +376,13 @@ export default {
let
{
data
}
=
res
;
this
.
userInfo
=
{
...
row
,
...
data
};
}
this
.
loading
=
false
;
this
.
userInfoVisible
=
true
;
},
// 查看业务信息
async
checkBusiness
(
row
)
{
this
.
loading
=
true
;
let
res
=
await
getBusinessEvent
({
businessid
:
row
.
businessid
,
time
:
this
.
searchForm
.
time
,
...
...
@@ -390,10 +394,12 @@ export default {
this
.
businessInfo
=
data
;
this
.
analysisVisible
=
true
;
}
this
.
loading
=
false
;
},
// 查看工作人员
async
checkWorkman
(
id
)
{
this
.
loading
=
true
;
let
res
=
await
getWorkmananalyse
({
workmanid
:
id
,
time
:
this
.
searchForm
.
time
,
...
...
@@ -403,19 +409,25 @@ export default {
});
let
{
data
}
=
res
;
this
.
workerInfo
=
{
...
data
,
...
result
.
data
};
this
.
loading
=
false
;
this
.
workerInfoVisible
=
true
;
},
// 查看详细信息
async
checkInfo
(
id
)
{
async
checkInfo
(
id
,
row
)
{
this
.
loading
=
true
;
let
res
=
await
getQueueInfo
({
id
,
});
if
(
res
.
code
==
1
)
{
let
{
data
}
=
res
;
this
.
detailsInfo
=
data
;
this
.
detailsInfo
=
{
...
data
,
business
:
row
.
business
,
};
this
.
detailsVisible
=
true
;
}
this
.
loading
=
false
;
},
// 勾选表格
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/sampleRecordReport/sampleForm.vue
View file @
6a14a35d
...
...
@@ -37,8 +37,10 @@
<div
class=
"ellipsis"
:title=
"text"
>
{{
text
?
text
:
"
--
"
}}
</div>
<div
class=
"ellipsis"
:title=
"record.materiaFullName"
>
样表全称:
{{
record
.
materiaFullName
?
record
.
materiaFullName
:
"
--
"
}}
<div
class=
"ellipsis"
:title=
"record.materialFullName"
>
样表全称:
{{
record
.
materialFullName
?
record
.
materialFullName
:
"
--
"
}}
</div>
</
template
>
<!-- 类型 -->
...
...
@@ -76,8 +78,8 @@ const filterVal = [
"
materialName
"
,
"
materialFullName
"
,
"
deviceName
"
,
"
createTime
"
,
"
operTime
"
,
"
createTime
"
,
];
// 导出的表头字段名,需要导出表格字段名
export
default
{
data
()
{
...
...
@@ -115,11 +117,11 @@ export default {
},
{
title
:
"
操作时间
"
,
dataIndex
:
"
create
Time
"
,
dataIndex
:
"
oper
Time
"
,
},
{
title
:
"
查看时间
"
,
dataIndex
:
"
oper
Time
"
,
dataIndex
:
"
create
Time
"
,
customRender
:
(
text
)
=>
{
return
text
?
text
:
"
--
"
;
},
...
...
@@ -173,31 +175,15 @@ export default {
// 获取报表
async
getBillList
()
{
this
.
loading
=
true
;
let
pramse
=
{
page
:
this
.
current
,
size
:
this
.
size
,
siteId
:
this
.
siteId
,
type
:
this
.
searchForm
.
status
,
operTimeStart
:
this
.
searchForm
.
time
[
0
],
operTimeEnd
:
this
.
searchForm
.
time
[
1
],
};
if
(
this
.
searchForm
.
type
==
1
)
{
pramse
.
matterName
=
`%
${
this
.
searchForm
.
searchName
}
%`
;
}
else
{
pramse
.
materialName
=
`%
${
this
.
searchForm
.
searchName
}
%`
;
}
let
res
=
await
getBillList
(
pramse
);
if
(
res
.
code
==
1
)
{
let
{
data
,
total
}
=
res
.
data
;
this
.
total
=
total
;
this
.
tableData
=
data
;
this
.
$emit
(
"
update
"
,
{
total
,
time
:
this
.
searchForm
.
time
});
}
let
{
total
,
data
}
=
await
this
.
getDataList
();
this
.
total
=
total
;
this
.
tableData
=
data
;
this
.
$emit
(
"
update
"
,
{
total
,
time
:
this
.
searchForm
.
time
});
this
.
loading
=
false
;
},
// 获取
导出数据
async
get
ExportPrintList
(
)
{
// 获取
数据函数
async
get
DataList
(
searchForm
)
{
let
list
=
[];
let
listTotal
=
0
;
let
pramse
=
{
...
...
@@ -207,6 +193,7 @@ export default {
type
:
this
.
searchForm
.
status
,
operTimeStart
:
this
.
searchForm
.
time
[
0
],
operTimeEnd
:
this
.
searchForm
.
time
[
1
],
...
searchForm
,
};
if
(
this
.
searchForm
.
type
==
1
)
{
pramse
.
matterName
=
`%
${
this
.
searchForm
.
searchName
}
%`
;
...
...
@@ -216,8 +203,8 @@ export default {
let
res
=
await
getBillList
(
pramse
);
if
(
res
.
code
==
1
)
{
let
{
data
,
total
}
=
res
.
data
;
list
=
data
;
listTotal
=
total
;
list
=
data
;
}
return
{
data
:
list
,
...
...
@@ -257,7 +244,7 @@ export default {
"
样表记录报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
);
}
else
{
this
.
dataSection
(
this
.
get
ExportPrint
List
,
{},
(
data
)
=>
{
this
.
dataSection
(
this
.
get
Data
List
,
{},
(
data
)
=>
{
if
(
!
data
.
length
)
{
this
.
$message
.
warning
(
"
暂无数据
"
);
return
;
...
...
portal-manager-ui/admin/src/views/dataAdmin/dataAdmin.vue
View file @
6a14a35d
...
...
@@ -11,22 +11,12 @@
class=
"flex items-center justify-between flex-shrink-0 pl-[10px] pr-[10px]"
>
<div
:class=
"['tab-item',
{ active: active == 'CensusType_1' }]"
@click="changeCensusType('CensusType_1')"
v-for=
"v in CensusTypeList"
:key=
"v.type"
:class=
"['tab-item',
{ active: active == v.type }]"
@click="changeCensusType(v.type)"
>
聚焦服务
</div>
<div
:class=
"['tab-item',
{ active: active == 'CensusType_2' }]"
@click="changeCensusType('CensusType_2')"
>
聚焦协同
</div>
<div
:class=
"['tab-item',
{ active: active == 'CensusType_3' }]"
@click="changeCensusType('CensusType_3')"
>
聚焦监管
{{
v
.
name
}}
</div>
</div>
<div
...
...
@@ -91,6 +81,20 @@ export default {
data
()
{
return
{
siteId
:
Storage
.
get
(
2
,
"
siteId
"
),
CensusTypeList
:
[
{
type
:
"
CensusType_1
"
,
name
:
"
聚焦服务
"
,
},
{
type
:
"
CensusType_2
"
,
name
:
"
聚焦协同
"
,
},
{
type
:
"
CensusType_3
"
,
name
:
"
聚焦监管
"
,
},
],
CensusType_1
:
[],
// 服务
CensusType_2
:
[],
// 协同
CensusType_3
:
[],
// 监管
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/animation.js
View file @
6a14a35d
const
anim_data
=
{
domArr
:
[],
// [
// // 杂乱的正方形
// {
// widthStr: "160rem",
// backgroundColorStr: "",
// backgroundImageStr:
// "linear-gradient(-33deg,#8f35ff,rgba(143,53,255,0)),radial-gradient(circle at 62% -28%,rgba(0,45,156,.75) 0,#002d9c 68%,rgba(0,45,156,0) 111%),linear-gradient(116deg,rgba(0,137,255,.2) 1%,rgba(0,186,255,.04) 38%,rgba(68,149,255,.08) 68%,rgba(3,79,255,.16) 88%)",
// topStr: "calc(50% - 421rem)",
// rightStr: "",
// bottomStr: "",
// leftStr: "calc(50% - 756rem)",
// className: "e-square",
// parentClassName: "effect-box",
// opacity: 0.4,
// opacityAnimMap: new Map([
// [0.2, 0.4], // [帧,值]
// [1, 1],
// ]),
// transform: {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// transformAnimMap: new Map([
// [
// 0,
// {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// ],
// [
// 1,
// {
// translate3d: { x: 0, y: 0, z: 800 },
// },
// ],
// ]),
// },
// {
// widthStr: "80rem",
// backgroundColorStr: "",
// backgroundImageStr:
// "linear-gradient(133deg,rgba(255,186,0,0),rgba(255,207,0,.6) 68%),linear-gradient(170deg,#ffc400,#ff9200),linear-gradient(170deg,#ffc400,#ff9200)",
// topStr: "calc(50% - 192rem)",
// rightStr: "",
// bottomStr: "",
// leftStr: "calc(50% - 487rem)",
// className: "e-square",
// parentClassName: "effect-box",
// opacity: 1,
// opacityAnimMap: new Map([]),
// transform: {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// transformAnimMap: new Map([
// [
// 0,
// {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// ],
// [
// 1,
// {
// translate3d: { x: 0, y: 0, z: 800 },
// },
// ],
// ]),
// },
// {
// widthStr: "96rem",
// backgroundColorStr: "#cc7201",
// backgroundImageStr: "",
// topStr: "calc(50% - 141rem)",
// rightStr: "",
// bottomStr: "",
// leftStr: "calc(50% - 624rem)",
// className: "e-square",
// parentClassName: "effect-box",
// opacity: 0.8,
// opacityAnimMap: new Map([
// [0, 0.8],
// [1, 1],
// ]),
// transform: {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// transformAnimMap: new Map([
// [
// 0,
// {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// ],
// [
// 1,
// {
// translate3d: { x: 0, y: 0, z: 800 },
// },
// ],
// ]),
// },
// {
// widthStr: "40rem",
// backgroundColorStr: "",
// backgroundImageStr: "linear-gradient(170deg,#3e9eff,#0062ff)",
// topStr: "calc(50% - 67rem)",
// rightStr: "",
// bottomStr: "",
// leftStr: "calc(50% - 316rem)",
// className: "e-square",
// parentClassName: "effect-box",
// opacity: 0.75,
// opacityAnimMap: new Map([
// [0, 0.75],
// [1, 1],
// ]),
// transform: {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// transformAnimMap: new Map([
// [
// 0,
// {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// ],
// [
// 1,
// {
// translate3d: { x: 0, y: 0, z: 800 },
// },
// ],
// ]),
// },
// {
// widthStr: "46rem",
// backgroundColorStr: "",
// backgroundImageStr:
// "radial-gradient(77deg,#ff8300 0,#ff9200 54%,rgba(255,146,0,0) 128%),linear-gradient(77deg,#ffb400,#ff9200 25%,#ffdf2f 68%,#ff8e00)",
// topStr: "calc(50% - 28rem)",
// rightStr: "",
// bottomStr: "",
// leftStr: "calc(50% - 259rem)",
// className: "e-square",
// parentClassName: "effect-box",
// opacity: 0.3,
// opacityAnimMap: new Map([
// [0, 0.3],
// [1, 1],
// ]),
// transform: {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// transformAnimMap: new Map([
// [
// 0,
// {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// ],
// [
// 1,
// {
// translate3d: { x: 0, y: 0, z: 800 },
// },
// ],
// ]),
// },
// {
// widthStr: "72rem",
// backgroundColorStr: "",
// backgroundImageStr:
// "radial-gradient(77deg,#ff8300 0,#ff9200 54%,rgba(255,146,0,0) 128%),linear-gradient(77deg,#ffb400,#ff9200 25%,#ffdf2f 68%,#ff8e00)",
// topStr: "",
// rightStr: "",
// bottomStr: "calc(50% - 175rem)",
// leftStr: "calc(50% - 579rem)",
// className: "e-square",
// parentClassName: "effect-box",
// opacity: 0.4,
// opacityAnimMap: new Map([
// [0, 0.4],
// [1, 1],
// ]),
// transform: {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// transformAnimMap: new Map([
// [
// 0,
// {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// ],
// [
// 1,
// {
// translate3d: { x: 0, y: 0, z: 800 },
// },
// ],
// ]),
// },
// {
// widthStr: "160rem",
// backgroundColorStr: "",
// backgroundImageStr:
// "linear-gradient(220deg,#e58dff,#8f35ff 67%,rgba(143,53,255,0)),radial-gradient(circle at 1.2222% -87%,rgba(0,45,156,.75) 0,#002d9c 171%,rgba(0,45,156,0) 278%),linear-gradient(137deg,rgba(0,137,255,.3),rgba(3,79,255,.24))",
// topStr: "",
// rightStr: "",
// bottomStr: "calc(50% - 412rem)",
// leftStr: "calc(50% - 701rem)",
// className: "e-square",
// parentClassName: "effect-box",
// opacity: 0.3,
// opacityAnimMap: new Map([
// [0, 0.3],
// [1, 1],
// ]),
// transform: {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// transformAnimMap: new Map([
// [
// 0,
// {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// ],
// [
// 1,
// {
// translate3d: { x: 0, y: 0, z: 800 },
// },
// ],
// ]),
// },
// {
// widthStr: "24rem",
// backgroundColorStr: "",
// backgroundImageStr:
// "linear-gradient(220deg,#e58dff,#8f35ff 67%,rgba(143,53,255,0)),radial-gradient(circle at 1.2222% -87%,rgba(0,45,156,.75) 0,#002d9c 171%,rgba(0,45,156,0) 278%),linear-gradient(137deg,rgba(0,137,255,.3),rgba(3,79,255,.24))",
// topStr: "calc(50% - 3rem)",
// rightStr: "",
// bottomStr: "",
// leftStr: "calc(50% - 243rem)",
// className: "e-square",
// parentClassName: "effect-box",
// opacity: 0.3,
// opacityAnimMap: new Map([
// [0, 0.3],
// [1, 1],
// ]),
// transform: {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// transformAnimMap: new Map([
// [
// 0,
// {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// ],
// [
// 1,
// {
// translate3d: { x: 0, y: 0, z: 800 },
// },
// ],
// ]),
// },
// {
// widthStr: "96rem",
// backgroundColorStr: "",
// backgroundImageStr:
// "linear-gradient(-27deg,rgba(143,53,255,.8) 11%,rgba(143,53,255,0)),radial-gradient(circle at 62% -28%,rgba(0,45,156,.75) 0,#002d9c 68%,rgba(0,45,156,0) 111%)",
// topStr: "calc(50% - 473rem)",
// rightStr: "",
// bottomStr: "",
// leftStr: "calc(50% - 154rem)",
// className: "e-square",
// parentClassName: "effect-box",
// opacity: 0.3,
// opacityAnimMap: new Map([
// [0, 0.3],
// [1, 1],
// ]),
// transform: {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// transformAnimMap: new Map([
// [
// 0,
// {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// ],
// [
// 1,
// {
// translate3d: { x: 0, y: 0, z: 800 },
// },
// ],
// ]),
// },
// {
// widthStr: "46rem",
// backgroundColorStr: "#ffa800",
// backgroundImageStr: "",
// topStr: "",
// rightStr: "",
// bottomStr: "calc(50% - 98rem)",
// leftStr: "calc(50% - 362rem)",
// className: "e-square",
// parentClassName: "effect-box",
// opacity: 0.95,
// opacityAnimMap: new Map([
// [0, 0.95],
// [1, 1],
// ]),
// transform: {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// transformAnimMap: new Map([
// [
// 0,
// {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// ],
// [
// 1,
// {
// translate3d: { x: 0, y: 0, z: 800 },
// },
// ],
// ]),
// },
// {
// widthStr: "96rem",
// backgroundColorStr: "",
// backgroundImageStr:
// "linear-gradient(180deg,#004fff,rgba(0,45,156,0) 70%)",
// topStr: "",
// rightStr: "",
// bottomStr: "calc(50% - 498rem)",
// leftStr: "calc(50% - 165rem)",
// className: "e-square",
// parentClassName: "effect-box",
// opacity: 0.95,
// opacityAnimMap: new Map([
// [0, 0.95],
// [1, 1],
// ]),
// transform: {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// transformAnimMap: new Map([
// [
// 0,
// {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// ],
// [
// 1,
// {
// translate3d: { x: 0, y: 0, z: 800 },
// },
// ],
// ]),
// },
// {
// widthStr: "40rem",
// backgroundColorStr: "",
// backgroundImageStr:
// "-webkit-radial-gradient(top,rgba(0,45,156,.75) 0,#002d9c 92%,rgba(0,45,156,0) 166%)",
// topStr: "",
// rightStr: "",
// bottomStr: "calc(50% - 352rem)",
// leftStr: "calc(50% - 26rem)",
// className: "e-square",
// parentClassName: "effect-box",
// opacity: 0.35,
// opacityAnimMap: new Map([
// [0, 0.35],
// [1, 1],
// ]),
// transform: {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// transformAnimMap: new Map([
// [
// 0,
// {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// ],
// [
// 1,
// {
// translate3d: { x: 0, y: 0, z: 800 },
// },
// ],
// ]),
// },
// {
// widthStr: "64rem",
// backgroundColorStr: "",
// backgroundImageStr:
// "-webkit-radial-gradient(top,rgba(0,45,156,.75) 0,#002d9c 92%,rgba(0,45,156,0) 166%),-webkit-linear-gradient(334deg,rgba(0,137,255,.2) 1%,rgba(0,186,255,.04) 38%,rgba(68,149,255,.08) 68%,rgba(3,79,255,.16) 88%)",
// topStr: "calc(50% - 395rem)",
// rightStr: "calc(50% - 102rem)",
// bottomStr: "",
// leftStr: "",
// className: "e-square",
// parentClassName: "effect-box",
// opacity: 0.4,
// opacityAnimMap: new Map([
// [0, 0.4],
// [1, 1],
// ]),
// transform: {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// transformAnimMap: new Map([
// [
// 0,
// {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// ],
// [
// 1,
// {
// translate3d: { x: 0, y: 0, z: 800 },
// },
// ],
// ]),
// },
// {
// widthStr: "24rem",
// backgroundColorStr: "",
// backgroundImageStr:
// "linear-gradient(147deg,#004fff,#002d9c 82%),linear-gradient(153deg,#007fff 5%,#0063ff 95%)",
// topStr: "calc(50% - 206rem)",
// rightStr: "calc(50% - 38rem)",
// bottomStr: "",
// leftStr: "",
// className: "e-square",
// parentClassName: "effect-box",
// opacity: 0.3,
// opacityAnimMap: new Map([
// [0, 0.3],
// [1, 1],
// ]),
// transform: {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// transformAnimMap: new Map([
// [
// 0,
// {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// ],
// [
// 1,
// {
// translate3d: { x: 0, y: 0, z: 800 },
// },
// ],
// ]),
// },
// {
// widthStr: "130rem",
// backgroundColorStr: "",
// backgroundImageStr:
// "linear-gradient(147deg,#004fff,#002d9c 82%),linear-gradient(153deg,#007fff 5%,#0063ff 95%)",
// topStr: "calc(50% - 263rem)",
// rightStr: "calc(50% - 704rem)",
// bottomStr: "",
// leftStr: "",
// className: "e-square",
// parentClassName: "effect-box",
// opacity: 0.67,
// opacityAnimMap: new Map([
// [0, 0.67],
// [1, 1],
// ]),
// transform: {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// transformAnimMap: new Map([
// [
// 0,
// {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// ],
// [
// 1,
// {
// translate3d: { x: 0, y: 0, z: 800 },
// },
// ],
// ]),
// },
// {
// widthStr: "64rem",
// backgroundColorStr: "",
// backgroundImageStr: "linear-gradient(128deg,#00ebb6,#00ba46 69%)",
// topStr: "calc(50% - 226rem)",
// rightStr: "calc(50% - 505rem)",
// bottomStr: "",
// leftStr: "",
// className: "e-square",
// parentClassName: "effect-box",
// opacity: 0.95,
// opacityAnimMap: new Map([
// [0, 0.95],
// [1, 1],
// ]),
// transform: {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// transformAnimMap: new Map([
// [
// 0,
// {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// ],
// [
// 1,
// {
// translate3d: { x: 0, y: 0, z: 800 },
// },
// ],
// ]),
// },
// {
// widthStr: "24rem",
// backgroundColorStr: "",
// backgroundImageStr: "linear-gradient(170deg,#ffc400,rgba(255,207,0,.6))",
// topStr: "calc(50% - 52rem)",
// rightStr: "calc(50% - 218rem)",
// bottomStr: "",
// leftStr: "",
// className: "e-square",
// parentClassName: "effect-box",
// opacity: 0.2,
// opacityAnimMap: new Map([
// [0, 0.2],
// [1, 1],
// ]),
// transform: {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// transformAnimMap: new Map([
// [
// 0,
// {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// ],
// [
// 1,
// {
// translate3d: { x: 0, y: 0, z: 800 },
// },
// ],
// ]),
// },
// {
// widthStr: "24rem",
// backgroundColorStr: "",
// backgroundImageStr: "linear-gradient(170deg,#00b6ff,#007fff)",
// topStr: "",
// rightStr: "calc(50% - 300rem)",
// bottomStr: "calc(50% - 49rem)",
// leftStr: "",
// className: "e-square",
// parentClassName: "effect-box",
// opacity: 0.96,
// opacityAnimMap: new Map([
// [0, 0.96],
// [1, 1],
// ]),
// transform: {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// transformAnimMap: new Map([
// [
// 0,
// {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// ],
// [
// 1,
// {
// translate3d: { x: 0, y: 0, z: 800 },
// },
// ],
// ]),
// },
// {
// widthStr: "64rem",
// backgroundColorStr: "",
// backgroundImageStr: "linear-gradient(148deg,#76d2ff,#09baff 99%)",
// topStr: "",
// rightStr: "calc(50% - 453rem)",
// bottomStr: "calc(50% - 170rem)",
// leftStr: "",
// className: "e-square",
// parentClassName: "effect-box",
// opacity: 0.96,
// opacityAnimMap: new Map([
// [0, 0.96],
// [1, 1],
// ]),
// transform: {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// transformAnimMap: new Map([
// [
// 0,
// {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// ],
// [
// 1,
// {
// translate3d: { x: 0, y: 0, z: 800 },
// },
// ],
// ]),
// },
// {
// widthStr: "96rem",
// backgroundColorStr: "",
// backgroundImageStr: "linear-gradient(136deg,#3e9eff 19%,#0062ff)",
// topStr: "",
// rightStr: "calc(50% - 657rem)",
// bottomStr: "calc(50% - 133rem)",
// leftStr: "",
// className: "e-square",
// parentClassName: "effect-box",
// opacity: 0.96,
// opacityAnimMap: new Map([
// [0, 0.96],
// [1, 1],
// ]),
// transform: {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// transformAnimMap: new Map([
// [
// 0,
// {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// ],
// [
// 1,
// {
// translate3d: { x: 0, y: 0, z: 800 },
// },
// ],
// ]),
// },
// {
// widthStr: "160rem",
// backgroundColorStr: "",
// backgroundImageStr:
// "linear-gradient(147deg,rgba(0,79,255,.6),rgba(0,45,156,.6) 82%),linear-gradient(153deg,#007fff 5%,#0063ff 95%)",
// topStr: "",
// rightStr: "calc(50% - 800rem)",
// bottomStr: "calc(50% - 345rem)",
// leftStr: "",
// className: "e-square",
// parentClassName: "effect-box",
// opacity: 0.5,
// opacityAnimMap: new Map([
// [0, 0.5],
// [1, 1],
// ]),
// transform: {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// transformAnimMap: new Map([
// [
// 0,
// {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// ],
// [
// 1,
// {
// translate3d: { x: 0, y: 0, z: 800 },
// },
// ],
// ]),
// },
// {
// widthStr: "96rem",
// backgroundColorStr: "",
// backgroundImageStr: "linear-gradient(-2deg,rgba(0,45,156,.75),#002d9c)",
// topStr: "",
// rightStr: "calc(50% - 213rem)",
// bottomStr: "calc(50% - 532rem)",
// leftStr: "",
// className: "e-square",
// parentClassName: "effect-box",
// opacity: 0.2,
// opacityAnimMap: new Map([
// [0, 0.2],
// [1, 1],
// ]),
// transform: {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// transformAnimMap: new Map([
// [
// 0,
// {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// ],
// [
// 1,
// {
// translate3d: { x: 0, y: 0, z: 800 },
// },
// ],
// ]),
// },
// {
// widthStr: "96rem",
// backgroundColorStr: "",
// backgroundImageStr: "linear-gradient(-2deg,rgba(0,45,156,.75),#002d9c)",
// topStr: "",
// rightStr: "calc(50% - 213rem)",
// bottomStr: "calc(50% - 532rem)",
// leftStr: "",
// className: "e-square",
// parentClassName: "effect-box",
// opacity: 0.2,
// opacityAnimMap: new Map([
// [0, 0.2],
// [1, 1],
// ]),
// transform: {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// transformAnimMap: new Map([
// [
// 0,
// {
// translate3d: { x: 0, y: 0, z: 0 },
// },
// ],
// [
// 1,
// {
// translate3d: { x: 0, y: 0, z: 800 },
// },
// ],
// ]),
// },
domArr
:
[
// 杂乱的正方形
{
widthStr
:
"
160rem
"
,
backgroundColorStr
:
""
,
backgroundImageStr
:
"
linear-gradient(-33deg,#8f35ff,rgba(143,53,255,0)),radial-gradient(circle at 62% -28%,rgba(0,45,156,.75) 0,#002d9c 68%,rgba(0,45,156,0) 111%),linear-gradient(116deg,rgba(0,137,255,.2) 1%,rgba(0,186,255,.04) 38%,rgba(68,149,255,.08) 68%,rgba(3,79,255,.16) 88%)
"
,
topStr
:
"
calc(50% - 421rem)
"
,
rightStr
:
""
,
bottomStr
:
""
,
leftStr
:
"
calc(50% - 756rem)
"
,
className
:
"
e-square
"
,
parentClassName
:
"
effect-box
"
,
opacity
:
0.4
,
opacityAnimMap
:
new
Map
([
[
0.2
,
0.4
],
// [帧,值]
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
transformAnimMap
:
new
Map
([
[
0
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
800
},
},
],
]),
},
{
widthStr
:
"
80rem
"
,
backgroundColorStr
:
""
,
backgroundImageStr
:
"
linear-gradient(133deg,rgba(255,186,0,0),rgba(255,207,0,.6) 68%),linear-gradient(170deg,#ffc400,#ff9200),linear-gradient(170deg,#ffc400,#ff9200)
"
,
topStr
:
"
calc(50% - 192rem)
"
,
rightStr
:
""
,
bottomStr
:
""
,
leftStr
:
"
calc(50% - 487rem)
"
,
className
:
"
e-square
"
,
parentClassName
:
"
effect-box
"
,
opacity
:
1
,
opacityAnimMap
:
new
Map
([]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
transformAnimMap
:
new
Map
([
[
0
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
800
},
},
],
]),
},
{
widthStr
:
"
96rem
"
,
backgroundColorStr
:
"
#cc7201
"
,
backgroundImageStr
:
""
,
topStr
:
"
calc(50% - 141rem)
"
,
rightStr
:
""
,
bottomStr
:
""
,
leftStr
:
"
calc(50% - 624rem)
"
,
className
:
"
e-square
"
,
parentClassName
:
"
effect-box
"
,
opacity
:
0.8
,
opacityAnimMap
:
new
Map
([
[
0
,
0.8
],
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
transformAnimMap
:
new
Map
([
[
0
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
800
},
},
],
]),
},
{
widthStr
:
"
40rem
"
,
backgroundColorStr
:
""
,
backgroundImageStr
:
"
linear-gradient(170deg,#3e9eff,#0062ff)
"
,
topStr
:
"
calc(50% - 67rem)
"
,
rightStr
:
""
,
bottomStr
:
""
,
leftStr
:
"
calc(50% - 316rem)
"
,
className
:
"
e-square
"
,
parentClassName
:
"
effect-box
"
,
opacity
:
0.75
,
opacityAnimMap
:
new
Map
([
[
0
,
0.75
],
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
transformAnimMap
:
new
Map
([
[
0
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
800
},
},
],
]),
},
{
widthStr
:
"
46rem
"
,
backgroundColorStr
:
""
,
backgroundImageStr
:
"
radial-gradient(77deg,#ff8300 0,#ff9200 54%,rgba(255,146,0,0) 128%),linear-gradient(77deg,#ffb400,#ff9200 25%,#ffdf2f 68%,#ff8e00)
"
,
topStr
:
"
calc(50% - 28rem)
"
,
rightStr
:
""
,
bottomStr
:
""
,
leftStr
:
"
calc(50% - 259rem)
"
,
className
:
"
e-square
"
,
parentClassName
:
"
effect-box
"
,
opacity
:
0.3
,
opacityAnimMap
:
new
Map
([
[
0
,
0.3
],
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
transformAnimMap
:
new
Map
([
[
0
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
800
},
},
],
]),
},
{
widthStr
:
"
72rem
"
,
backgroundColorStr
:
""
,
backgroundImageStr
:
"
radial-gradient(77deg,#ff8300 0,#ff9200 54%,rgba(255,146,0,0) 128%),linear-gradient(77deg,#ffb400,#ff9200 25%,#ffdf2f 68%,#ff8e00)
"
,
topStr
:
""
,
rightStr
:
""
,
bottomStr
:
"
calc(50% - 175rem)
"
,
leftStr
:
"
calc(50% - 579rem)
"
,
className
:
"
e-square
"
,
parentClassName
:
"
effect-box
"
,
opacity
:
0.4
,
opacityAnimMap
:
new
Map
([
[
0
,
0.4
],
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
transformAnimMap
:
new
Map
([
[
0
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
800
},
},
],
]),
},
{
widthStr
:
"
160rem
"
,
backgroundColorStr
:
""
,
backgroundImageStr
:
"
linear-gradient(220deg,#e58dff,#8f35ff 67%,rgba(143,53,255,0)),radial-gradient(circle at 1.2222% -87%,rgba(0,45,156,.75) 0,#002d9c 171%,rgba(0,45,156,0) 278%),linear-gradient(137deg,rgba(0,137,255,.3),rgba(3,79,255,.24))
"
,
topStr
:
""
,
rightStr
:
""
,
bottomStr
:
"
calc(50% - 412rem)
"
,
leftStr
:
"
calc(50% - 701rem)
"
,
className
:
"
e-square
"
,
parentClassName
:
"
effect-box
"
,
opacity
:
0.3
,
opacityAnimMap
:
new
Map
([
[
0
,
0.3
],
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
transformAnimMap
:
new
Map
([
[
0
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
800
},
},
],
]),
},
{
widthStr
:
"
24rem
"
,
backgroundColorStr
:
""
,
backgroundImageStr
:
"
linear-gradient(220deg,#e58dff,#8f35ff 67%,rgba(143,53,255,0)),radial-gradient(circle at 1.2222% -87%,rgba(0,45,156,.75) 0,#002d9c 171%,rgba(0,45,156,0) 278%),linear-gradient(137deg,rgba(0,137,255,.3),rgba(3,79,255,.24))
"
,
topStr
:
"
calc(50% - 3rem)
"
,
rightStr
:
""
,
bottomStr
:
""
,
leftStr
:
"
calc(50% - 243rem)
"
,
className
:
"
e-square
"
,
parentClassName
:
"
effect-box
"
,
opacity
:
0.3
,
opacityAnimMap
:
new
Map
([
[
0
,
0.3
],
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
transformAnimMap
:
new
Map
([
[
0
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
800
},
},
],
]),
},
{
widthStr
:
"
96rem
"
,
backgroundColorStr
:
""
,
backgroundImageStr
:
"
linear-gradient(-27deg,rgba(143,53,255,.8) 11%,rgba(143,53,255,0)),radial-gradient(circle at 62% -28%,rgba(0,45,156,.75) 0,#002d9c 68%,rgba(0,45,156,0) 111%)
"
,
topStr
:
"
calc(50% - 473rem)
"
,
rightStr
:
""
,
bottomStr
:
""
,
leftStr
:
"
calc(50% - 154rem)
"
,
className
:
"
e-square
"
,
parentClassName
:
"
effect-box
"
,
opacity
:
0.3
,
opacityAnimMap
:
new
Map
([
[
0
,
0.3
],
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
transformAnimMap
:
new
Map
([
[
0
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
800
},
},
],
]),
},
{
widthStr
:
"
46rem
"
,
backgroundColorStr
:
"
#ffa800
"
,
backgroundImageStr
:
""
,
topStr
:
""
,
rightStr
:
""
,
bottomStr
:
"
calc(50% - 98rem)
"
,
leftStr
:
"
calc(50% - 362rem)
"
,
className
:
"
e-square
"
,
parentClassName
:
"
effect-box
"
,
opacity
:
0.95
,
opacityAnimMap
:
new
Map
([
[
0
,
0.95
],
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
transformAnimMap
:
new
Map
([
[
0
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
800
},
},
],
]),
},
{
widthStr
:
"
96rem
"
,
backgroundColorStr
:
""
,
backgroundImageStr
:
"
linear-gradient(180deg,#004fff,rgba(0,45,156,0) 70%)
"
,
topStr
:
""
,
rightStr
:
""
,
bottomStr
:
"
calc(50% - 498rem)
"
,
leftStr
:
"
calc(50% - 165rem)
"
,
className
:
"
e-square
"
,
parentClassName
:
"
effect-box
"
,
opacity
:
0.95
,
opacityAnimMap
:
new
Map
([
[
0
,
0.95
],
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
transformAnimMap
:
new
Map
([
[
0
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
800
},
},
],
]),
},
{
widthStr
:
"
40rem
"
,
backgroundColorStr
:
""
,
backgroundImageStr
:
"
-webkit-radial-gradient(top,rgba(0,45,156,.75) 0,#002d9c 92%,rgba(0,45,156,0) 166%)
"
,
topStr
:
""
,
rightStr
:
""
,
bottomStr
:
"
calc(50% - 352rem)
"
,
leftStr
:
"
calc(50% - 26rem)
"
,
className
:
"
e-square
"
,
parentClassName
:
"
effect-box
"
,
opacity
:
0.35
,
opacityAnimMap
:
new
Map
([
[
0
,
0.35
],
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
transformAnimMap
:
new
Map
([
[
0
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
800
},
},
],
]),
},
{
widthStr
:
"
64rem
"
,
backgroundColorStr
:
""
,
backgroundImageStr
:
"
-webkit-radial-gradient(top,rgba(0,45,156,.75) 0,#002d9c 92%,rgba(0,45,156,0) 166%),-webkit-linear-gradient(334deg,rgba(0,137,255,.2) 1%,rgba(0,186,255,.04) 38%,rgba(68,149,255,.08) 68%,rgba(3,79,255,.16) 88%)
"
,
topStr
:
"
calc(50% - 395rem)
"
,
rightStr
:
"
calc(50% - 102rem)
"
,
bottomStr
:
""
,
leftStr
:
""
,
className
:
"
e-square
"
,
parentClassName
:
"
effect-box
"
,
opacity
:
0.4
,
opacityAnimMap
:
new
Map
([
[
0
,
0.4
],
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
transformAnimMap
:
new
Map
([
[
0
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
800
},
},
],
]),
},
{
widthStr
:
"
24rem
"
,
backgroundColorStr
:
""
,
backgroundImageStr
:
"
linear-gradient(147deg,#004fff,#002d9c 82%),linear-gradient(153deg,#007fff 5%,#0063ff 95%)
"
,
topStr
:
"
calc(50% - 206rem)
"
,
rightStr
:
"
calc(50% - 38rem)
"
,
bottomStr
:
""
,
leftStr
:
""
,
className
:
"
e-square
"
,
parentClassName
:
"
effect-box
"
,
opacity
:
0.3
,
opacityAnimMap
:
new
Map
([
[
0
,
0.3
],
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
transformAnimMap
:
new
Map
([
[
0
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
800
},
},
],
]),
},
{
widthStr
:
"
130rem
"
,
backgroundColorStr
:
""
,
backgroundImageStr
:
"
linear-gradient(147deg,#004fff,#002d9c 82%),linear-gradient(153deg,#007fff 5%,#0063ff 95%)
"
,
topStr
:
"
calc(50% - 263rem)
"
,
rightStr
:
"
calc(50% - 704rem)
"
,
bottomStr
:
""
,
leftStr
:
""
,
className
:
"
e-square
"
,
parentClassName
:
"
effect-box
"
,
opacity
:
0.67
,
opacityAnimMap
:
new
Map
([
[
0
,
0.67
],
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
transformAnimMap
:
new
Map
([
[
0
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
800
},
},
],
]),
},
{
widthStr
:
"
64rem
"
,
backgroundColorStr
:
""
,
backgroundImageStr
:
"
linear-gradient(128deg,#00ebb6,#00ba46 69%)
"
,
topStr
:
"
calc(50% - 226rem)
"
,
rightStr
:
"
calc(50% - 505rem)
"
,
bottomStr
:
""
,
leftStr
:
""
,
className
:
"
e-square
"
,
parentClassName
:
"
effect-box
"
,
opacity
:
0.95
,
opacityAnimMap
:
new
Map
([
[
0
,
0.95
],
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
transformAnimMap
:
new
Map
([
[
0
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
800
},
},
],
]),
},
{
widthStr
:
"
24rem
"
,
backgroundColorStr
:
""
,
backgroundImageStr
:
"
linear-gradient(170deg,#ffc400,rgba(255,207,0,.6))
"
,
topStr
:
"
calc(50% - 52rem)
"
,
rightStr
:
"
calc(50% - 218rem)
"
,
bottomStr
:
""
,
leftStr
:
""
,
className
:
"
e-square
"
,
parentClassName
:
"
effect-box
"
,
opacity
:
0.2
,
opacityAnimMap
:
new
Map
([
[
0
,
0.2
],
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
transformAnimMap
:
new
Map
([
[
0
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
800
},
},
],
]),
},
{
widthStr
:
"
24rem
"
,
backgroundColorStr
:
""
,
backgroundImageStr
:
"
linear-gradient(170deg,#00b6ff,#007fff)
"
,
topStr
:
""
,
rightStr
:
"
calc(50% - 300rem)
"
,
bottomStr
:
"
calc(50% - 49rem)
"
,
leftStr
:
""
,
className
:
"
e-square
"
,
parentClassName
:
"
effect-box
"
,
opacity
:
0.96
,
opacityAnimMap
:
new
Map
([
[
0
,
0.96
],
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
transformAnimMap
:
new
Map
([
[
0
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
800
},
},
],
]),
},
{
widthStr
:
"
64rem
"
,
backgroundColorStr
:
""
,
backgroundImageStr
:
"
linear-gradient(148deg,#76d2ff,#09baff 99%)
"
,
topStr
:
""
,
rightStr
:
"
calc(50% - 453rem)
"
,
bottomStr
:
"
calc(50% - 170rem)
"
,
leftStr
:
""
,
className
:
"
e-square
"
,
parentClassName
:
"
effect-box
"
,
opacity
:
0.96
,
opacityAnimMap
:
new
Map
([
[
0
,
0.96
],
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
transformAnimMap
:
new
Map
([
[
0
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
800
},
},
],
]),
},
{
widthStr
:
"
96rem
"
,
backgroundColorStr
:
""
,
backgroundImageStr
:
"
linear-gradient(136deg,#3e9eff 19%,#0062ff)
"
,
topStr
:
""
,
rightStr
:
"
calc(50% - 657rem)
"
,
bottomStr
:
"
calc(50% - 133rem)
"
,
leftStr
:
""
,
className
:
"
e-square
"
,
parentClassName
:
"
effect-box
"
,
opacity
:
0.96
,
opacityAnimMap
:
new
Map
([
[
0
,
0.96
],
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
transformAnimMap
:
new
Map
([
[
0
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
800
},
},
],
]),
},
{
widthStr
:
"
160rem
"
,
backgroundColorStr
:
""
,
backgroundImageStr
:
"
linear-gradient(147deg,rgba(0,79,255,.6),rgba(0,45,156,.6) 82%),linear-gradient(153deg,#007fff 5%,#0063ff 95%)
"
,
topStr
:
""
,
rightStr
:
"
calc(50% - 800rem)
"
,
bottomStr
:
"
calc(50% - 345rem)
"
,
leftStr
:
""
,
className
:
"
e-square
"
,
parentClassName
:
"
effect-box
"
,
opacity
:
0.5
,
opacityAnimMap
:
new
Map
([
[
0
,
0.5
],
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
transformAnimMap
:
new
Map
([
[
0
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
800
},
},
],
]),
},
{
widthStr
:
"
96rem
"
,
backgroundColorStr
:
""
,
backgroundImageStr
:
"
linear-gradient(-2deg,rgba(0,45,156,.75),#002d9c)
"
,
topStr
:
""
,
rightStr
:
"
calc(50% - 213rem)
"
,
bottomStr
:
"
calc(50% - 532rem)
"
,
leftStr
:
""
,
className
:
"
e-square
"
,
parentClassName
:
"
effect-box
"
,
opacity
:
0.2
,
opacityAnimMap
:
new
Map
([
[
0
,
0.2
],
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
transformAnimMap
:
new
Map
([
[
0
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
800
},
},
],
]),
},
{
widthStr
:
"
96rem
"
,
backgroundColorStr
:
""
,
backgroundImageStr
:
"
linear-gradient(-2deg,rgba(0,45,156,.75),#002d9c)
"
,
topStr
:
""
,
rightStr
:
"
calc(50% - 213rem)
"
,
bottomStr
:
"
calc(50% - 532rem)
"
,
leftStr
:
""
,
className
:
"
e-square
"
,
parentClassName
:
"
effect-box
"
,
opacity
:
0.2
,
opacityAnimMap
:
new
Map
([
[
0
,
0.2
],
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
transformAnimMap
:
new
Map
([
[
0
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
800
},
},
],
]),
},
//
// logo 图标
//
{
//
widthStr: "190rem",
//
backgroundColorStr: "",
//
backgroundStr:
//
"url(" +
//
require("@/assets/images/siteArrange/logo-pingtai.png") +
//
") center no-repeat",
//
topStr: "calc(50% - 90rem)",
//
rightStr: "",
//
bottomStr: "",
//
leftStr: "calc(50% - 90rem)",
//
className: "e-square",
//
parentClassName: "effect-box",
//
opacity: 1,
//
index: 99,
//
opacityAnimMap: new Map([
//
[0, 1], // [帧,值]
//
[0.6, 1],
//
]),
//
transform: {
//
translate3d: { x: 0, y: 0, z: 0 },
//
scale: 1,
//
},
//
transformAnimMap: new Map([
//
[
//
0,
//
{
//
translate3d: { x: 0, y: 0, z: 0 },
//
scale: 1,
//
},
//
],
//
[
//
1,
//
{
//
translate3d: { x: 0, y: -1300, z: 800 },
//
scale: 1.5,
//
},
//
],
//
]),
//
},
//
// logo 图标
//
{
//
widthStr: "180rem",
//
backgroundColorStr: "",
//
backgroundImageStr: "linear-gradient(0deg, #2254F3 0%, #15C5FF 100%)",
//
topStr: "calc(50% - 90rem)",
//
rightStr: "",
//
bottomStr: "",
//
leftStr: "calc(50% - 90rem)",
//
className: "e-square",
//
parentClassName: "effect-box",
//
opacity: 1,
//
opacityAnimMap: new Map([
//
[0, 1], // [帧,值]
//
[0.6, 1],
//
]),
//
transform: {
//
translate3d: { x: 0, y: 0, z: 0 },
//
scale: 1,
//
},
//
transformAnimMap: new Map([
//
[
//
0,
//
{
//
translate3d: { x: 0, y: 0, z: 0 },
//
scale: 1,
//
},
//
],
//
[
//
1,
//
{
//
translate3d: { x: 0, y: -1300, z: 800 },
//
scale: 1.5,
//
},
//
],
//
]),
//
},
//
// 平台设置字体
//
{
//
widthStr: "200rem",
//
backgroundColorStr: "",
//
backgroundImageStr: "",
//
topStr: "calc(62%)",
//
rightStr: "",
//
bottomStr: "",
//
leftStr: "calc(50% - 98rem)",
//
className: "e-square",
//
parentClassName: "effect-box",
//
text: "平台设置",
//
fontSizeStr: "48rem",
//
fontColorStr: "#ffffff",
//
opacity: 1,
//
opacityAnimMap: new Map([
//
[0, 1], // [帧,值]
//
[0.6, 1],
//
]),
//
transform: {
//
translate3d: { x: 0, y: 0, z: 0 },
//
scale: 1,
//
},
//
transformAnimMap: new Map([
//
[
//
0,
//
{
//
translate3d: { x: 0, y: 0, z: 0 },
//
scale: 1,
//
},
//
],
//
[
//
1,
//
{
//
translate3d: { x: 0, y: -1300, z: 800 },
//
scale: 1.5,
//
},
//
],
//
]),
//
},
//
// e-icon-box 相关元素
//
// e-icon-box-bg
//
{
//
widthStr: "",
//
backgroundColorStr: "",
//
backgroundImageStr: "",
//
topStr: "",
//
rightStr: "",
//
bottomStr: "",
//
leftStr: "",
//
className: "e-icon-box-bg",
//
parentClassName: "e-icon-box",
//
opacity: 0,
//
opacityAnimMap: new Map([
//
[0.6, 0], // [帧,值]
//
[1, 1],
//
]),
//
transform: {
//
translate3d: { x: 0, y: 0, z: 10 },
//
scale: 0.8,
//
},
//
transformAnimMap: new Map([
//
[
//
0.6,
//
{
//
translate3d: { x: 0, y: 0, z: 10 },
//
scale: 0.8,
//
},
//
],
//
[
//
1,
//
{
//
translate3d: { x: 0, y: 0, z: 10 },
//
scale: 1,
//
},
//
],
//
]),
//
},
//
// e-icon-box 上部字体
//
{
//
widthStr: "",
//
backgroundColorStr: "",
//
backgroundImageStr: "",
//
topStr: "calc(-38%)",
//
rightStr: "",
//
bottomStr: "",
//
leftStr: "",
//
className: "title_boxx",
//
parentClassName: "e-icon-box",
//
text: "平台设置",
//
opacity: 0,
//
fontColorStr: "#ffffff",
//
opacityAnimMap: new Map([
//
[0.6, 0], // [帧,值]
//
[1, 1],
//
]),
//
transform: {
//
translate3d: { x: 0, y: 0, z: 10 },
//
scale: 0.8,
//
},
//
transformAnimMap: new Map([
//
[
//
0.6,
//
{
//
translate3d: { x: 0, y: 0, z: 10 },
//
scale: 0.8,
//
},
//
],
//
[
//
1,
//
{
//
translate3d: { x: 0, y: 0, z: 10 },
//
scale: 1,
//
},
//
],
//
]),
//
},
//
{
//
widthStr: "",
//
backgroundColorStr: "",
//
backgroundImageStr: "",
//
topStr: "calc(-16%)",
//
rightStr: "",
//
bottomStr: "",
//
leftStr: "",
//
className: "desc_boxx",
//
parentClassName: "e-icon-box",
//
text: "运用以人工智能为代表的新技术,驱动政务服务模式创新,为人民提供更加智慧化、人性化的政务服务。",
//
opacity: 0,
//
fontColorStr: "#ffffff",
//
opacityAnimMap: new Map([
//
[0.6, 0], // [帧,值]
//
[1, 1],
//
]),
//
transform: {
//
translate3d: { x: 0, y: 0, z: 10 },
//
scale: 0.8,
//
},
//
transformAnimMap: new Map([
//
[
//
0.6,
//
{
//
translate3d: { x: 0, y: 0, z: 10 },
//
scale: 0.8,
//
},
//
],
//
[
//
1,
//
{
//
translate3d: { x: 0, y: 0, z: 10 },
//
scale: 1,
//
},
//
],
//
]),
//
},
//
// e-icon 上行
// //
{
// //
widthStr: "",
// //
backgroundColorStr: "",
// //
backgroundImageStr: "",
// //
topStr: "",
// //
rightStr: "",
// //
bottomStr: "",
// //
leftStr: "",
// //
className: "e-icon",
// //
parentClassName: "e-icon-box",
// //
opacity: 0,
// //
opacityAnimMap: new Map([
// //
[0.1, 0], // [帧,值]
// //
[1, 1],
// //
]),
// //
transform: {
// //
translate3d: { x: 450, y: 80, z: 10 },
// //
scale: 0,
// //
},
// //
transformAnimMap: new Map([
// //
[
// //
0.1,
// //
{
// //
translate3d: { x: 450, y: 80, z: 10 },
// //
scale: 0,
// //
},
// //
],
// //
[
// //
0.1,
// //
{
// //
translate3d: { x: 450, y: 100, z: 10 },
// //
scale: 0.5,
// //
},
// //
],
// //
[
// //
1,
// //
{
// //
translate3d: { x: 0, y: 0, z: 10 },
// //
scale: 1,
// //
},
// //
],
// //
]),
// //
},
// //
{
// //
widthStr: "",
// //
backgroundColorStr: "",
// //
backgroundImageStr: "",
// //
topStr: "",
// //
rightStr: "",
// //
bottomStr: "",
// //
leftStr: "",
// //
className: "e-icon",
// //
parentClassName: "e-icon-box",
// //
opacity: 0,
// //
opacityAnimMap: new Map([
// //
[0.3, 0], // [帧,值]
// //
[1, 1],
// //
]),
// //
transform: {
// //
translate3d: { x: 300, y: 80, z: 10 },
// //
scale: 0,
// //
},
// //
transformAnimMap: new Map([
// //
[
// //
0.1,
// //
{
// //
translate3d: { x: 300, y: 80, z: 10 },
// //
scale: 0,
// //
},
// //
],
// //
[
// //
0.3,
// //
{
// //
translate3d: { x: 300, y: 100, z: 10 },
// //
scale: 0.5,
// //
},
// //
],
// //
[
// //
1,
// //
{
// //
translate3d: { x: 0, y: 0, z: 10 },
// //
scale: 1,
// //
},
// //
],
// //
]),
// //
},
// //
{
// //
widthStr: "",
// //
backgroundColorStr: "",
// //
backgroundImageStr: "",
// //
topStr: "",
// //
rightStr: "",
// //
bottomStr: "",
// //
leftStr: "",
// //
className: "e-icon",
// //
parentClassName: "e-icon-box",
// //
opacity: 0,
// //
opacityAnimMap: new Map([
// //
[0.5, 0], // [帧,值]
// //
[1, 1],
// //
]),
// //
transform: {
// //
translate3d: { x: 150, y: 80, z: 10 },
// //
scale: 0,
// //
},
// //
transformAnimMap: new Map([
// //
[
// //
0.1,
// //
{
// //
translate3d: { x: 150, y: 80, z: 10 },
// //
scale: 0,
// //
},
// //
],
// //
[
// //
0.5,
// //
{
// //
translate3d: { x: 150, y: 100, z: 10 },
// //
scale: 0.5,
// //
},
// //
],
// //
[
// //
1,
// //
{
// //
translate3d: { x: 0, y: 0, z: 10 },
// //
scale: 1,
// //
},
// //
],
// //
]),
// //
},
// //
{
// //
widthStr: "",
// //
backgroundColorStr: "",
// //
backgroundImageStr: "",
// //
topStr: "",
// //
rightStr: "",
// //
bottomStr: "",
// //
leftStr: "",
// //
className: "e-icon",
// //
parentClassName: "e-icon-box",
// //
opacity: 0,
// //
opacityAnimMap: new Map([
// //
[0.7, 0], // [帧,值]
// //
[1, 1],
// //
]),
// //
transform: {
// //
translate3d: { x: 0, y: 80, z: 10 },
// //
scale: 0,
// //
},
// //
transformAnimMap: new Map([
// //
[
// //
0.1,
// //
{
// //
translate3d: { x: 0, y: 80, z: 10 },
// //
scale: 0,
// //
},
// //
],
// //
[
// //
0.7,
// //
{
// //
translate3d: { x: 0, y: 100, z: 10 },
// //
scale: 0.5,
// //
},
// //
],
// //
[
// //
1,
// //
{
// //
translate3d: { x: 0, y: 0, z: 10 },
// //
scale: 1,
// //
},
// //
],
// //
]),
// //
},
// //
{
// //
widthStr: "",
// //
backgroundColorStr: "",
// //
backgroundImageStr: "",
// //
topStr: "",
// //
rightStr: "",
// //
bottomStr: "",
// //
leftStr: "",
// //
className: "e-icon",
// //
parentClassName: "e-icon-box",
// //
opacity: 0,
// //
opacityAnimMap: new Map([
// //
[0.5, 0], // [帧,值]
// //
[1, 1],
// //
]),
// //
transform: {
// //
translate3d: { x: -150, y: 80, z: 10 },
// //
scale: 0,
// //
},
// //
transformAnimMap: new Map([
// //
[
// //
0.1,
// //
{
// //
translate3d: { x: -150, y: 80, z: 10 },
// //
scale: 0,
// //
},
// //
],
// //
[
// //
0.5,
// //
{
// //
translate3d: { x: -150, y: 100, z: 10 },
// //
scale: 0.5,
// //
},
// //
],
// //
[
// //
1,
// //
{
// //
translate3d: { x: 0, y: 0, z: 10 },
// //
scale: 1,
// //
},
// //
],
// //
]),
// //
},
// //
{
// //
widthStr: "",
// //
backgroundColorStr: "",
// //
backgroundImageStr: "",
// //
topStr: "",
// //
rightStr: "",
// //
bottomStr: "",
// //
leftStr: "",
// //
className: "e-icon",
// //
parentClassName: "e-icon-box",
// //
opacity: 0,
// //
opacityAnimMap: new Map([
// //
[0.3, 0], // [帧,值]
// //
[1, 1],
// //
]),
// //
transform: {
// //
translate3d: { x: -300, y: 80, z: 10 },
// //
scale: 0,
// //
},
// //
transformAnimMap: new Map([
// //
[
// //
0.1,
// //
{
// //
translate3d: { x: -300, y: 80, z: 10 },
// //
scale: 0,
// //
},
// //
],
// //
[
// //
0.3,
// //
{
// //
translate3d: { x: -300, y: 100, z: 10 },
// //
scale: 0.5,
// //
},
// //
],
// //
[
// //
1,
// //
{
// //
translate3d: { x: 0, y: 0, z: 10 },
// //
scale: 1,
// //
},
// //
],
// //
]),
// //
},
// //
{
// //
widthStr: "",
// //
backgroundColorStr: "",
// //
backgroundImageStr: "",
// //
topStr: "",
// //
rightStr: "",
// //
bottomStr: "",
// //
leftStr: "",
// //
className: "e-icon",
// //
parentClassName: "e-icon-box",
// //
opacity: 0,
// //
opacityAnimMap: new Map([
// //
[0.1, 0], // [帧,值]
// //
[1, 1],
// //
]),
// //
transform: {
// //
translate3d: { x: -450, y: 80, z: 10 },
// //
scale: 0,
// //
},
// //
transformAnimMap: new Map([
// //
[
// //
0.1,
// //
{
// //
translate3d: { x: -450, y: 80, z: 10 },
// //
scale: 0,
// //
},
// //
],
// //
[
// //
0.1,
// //
{
// //
translate3d: { x: -450, y: 100, z: 10 },
// //
scale: 0.5,
// //
},
// //
],
// //
[
// //
1,
// //
{
// //
translate3d: { x: 0, y: 0, z: 10 },
// //
scale: 1,
// //
},
// //
],
// //
]),
// //
},
//
// e-icon 下行
// //
{
// //
widthStr: "",
// //
backgroundColorStr: "",
// //
backgroundImageStr: "",
// //
topStr: "",
// //
rightStr: "",
// //
bottomStr: "",
// //
leftStr: "",
// //
className: "e-icon",
// //
parentClassName: "e-icon-box",
// //
opacity: 0,
// //
opacityAnimMap: new Map([
// //
[0.1, 0], // [帧,值]
// //
[1, 1],
// //
]),
// //
transform: {
// //
translate3d: { x: 450, y: -80, z: 10 },
// //
scale: 0,
// //
},
// //
transformAnimMap: new Map([
// //
[
// //
0.1,
// //
{
// //
translate3d: { x: 450, y: -80, z: 10 },
// //
scale: 0,
// //
},
// //
],
// //
[
// //
0.1,
// //
{
// //
translate3d: { x: 450, y: -100, z: 10 },
// //
scale: 0.5,
// //
},
// //
],
// //
[
// //
1,
// //
{
// //
translate3d: { x: 0, y: 0, z: 10 },
// //
scale: 1,
// //
},
// //
],
// //
]),
// //
},
// //
{
// //
widthStr: "",
// //
backgroundColorStr: "",
// //
backgroundImageStr: "",
// //
topStr: "",
// //
rightStr: "",
// //
bottomStr: "",
// //
leftStr: "",
// //
className: "e-icon",
// //
parentClassName: "e-icon-box",
// //
opacity: 0,
// //
opacityAnimMap: new Map([
// //
[0.3, 0], // [帧,值]
// //
[1, 1],
// //
]),
// //
transform: {
// //
translate3d: { x: 300, y: -80, z: 10 },
// //
scale: 0,
// //
},
// //
transformAnimMap: new Map([
// //
[
// //
0.1,
// //
{
// //
translate3d: { x: 300, y: -80, z: 10 },
// //
scale: 0,
// //
},
// //
],
// //
[
// //
0.3,
// //
{
// //
translate3d: { x: 300, y: -100, z: 10 },
// //
scale: 0.5,
// //
},
// //
],
// //
[
// //
1,
// //
{
// //
translate3d: { x: 0, y: 0, z: 10 },
// //
scale: 1,
// //
},
// //
],
// //
]),
// //
},
// //
{
// //
widthStr: "",
// //
backgroundColorStr: "",
// //
backgroundImageStr: "",
// //
topStr: "",
// //
rightStr: "",
// //
bottomStr: "",
// //
leftStr: "",
// //
className: "e-icon",
// //
parentClassName: "e-icon-box",
// //
opacity: 0,
// //
opacityAnimMap: new Map([
// //
[0.5, 0], // [帧,值]
// //
[1, 1],
// //
]),
// //
transform: {
// //
translate3d: { x: 150, y: -80, z: 10 },
// //
scale: 0,
// //
},
// //
transformAnimMap: new Map([
// //
[
// //
0.1,
// //
{
// //
translate3d: { x: 150, y: -80, z: 10 },
// //
scale: 0,
// //
},
// //
],
// //
[
// //
0.5,
// //
{
// //
translate3d: { x: 150, y: -100, z: 10 },
// //
scale: 0.5,
// //
},
// //
],
// //
[
// //
1,
// //
{
// //
translate3d: { x: 0, y: 0, z: 10 },
// //
scale: 1,
// //
},
// //
],
// //
]),
// //
},
// //
{
// //
widthStr: "",
// //
backgroundColorStr: "",
// //
backgroundImageStr: "",
// //
topStr: "",
// //
rightStr: "",
// //
bottomStr: "",
// //
leftStr: "",
// //
className: "e-icon",
// //
parentClassName: "e-icon-box",
// //
opacity: 0,
// //
opacityAnimMap: new Map([
// //
[0.7, 0], // [帧,值]
// //
[1, 1],
// //
]),
// //
transform: {
// //
translate3d: { x: 0, y: -80, z: 10 },
// //
scale: 0,
// //
},
// //
transformAnimMap: new Map([
// //
[
// //
0.1,
// //
{
// //
translate3d: { x: 0, y: -80, z: 10 },
// //
scale: 0,
// //
},
// //
],
// //
[
// //
0.7,
// //
{
// //
translate3d: { x: 0, y: -100, z: 10 },
// //
scale: 0.5,
// //
},
// //
],
// //
[
// //
1,
// //
{
// //
translate3d: { x: 0, y: 0, z: 10 },
// //
scale: 1,
// //
},
// //
],
// //
]),
// //
},
// //
{
// //
widthStr: "",
// //
backgroundColorStr: "",
// //
backgroundImageStr: "",
// //
topStr: "",
// //
rightStr: "",
// //
bottomStr: "",
// //
leftStr: "",
// //
className: "e-icon",
// //
parentClassName: "e-icon-box",
// //
opacity: 0,
// //
opacityAnimMap: new Map([
// //
[0.5, 0], // [帧,值]
// //
[1, 1],
// //
]),
// //
transform: {
// //
translate3d: { x: -150, y: -80, z: 10 },
// //
scale: 0,
// //
},
// //
transformAnimMap: new Map([
// //
[
// //
0.1,
// //
{
// //
translate3d: { x: -150, y: -80, z: 10 },
// //
scale: 0,
// //
},
// //
],
// //
[
// //
0.5,
// //
{
// //
translate3d: { x: -150, y: -100, z: 10 },
// //
scale: 0.5,
// //
},
// //
],
// //
[
// //
1,
// //
{
// //
translate3d: { x: 0, y: 0, z: 10 },
// //
scale: 1,
// //
},
// //
],
// //
]),
// //
},
// //
{
// //
widthStr: "",
// //
backgroundColorStr: "",
// //
backgroundImageStr: "",
// //
topStr: "",
// //
rightStr: "",
// //
bottomStr: "",
// //
leftStr: "",
// //
className: "e-icon",
// //
parentClassName: "e-icon-box",
// //
opacity: 0,
// //
opacityAnimMap: new Map([
// //
[0.3, 0], // [帧,值]
// //
[1, 1],
// //
]),
// //
transform: {
// //
translate3d: { x: -300, y: -80, z: 10 },
// //
scale: 0,
// //
},
// //
transformAnimMap: new Map([
// //
[
// //
0.1,
// //
{
// //
translate3d: { x: -300, y: -80, z: 10 },
// //
scale: 0,
// //
},
// //
],
// //
[
// //
0.3,
// //
{
// //
translate3d: { x: -300, y: -100, z: 10 },
// //
scale: 0.5,
// //
},
// //
],
// //
[
// //
1,
// //
{
// //
translate3d: { x: 0, y: 0, z: 10 },
// //
scale: 1,
// //
},
// //
],
// //
]),
// //
},
// //
{
// //
widthStr: "",
// //
backgroundColorStr: "",
// //
backgroundImageStr: "",
// //
topStr: "",
// //
rightStr: "",
// //
bottomStr: "",
// //
leftStr: "",
// //
className: "e-icon",
// //
parentClassName: "e-icon-box",
// //
opacity: 0,
// //
opacityAnimMap: new Map([
// //
[0.1, 0], // [帧,值]
// //
[1, 1],
// //
]),
// //
transform: {
// //
translate3d: { x: -450, y: -80, z: 10 },
// //
scale: 0,
// //
},
// //
transformAnimMap: new Map([
// //
[
// //
0.1,
// //
{
// //
translate3d: { x: -450, y: -80, z: 10 },
// //
scale: 0,
// //
},
// //
],
// //
[
// //
0.1,
// //
{
// //
translate3d: { x: -450, y: -100, z: 10 },
// //
scale: 0.5,
// //
},
// //
],
// //
[
// //
1,
// //
{
// //
translate3d: { x: 0, y: 0, z: 10 },
// //
scale: 1,
// //
},
// //
],
// //
]),
// //
},
//
],
// logo 图标
{
widthStr
:
"
190rem
"
,
backgroundColorStr
:
""
,
backgroundStr
:
"
url(
"
+
require
(
"
@/assets/images/siteArrange/logo-pingtai.png
"
)
+
"
) center no-repeat
"
,
topStr
:
"
calc(50% - 90rem)
"
,
rightStr
:
""
,
bottomStr
:
""
,
leftStr
:
"
calc(50% - 90rem)
"
,
className
:
"
e-square
"
,
parentClassName
:
"
effect-box
"
,
opacity
:
1
,
index
:
99
,
opacityAnimMap
:
new
Map
([
[
0
,
1
],
// [帧,值]
[
0.6
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
scale
:
1
,
},
transformAnimMap
:
new
Map
([
[
0
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
scale
:
1
,
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
-
1300
,
z
:
800
},
scale
:
1.5
,
},
],
]),
},
// logo 图标
{
widthStr
:
"
180rem
"
,
backgroundColorStr
:
""
,
backgroundImageStr
:
"
linear-gradient(0deg, #2254F3 0%, #15C5FF 100%)
"
,
topStr
:
"
calc(50% - 90rem)
"
,
rightStr
:
""
,
bottomStr
:
""
,
leftStr
:
"
calc(50% - 90rem)
"
,
className
:
"
e-square
"
,
parentClassName
:
"
effect-box
"
,
opacity
:
1
,
opacityAnimMap
:
new
Map
([
[
0
,
1
],
// [帧,值]
[
0.6
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
scale
:
1
,
},
transformAnimMap
:
new
Map
([
[
0
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
scale
:
1
,
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
-
1300
,
z
:
800
},
scale
:
1.5
,
},
],
]),
},
// 平台设置字体
{
widthStr
:
"
200rem
"
,
backgroundColorStr
:
""
,
backgroundImageStr
:
""
,
topStr
:
"
calc(62%)
"
,
rightStr
:
""
,
bottomStr
:
""
,
leftStr
:
"
calc(50% - 98rem)
"
,
className
:
"
e-square
"
,
parentClassName
:
"
effect-box
"
,
text
:
"
平台设置
"
,
fontSizeStr
:
"
48rem
"
,
fontColorStr
:
"
#ffffff
"
,
opacity
:
1
,
opacityAnimMap
:
new
Map
([
[
0
,
1
],
// [帧,值]
[
0.6
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
scale
:
1
,
},
transformAnimMap
:
new
Map
([
[
0
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
0
},
scale
:
1
,
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
-
1300
,
z
:
800
},
scale
:
1.5
,
},
],
]),
},
// e-icon-box 相关元素
// e-icon-box-bg
{
widthStr
:
""
,
backgroundColorStr
:
""
,
backgroundImageStr
:
""
,
topStr
:
""
,
rightStr
:
""
,
bottomStr
:
""
,
leftStr
:
""
,
className
:
"
e-icon-box-bg
"
,
parentClassName
:
"
e-icon-box
"
,
opacity
:
0
,
opacityAnimMap
:
new
Map
([
[
0.6
,
0
],
// [帧,值]
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
10
},
scale
:
0.8
,
},
transformAnimMap
:
new
Map
([
[
0.6
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
10
},
scale
:
0.8
,
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
10
},
scale
:
1
,
},
],
]),
},
// e-icon-box 上部字体
{
widthStr
:
""
,
backgroundColorStr
:
""
,
backgroundImageStr
:
""
,
topStr
:
"
calc(-38%)
"
,
rightStr
:
""
,
bottomStr
:
""
,
leftStr
:
""
,
className
:
"
title_boxx
"
,
parentClassName
:
"
e-icon-box
"
,
text
:
"
平台设置
"
,
opacity
:
0
,
fontColorStr
:
"
#ffffff
"
,
opacityAnimMap
:
new
Map
([
[
0.6
,
0
],
// [帧,值]
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
10
},
scale
:
0.8
,
},
transformAnimMap
:
new
Map
([
[
0.6
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
10
},
scale
:
0.8
,
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
10
},
scale
:
1
,
},
],
]),
},
{
widthStr
:
""
,
backgroundColorStr
:
""
,
backgroundImageStr
:
""
,
topStr
:
"
calc(-16%)
"
,
rightStr
:
""
,
bottomStr
:
""
,
leftStr
:
""
,
className
:
"
desc_boxx
"
,
parentClassName
:
"
e-icon-box
"
,
text
:
"
运用以人工智能为代表的新技术,驱动政务服务模式创新,为人民提供更加智慧化、人性化的政务服务。
"
,
opacity
:
0
,
fontColorStr
:
"
#ffffff
"
,
opacityAnimMap
:
new
Map
([
[
0.6
,
0
],
// [帧,值]
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
10
},
scale
:
0.8
,
},
transformAnimMap
:
new
Map
([
[
0.6
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
10
},
scale
:
0.8
,
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
10
},
scale
:
1
,
},
],
]),
},
// e-icon 上行
{
widthStr
:
""
,
backgroundColorStr
:
""
,
backgroundImageStr
:
""
,
topStr
:
""
,
rightStr
:
""
,
bottomStr
:
""
,
leftStr
:
""
,
className
:
"
e-icon
"
,
parentClassName
:
"
e-icon-box
"
,
opacity
:
0
,
opacityAnimMap
:
new
Map
([
[
0.1
,
0
],
// [帧,值]
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
450
,
y
:
80
,
z
:
10
},
scale
:
0
,
},
transformAnimMap
:
new
Map
([
[
0.1
,
{
translate3d
:
{
x
:
450
,
y
:
80
,
z
:
10
},
scale
:
0
,
},
],
[
0.1
,
{
translate3d
:
{
x
:
450
,
y
:
100
,
z
:
10
},
scale
:
0.5
,
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
10
},
scale
:
1
,
},
],
]),
},
{
widthStr
:
""
,
backgroundColorStr
:
""
,
backgroundImageStr
:
""
,
topStr
:
""
,
rightStr
:
""
,
bottomStr
:
""
,
leftStr
:
""
,
className
:
"
e-icon
"
,
parentClassName
:
"
e-icon-box
"
,
opacity
:
0
,
opacityAnimMap
:
new
Map
([
[
0.3
,
0
],
// [帧,值]
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
300
,
y
:
80
,
z
:
10
},
scale
:
0
,
},
transformAnimMap
:
new
Map
([
[
0.1
,
{
translate3d
:
{
x
:
300
,
y
:
80
,
z
:
10
},
scale
:
0
,
},
],
[
0.3
,
{
translate3d
:
{
x
:
300
,
y
:
100
,
z
:
10
},
scale
:
0.5
,
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
10
},
scale
:
1
,
},
],
]),
},
{
widthStr
:
""
,
backgroundColorStr
:
""
,
backgroundImageStr
:
""
,
topStr
:
""
,
rightStr
:
""
,
bottomStr
:
""
,
leftStr
:
""
,
className
:
"
e-icon
"
,
parentClassName
:
"
e-icon-box
"
,
opacity
:
0
,
opacityAnimMap
:
new
Map
([
[
0.5
,
0
],
// [帧,值]
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
150
,
y
:
80
,
z
:
10
},
scale
:
0
,
},
transformAnimMap
:
new
Map
([
[
0.1
,
{
translate3d
:
{
x
:
150
,
y
:
80
,
z
:
10
},
scale
:
0
,
},
],
[
0.5
,
{
translate3d
:
{
x
:
150
,
y
:
100
,
z
:
10
},
scale
:
0.5
,
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
10
},
scale
:
1
,
},
],
]),
},
{
widthStr
:
""
,
backgroundColorStr
:
""
,
backgroundImageStr
:
""
,
topStr
:
""
,
rightStr
:
""
,
bottomStr
:
""
,
leftStr
:
""
,
className
:
"
e-icon
"
,
parentClassName
:
"
e-icon-box
"
,
opacity
:
0
,
opacityAnimMap
:
new
Map
([
[
0.7
,
0
],
// [帧,值]
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
80
,
z
:
10
},
scale
:
0
,
},
transformAnimMap
:
new
Map
([
[
0.1
,
{
translate3d
:
{
x
:
0
,
y
:
80
,
z
:
10
},
scale
:
0
,
},
],
[
0.7
,
{
translate3d
:
{
x
:
0
,
y
:
100
,
z
:
10
},
scale
:
0.5
,
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
10
},
scale
:
1
,
},
],
]),
},
{
widthStr
:
""
,
backgroundColorStr
:
""
,
backgroundImageStr
:
""
,
topStr
:
""
,
rightStr
:
""
,
bottomStr
:
""
,
leftStr
:
""
,
className
:
"
e-icon
"
,
parentClassName
:
"
e-icon-box
"
,
opacity
:
0
,
opacityAnimMap
:
new
Map
([
[
0.5
,
0
],
// [帧,值]
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
-
150
,
y
:
80
,
z
:
10
},
scale
:
0
,
},
transformAnimMap
:
new
Map
([
[
0.1
,
{
translate3d
:
{
x
:
-
150
,
y
:
80
,
z
:
10
},
scale
:
0
,
},
],
[
0.5
,
{
translate3d
:
{
x
:
-
150
,
y
:
100
,
z
:
10
},
scale
:
0.5
,
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
10
},
scale
:
1
,
},
],
]),
},
{
widthStr
:
""
,
backgroundColorStr
:
""
,
backgroundImageStr
:
""
,
topStr
:
""
,
rightStr
:
""
,
bottomStr
:
""
,
leftStr
:
""
,
className
:
"
e-icon
"
,
parentClassName
:
"
e-icon-box
"
,
opacity
:
0
,
opacityAnimMap
:
new
Map
([
[
0.3
,
0
],
// [帧,值]
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
-
300
,
y
:
80
,
z
:
10
},
scale
:
0
,
},
transformAnimMap
:
new
Map
([
[
0.1
,
{
translate3d
:
{
x
:
-
300
,
y
:
80
,
z
:
10
},
scale
:
0
,
},
],
[
0.3
,
{
translate3d
:
{
x
:
-
300
,
y
:
100
,
z
:
10
},
scale
:
0.5
,
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
10
},
scale
:
1
,
},
],
]),
},
{
widthStr
:
""
,
backgroundColorStr
:
""
,
backgroundImageStr
:
""
,
topStr
:
""
,
rightStr
:
""
,
bottomStr
:
""
,
leftStr
:
""
,
className
:
"
e-icon
"
,
parentClassName
:
"
e-icon-box
"
,
opacity
:
0
,
opacityAnimMap
:
new
Map
([
[
0.1
,
0
],
// [帧,值]
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
-
450
,
y
:
80
,
z
:
10
},
scale
:
0
,
},
transformAnimMap
:
new
Map
([
[
0.1
,
{
translate3d
:
{
x
:
-
450
,
y
:
80
,
z
:
10
},
scale
:
0
,
},
],
[
0.1
,
{
translate3d
:
{
x
:
-
450
,
y
:
100
,
z
:
10
},
scale
:
0.5
,
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
10
},
scale
:
1
,
},
],
]),
},
// e-icon 下行
{
widthStr
:
""
,
backgroundColorStr
:
""
,
backgroundImageStr
:
""
,
topStr
:
""
,
rightStr
:
""
,
bottomStr
:
""
,
leftStr
:
""
,
className
:
"
e-icon
"
,
parentClassName
:
"
e-icon-box
"
,
opacity
:
0
,
opacityAnimMap
:
new
Map
([
[
0.1
,
0
],
// [帧,值]
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
450
,
y
:
-
80
,
z
:
10
},
scale
:
0
,
},
transformAnimMap
:
new
Map
([
[
0.1
,
{
translate3d
:
{
x
:
450
,
y
:
-
80
,
z
:
10
},
scale
:
0
,
},
],
[
0.1
,
{
translate3d
:
{
x
:
450
,
y
:
-
100
,
z
:
10
},
scale
:
0.5
,
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
10
},
scale
:
1
,
},
],
]),
},
{
widthStr
:
""
,
backgroundColorStr
:
""
,
backgroundImageStr
:
""
,
topStr
:
""
,
rightStr
:
""
,
bottomStr
:
""
,
leftStr
:
""
,
className
:
"
e-icon
"
,
parentClassName
:
"
e-icon-box
"
,
opacity
:
0
,
opacityAnimMap
:
new
Map
([
[
0.3
,
0
],
// [帧,值]
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
300
,
y
:
-
80
,
z
:
10
},
scale
:
0
,
},
transformAnimMap
:
new
Map
([
[
0.1
,
{
translate3d
:
{
x
:
300
,
y
:
-
80
,
z
:
10
},
scale
:
0
,
},
],
[
0.3
,
{
translate3d
:
{
x
:
300
,
y
:
-
100
,
z
:
10
},
scale
:
0.5
,
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
10
},
scale
:
1
,
},
],
]),
},
{
widthStr
:
""
,
backgroundColorStr
:
""
,
backgroundImageStr
:
""
,
topStr
:
""
,
rightStr
:
""
,
bottomStr
:
""
,
leftStr
:
""
,
className
:
"
e-icon
"
,
parentClassName
:
"
e-icon-box
"
,
opacity
:
0
,
opacityAnimMap
:
new
Map
([
[
0.5
,
0
],
// [帧,值]
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
150
,
y
:
-
80
,
z
:
10
},
scale
:
0
,
},
transformAnimMap
:
new
Map
([
[
0.1
,
{
translate3d
:
{
x
:
150
,
y
:
-
80
,
z
:
10
},
scale
:
0
,
},
],
[
0.5
,
{
translate3d
:
{
x
:
150
,
y
:
-
100
,
z
:
10
},
scale
:
0.5
,
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
10
},
scale
:
1
,
},
],
]),
},
{
widthStr
:
""
,
backgroundColorStr
:
""
,
backgroundImageStr
:
""
,
topStr
:
""
,
rightStr
:
""
,
bottomStr
:
""
,
leftStr
:
""
,
className
:
"
e-icon
"
,
parentClassName
:
"
e-icon-box
"
,
opacity
:
0
,
opacityAnimMap
:
new
Map
([
[
0.7
,
0
],
// [帧,值]
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
0
,
y
:
-
80
,
z
:
10
},
scale
:
0
,
},
transformAnimMap
:
new
Map
([
[
0.1
,
{
translate3d
:
{
x
:
0
,
y
:
-
80
,
z
:
10
},
scale
:
0
,
},
],
[
0.7
,
{
translate3d
:
{
x
:
0
,
y
:
-
100
,
z
:
10
},
scale
:
0.5
,
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
10
},
scale
:
1
,
},
],
]),
},
{
widthStr
:
""
,
backgroundColorStr
:
""
,
backgroundImageStr
:
""
,
topStr
:
""
,
rightStr
:
""
,
bottomStr
:
""
,
leftStr
:
""
,
className
:
"
e-icon
"
,
parentClassName
:
"
e-icon-box
"
,
opacity
:
0
,
opacityAnimMap
:
new
Map
([
[
0.5
,
0
],
// [帧,值]
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
-
150
,
y
:
-
80
,
z
:
10
},
scale
:
0
,
},
transformAnimMap
:
new
Map
([
[
0.1
,
{
translate3d
:
{
x
:
-
150
,
y
:
-
80
,
z
:
10
},
scale
:
0
,
},
],
[
0.5
,
{
translate3d
:
{
x
:
-
150
,
y
:
-
100
,
z
:
10
},
scale
:
0.5
,
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
10
},
scale
:
1
,
},
],
]),
},
{
widthStr
:
""
,
backgroundColorStr
:
""
,
backgroundImageStr
:
""
,
topStr
:
""
,
rightStr
:
""
,
bottomStr
:
""
,
leftStr
:
""
,
className
:
"
e-icon
"
,
parentClassName
:
"
e-icon-box
"
,
opacity
:
0
,
opacityAnimMap
:
new
Map
([
[
0.3
,
0
],
// [帧,值]
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
-
300
,
y
:
-
80
,
z
:
10
},
scale
:
0
,
},
transformAnimMap
:
new
Map
([
[
0.1
,
{
translate3d
:
{
x
:
-
300
,
y
:
-
80
,
z
:
10
},
scale
:
0
,
},
],
[
0.3
,
{
translate3d
:
{
x
:
-
300
,
y
:
-
100
,
z
:
10
},
scale
:
0.5
,
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
10
},
scale
:
1
,
},
],
]),
},
{
widthStr
:
""
,
backgroundColorStr
:
""
,
backgroundImageStr
:
""
,
topStr
:
""
,
rightStr
:
""
,
bottomStr
:
""
,
leftStr
:
""
,
className
:
"
e-icon
"
,
parentClassName
:
"
e-icon-box
"
,
opacity
:
0
,
opacityAnimMap
:
new
Map
([
[
0.1
,
0
],
// [帧,值]
[
1
,
1
],
]),
transform
:
{
translate3d
:
{
x
:
-
450
,
y
:
-
80
,
z
:
10
},
scale
:
0
,
},
transformAnimMap
:
new
Map
([
[
0.1
,
{
translate3d
:
{
x
:
-
450
,
y
:
-
80
,
z
:
10
},
scale
:
0
,
},
],
[
0.1
,
{
translate3d
:
{
x
:
-
450
,
y
:
-
100
,
z
:
10
},
scale
:
0.5
,
},
],
[
1
,
{
translate3d
:
{
x
:
0
,
y
:
0
,
z
:
10
},
scale
:
1
,
},
],
]),
},
],
};
// 特效管理
class
EffectManager
{
...
...
portal-manager/src/main/java/com/mortals/xhx/module/page/service/impl/PageAccessServiceImpl.java
View file @
6a14a35d
package
com.mortals.xhx.module.page.service.impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mortals.framework.util.DateUtils
;
import
com.mortals.framework.util.StringUtils
;
import
com.mortals.xhx.module.page.model.pdu.BuryPointPdu
;
import
com.mortals.xhx.module.page.model.pdu.PageCensusPdu
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.stereotype.Service
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.util.StringUtils
;
import
com.mortals.xhx.module.page.dao.PageAccessDao
;
import
com.mortals.xhx.module.page.model.PageAccessEntity
;
import
com.mortals.xhx.module.page.model.pdu.BuryPointPdu
;
import
com.mortals.xhx.module.page.model.pdu.PageCensusPdu
;
import
com.mortals.xhx.module.page.service.PageAccessService
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.stereotype.Service
;
import
java.text.DecimalFormat
;
import
java.text.ParseException
;
...
...
@@ -122,7 +121,7 @@ public class PageAccessServiceImpl extends AbstractCRUDServiceImpl<PageAccessDao
if
(
CollectionUtils
.
isNotEmpty
(
todayList
)){
for
(
PageAccessEntity
item:
todayList
){
if
(
item
!=
null
)
{
DecimalFormat
decimalFormat
=
new
DecimalFormat
(
".00"
);
DecimalFormat
decimalFormat
=
new
DecimalFormat
(
"
#0
.00"
);
String
key
=
item
.
getTimeStr
()
+
"_"
+
item
.
getFirstCode
()
+
"_"
+
item
.
getSecondCode
()
+
"_"
+
item
.
getThirdCode
()
+
"_"
+
item
.
getFourthCode
();
if
(
mp
.
containsKey
(
key
))
{
PageAccessEntity
last
=
mp
.
get
(
key
);
...
...
portal-manager/src/main/java/com/mortals/xhx/module/page/service/impl/PageEventServiceImpl.java
View file @
6a14a35d
...
...
@@ -127,7 +127,7 @@ public class PageEventServiceImpl extends AbstractCRUDServiceImpl<PageEventDao,
float
a
=
(
float
)
vo
.
getValue
();
float
b
=
(
float
)
clickSum
;
float
p
=
a
/
b
;
DecimalFormat
decimalFormat
=
new
DecimalFormat
(
".00%"
);
DecimalFormat
decimalFormat
=
new
DecimalFormat
(
"
#0
.00%"
);
String
s
=
decimalFormat
.
format
(
p
);
vo
.
setProportion
(
s
);
}
...
...
@@ -173,7 +173,7 @@ public class PageEventServiceImpl extends AbstractCRUDServiceImpl<PageEventDao,
float
a
=
(
float
)
clickSum
;
float
b
=
(
float
)
trendCensusVos
.
size
();
float
p
=
a
/
b
;
DecimalFormat
decimalFormat
=
new
DecimalFormat
(
".00"
);
DecimalFormat
decimalFormat
=
new
DecimalFormat
(
"
#0
.00"
);
String
s
=
decimalFormat
.
format
(
p
);
dayAccessAvg
=
Float
.
valueOf
(
s
);
}
...
...
@@ -232,8 +232,8 @@ public class PageEventServiceImpl extends AbstractCRUDServiceImpl<PageEventDao,
float
a
=
(
float
)
clickSum
;
float
b
=
(
float
)
item
.
getAccessCount
();
float
p
=
b
/
a
;
DecimalFormat
decimalFormat
=
new
DecimalFormat
(
".00%"
);
DecimalFormat
df
=
new
DecimalFormat
(
".00"
);
DecimalFormat
decimalFormat
=
new
DecimalFormat
(
"
#0
.00%"
);
DecimalFormat
df
=
new
DecimalFormat
(
"
#0
.00"
);
String
s
=
decimalFormat
.
format
(
p
);
String
s1
=
df
.
format
(
p
);
item
.
setProportion
(
s
);
...
...
portal-manager/src/main/java/com/mortals/xhx/module/page/service/impl/PageRouteServiceImpl.java
View file @
6a14a35d
...
...
@@ -75,7 +75,15 @@ public class PageRouteServiceImpl extends AbstractCRUDServiceImpl<PageRouteDao,
}
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
List
<
PageWayCensusVo
>
pageWayCensusVos
=
dao
.
getPageWayCensus
(
pdu
);
result
.
put
(
"links"
,
pageWayCensusVos
);
List
<
PageWayCensusVo
>
list
=
new
ArrayList
<>();
Map
<
String
,
String
>
source
=
new
HashMap
<>();
for
(
PageWayCensusVo
item:
pageWayCensusVos
){
source
.
put
(
item
.
getSource
(),
item
.
getSourceName
());
if
(!
source
.
containsKey
(
item
.
getTarget
())){
list
.
add
(
item
);
}
}
result
.
put
(
"links"
,
list
);
List
<
Map
<
String
,
Object
>>
pageCodes
=
dao
.
getPageWayCode
(
pdu
);
result
.
put
(
"data"
,
pageCodes
);
return
result
;
...
...
portal-manager/src/main/java/com/mortals/xhx/module/user/web/UserController.java
View file @
6a14a35d
...
...
@@ -8,6 +8,7 @@ import com.mortals.framework.model.Context;
import
com.mortals.framework.model.PageInfo
;
import
com.mortals.framework.model.Result
;
import
com.mortals.framework.service.ICacheService
;
import
com.mortals.framework.util.StringUtils
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.common.utils.LoginAESUtil
;
import
com.mortals.xhx.module.param.service.ParamService
;
...
...
@@ -87,9 +88,11 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
@Override
protected
void
saveBefore
(
UserEntity
entity
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
String
loginName
=
LoginAESUtil
.
decrypt
(
entity
.
getLoginName
(),
AES_KEY
,
AES_IV
,
LoginAESUtil
.
AES_CBC
);
String
loginPwd
=
LoginAESUtil
.
decrypt
(
entity
.
getLoginPwd
(),
AES_KEY
,
AES_IV
,
LoginAESUtil
.
AES_CBC
);
entity
.
setLoginName
(
loginName
);
entity
.
setLoginPwd
(
loginPwd
);
if
(
StringUtils
.
isNotEmpty
(
entity
.
getLoginPwd
()))
{
String
loginPwd
=
LoginAESUtil
.
decrypt
(
entity
.
getLoginPwd
(),
AES_KEY
,
AES_IV
,
LoginAESUtil
.
AES_CBC
);
entity
.
setLoginPwd
(
loginPwd
);
}
}
@Override
...
...
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