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
dd777f3c
Commit
dd777f3c
authored
Apr 21, 2023
by
“yiyousong”
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.scsmile.cn/zxf/smart_gov_platform
parents
66397328
e09aecae
Changes
27
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
5808 additions
and
5614 deletions
+5808
-5614
base-manager/pom.xml
base-manager/pom.xml
+0
-42
base-manager/src/main/java/com/mortals/xhx/module/site/service/impl/SiteServiceImpl.java
...mortals/xhx/module/site/service/impl/SiteServiceImpl.java
+6
-1
base-manager/src/main/java/com/mortals/xhx/module/site/web/SiteController.java
.../java/com/mortals/xhx/module/site/web/SiteController.java
+15
-6
base-manager/src/main/java/com/mortals/xhx/module/workman/service/WorkmanService.java
...om/mortals/xhx/module/workman/service/WorkmanService.java
+15
-14
base-manager/src/main/java/com/mortals/xhx/module/workman/service/impl/WorkmanServiceImpl.java
...s/xhx/module/workman/service/impl/WorkmanServiceImpl.java
+1
-1
base-manager/src/main/java/com/mortals/xhx/module/workman/web/WorkmanController.java
...com/mortals/xhx/module/workman/web/WorkmanController.java
+1
-2
base-manager/src/test/java/com/mortals/httpclient/workman/WorkmanController.http
...ava/com/mortals/httpclient/workman/WorkmanController.http
+3
-4
portal-manager-ui/admin/package-lock.json
portal-manager-ui/admin/package-lock.json
+21
-0
portal-manager-ui/admin/package.json
portal-manager-ui/admin/package.json
+1
-0
portal-manager-ui/admin/src/api/dataActuary.js
portal-manager-ui/admin/src/api/dataActuary.js
+8
-0
portal-manager-ui/admin/src/assets/json/china.json
portal-manager-ui/admin/src/assets/json/china.json
+0
-0
portal-manager-ui/admin/src/main.js
portal-manager-ui/admin/src/main.js
+4
-0
portal-manager-ui/admin/src/utils/codeMap.js
portal-manager-ui/admin/src/utils/codeMap.js
+2
-0
portal-manager-ui/admin/src/views/dataActuary/behaviour/information/information.vue
...c/views/dataActuary/behaviour/information/information.vue
+94
-37
portal-manager-ui/admin/src/views/dataActuary/behaviour/usinghabit/usinghabit.vue
...src/views/dataActuary/behaviour/usinghabit/usinghabit.vue
+46
-50
portal-manager-ui/admin/src/views/dataActuary/business/Component/map/index.vue
...in/src/views/dataActuary/business/Component/map/index.vue
+3
-5
portal-manager-ui/admin/src/views/dataAdmin/components/Impossible/index.vue
...admin/src/views/dataAdmin/components/Impossible/index.vue
+66
-66
portal-manager-ui/admin/src/views/dataAdmin/components/makeRecordReport/makeRecordReport.vue
...ataAdmin/components/makeRecordReport/makeRecordReport.vue
+16
-7
portal-manager-ui/admin/src/views/dataAdmin/components/makeRecordReport/recordReportdetails.vue
...Admin/components/makeRecordReport/recordReportdetails.vue
+10
-2
portal-manager-ui/admin/src/views/dataAdmin/components/microOfficialWebsite/components/FormDetails.vue
...omponents/microOfficialWebsite/components/FormDetails.vue
+11
-2
portal-manager-ui/admin/src/views/dataAdmin/components/microOfficialWebsite/microForm.vue
...s/dataAdmin/components/microOfficialWebsite/microForm.vue
+1
-1
portal-manager-ui/admin/src/views/dataAdmin/components/networkGovernance/components/FormDetails.vue
...n/components/networkGovernance/components/FormDetails.vue
+4
-3
portal-manager-ui/admin/src/views/dataAdmin/components/networkGovernance/networkForm.vue
...ws/dataAdmin/components/networkGovernance/networkForm.vue
+91
-63
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/components/HandlingDetails.vue
...Admin/components/queueCall/components/HandlingDetails.vue
+28
-84
portal-manager-ui/admin/yarn.lock
portal-manager-ui/admin/yarn.lock
+5358
-5219
portal-manager/pom.xml
portal-manager/pom.xml
+2
-2
smart-gateway/src/main/java/com/mortals/xhx/base/framework/filter/AccessLogFilter.java
...om/mortals/xhx/base/framework/filter/AccessLogFilter.java
+1
-3
No files found.
base-manager/pom.xml
View file @
dd777f3c
...
...
@@ -62,48 +62,6 @@
</properties>
</profile>
<profile>
<id>
yibin-test
</id>
<properties>
<profiles.active>
yibin-test
</profiles.active>
<profiles.server.path>
/base
</profiles.server.path>
<profiles.publish.path>
/home/publish
</profiles.publish.path>
<profiles.rabbitmq.host>
127.0.0.1
</profiles.rabbitmq.host>
<profiles.rabbitmq.port>
5672
</profiles.rabbitmq.port>
<profiles.rabbitmq.username>
taxi_mq
</profiles.rabbitmq.username>
<profiles.rabbitmq.password>
admin@2020
</profiles.rabbitmq.password>
<profiles.rabbitmq.virtualhost>
/
</profiles.rabbitmq.virtualhost>
<profiles.nacos.server-addr>
127.0.0.1:8848
</profiles.nacos.server-addr>
<profiles.nacos.group>
DEFAULT_GROUP
</profiles.nacos.group>
<profiles.nacos.namespace>
smart-gov
</profiles.nacos.namespace>
<profiles.log.path>
/home/mortals/app/logs
</profiles.log.path>
<profiles.log.level>
INFO
</profiles.log.level>
<package.environment>
test
</package.environment>
<skipUi>
false
</skipUi>
</properties>
</profile>
<profile>
<id>
product
</id>
<properties>
<profiles.active>
product
</profiles.active>
<profiles.server.path>
/base
</profiles.server.path>
<profiles.server.port>
17211
</profiles.server.port>
<profiles.publish.path>
/home/publish
</profiles.publish.path>
<profiles.rabbitmq.host>
192.168.0.251
</profiles.rabbitmq.host>
<profiles.rabbitmq.port>
5672
</profiles.rabbitmq.port>
<profiles.rabbitmq.username>
root_mq
</profiles.rabbitmq.username>
<profiles.rabbitmq.password>
xhx@2022
</profiles.rabbitmq.password>
<profiles.rabbitmq.virtualhost>
/
</profiles.rabbitmq.virtualhost>
<profiles.nacos.server-addr>
127.0.0.1:8848
</profiles.nacos.server-addr>
<profiles.nacos.group>
DEFAULT_GROUP
</profiles.nacos.group>
<profiles.nacos.namespace>
smart-gov
</profiles.nacos.namespace>
<profiles.log.path>
/home/mortals/app/logs
</profiles.log.path>
<profiles.log.level>
INFO
</profiles.log.level>
<package.environment>
build
</package.environment>
<skipUi>
true
</skipUi>
</properties>
</profile>
<profile>
<id>
yibin
</id>
<properties>
...
...
base-manager/src/main/java/com/mortals/xhx/module/site/service/impl/SiteServiceImpl.java
View file @
dd777f3c
...
...
@@ -496,11 +496,16 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
*/
@Override
public
Rest
<
List
<
SiteEntity
>>
getAreaSitesByAreaLevel
(
SiteQuery
query
,
Context
context
)
{
if
(!
ObjectUtils
.
isEmpty
(
query
.
getSiteName
()))
{
SiteEntity
siteEntity
=
this
.
selectOne
(
new
SiteQuery
().
siteName
(
query
.
getSiteName
()));
if
(!
ObjectUtils
.
isEmpty
(
siteEntity
))
{
query
.
setAreaLevel
(
siteEntity
.
getAreaLevel
());
}
}
//获取所有层级的区域
List
<
AreaEntity
>
areaEntities
=
areaService
.
find
(
new
AreaQuery
().
areaLevel
(
query
.
getAreaLevel
()));
List
<
SiteEntity
>
list
=
new
ArrayList
<>();
for
(
AreaEntity
areaEntity
:
areaEntities
)
{
List
<
SiteEntity
>
siteEntityList
=
this
.
find
(
new
SiteQuery
().
areaCode
(
areaEntity
.
getAreaCode
()));
...
...
base-manager/src/main/java/com/mortals/xhx/module/site/web/SiteController.java
View file @
dd777f3c
...
...
@@ -158,14 +158,23 @@ public class SiteController extends BaseCRUDJsonBodyMappingController<SiteServic
JSONObject
jsonObject
=
new
JSONObject
();
String
busiDesc
=
"根据区域编码查询站点列表"
+
this
.
getModuleDesc
();
try
{
// AreaEntity areaEntity = areaService.selectOne(new AreaQuery().name(site.getAreaName()));
// if(!ObjectUtils.isEmpty(areaEntity)){
// site.setAreaCode(areaEntity.getAreaCode());
// }
if
(!
ObjectUtils
.
isEmpty
(
site
.
getSiteName
()))
{
SiteEntity
siteEntity
=
this
.
service
.
selectOne
(
new
SiteQuery
().
siteName
(
site
.
getSiteName
()));
if
(!
ObjectUtils
.
isEmpty
(
siteEntity
))
{
site
.
setAreaCode
(
siteEntity
.
getAreaCode
());
}
}
if
(!
ObjectUtils
.
isEmpty
(
site
.
getAreaName
()))
{
AreaEntity
areaEntity
=
areaService
.
selectOne
(
new
AreaQuery
().
name
(
site
.
getAreaName
()));
if
(!
ObjectUtils
.
isEmpty
(
areaEntity
))
{
site
.
setAreaCode
(
areaEntity
.
getAreaCode
());
}
}
List
<
SiteEntity
>
siteEntityList
=
this
.
service
.
getFlatSitesByAreaCode
(
site
.
getAreaCode
(),
getContext
());
if
(!
ObjectUtils
.
isEmpty
(
site
.
getSiteName
()))
{
siteEntityList
=
siteEntityList
.
stream
().
filter
(
item
->
site
.
getSiteName
().
equals
(
item
.
getSiteName
())).
collect
(
Collectors
.
toList
());
if
(!
ObjectUtils
.
isEmpty
(
site
.
getSiteName
()))
{
siteEntityList
=
siteEntityList
.
stream
().
filter
(
item
->
site
.
getSiteName
().
equals
(
item
.
getSiteName
())).
collect
(
Collectors
.
toList
());
}
recordSysLog
(
request
,
busiDesc
+
" 【成功】"
);
...
...
base-manager/src/main/java/com/mortals/xhx/module/workman/service/WorkmanService.java
View file @
dd777f3c
package
com.mortals.xhx.module.workman.service
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.service.ICRUDCacheService
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.xhx.base.system.user.model.UserEntity
;
import
com.mortals.xhx.module.workman.dao.WorkmanDao
;
import
com.mortals.xhx.module.workman.model.WorkmanEntity
;
/**
* WorkmanService
*
* 工作人员 service接口
*
* @author zxfei
* @date 2022-01-12
*/
public
interface
WorkmanService
extends
ICRUDCacheService
<
WorkmanEntity
,
Long
>
{
* WorkmanService
* <p>
* 工作人员 service接口
*
* @author zxfei
* @date 2022-01-12
*/
public
interface
WorkmanService
extends
ICRUDCacheService
<
WorkmanEntity
,
Long
>
{
WorkmanDao
getDao
();
/**
* 工作人员登录
*
* @param loginName 登录用户名
* @param password 登录密码
* @param ip ip地址
* @param ip
ip地址
* @return
* @throws AppException
*/
WorkmanEntity
doLogin
(
String
loginName
,
String
password
,
String
ip
)
throws
AppException
;
WorkmanEntity
doLogin
(
String
loginName
,
String
password
,
String
ip
)
throws
AppException
;
/**
...
...
@@ -43,10 +47,7 @@ public interface WorkmanService extends ICRUDCacheService<WorkmanEntity,Long> {
boolean
updateUserPwd
(
String
loginName
,
String
newPwd
)
throws
AppException
;
Rest
<
Void
>
doImportPic
(
String
filePath
)
throws
AppException
;
}
\ No newline at end of file
base-manager/src/main/java/com/mortals/xhx/module/workman/service/impl/WorkmanServiceImpl.java
View file @
dd777f3c
...
...
@@ -265,7 +265,7 @@ public class WorkmanServiceImpl extends AbstractCRUDCacheServiceImpl<WorkmanDao,
}
public
static
void
main
(
String
[]
args
)
throws
Exception
{
System
.
out
.
println
(
SecurityUtil
.
md5DoubleEncoding
(
""
));
System
.
out
.
println
(
SecurityUtil
.
md5DoubleEncoding
(
"
123456
"
));
}
...
...
base-manager/src/main/java/com/mortals/xhx/module/workman/web/WorkmanController.java
View file @
dd777f3c
...
...
@@ -97,8 +97,7 @@ public class WorkmanController extends BaseCRUDJsonBodyMappingController<Workman
WorkmanEntity
workmanEntity
=
this
.
service
.
doLogin
(
query
.
getLoginName
(),
query
.
getLoginPwd
(),
ip
);
workmanEntity
.
setLastLoginAddress
(
ip
);
workmanEntity
.
setLastLoginTime
(
new
Date
());
this
.
service
.
update
(
workmanEntity
,
getContext
());
this
.
service
.
getDao
().
update
(
workmanEntity
);
if
(
query
.
getSiteId
()
!=
workmanEntity
.
getSiteId
())
{
throw
new
AppException
(
"当前工作人员不在当前站点下!"
);
}
...
...
base-manager/src/test/java/com/mortals/httpclient/workman/WorkmanController.http
View file @
dd777f3c
...
...
@@ -3,7 +3,7 @@ POST {{baseUrl}}/workman/doLogin
Content-Type: application/json
{
"loginName":"
gxj"
,
"loginName":"
zengxia"
,
"loginPwd":"123456"
}
...
...
@@ -20,12 +20,11 @@ Content-Type: application/json
###工作人员更新与保存
POST {{baseUrl}}/workman/save
Authorization: {{authToken}}
Content-Type: application/json
{
"loginName":"
workman1
",
"loginPwd": "123
456
"
"loginName":"
zengxia
",
"loginPwd": "123"
}
> {%
...
...
portal-manager-ui/admin/package-lock.json
View file @
dd777f3c
...
...
@@ -7973,6 +7973,22 @@
"integrity"
:
"sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
,
"dev"
:
true
},
"v-viewer"
:
{
"version"
:
"1.6.4"
,
"resolved"
:
"https://registry.npmmirror.com/v-viewer/-/v-viewer-1.6.4.tgz"
,
"integrity"
:
"sha512-LVkiUHpmsbsZXebeNXnu8krRCi5i2n07FeLFxoIVGhw8lVvTBO0ffpbDC6mLEuacCjrIh09HjIqpciwUtWE8lQ=="
,
"requires"
:
{
"throttle-debounce"
:
"^2.0.1"
,
"viewerjs"
:
"^1.5.0"
},
"dependencies"
:
{
"throttle-debounce"
:
{
"version"
:
"2.3.0"
,
"resolved"
:
"https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-2.3.0.tgz"
,
"integrity"
:
"sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ=="
}
}
},
"validate-npm-package-license"
:
{
"version"
:
"3.0.4"
,
"resolved"
:
"https://registry.npmmirror.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz"
,
...
...
@@ -7989,6 +8005,11 @@
"integrity"
:
"sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="
,
"dev"
:
true
},
"viewerjs"
:
{
"version"
:
"1.11.3"
,
"resolved"
:
"https://registry.npmmirror.com/viewerjs/-/viewerjs-1.11.3.tgz"
,
"integrity"
:
"sha512-efG3U61Umuj/1x6JAtdvnY9m407C/RkrkFilsMcLEWKDivpjNU3/FeL+feCY1Vkur9aQeBJ+z6K4CCPP7hv6vA=="
},
"vue"
:
{
"version"
:
"2.7.14"
,
"resolved"
:
"https://registry.npmmirror.com/vue/-/vue-2.7.14.tgz"
,
...
...
portal-manager-ui/admin/package.json
View file @
dd777f3c
...
...
@@ -25,6 +25,7 @@
"lodash"
:
"^4.17.21"
,
"moment"
:
"^2.29.4"
,
"qs"
:
"^6.10.3"
,
"v-viewer"
:
"^1.6.4"
,
"vue"
:
"^2.6.14"
,
"vue-highlightjs"
:
"^1.3.3"
,
"vue-router"
:
"^3.5.1"
,
...
...
portal-manager-ui/admin/src/api/dataActuary.js
View file @
dd777f3c
...
...
@@ -18,4 +18,12 @@ export function getAccessAnalyse(params) {
//路径分析
export
function
getWayAccessAnalyse
(
params
)
{
return
http
.
post
(
`
${
baseURL
}
/zwfw/act/analyse/wayAccessAnalyse`
,
params
);
}
//使用习惯
export
function
getUsageCensus
(
params
)
{
return
http
.
post
(
`
${
baseURL
}
/zwfw/act/analyse/usageCensus`
,
params
);
}
//信息流分析
export
function
getInformationFlow
(
params
)
{
return
http
.
post
(
`
${
baseURL
}
/zwfw/act/analyse/informationFlow`
,
params
);
}
\ No newline at end of file
portal-manager-ui/admin/s
tatic
/json/china.json
→
portal-manager-ui/admin/s
rc/assets
/json/china.json
View file @
dd777f3c
File moved
portal-manager-ui/admin/src/main.js
View file @
dd777f3c
...
...
@@ -41,6 +41,10 @@ Vue.prototype.$codeMap = codeMap;
Vue
.
prototype
.
$bus
=
new
Vue
();
Vue
.
config
.
productionTip
=
false
;
// 图片预约
import
Viewer
from
'
v-viewer
'
import
'
viewerjs/dist/viewer.css
'
Vue
.
use
(
Viewer
);
new
Vue
({
router
,
store
,
...
...
portal-manager-ui/admin/src/utils/codeMap.js
View file @
dd777f3c
...
...
@@ -2,5 +2,7 @@ export default{
//排队叫号字典
"
queueState
"
:{
"
0
"
:
"
排队中
"
,
"
1
"
:
"
办理中
"
,
"
4
"
:
"
接待结束
"
},
"
takeNumWay
"
:{
"
0
"
:
"
现场取号
"
,
"
1
"
:
"
在线取号
"
},
"
wy_signin
"
:{
"
0
"
:
"
现场取号
"
,
"
1
"
:
"
在线取号
"
},
"
register_type
"
:{
"
Applets
"
:
"
小程序
"
,
"
wechat
"
:
"
公众号
"
,
"
app
"
:
"
自助服务终端
"
},
"
politicalStatus
"
:{
"
0
"
:
"
中共党员
"
,
"
1
"
:
"
中共预备党员
"
,
"
2
"
:
"
共青团员
"
,
"
3
"
:
"
普通居民
"
,
"
4
"
:
"
其它
"
}
}
\ No newline at end of file
portal-manager-ui/admin/src/views/dataActuary/behaviour/information/information.vue
View file @
dd777f3c
...
...
@@ -3,38 +3,39 @@
<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.
value"
style=
"width: 200px"
placeholder=
"选择产品"
>
<a-select-option
value=
"jack"
>
Jack
</a-select-option>
<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=
"queryform.value"
style=
"width: 300px"
/>
<a-date-picker
valueFormat=
"yyyy-MM-DD"
v-model=
"time"
style=
"width: 200px"
:allowClear=
"false"
/>
</a-form-model-item>
<a-form-model-item>
<a-select
v-model=
"queryform.particleType"
style=
"width: 200px"
placeholder=
"选择时间粒度"
>
<a-select-option
value=
"1"
>
10分钟
</a-select-option>
<a-select-option
value=
"2"
>
30分钟
</a-select-option>
<a-select-option
value=
"3"
>
1小时
</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item>
<a-select
v-model=
"queryform.value"
style=
"width: 200px"
placeholder=
"选择一级场景"
>
<a-select-option
value=
"jack"
>
Jack
</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item>
<a-select
v-model=
"queryform.value"
style=
"width: 200px"
placeholder=
"选择二级场景"
>
<a-select-option
value=
"jack"
>
Jack
</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item>
<a-select
v-model=
"queryform.value"
style=
"width: 200px"
placeholder=
"选择三级场景"
>
<a-select-option
value=
"jack"
>
Jack
</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item>
<a-button
type=
"primary"
>
<a-button
type=
"primary"
@
click=
"getData"
>
开始分析
</a-button>
</a-form-model-item>
...
...
@@ -42,33 +43,56 @@
<div
class=
"table-box"
>
<div
class=
"mb"
>
<span
style=
"margin-right: 30px;"
>
指标筛选
</span>
<a-checkbox-group
v-model=
"queryform.value
"
>
<a-checkbox
value=
"
1
"
>
访问人数
</a-checkbox>
<a-checkbox
value=
"
2
"
>
打开次数
</a-checkbox>
<a-checkbox
value=
"
3
"
>
访问页面数
</a-checkbox>
<a-checkbox-group
@
change=
"changeIndex"
v-model=
"indexList
"
>
<a-checkbox
value=
"
accessCount
"
>
访问人数
</a-checkbox>
<a-checkbox
value=
"
accessCount1
"
>
打开次数
</a-checkbox>
<a-checkbox
value=
"
pageDepth
"
>
访问页面数
</a-checkbox>
</a-checkbox-group>
</div>
<div
class=
"mb"
>
<span
style=
"margin-right: 30px;"
>
对比筛选
</span>
<a-checkbox-group
v-model=
"queryform.value"
>
<a-checkbox
value=
"1"
>
日对比
</a-checkbox>
</a-checkbox-group
>
<a-checkbox
@
change=
"onChange"
>
日对比
</a-checkbox
>
</div>
<a-table
:columns=
"columns"
:data-source=
"data"
:scroll=
"
{ y: 590 }" :pagination="pagination">
<a-table
:columns=
"columns"
:data-source=
"data"
:scroll=
"
{ y: 590 }" :pagination="false">
<template
slot=
"访问人数"
slot-scope=
"text, record, index"
>
<div>
{{
record
.
accessCount
}}
</div>
<div
v-show=
"queryform.isRatio == 1"
>
日对比:
{{
(
record
.
accessRatio
*
100
).
toFixed
(
2
)
}}
%
</div>
</
template
>
<
template
slot=
"打开次数"
slot-scope=
"text, record, index"
>
<div>
{{
record
.
accessCount
}}
</div>
<div
v-show=
"queryform.isRatio == 1"
>
日对比:
{{
(
record
.
accessRatio
*
100
).
toFixed
(
2
)
}}
%
</div>
</
template
>
<
template
slot=
"访问页面数"
slot-scope=
"text, record, index"
>
<div>
{{
record
.
pageDepth
}}
</div>
<div
v-show=
"queryform.isRatio == 1"
>
日对比:
{{
(
record
.
depthRatio
*
100
).
toFixed
(
2
)
}}
%
</div>
</
template
>
</a-table>
</div>
</div>
</template>
<
script
>
<
script
>
import
{
getInformationFlow
}
from
'
@/api/dataActuary.js
'
import
moment
from
'
moment
'
;
export
default
{
data
()
{
return
{
queryform
:
{
value
:
null
},
queryform
:
{
productId
:
1
,
dateTimeStart
:
moment
().
format
(
'
yyyy-MM-DD
'
),
dateTimeEnd
:
moment
().
format
(
'
yyyy-MM-DD
'
),
particleType
:
'
1
'
,
isRatio
:
0
},
time
:
moment
().
format
(
'
yyyy-MM-DD
'
),
product
:[{
title
:
'
排队机
'
,
id
:
1
}],
indexList
:[
'
accessCount
'
,
'
accessCount1
'
,
'
pageDepth
'
],
labelCol
:
{
span
:
1
},
...
...
@@ -78,45 +102,55 @@
columns
:
[{
title
:
"
序号
"
,
width
:
"
70px
"
,
dataIndex
:
'
index
'
,
customRender
:
(
text
,
record
,
index
)
=>
`
${
index
+
1
}
`
,
align
:
"
center
"
,
},
{
title
:
"
时间
"
,
dataIndex
:
"
title
"
,
dataIndex
:
"
dateStr
"
,
align
:
"
center
"
,
},
{
title
:
'
产品名称
'
,
dataIndex
:
'
address
'
,
dataIndex
:
'
productName
'
,
align
:
"
center
"
,
},
{
title
:
'
一级场景
'
,
dataIndex
:
'
address1
'
,
dataIndex
:
'
firstName
'
,
align
:
"
center
"
,
},
{
title
:
'
二级场景
'
,
dataIndex
:
'
address2
'
,
dataIndex
:
'
secondName
'
,
align
:
"
center
"
,
},
{
title
:
'
三级场景
'
,
dataIndex
:
'
address3
'
,
dataIndex
:
'
thirdName
'
,
align
:
"
center
"
,
},{
title
:
'
访问人数
'
,
dataIndex
:
'
a
ddress5
'
,
dataIndex
:
'
a
ccessCount
'
,
align
:
"
center
"
,
scopedSlots
:
{
customRender
:
"
访问人数
"
,
},
},{
title
:
'
打开次数
'
,
dataIndex
:
'
a
ddress4
'
,
dataIndex
:
'
a
ccessCount1
'
,
align
:
"
center
"
,
scopedSlots
:
{
customRender
:
"
打开次数
"
,
},
},{
title
:
'
访问页面数
'
,
dataIndex
:
'
address8
'
,
dataIndex
:
'
pageDepth
'
,
align
:
"
center
"
,
scopedSlots
:
{
customRender
:
"
访问页面数
"
,
},
}
],
data
:
[],
...
...
@@ -126,8 +160,31 @@
showSizeChanger
:
true
,
pageSizeOptions
:
[
"
10
"
,
"
20
"
,
"
50
"
,
"
100
"
],
//每页中显示的数据
showTotal
:
total
=>
`共有
${
total
}
条数据`
,
//分页中显示总的数据
},
},
filterColumns
:[]
}
},
mounted
()
{
this
.
filterColumns
=
this
.
columns
this
.
getData
()
},
methods
:{
onChange
(
e
){
this
.
queryform
.
isRatio
=
e
.
target
.
checked
?
1
:
0
this
.
getData
()
},
changeIndex
(
e
)
{
e
=
e
.
concat
([
'
index
'
,
'
dateStr
'
,
'
productName
'
,
'
firstName
'
,
'
secondName
'
,
'
thirdName
'
])
let
columns
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
filterColumns
))
this
.
columns
=
columns
.
filter
(
item
=>
e
.
some
(
items
=>
item
.
dataIndex
==
items
))
},
getData
()
{
this
.
queryform
.
dateTimeStart
=
this
.
time
?
this
.
time
:
null
this
.
queryform
.
dateTimeStart
=
this
.
time
?
this
.
time
:
null
getInformationFlow
(
this
.
queryform
).
then
(
res
=>
{
this
.
data
=
res
.
data
})
},
}
};
</
script
>
...
...
portal-manager-ui/admin/src/views/dataActuary/behaviour/usinghabit/usinghabit.vue
View file @
dd777f3c
<
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.
value"
style=
"width: 200px"
placeholder=
"选择产品"
>
<a-select-option
value=
"jack"
>
Jack
</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item>
<a-range-picker
valueFormat=
"yyyy-MM-DD"
v-model=
"
queryform.value"
style=
"width: 300px"
/>
</a-form-model-item>
<a-form-model-item>
<a-button
type=
"primary"
>
开始分析
</a-button>
</a-form-model-item>
<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"
@
click=
"getData"
>
开始分析
</a-button>
</a-form-model-item>
</a-form-model>
<div
class=
"charts-box"
>
<
div
id=
"canal"
></div
>
<
!--
<div
id=
"canal"
></div>
--
>
<div
id=
"type"
></div>
<
div
id=
"way"
></div
>
<
!--
<div
id=
"way"
></div>
--
>
</div>
</div>
</
template
>
<
script
>
import
*
as
echarts
from
'
echarts
'
import
*
as
echarts
from
'
echarts
'
import
moment
from
'
moment
'
;
import
{
getUsageCensus
}
from
'
@/api/dataActuary.js
'
export
default
{
data
()
{
return
{
queryform
:
{
value
:
null
},
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
},
...
...
@@ -42,12 +52,18 @@
},
}
},
mounted
()
{
this
.
initCanal
()
this
.
initType
()
this
.
initWay
()
mounted
()
{
this
.
getData
()
},
methods
:
{
getData
()
{
this
.
queryform
.
dateTimeStart
=
this
.
time
?
this
.
time
[
0
]
:
null
this
.
queryform
.
dateTimeStart
=
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
);
...
...
@@ -104,7 +120,8 @@
}]
})
},
initType
()
{
initType
(
data
)
{
console
.
log
(
data
)
let
chartDom
=
document
.
getElementById
(
'
type
'
)
let
myChart
=
echarts
.
init
(
chartDom
);
myChart
.
setOption
({
...
...
@@ -123,7 +140,6 @@
},
color
:
[
'
#6395F9
'
,
'
#64DAAB
'
,
'
#647798
'
,
'
#F6C02D
'
,
'
#7567FA
'
,
'
#75CBED
'
],
series
:
[{
name
:
'
Access From
'
,
type
:
'
pie
'
,
radius
:
'
65%
'
,
label
:
{
...
...
@@ -136,27 +152,7 @@
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
'
}
],
data
:
data
}]
})
},
...
...
@@ -221,7 +217,7 @@
.charts-box {
flex: 1;
display: flex;
justify-content:
space-between
;
justify-content:
center
;
padding: 50px 0;
#canal,#type,#way {
...
...
portal-manager-ui/admin/src/views/dataActuary/business/Component/map/index.vue
View file @
dd777f3c
...
...
@@ -6,6 +6,7 @@
<
script
>
import
axios
from
'
axios
'
import
*
as
echarts
from
'
echarts
'
import
china
from
"
@/assets/json/china.json
"
;
let
myChart
=
null
export
default
{
props
:
{
...
...
@@ -26,9 +27,7 @@ export default {
}
},
created
(){
axios
.
get
(
'
/static/json/china.json
'
).
then
((
chinaJson
)
=>
{
echarts
.
registerMap
(
'
china
'
,
chinaJson
.
data
);
})
echarts
.
registerMap
(
'
china
'
,
china
);
},
watch
:{
datas
:
function
(
obj
)
{
...
...
@@ -53,7 +52,7 @@ export default {
},
series
:
[
{
name
:
'
中国
'
,
name
:
'
china
'
,
type
:
'
map
'
,
map
:
'
china
'
,
label
:
{
...
...
@@ -64,7 +63,6 @@ export default {
]
}
// axios.get('https://geo.datav.aliyun.com/areas_v3/bound/100000_full.json').then((chinaJson)=>{
// console.log(chinaJson.data)
// echarts.registerMap('china', chinaJson.data);
// myChart.setOption(option)
// })
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/Impossible/index.vue
View file @
dd777f3c
...
...
@@ -5,8 +5,8 @@
<a-button
:loading=
"btnLoading"
type=
"success"
@
click=
"handleExportTable"
>
<span>
{{
tableSelectedRows
.
length
?
"
导出
"
:
"
导出全部
"
}}
</span>
</a-button>
<div
class=
"ml20"
>
提交
次数:
{{
numObj
?
numObj
.
count
:
0
}}
次
</div>
<div
class=
"ml20"
>
回复次数:
{{
numObj
?
numObj
.
reply_count
:
0
}}
次
</div>
<div
class=
"ml20"
>
提交
总次数:
{{
numObj
?
numObj
.
count
:
0
}}
次
</div>
<div
class=
"ml20"
>
回复
总
次数:
{{
numObj
?
numObj
.
reply_count
:
0
}}
次
</div>
</div>
<a-form
:model=
"queryform"
layout=
"inline"
>
<a-form-item>
...
...
@@ -29,29 +29,29 @@
<a-button
type=
"primary"
@
click=
"getlist"
>
搜索
</a-button>
</a-form-item>
</a-form>
</div>
<div
class=
"table-box"
>
<a-table
:dataSource=
"tabledataSource"
:columns=
"tablecolumns"
:pagination=
"pagination"
:scroll=
"
{ y: 590 }"
:row-key="(record) => record.id" @change="changeTablePage" :row-selection="{
selectedRowKeys: tableSelectedKeys,
onChange: onSelectChange,
}">
<template
slot=
"type"
slot-scope=
"text, record, index"
>
<div>
{{
typeList
.
find
(
item
=>
record
.
type
).
label
}}
</div>
</
template
>
<
template
slot=
"valid"
slot-scope=
"text, record, index"
>
<div>
{{
record
.
valid
==
1
?
'
是
'
:
'
否
'
}}
</div>
</
template
>
<
template
slot=
"secrecy"
slot-scope=
"text, record, index"
>
<div>
{{
record
.
secrecy
==
1
?
'
是
'
:
'
否
'
}}
</div>
</
template
>
<
template
slot=
"status"
slot-scope=
"text, record, index"
>
<div>
{{
record
.
status
==
1
?
'
是
'
:
'
否
'
}}
</div>
</
template
>
<
template
slot=
"操作"
slot-scope=
"text, record, index"
>
<a-button
type=
"link"
@
click=
"detail(record)"
>
详情
</a-button>
</
template
>
</a-table>
</div>
<div
class=
"table-box"
>
<a-table
:dataSource=
"tabledataSource"
:columns=
"tablecolumns"
:pagination=
"pagination"
:scroll=
"
{ y: 590 }"
:row-key="(record) => record.id" @change="changeTablePage" :row-selection="{
selectedRowKeys: tableSelectedKeys,
onChange: onSelectChange,
}">
<template
slot=
"type"
slot-scope=
"text, record, index"
>
<div>
{{
typeList
.
find
(
item
=>
record
.
type
).
label
}}
</div>
</
template
>
<
template
slot=
"valid"
slot-scope=
"text, record, index"
>
<div>
{{
record
.
valid
==
1
?
'
是
'
:
'
否
'
}}
</div>
</
template
>
<
template
slot=
"secrecy"
slot-scope=
"text, record, index"
>
<div>
{{
record
.
secrecy
==
1
?
'
是
'
:
'
否
'
}}
</div>
</
template
>
<
template
slot=
"status"
slot-scope=
"text, record, index"
>
<div>
{{
record
.
status
==
1
?
'
是
'
:
'
否
'
}}
</div>
</
template
>
<
template
slot=
"操作"
slot-scope=
"text, record, index"
>
<a-button
type=
"link"
@
click=
"detail(record)"
>
详情
</a-button>
</
template
>
</a-table>
</div>
<a-drawer
title=
"详情"
:visible=
"visible"
width=
"100%"
@
close=
"visible = false"
>
<div
class=
"content-box"
>
...
...
@@ -134,7 +134,7 @@
import
image
from
'
@/components/image/thumbImage
'
import
{
export2Excel
}
from
"
@/utils/js/exportExcel
"
;
}
from
"
@/utils/js/exportExcel
"
;
import
moment
from
'
moment
'
export
default
{
data
()
{
...
...
@@ -145,7 +145,7 @@
size
:
10
,
source
:
''
,
keyword
:
null
,
time
:
[
moment
().
format
(
'
yyyy-MM-DD
'
),
moment
().
format
(
'
yyyy-MM-DD
'
)],
time
:
[
moment
().
format
(
'
yyyy-MM-DD
'
),
moment
().
format
(
'
yyyy-MM-DD
'
)],
reply
:
''
},
deviceList
:
[{
...
...
@@ -165,9 +165,9 @@
title
:
"
序号
"
,
width
:
"
70px
"
,
align
:
'
center
'
,
customRender
:
(
text
,
record
,
index
)
=>
(
this
.
queryform
.
page
-
1
)
*
this
.
queryform
.
size
+
index
+
customRender
:
(
text
,
record
,
index
)
=>
(
this
.
queryform
.
page
-
1
)
*
this
.
queryform
.
size
+
index
+
1
,
},
...
...
@@ -227,9 +227,9 @@
},
{
title
:
"
所属部门
"
,
dataIndex
:
"
dept_name
"
,
dataIndex
:
"
reply_dept
"
,
align
:
'
center
'
,
customRender
:
(
text
,
record
,
index
)
=>
`
${
record
.
dept_name
||
'
--
'
}
`
customRender
:
(
text
,
record
,
index
)
=>
`
${
record
.
reply_dept
||
'
--
'
}
`
},
{
title
:
"
操作
"
,
...
...
@@ -265,14 +265,14 @@
methods
:
{
getlist
()
{
getImpossible
(
this
.
queryform
).
then
(
res
=>
{
this
.
tabledataSource
=
res
.
data
.
data
this
.
tabledataSource
=
res
.
data
.
data
this
.
pagination
.
total
=
res
.
data
.
total
})
},
changeTablePage
(
e
)
{
this
.
queryform
.
page
=
e
.
current
this
.
queryform
.
size
=
e
.
pageSize
this
.
getlist
()
},
changeTablePage
(
e
)
{
this
.
queryform
.
page
=
e
.
current
this
.
queryform
.
size
=
e
.
pageSize
this
.
getlist
()
},
onChange
(
e
)
{
this
.
queryform
.
reply
=
e
.
target
.
checked
?
0
:
''
...
...
@@ -321,7 +321,7 @@
page
:
1
,
size
:
-
1
})
);
);
data
=
datas
.
data
.
data
if
(
!
data
.
length
)
return
;
for
(
let
item
of
data
)
{
...
...
@@ -336,7 +336,7 @@
this
.
tHeader
,
this
.
filterVal
,
data
,
"
填单记录
报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
"
办不成事
报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
);
this
.
btnLoading
=
false
;
},
...
...
@@ -347,13 +347,13 @@
.form-box {
display: flex;
justify-content: space-between;
margin-bottom: 10px;
.num-dv{
display: flex;
align-items: center;
.ml20{
margin-left: 20px;
}
margin-bottom: 10px;
.num-dv{
display: flex;
align-items: center;
.ml20{
margin-left: 20px;
}
}
}
...
...
@@ -367,25 +367,25 @@
margin-right: 10px;
margin-bottom: 10px;
}
}
/deep/.ant-spin-container{
display: block !important;
}
/deep/.ant-drawer-body {
background: #f7f7f7;
padding: 15px;
box-sizing: border-box;
min-height: calc(100vh - 55px);
}
/deep/td {
text-align: left;
}
/deep/.ant-descriptions-item-label{
color: #1890ff;
}
/deep/.ant-spin-container{
display: block !important;
}
/deep/.ant-drawer-body {
background: #f7f7f7;
padding: 15px;
box-sizing: border-box;
min-height: calc(100vh - 55px);
}
/deep/td {
text-align: left;
}
/deep/.ant-descriptions-item-label{
color: #1890ff;
}
.btn-dv {
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/makeRecordReport/makeRecordReport.vue
View file @
dd777f3c
...
...
@@ -79,28 +79,28 @@
v-if=
"text.status == 0"
color=
"#108ee9"
>
未签到
{{
statusItem
[
text
.
status
]
}}
</a-tag>
<a-tag
@
click=
"openDetails(text.id)"
v-else-if=
"text.status == 1"
color=
"#2db7f5"
>
排队中
{{
statusItem
[
text
.
status
]
}}
</a-tag>
<a-tag
@
click=
"openDetails(text.id)"
v-else-if=
"text.status == 2"
color=
"#f50"
>
超时未取号
{{
statusItem
[
text
.
status
]
}}
</a-tag>
<a-tag
@
click=
"openDetails(text.id)"
v-else-if=
"text.status == 3"
color=
"red"
>
已取消
{{
statusItem
[
text
.
status
]
}}
</a-tag>
</
template
>
</a-table>
...
...
@@ -144,6 +144,13 @@ let statusItem = {
2
:
"
超时未取号
"
,
3
:
"
预约取消
"
,
};
const
style
=
{
0
:
"
排队中
"
,
1
:
"
办理中
"
,
2
:
"
办理中
"
,
3
:
"
办理中
"
,
4
:
"
办理完成
"
,
}
export
default
{
name
:
"
PortalAdminVueMakeRecordReport
"
,
data
()
{
...
...
@@ -231,6 +238,7 @@ export default {
filterVal
,
tableHeaders
,
statusItem
,
style
,
btnLoading
:
false
,
searchForm
:
{
status
:
""
,
...
...
@@ -268,10 +276,11 @@ export default {
this
.
getOrderList
();
}
this
.
tableSourceData
=
data
.
map
((
v
)
=>
{
delete
v
.
people
.
id
;
v
.
people
&&
delete
v
.
people
.
id
;
return
{
...
v
,
...
v
.
people
};
});
this
.
total
=
total
;
return
this
.
tableSourceData
;
}
},
...
...
@@ -339,7 +348,7 @@ export default {
for
(
let
item
of
data
)
{
Object
.
keys
(
this
.
statusItem
).
forEach
((
key
)
=>
{
if
(
item
.
status
==
key
)
{
item
.
status
=
this
.
statusItem
[
key
];
item
.
status
=
item
.
status
==
1
?
this
.
style
[
item
.
style
]:
this
.
statusItem
[
key
];
}
});
}
...
...
@@ -351,7 +360,7 @@ export default {
for
(
let
item
of
data
)
{
Object
.
keys
(
this
.
statusItem
).
forEach
((
key
)
=>
{
if
(
item
.
status
==
key
)
{
item
.
status
=
this
.
statusItem
[
key
];
item
.
status
=
item
.
status
==
1
?
this
.
style
[
item
.
style
]:
this
.
statusItem
[
key
];
}
});
}
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/makeRecordReport/recordReportdetails.vue
View file @
dd777f3c
...
...
@@ -48,8 +48,8 @@
<!--
<p
v-for=
"item of 3"
>
事项1:生育证津贴办理
</p>
-->
</div>
<div
class=
"right_"
>
<span
class=
"status
1"
v-if=
"orderInfo.status != 1"
>
未签到
</span>
<span
class=
"status
2"
v-else
>
排队中
</span>
<span
class=
"status
2"
v-if=
"orderInfo.status == 1"
>
{{
style
[
orderInfo
.
style
]
}}
</span>
<span
class=
"status
1"
v-else
>
{{
statusItem
[
orderInfo
.
status
]
}}
</span>
</div>
</div>
<div
class=
"box2"
>
...
...
@@ -130,12 +130,20 @@ let statusItem = {
2
:
"
超时未取号
"
,
3
:
"
预约取消
"
,
};
const
style
=
{
0
:
"
排队中
"
,
1
:
"
办理中
"
,
2
:
"
办理中
"
,
3
:
"
办理中
"
,
4
:
"
办理完成
"
,
}
export
default
{
name
:
"
PortalAdminVueRecordReportdetails
"
,
data
()
{
return
{
orderStatus
,
statusItem
,
style
,
orderInfo
:
{},
// 预约信息
};
},
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/microOfficialWebsite/components/FormDetails.vue
View file @
dd777f3c
...
...
@@ -45,14 +45,14 @@
<div
class=
"infoBox"
>
<span
class=
"infoTitle imgBox"
>
身份证人像面:
</span>
<span
class=
"infoContent"
>
<
img
v-if=
"userInfo.z_img"
:src=
"userInfo.z_
img"
/>
<
thumbImage
v-if=
"userInfo.z_img"
:src=
"imgBase+'/'+userInfo.z_img"
fileType=
"
img"
/>
<span
v-else
>
--
</span>
</span>
</div>
<div
class=
"infoBox"
>
<span
class=
"infoTitle imgBox"
>
身份证国徽面:
</span>
<span
class=
"infoContent"
>
<
img
v-if=
"userInfo.b_img"
:src=
"userInfo.z_
img"
/>
<
thumbImage
v-if=
"userInfo.b_img"
:src=
"imgBase+'/'+userInfo.b_img"
fileType=
"
img"
/>
<span
v-else
>
--
</span>
</span>
</div>
...
...
@@ -92,8 +92,17 @@
</
template
>
<
script
>
import
thumbImage
from
"
@/components/image/thumbImage.vue
"
export
default
{
name
:
"
FormDetails
"
,
components
:{
thumbImage
},
data
(){
return
{
imgBase
:
process
.
env
.
VUE_APP_API_PHP_URL
}
},
props
:
{
visible
:
{
type
:
Boolean
,
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/microOfficialWebsite/microForm.vue
View file @
dd777f3c
...
...
@@ -161,7 +161,7 @@ export default {
{
title
:
"
是否实名认证
"
,
align
:
"
center
"
,
customRender
:
(
text
)
=>
"
--
"
,
customRender
:
(
text
)
=>
text
.
idcard_IDCardNo
?
"
实名认证
"
:
"
未实名认证
"
,
// customRender: (text) => text.create_time || "--",
},
{
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/networkGovernance/components/FormDetails.vue
View file @
dd777f3c
...
...
@@ -48,6 +48,7 @@
<img
v-for=
"(item,index) in fromData.url"
:key=
"index"
:src=
"process.env.VUE_APP_API_BASE_URL+item"
>
</div>
<div
v-else
>
--
</div>
</div>
<div
class=
"infoDetail"
>
<div
class=
"card"
>
...
...
@@ -81,7 +82,7 @@
<div
class=
"cardTitle"
>
回复内容
<span>
(必填)
</span>
</div>
<div
class=
"cardContent"
></div>
<div
class=
"cardContent"
>
{{
fromData
.
recontent
}}
</div>
</div>
</div>
</div>
...
...
@@ -90,9 +91,9 @@
position: 'absolute', right: 0, bottom: 0, width: '100%', borderTop: '1px solid #e9e9e9',
padding: '10px 16px', background: '#fff', textAlign: 'right', zIndex: 1,
}">
<a-button
type=
"primary"
@
click=
"onClose"
>
<
!--
<
a-button
type=
"primary"
@
click=
"onClose"
>
确定
</a-button>
</a-button>
-->
<a-button
:style=
"
{ marginRight: '8px' }" @click="onClose">
取消
</a-button>
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/networkGovernance/networkForm.vue
View file @
dd777f3c
...
...
@@ -2,7 +2,7 @@
<div
class=
"callRecord-Container"
>
<div
class=
"header_box"
>
<div>
<a-button
type=
"success"
@
click=
"
toexportTable
"
>
<a-button
type=
"success"
@
click=
"
handleExportTable"
:loading=
"btnLoading
"
>
<span>
{{
tableSelectedRows
.
length
?
"
导出
"
:
"
导出全部
"
}}
</span>
</a-button>
<b>
建议次数:
<i>
{{
JYCount
}}
次
</i></b>
...
...
@@ -57,8 +57,38 @@
<
script
>
import
table
from
"
@/mixins/table
"
;
import
FormDetails
from
"
./components/FormDetails.vue
"
;
import
{
getWLLZList
,
getWLLZCount
,
getWLLZInfo
}
from
"
@/api/dataAdmin
"
import
{
export2Excel
}
from
"
@/utils/js/exportExcel
"
;
const
tHeader
=
[
// 导出的表头名信息
"
建议标题
"
,
"
建议类型
"
,
"
真实姓名
"
,
"
联系电话
"
,
"
是否公开
"
,
"
是否保密
"
,
"
提交日期
"
,
"
是否回复
"
,
"
回复人
"
,
"
回复时间
"
,
"
所属部门
"
,
]
const
filterVal
=
[
// 导出的表头字段名,需要导出表格字段名
"
title
"
,
"
type
"
,
"
upname
"
,
"
upphone
"
,
"
valid
"
,
"
secrecy
"
,
"
create_time
"
,
"
status
"
,
"
reply_name
"
,
"
update_time
"
,
"
deptName
"
,
]
export
default
{
mixins
:
[
table
],
name
:
"
networkForm
"
,
...
...
@@ -139,7 +169,7 @@ export default {
{
title
:
"
所属部门
"
,
align
:
"
center
"
,
dataIndex
:
"
d
ate
Name
"
,
dataIndex
:
"
d
ept
Name
"
,
},
{
title
:
"
操作
"
,
...
...
@@ -159,6 +189,7 @@ export default {
timeList
:[],
// 时间
JYCount
:
0
,
//建议次数
HFCount
:
0
,
//回复次数
btnLoading
:
false
,
};
},
components
:
{
...
...
@@ -186,66 +217,64 @@ export default {
this
.
isReply
=
false
this
.
togetWLLZCount
()
},
// 重写导出
toexportTable
()
{
let
tableData
=
[];
if
(
this
.
tableSelectedRows
.
length
==
0
)
{
getWLLZList
({
page
:
1
,
size
:
-
1
,
status
:
this
.
isReply
?
0
:
""
,
type
:
this
.
nowType
,
device
:
this
.
nowDevice
,
keyword
:
this
.
searchName
,
time
:
this
.
timeList
,
}).
then
((
res
)
=>
{
const
{
code
,
data
}
=
res
;
if
(
code
==
1
){
// 改变输出内容
data
.
data
.
forEach
(
item
=>
{
item
.
type
=
item
.
type
==
1
?
'
部门建议
'
:
item
.
type
==
2
?
'
办事建议
'
:
item
.
type
==
3
?
'
网站建议
'
:
item
.
type
==
4
?
'
我要就错
'
:
item
.
type
==
5
?
'
我要投诉
'
:
'
我要咨询
'
;
item
.
valid
=
item
.
valid
==
1
?
'
是
'
:
'
否
'
;
item
.
secrecy
=
item
.
secrecy
==
1
?
'
是
'
:
'
否
'
;
item
.
status
=
item
.
status
==
1
?
'
是
'
:
'
否
'
;
});
tableData
=
JSON
.
parse
(
JSON
.
stringify
(
data
.
data
));
let
tableColumns
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
tableHeaders
));
let
newTableData
=
tableData
.
map
(
item
=>
{
let
obj
=
{};
for
(
let
key
in
item
)
{
obj
[
key
]
=
item
[
key
];
}
return
obj
;
})
let
exprotExcelName
=
`
${
this
.
nowDay
}
/
${
this
.
nowTime
}
/
${
this
.
$route
[
'
meta
'
][
'
title
'
]
||
'
报表信息统计
'
}
`
;
this
.
exportExcel
(
tableColumns
,
newTableData
,
exprotExcelName
);
}
})
}
else
{
tableData
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
tableSelectedRows
));
tableData
.
forEach
(
item
=>
{
item
.
type
=
item
.
type
==
1
?
'
部门建议
'
:
item
.
type
==
2
?
'
办事建议
'
:
item
.
type
==
3
?
'
网站建议
'
:
item
.
type
==
4
?
'
我要就错
'
:
item
.
type
==
5
?
'
我要投诉
'
:
'
我要咨询
'
;
item
.
valid
=
item
.
valid
==
1
?
'
是
'
:
'
否
'
;
item
.
secrecy
=
item
.
secrecy
==
1
?
'
是
'
:
'
否
'
;
item
.
status
=
item
.
status
==
1
?
'
是
'
:
'
否
'
;
});
let
tableColumns
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
tableHeaders
));
let
newTableData
=
tableData
.
map
(
item
=>
{
let
obj
=
{};
for
(
let
key
in
item
)
{
obj
[
key
]
=
item
[
key
];
}
return
obj
;
})
let
exprotExcelName
=
`
${
this
.
nowDay
}
/
${
this
.
nowTime
}
/
${
this
.
$route
[
'
meta
'
][
'
title
'
]
||
'
报表信息统计
'
}
`
;
this
.
exportExcel
(
tableColumns
,
newTableData
,
exprotExcelName
);
}
},
// 导出
async
handleExportTable
()
{
this
.
btnLoading
=
true
;
let
obj
=
{
1
:
"
部门建议
"
,
2
:
"
办事建议
"
,
3
:
"
网站建议
"
,
4
:
"
我要就错
"
,
5
:
"
我要投诉
"
,
6
:
"
我要咨询
"
,
};
let
data
=
[];
if
(
this
.
tableSelectedKeys
.
length
&&
this
.
tableSelectedRows
.
length
)
{
// 深度克隆避免影响页面表格展示
data
=
this
.
$_
.
cloneDeep
(
this
.
tableSelectedRows
);
data
.
forEach
((
item
)
=>
{
Object
.
keys
(
obj
).
forEach
((
keys
)
=>
{
if
(
item
.
type
==
keys
)
{
item
.
type
=
obj
[
keys
];
}
});
item
.
valid
==
1
?
item
.
valid
=
"
是
"
:
item
.
valid
=
'
否
'
item
.
secrecy
==
1
?
item
.
secrecy
=
"
是
"
:
item
.
secrecy
=
'
否
'
item
.
status
==
1
?
item
.
status
=
"
是
"
:
item
.
status
=
'
否
'
});
}
else
{
let
datas
=
this
.
$_
.
cloneDeep
(
await
getWLLZList
({
page
:
1
,
size
:
-
1
,
status
:
this
.
isReply
?
0
:
""
,
type
:
this
.
nowType
,
device
:
this
.
nowDevice
,
keyword
:
this
.
searchName
,
time
:
this
.
timeList
,
})
);
data
=
datas
.
data
.
data
if
(
!
data
.
length
)
return
;
for
(
let
item
of
data
)
{
Object
.
keys
(
obj
).
forEach
((
key
)
=>
{
if
(
item
.
type
==
key
)
{
item
.
type
=
obj
[
key
];
}
});
item
.
valid
==
1
?
item
.
valid
=
"
是
"
:
item
.
valid
=
'
否
'
item
.
secrecy
==
1
?
item
.
secrecy
=
"
是
"
:
item
.
secrecy
=
'
否
'
item
.
status
==
1
?
item
.
status
=
"
是
"
:
item
.
status
=
'
否
'
}
}
export2Excel
(
tHeader
,
filterVal
,
data
,
"
网络理政报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
);
this
.
btnLoading
=
false
;
},
changeReply
(
e
){
this
.
isReply
=
e
.
target
.
checked
},
...
...
@@ -294,7 +323,6 @@ export default {
time
:
this
.
timeList
,
}
getWLLZList
(
params
).
then
((
res
)
=>
{
console
.
log
(
res
);
const
{
code
,
data
}
=
res
;
if
(
code
==
1
){
this
.
tableSourceData
=
data
.
data
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/components/HandlingDetails.vue
View file @
dd777f3c
<
template
>
<div
class=
"handling"
ref=
"handling"
>
<a-drawer
:destroyOnClose=
"true"
:title=
"modalInfo.title"
:width=
"modalInfo.width"
:visible=
"modalInfo.visible"
@
close=
"modalClose"
@
getContainer=
"() => $refs.handling"
>
<a-drawer
:destroyOnClose=
"true"
:title=
"modalInfo.title"
:width=
"modalInfo.width"
:visible=
"modalInfo.visible"
@
close=
"modalClose"
@
getContainer=
"() => $refs.handling"
>
<div
class=
"headerInfo"
>
<!-- 头部耗时部分 -->
<p>
<span
>
总耗时:
{{
dataList
.
alltime
||
"
--
"
}}
<i
v-show=
"
dataList.alltime &&
compareTime(dataList.p_alltime, dataList.alltime)
"
class=
"fa fa-long-arrow-down"
></i>
<span>
总耗时:
{{
dataList
.
alltime
||
"
--
"
}}
<i
v-show=
"dataList.alltime &&
compareTime(dataList.p_alltime, dataList.alltime)
"
class=
"fa fa-long-arrow-down"
></i>
</span>
<span
>
等待时间:
{{
dataList
.
waittime
||
"
--
"
}}
<i
v-show=
"
dataList.waittime &&
compareTime(dataList.p_waittime, dataList.waittime)
"
class=
"fa fa-long-arrow-down"
></i>
<span>
等待时间:
{{
dataList
.
waittime
||
"
--
"
}}
<i
v-show=
"dataList.waittime &&
compareTime(dataList.p_waittime, dataList.waittime)
"
class=
"fa fa-long-arrow-down"
></i>
</span>
<span
>
办理时间:
{{
dataList
.
bltime
||
"
--
"
}}
<i
v-show=
"
dataList.bltime &&
compareTime(dataList.p_bltime, dataList.bltime)
"
class=
"fa fa-long-arrow-down"
></i>
<span>
办理时间:
{{
dataList
.
bltime
||
"
--
"
}}
<i
v-show=
"dataList.bltime &&
compareTime(dataList.p_bltime, dataList.bltime)
"
class=
"fa fa-long-arrow-down"
></i>
</span>
</p>
<p>
...
...
@@ -49,12 +28,7 @@
</p>
</div>
<div
:class=
"returnScolor"
>
{{
$codeMap
.
queueState
[
dataList
.
style
]
}}
</div>
<a-steps
direction=
"vertical"
size=
"small"
:current=
"approveLs.length"
class=
"steps_box"
>
<a-steps
direction=
"vertical"
size=
"small"
:current=
"approveLs.length"
class=
"steps_box"
>
<a-step
:disabled=
"true"
class=
"step_box"
>
<div
class=
"icon_box"
slot=
"icon"
></div>
<div
class=
"title_box"
slot=
"title"
>
...
...
@@ -62,27 +36,12 @@
</div>
<div
class=
"description_box"
slot=
"description"
>
<div
class=
"details"
>
<span
><i
class=
"lable"
>
申报人:
</i
>
{{
dataList
.
people_name
||
"
--
"
}}
</span
>
<span
><i
class=
"lable"
>
取号时间:
</i
>
{{
dataList
.
taketime
||
"
--
"
}}
</span
>
<span
><i
class=
"lable"
>
排队编码:
</i
>
{{
dataList
.
flownum
||
"
--
"
}}
</span
>
<span
><i
class=
"lable"
>
取号方式:
</i
>
{{
$codeMap
.
takeNumWay
[
dataList
.
wy_signin
]
||
"
--
"
}}
</span
>
<span><i
class=
"lable"
>
注册方式:
</i>
{{
"
--
"
}}
</span>
<span
><i
class=
"lable"
>
取号设备:
</i
>
{{
dataList
.
take_name
||
"
--
"
}}
</span
>
<span><i
class=
"lable"
>
申报人:
</i>
{{
dataList
.
people_name
||
"
--
"
}}
</span>
<span><i
class=
"lable"
>
取号时间:
</i>
{{
dataList
.
taketime
||
"
--
"
}}
</span>
<span><i
class=
"lable"
>
排队编码:
</i>
{{
dataList
.
flownum
||
"
--
"
}}
</span>
<span><i
class=
"lable"
>
取号方式:
</i>
{{
dataList
.
wy_signin
===
0
?
'
现场取号
'
:
'
在线取号
'
||
"
--
"
}}
</span>
<span><i
class=
"lable"
>
注册方式:
</i>
{{
$codeMap
.
register_type
[
dataList
.
register_type
]
||
"
--
"
}}
</span>
<span><i
class=
"lable"
>
取号设备:
</i>
{{
dataList
.
take_name
||
"
--
"
}}
</span>
</div>
</div>
</a-step>
...
...
@@ -93,22 +52,10 @@
</div>
<div
class=
"description_box"
slot=
"description"
>
<div
class=
"details"
>
<span
><i
class=
"lable"
>
办理窗口:
</i
>
{{
dataList
.
window_name
||
"
--
"
}}
</span
>
<span
><i
class=
"lable"
>
办理开始时间:
</i
>
{{
dataList
.
calltime
||
"
--
"
}}
</span
>
<span
><i
class=
"lable"
>
工作人员:
</i
>
{{
dataList
.
workman_name
||
"
--
"
}}
</span
>
<span
><i
class=
"lable"
>
叫号设备:
</i
>
{{
dataList
.
call_name
||
"
--
"
}}
</span
>
<span><i
class=
"lable"
>
办理窗口:
</i>
{{
dataList
.
window_name
||
"
--
"
}}
</span>
<span><i
class=
"lable"
>
办理开始时间:
</i>
{{
dataList
.
calltime
||
"
--
"
}}
</span>
<span><i
class=
"lable"
>
工作人员:
</i>
{{
dataList
.
workman_name
||
"
--
"
}}
</span>
<span><i
class=
"lable"
>
叫号设备:
</i>
{{
dataList
.
call_name
||
"
--
"
}}
</span>
</div>
</div>
</a-step>
...
...
@@ -119,10 +66,7 @@
</div>
<div
class=
"description_box"
slot=
"description"
>
<div
class=
"details"
>
<span
><i
class=
"lable"
>
办理结束时间:
</i
>
{{
dataList
.
endtime
||
"
--
"
}}
</span
>
<span><i
class=
"lable"
>
办理结束时间:
</i>
{{
dataList
.
endtime
||
"
--
"
}}
</span>
</div>
</div>
</a-step>
...
...
@@ -176,7 +120,7 @@ export default {
}
},
},
mounted
()
{},
mounted
()
{
},
methods
:
{
modalClose
()
{
...
...
@@ -375,7 +319,7 @@ export default {
}
/deep/.ant-steps-item {
&
+
.ant-steps-item {
&
+
.ant-steps-item {
margin-top: 25px !important;
}
}
...
...
portal-manager-ui/admin/yarn.lock
View file @
dd777f3c
This diff is collapsed.
Click to expand it.
portal-manager/pom.xml
View file @
dd777f3c
...
...
@@ -282,7 +282,7 @@
<arguments>
<argument></argument>
</arguments>
<workingDirectory>
${project.parent.basedir}/
portal-manager
-ui/admin
</workingDirectory>
<workingDirectory>
${project.parent.basedir}/
${project.artifactId}
-ui/admin
</workingDirectory>
</configuration>
</execution>
...
...
@@ -298,7 +298,7 @@
<argument>
run
</argument>
<arguments>
${package.environment}
</arguments>
</arguments>
<workingDirectory>
${project.parent.basedir}/
portal-manager
-ui/admin
</workingDirectory>
<workingDirectory>
${project.parent.basedir}/
${project.artifactId}
-ui/admin
</workingDirectory>
</configuration>
</execution>
</executions>
...
...
smart-gateway/src/main/java/com/mortals/xhx/base/framework/filter/AccessLogFilter.java
View file @
dd777f3c
...
...
@@ -159,7 +159,6 @@ public class AccessLogFilter implements GlobalFilter, Ordered {
ServerRequest
serverRequest
=
ServerRequest
.
create
(
exchange
,
messageReaders
);
Mono
<
String
>
modifiedBody
=
serverRequest
.
bodyToMono
(
String
.
class
)
.
flatMap
(
body
->
{
log
.
info
(
"decoratedRequest 0001111"
);
accessLogPdu
.
setRequestData
(
body
);
return
Mono
.
just
(
body
);
});
...
...
@@ -207,12 +206,11 @@ public class AccessLogFilter implements GlobalFilter, Ordered {
*/
private
ServerHttpRequestDecorator
requestDecorate
(
ServerWebExchange
exchange
,
HttpHeaders
headers
,
CachedBodyOutputMessage
outputMessage
)
{
log
.
info
(
"decoratedRequest 2"
);
return
new
ServerHttpRequestDecorator
(
exchange
.
getRequest
())
{
@Override
public
HttpHeaders
getHeaders
()
{
long
contentLength
=
headers
.
getContentLength
();
log
.
info
(
"decoratedRequest contentLength:"
+
contentLength
);
log
.
debug
(
"decoratedRequest contentLength:"
+
contentLength
);
HttpHeaders
httpHeaders
=
new
HttpHeaders
();
httpHeaders
.
putAll
(
super
.
getHeaders
());
if
(
contentLength
>
0
)
{
...
...
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