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
faec8751
Commit
faec8751
authored
Mar 13, 2023
by
“yiyousong”
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.scsmile.cn/zxf/smart_gov_platform
parents
9d209097
b72555b2
Changes
28
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
877 additions
and
10726 deletions
+877
-10726
base-manager/doc/api.md
base-manager/doc/api.md
+1
-0
base-manager/src/main/java/com/mortals/xhx/busiz/req/MidReq.java
...nager/src/main/java/com/mortals/xhx/busiz/req/MidReq.java
+3
-0
base-manager/src/main/java/com/mortals/xhx/busiz/rsp/MidResp.java
...ager/src/main/java/com/mortals/xhx/busiz/rsp/MidResp.java
+23
-0
base-manager/src/main/java/com/mortals/xhx/busiz/web/MidSignApiController.java
.../java/com/mortals/xhx/busiz/web/MidSignApiController.java
+58
-0
base-manager/src/main/java/com/mortals/xhx/common/utils/MatterHtmlParseUtil.java
...ava/com/mortals/xhx/common/utils/MatterHtmlParseUtil.java
+74
-18
base-manager/src/main/java/com/mortals/xhx/common/utils/SyncGovMatterDetailThread.java
...m/mortals/xhx/common/utils/SyncGovMatterDetailThread.java
+3
-3
base-manager/src/main/java/com/mortals/xhx/daemon/task/StatSiteDeptMatterTaskImpl.java
...m/mortals/xhx/daemon/task/StatSiteDeptMatterTaskImpl.java
+14
-5
base-manager/src/main/java/com/mortals/xhx/daemon/task/SyncUserTaskImpl.java
...in/java/com/mortals/xhx/daemon/task/SyncUserTaskImpl.java
+1
-3
base-manager/src/main/java/com/mortals/xhx/module/app/service/impl/AppServiceImpl.java
...m/mortals/xhx/module/app/service/impl/AppServiceImpl.java
+10
-0
base-manager/src/main/java/com/mortals/xhx/module/area/service/impl/AreaServiceImpl.java
...mortals/xhx/module/area/service/impl/AreaServiceImpl.java
+2
-2
base-manager/src/main/java/com/mortals/xhx/module/dept/service/DeptService.java
...java/com/mortals/xhx/module/dept/service/DeptService.java
+2
-0
base-manager/src/main/java/com/mortals/xhx/module/dept/web/DeptController.java
.../java/com/mortals/xhx/module/dept/web/DeptController.java
+15
-2
base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterEntity.java
...ava/com/mortals/xhx/module/matter/model/MatterEntity.java
+3
-5
base-manager/src/main/java/com/mortals/xhx/module/site/service/impl/SiteBusinessServiceImpl.java
...xhx/module/site/service/impl/SiteBusinessServiceImpl.java
+2
-7
base-manager/src/main/java/com/mortals/xhx/module/site/service/impl/SiteServiceImpl.java
...mortals/xhx/module/site/service/impl/SiteServiceImpl.java
+81
-12
base-manager/src/main/java/com/mortals/xhx/module/site/service/impl/SiteThemeServiceImpl.java
...ls/xhx/module/site/service/impl/SiteThemeServiceImpl.java
+8
-6
base-manager/src/main/java/com/mortals/xhx/module/window/service/impl/WindowServiceImpl.java
...als/xhx/module/window/service/impl/WindowServiceImpl.java
+1
-1
base-manager/src/test/java/com/mortals/httpclient/area/AreaController.http
...test/java/com/mortals/httpclient/area/AreaController.http
+1
-1
base-manager/src/test/java/com/mortals/httpclient/dept/DeptController.http
...test/java/com/mortals/httpclient/dept/DeptController.http
+1
-3
common-lib/src/main/java/com/mortals/xhx/common/pdu/app/AppPdu.java
.../src/main/java/com/mortals/xhx/common/pdu/app/AppPdu.java
+23
-0
common-lib/src/main/java/com/mortals/xhx/feign/app/device/IAppFeign.java
...main/java/com/mortals/xhx/feign/app/device/IAppFeign.java
+59
-0
portal-manager-ui/admin/package-lock.json
portal-manager-ui/admin/package-lock.json
+436
-10565
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/callRecord.vue
...n/src/views/dataAdmin/components/queueCall/callRecord.vue
+1
-5
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/components/HandlingDetails.vue
...Admin/components/queueCall/components/HandlingDetails.vue
+1
-1
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/components/businessInfo.vue
...ataAdmin/components/queueCall/components/businessInfo.vue
+9
-8
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/components/userInfo.vue
...ws/dataAdmin/components/queueCall/components/userInfo.vue
+19
-28
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/components/workpeopleInfo.vue
...aAdmin/components/queueCall/components/workpeopleInfo.vue
+8
-5
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/queueRecord.vue
.../src/views/dataAdmin/components/queueCall/queueRecord.vue
+18
-46
No files found.
base-manager/doc/api.md
View file @
faec8751
...
...
@@ -4938,6 +4938,7 @@ size|Integer|每页条数|否|-
name|String|部门名称|否|-
deptAbb|String|部门简称|否|-
deptNumber|String|部门编号|否|-
filter|Integer|是否过滤没有事项的部门(0.否,1.是)|否|-
**请求样例:**
...
...
base-manager/src/main/java/com/mortals/xhx/busiz/req/MidReq.java
View file @
faec8751
...
...
@@ -14,4 +14,7 @@ public class MidReq{
private
String
body
;
private
String
path
;
}
base-manager/src/main/java/com/mortals/xhx/busiz/rsp/MidResp.java
0 → 100644
View file @
faec8751
package
com.mortals.xhx.busiz.rsp
;
import
lombok.Data
;
/**
* @author karlhoo
*/
@Data
public
class
MidResp
{
private
String
appId
;
private
String
appKey
;
private
String
timeStamp
;
private
String
nonce
;
private
String
secretKey
;
private
String
sign
;
}
base-manager/src/main/java/com/mortals/xhx/busiz/web/MidSignApiController.java
View file @
faec8751
...
...
@@ -4,9 +4,11 @@ import cn.hutool.core.codec.Base64;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.NumberUtil
;
import
cn.hutool.core.util.RandomUtil
;
import
cn.hutool.core.util.URLUtil
;
import
cn.hutool.crypto.digest.DigestAlgorithm
;
import
cn.hutool.crypto.digest.Digester
;
import
cn.hutool.http.HttpUtil
;
import
cn.hutool.http.Method
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mortals.framework.annotation.UnAuth
;
...
...
@@ -60,6 +62,9 @@ import java.util.stream.Collectors;
@Slf4j
public
class
MidSignApiController
{
@Value
(
"${mid.midUrl:http://172.15.28.117:9000}"
)
private
String
midUrl
;
@Value
(
"${mid.appId:01C67D56D0630517}"
)
private
String
appId
;
...
...
@@ -124,4 +129,57 @@ public class MidSignApiController {
}
}
/**
* 透传请求
* @param midReq
* @return
*/
@PostMapping
(
value
=
"trans"
)
@UnAuth
public
Rest
<
String
>
trans
(
@RequestBody
MidReq
midReq
)
{
try
{
Map
<
String
,
String
>
headerMap
=
new
HashMap
<>();
StringBuilder
signSb
=
new
StringBuilder
();
headerMap
.
put
(
"appId"
,
appId
);
headerMap
.
put
(
"appKey"
,
appKey
);
String
timeStamp
=
System
.
currentTimeMillis
()
+
""
;
headerMap
.
put
(
"timeStamp"
,
timeStamp
);
String
nonce
=
RandomUtil
.
randomNumbers
(
6
);
headerMap
.
put
(
"nonce"
,
nonce
);
headerMap
.
put
(
"secretKey"
,
secretKey
);
if
(
"post"
.
equalsIgnoreCase
(
midReq
.
getMethod
())){
JSONObject
object1
=
JSONObject
.
parseObject
(
midReq
.
getBody
());
headerMap
.
put
(
"body"
,
object1
.
toJSONString
());
}
else
if
(
"get"
.
equalsIgnoreCase
(
midReq
.
getMethod
())){
/* HashMap<String, String> paramsMap = JSON.parseObject(midReq.getBody(), HashMap.class);
if (!paramsMap.isEmpty()) {
for (Map.Entry<String, String> entry : paramsMap.entrySet()) {
headerMap.put(entry.getKey(), entry.getValue());
}
}*/
}
signSb
.
append
(
"appId"
).
append
(
"="
).
append
(
headerMap
.
get
(
"appId"
)).
append
(
"&"
);
signSb
.
append
(
"appKey"
).
append
(
"="
).
append
(
headerMap
.
get
(
"appKey"
)).
append
(
"&"
);
signSb
.
append
(
"body"
).
append
(
"="
).
append
(
headerMap
.
get
(
"body"
)).
append
(
"&"
);
signSb
.
append
(
"nonce"
).
append
(
"="
).
append
(
headerMap
.
get
(
"nonce"
)).
append
(
"&"
);
signSb
.
append
(
"secretKey"
).
append
(
"="
).
append
(
headerMap
.
get
(
"secretKey"
)).
append
(
"&"
);
signSb
.
append
(
"timeStamp"
).
append
(
"="
).
append
(
headerMap
.
get
(
"timeStamp"
)).
append
(
"&"
);
String
signStr
=
signSb
.
substring
(
0
,
signSb
.
length
()
-
1
);
log
.
info
(
"签名源字符串: "
+
signStr
);
String
sign
=
EncryptionUtils
.
SHA256
(
signStr
);
log
.
info
(
"签名计算结果: "
+
sign
);
headerMap
.
put
(
"sign"
,
sign
);
//请求转发
String
fullUrl
=
URLUtil
.
completeUrl
(
midUrl
,
midReq
.
getPath
());
String
body
=
HttpUtil
.
createRequest
(
Method
.
POST
,
fullUrl
).
headerMap
(
headerMap
,
true
).
body
(
headerMap
.
get
(
"body"
)).
execute
().
body
();
return
Rest
.
ok
(
body
);
}
catch
(
Exception
e
)
{
log
.
error
(
"透传请求异常"
,
e
);
return
Rest
.
fail
(
"透传请求异常!"
);
}
}
}
base-manager/src/main/java/com/mortals/xhx/common/utils/MatterHtmlParseUtil.java
View file @
faec8751
...
...
@@ -51,10 +51,40 @@ public class MatterHtmlParseUtil {
return
Rest
.
ok
(
resultMap
);
}
public
static
Rest
<
Map
<
String
,
Integer
>>
statSiteMatterDeptCount
(
Map
<
String
,
String
>
params
,
String
url
)
{
String
matterTotalExp
=
"//input[@id=\"result_countDept\"]"
;
String
matterPageExp
=
"//input[@id=\"pageNumDept\"]"
;
Map
<
String
,
Integer
>
resultMap
=
new
HashMap
<>();
try
{
Document
dom
=
Jsoup
.
connect
(
url
).
data
(
params
).
get
();
Elements
elements
=
dom
.
selectXpath
(
matterTotalExp
);
if
(
elements
.
size
()
>
0
)
{
Integer
total
=
elements
.
get
(
0
)
==
null
?
0
:
DataUtil
.
converStr2Int
(
elements
.
get
(
0
).
attr
(
"value"
),
0
);
resultMap
.
put
(
"total"
,
total
);
}
elements
=
dom
.
selectXpath
(
matterPageExp
);
if
(
elements
.
size
()
>
0
)
{
Integer
pageNum
=
elements
.
get
(
0
)
==
null
?
0
:
DataUtil
.
converStr2Int
(
elements
.
get
(
0
).
attr
(
"value"
),
0
);
resultMap
.
put
(
"pageNum"
,
pageNum
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"获取事项数量异常!params:"
+
JSON
.
toJSONString
(
params
),
e
);
return
Rest
.
fail
(
e
.
getMessage
());
}
return
Rest
.
ok
(
resultMap
);
}
public
static
Rest
<
List
<
MatterEntity
>>
getMatterList
(
Map
<
String
,
String
>
params
,
String
url
)
{
String
matterListExp
=
"//div[@class=\"sx_list\"]//span[1]"
;
String
matterListLiExp
=
"//div[@class=\"sx_list\"]//li/a[1]"
;
List
<
MatterEntity
>
matterEntityList
=
new
ArrayList
<>();
String
evaluationUrl
=
""
;
String
netApplyUrl
=
""
;
String
href
=
""
;
try
{
Document
dom
=
Jsoup
.
connect
(
url
).
data
(
params
).
get
();
//System.out.println(dom.html());
...
...
@@ -66,7 +96,7 @@ public class MatterHtmlParseUtil {
continue
;
}
String
title
=
element
.
attr
(
"title"
);
String
href
=
element
.
firstElementChild
().
attr
(
"href"
);
href
=
element
.
firstElementChild
().
attr
(
"href"
);
//element.child()
if
(
href
.
equalsIgnoreCase
(
"javascript:void(0)"
))
{
...
...
@@ -74,18 +104,22 @@ public class MatterHtmlParseUtil {
}
//抓取申请与评价页面地址
Element
nextElementSibling
=
element
.
nextElementSibling
();
String
evaluationUrl
=
""
;
String
netApplyUrl
=
""
;
Elements
elementsA
=
nextElementSibling
.
selectXpath
(
"//a"
);
Elements
elementsA
=
nextElementSibling
.
children
();
//Elements elementsA = nextElementSibling.selectXpath("//a");
if
(
elementsA
!=
null
)
{
for
(
Element
tempElement
:
elementsA
)
{
if
(
tempElement
.
text
().
trim
().
equals
(
"好差评"
))
{
if
(
"办事指南"
.
equals
(
tempElement
.
text
().
trim
()))
{
String
onclick
=
tempElement
.
attr
(
"onclick"
);
List
<
String
>
list
=
ReUtil
.
findAllGroup0
(
"'(.*?)'"
,
onclick
);
if
(
list
.
size
()
>
1
)
{
href
=
StrUtil
.
subBetween
(
list
.
get
(
0
),
"'"
,
"'"
);
}
}
if
(
"好差评"
.
equals
(
tempElement
.
text
().
trim
()))
{
String
onclick
=
tempElement
.
attr
(
"onclick"
);
evaluationUrl
=
StrUtil
.
subBetween
(
onclick
,
"evaluation('"
,
"')"
);
}
if
(
tempElement
.
text
().
trim
().
equals
(
"申请"
))
{
if
(
"申请"
.
equals
(
tempElement
.
text
().
trim
()
))
{
String
onclick
=
tempElement
.
attr
(
"onclick"
);
List
<
String
>
list
=
ReUtil
.
findAllGroup0
(
"'(.*?)'"
,
onclick
);
if
(
list
.
size
()
>
4
)
{
...
...
@@ -94,6 +128,11 @@ public class MatterHtmlParseUtil {
}
}
}
if
(
ObjectUtils
.
isEmpty
(
href
))
{
log
.
info
(
"error href ,title:"
+
title
);
}
buildMatter
(
matterEntityList
,
title
,
href
,
evaluationUrl
,
netApplyUrl
);
}
...
...
@@ -104,14 +143,23 @@ public class MatterHtmlParseUtil {
continue
;
}
String
title
=
element
.
attr
(
"title"
);
String
href
=
element
.
attr
(
"href"
);
href
=
element
.
attr
(
"href"
);
//抓取申请与评价页面地址
String
evaluationUrl
=
""
;
String
netApplyUrl
=
""
;
Element
nextElementSibling
=
element
.
nextElementSibling
();
if
(
nextElementSibling
!=
null
)
{
Elements
elementsA
=
nextElementSibling
.
selectXpath
(
"//a"
);
Elements
elementsA
=
nextElementSibling
.
children
();
//Elements elementsA = nextElementSibling.selectXpath("//a");
for
(
Element
tempElement
:
elementsA
)
{
if
(
"办事指南"
.
equals
(
tempElement
.
text
().
trim
()))
{
String
onclick
=
tempElement
.
attr
(
"onclick"
);
if
(
ObjectUtils
.
isEmpty
(
onclick
))
continue
;
List
<
String
>
list
=
ReUtil
.
findAllGroup0
(
"'(.*?)'"
,
onclick
);
if
(
list
.
size
()
>
1
)
{
href
=
StrUtil
.
subBetween
(
list
.
get
(
0
),
"'"
,
"'"
);
}
}
if
(
"好差评"
.
equals
(
tempElement
.
text
().
trim
()))
{
String
onclick
=
tempElement
.
attr
(
"onclick"
);
evaluationUrl
=
StrUtil
.
subBetween
(
onclick
,
"evaluation('"
,
"')"
);
...
...
@@ -123,6 +171,11 @@ public class MatterHtmlParseUtil {
netApplyUrl
=
StrUtil
.
subBetween
(
list
.
get
(
3
),
"'"
,
"'"
);
}
}
if
(
ObjectUtils
.
isEmpty
(
href
))
{
log
.
info
(
"error href ,title:"
+
title
);
}
}
}
buildMatter
(
matterEntityList
,
title
,
href
,
evaluationUrl
,
netApplyUrl
);
...
...
@@ -243,17 +296,19 @@ public class MatterHtmlParseUtil {
// System.out.println(JSON.toJSONString(allList));
String
url
=
"http://www.sczwfw.gov.cn/jiq/interface/item/tags"
;
/*
String url = "http://www.sczwfw.gov.cn/jiq/interface/item/tags";
HashMap<String, String> params = new HashMap<>();
params
.
put
(
"areaCode"
,
"51
0110006007
"
);
params
.
put
(
"dxType"
,
"
56
"
);
params.put("areaCode", "51
1500000000
");
params.put("dxType", "
3
");
params.put("deptCode", "");
params.put("searchtext", "");
params.put("type", "2");//类型 2.部门 1.主题 3.热度
params.put("taskType", "");
params
.
put
(
"pageno"
,
"1"
);
Rest
<
Map
<
String
,
Integer
>>
rest
=
MatterHtmlParseUtil
.
statSiteMatterCount
(
params
,
url
);
System
.
out
.
println
(
JSON
.
toJSONString
(
rest
));
//
params.put("pageno", "1");
Rest<Map<String, Integer>> rest = MatterHtmlParseUtil.statSiteMatter
Dept
Count(params, url);
System.out.println(JSON.toJSONString(rest));
*/
/*
List<MatterEntity> allList = new ArrayList<>();
String url1 = "http://www.sczwfw.gov.cn/jiq/interface/item/tags";
...
...
@@ -282,6 +337,7 @@ public class MatterHtmlParseUtil {
Rest<Map<String, String>> rest1 = MatterHtmlParseUtil.syncDeptBySiteId(params, url);
System.out.println(JSON.toJSONString(rest1));
*/
}
...
...
base-manager/src/main/java/com/mortals/xhx/common/utils/SyncGovMatterDetailThread.java
View file @
faec8751
...
...
@@ -69,15 +69,15 @@ public class SyncGovMatterDetailThread implements Runnable {
@Override
public
void
run
()
{
log
.
info
(
"同步站点事项开始....."
);
Rest
<
String
>
deptRest
=
deptService
.
syncDeptBySiteId
(
siteEntity
,
context
);
log
.
info
(
"同步站点部门:"
+
JSON
.
toJSONString
(
deptRest
));
//
Rest<String> deptRest = deptService.syncDeptBySiteId(siteEntity, context);
//
log.info("同步站点部门:" + JSON.toJSONString(deptRest));
Rest
<
String
>
rest
=
siteService
.
syncMatterBySiteId
(
siteEntity
,
context
);
AreaEntity
areaEntity
=
areaService
.
getCache
(
siteEntity
.
getAreaCode
());
log
.
info
(
"同步事项列表:"
+
JSON
.
toJSONString
(
rest
));
if
(
rest
.
getCode
()
==
YesNoEnum
.
YES
.
getValue
())
{
List
<
MatterEntity
>
matterEntityList
=
matterService
.
find
(
new
MatterQuery
().
areaCode
(
siteEntity
.
getAreaCode
()).
source
(
SourceEnum
.
政务网
.
getValue
()));
List
<
MatterEntity
>
unSyncDetailMatterList
=
matterEntityList
.
stream
()
//
.filter(f -> f.getHaveGetMatterInfo().equalsIgnoreCase("false"))
.
filter
(
f
->
f
.
getHaveGetMatterInfo
().
equalsIgnoreCase
(
"false"
))
.
collect
(
Collectors
.
toList
());
//查询站点事项相关
...
...
base-manager/src/main/java/com/mortals/xhx/daemon/task/StatSiteDeptMatterTaskImpl.java
View file @
faec8751
...
...
@@ -6,6 +6,10 @@ import com.mortals.framework.service.ITaskExcuteService;
import
com.mortals.xhx.module.dept.model.DeptEntity
;
import
com.mortals.xhx.module.dept.model.DeptQuery
;
import
com.mortals.xhx.module.dept.service.DeptService
;
import
com.mortals.xhx.module.matter.model.MatterEntity
;
import
com.mortals.xhx.module.matter.model.MatterQuery
;
import
com.mortals.xhx.module.matter.service.MatterService
;
import
com.mortals.xhx.module.matters.service.MattersService
;
import
com.mortals.xhx.module.site.model.SiteMatterQuery
;
import
com.mortals.xhx.module.site.service.SiteMatterService
;
import
com.mortals.xhx.module.site.service.SiteService
;
...
...
@@ -25,7 +29,7 @@ public class StatSiteDeptMatterTaskImpl implements ITaskExcuteService {
@Autowired
private
DeptService
deptService
;
@Autowired
private
SiteMatterService
siteM
atterService
;
private
MatterService
m
atterService
;
@Override
...
...
@@ -33,11 +37,16 @@ public class StatSiteDeptMatterTaskImpl implements ITaskExcuteService {
log
.
info
(
"开始同步事项列表!"
);
List
<
DeptEntity
>
deptEntities
=
deptService
.
find
(
new
DeptQuery
());
for
(
DeptEntity
deptEntity
:
deptEntities
)
{
int
total
=
siteMatterService
.
count
(
new
SiteMatterQuery
().
deptId
(
deptEntity
.
getId
()),
null
);
int
total
=
matterService
.
count
(
new
MatterQuery
().
deptCode
(
deptEntity
.
getDeptNumber
()),
null
);
if
(
total
>
0
)
{
deptEntity
.
setTotal
(
total
);
deptEntity
.
setUpdateTime
(
new
Date
());
deptService
.
update
(
deptEntity
,
null
);
DeptEntity
deptQuery
=
new
DeptEntity
();
deptQuery
.
setTotal
(
total
);
deptQuery
.
setUpdateTime
(
new
Date
());
DeptEntity
condition
=
new
DeptEntity
();
condition
.
setId
(
deptEntity
.
getId
());
deptService
.
getDao
().
update
(
deptQuery
,
condition
);
// deptService.update(deptEntity, null);
}
}
...
...
base-manager/src/main/java/com/mortals/xhx/daemon/task/SyncUserTaskImpl.java
View file @
faec8751
...
...
@@ -28,7 +28,7 @@ import java.util.List;
* 同步用户
*/
@Slf4j
@Service
(
"SyncUserTask"
)
//
@Service("SyncUserTask")
public
class
SyncUserTaskImpl
implements
ITaskExcuteService
{
@Autowired
...
...
@@ -48,8 +48,6 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
userService
.
updateUserList
(
list
.
getData
().
getData
());
//resourceService.updateUserList();
/* UserPdu userPdu = new UserPdu();
...
...
base-manager/src/main/java/com/mortals/xhx/module/app/service/impl/AppServiceImpl.java
View file @
faec8751
...
...
@@ -17,8 +17,10 @@ import com.mortals.framework.model.PageInfo;
import
com.mortals.xhx.base.system.upload.service.UploadService
;
import
com.mortals.xhx.common.code.YesNoEnum
;
import
com.mortals.xhx.common.key.Constant
;
import
com.mortals.xhx.common.pdu.app.AppPdu
;
import
com.mortals.xhx.common.utils.BeanUtil
;
import
com.mortals.xhx.common.utils.ZipUtils
;
import
com.mortals.xhx.feign.app.device.IAppFeign
;
import
com.mortals.xhx.module.app.model.*
;
import
com.mortals.xhx.module.app.service.*
;
import
com.mortals.xhx.module.site.model.SiteEntity
;
...
...
@@ -65,6 +67,8 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
private
AppInfoTempleteFieldService
appInfoTempleteFieldService
;
@Autowired
private
AppVersionService
appVersionService
;
@Autowired
private
IAppFeign
appFeign
;
@Override
protected
void
findAfter
(
AppEntity
params
,
PageInfo
pageInfo
,
Context
context
,
List
<
AppEntity
>
list
)
throws
AppException
{
...
...
@@ -320,6 +324,12 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
entity
.
setFilePath
(
null
);
entity
.
setFileName
(
null
);
//判断如果应用下架,通知自助服务终端
if
(
entity
.
getShelves
()==
YesNoEnum
.
NO
.
getValue
()){
AppPdu
appPdu
=
new
AppPdu
();
appPdu
.
setAppId
(
entity
.
getId
());
appFeign
.
forbidden
(
appPdu
);
}
int
iRet
=
this
.
dao
.
update
(
entity
);
if
(
iRet
==
0
)
{
throw
new
AppException
(-
1002
,
"更新失败!"
);
...
...
base-manager/src/main/java/com/mortals/xhx/module/area/service/impl/AreaServiceImpl.java
View file @
faec8751
...
...
@@ -36,7 +36,7 @@ public class AreaServiceImpl extends AbstractCRUDCacheServiceImpl<AreaDao, AreaE
private
BaseAreaService
baseAreaService
;
/*
@Override
@Override
public
void
putCache
(
String
key
,
AreaEntity
data
)
{
super
.
putCache
(
key
,
data
);
//加载孩子关系
...
...
@@ -47,7 +47,7 @@ public class AreaServiceImpl extends AbstractCRUDCacheServiceImpl<AreaDao, AreaE
cacheService
.
lpush
(
childKey
,
item
);
});
}
}
*/
}
@Override
protected
String
getExtKey
(
AreaEntity
data
)
{
...
...
base-manager/src/main/java/com/mortals/xhx/module/dept/service/DeptService.java
View file @
faec8751
...
...
@@ -5,6 +5,7 @@ import com.mortals.framework.model.Context;
import
com.mortals.framework.service.ICRUDCacheService
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.xhx.module.business.model.BusinessEntity
;
import
com.mortals.xhx.module.dept.dao.DeptDao
;
import
com.mortals.xhx.module.dept.model.DeptEntity
;
import
com.mortals.xhx.module.dept.model.DeptQuery
;
import
com.mortals.xhx.module.dept.model.vo.DeptVo
;
...
...
@@ -23,6 +24,7 @@ import java.util.Map;
*/
public
interface
DeptService
extends
ICRUDCacheService
<
DeptEntity
,
Long
>
{
DeptDao
getDao
();
/**
* 同步政务网部门数据
...
...
base-manager/src/main/java/com/mortals/xhx/module/dept/web/DeptController.java
View file @
faec8751
...
...
@@ -156,6 +156,19 @@ public class DeptController extends BaseCRUDJsonBodyMappingController<DeptServic
}
/**
* @param entity
* @param model
* @param context
* @throws AppException
*/
@Override
protected
void
saveBefore
(
DeptEntity
entity
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
DeptEntity
deptEntity
=
this
.
service
.
selectOne
(
new
DeptQuery
().
deptNumber
(
entity
.
getDeptNumber
()));
if
(!
ObjectUtils
.
isEmpty
(
deptEntity
)){
throw
new
AppException
(
"部门编码已存在!"
);
}
entity
.
setSource
(
1
);
super
.
saveBefore
(
entity
,
model
,
context
);
}
}
\ No newline at end of file
base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterEntity.java
View file @
faec8751
package
com.mortals.xhx.module.matter.model
;
import
java.util.*
;
import
java.util.List
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.ArrayList
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.mortals.framework.annotation.Excel
;
...
...
@@ -1694,7 +1692,7 @@ public class MatterEntity extends MatterVo {
@Override
public
int
hashCode
()
{
return
this
.
getId
().
hashCode
(
);
return
Objects
.
hash
(
this
.
areaCode
,
this
.
matterNo
);
}
@Override
...
...
@@ -1702,7 +1700,7 @@ public class MatterEntity extends MatterVo {
if
(
obj
==
null
)
return
false
;
if
(
obj
instanceof
MatterEntity
)
{
MatterEntity
tmp
=
(
MatterEntity
)
obj
;
if
(
this
.
getId
()
==
tmp
.
getId
(
))
{
if
(
(
this
.
getAreaCode
()+
this
.
matterNo
).
equals
(
tmp
.
getAreaCode
()+
tmp
.
matterNo
))
{
return
true
;
}
}
...
...
base-manager/src/main/java/com/mortals/xhx/module/site/service/impl/SiteBusinessServiceImpl.java
View file @
faec8751
...
...
@@ -85,7 +85,6 @@ public class SiteBusinessServiceImpl extends AbstractCRUDCacheServiceImpl<SiteBu
@Override
protected
void
findAfter
(
SiteBusinessEntity
params
,
PageInfo
pageInfo
,
Context
context
,
List
<
SiteBusinessEntity
>
list
)
throws
AppException
{
if
(!
ObjectUtils
.
isEmpty
(
params
.
getIdNotList
()))
{
//排除掉已经存在的ids
log
.
info
(
"idNotList:{}"
,
JSON
.
toJSONString
(
params
.
getIdNotList
()));
...
...
@@ -103,15 +102,15 @@ public class SiteBusinessServiceImpl extends AbstractCRUDCacheServiceImpl<SiteBu
//子节点已经全部选中,删除父节点
iterator
.
remove
();
pageInfo
.
setTotalResult
(
pageInfo
.
getTotalResult
()
-
1
);
}
else
{
childs
.
stream
().
forEach
(
item1
->
{
buildChildBusiness
(
item1
);
});
item
.
setChildren
(
childs
);
buildChildBusiness
(
item
);
}
}
buildChildBusiness
(
item
);
}
}
else
{
list
.
stream
().
peek
(
item
->
{
...
...
@@ -187,10 +186,6 @@ public class SiteBusinessServiceImpl extends AbstractCRUDCacheServiceImpl<SiteBu
//删除
businessService
.
remove
(
mainIds
,
context
);
}
}
...
...
base-manager/src/main/java/com/mortals/xhx/module/site/service/impl/SiteServiceImpl.java
View file @
faec8751
...
...
@@ -27,6 +27,7 @@ import com.mortals.xhx.module.area.model.AreaEntity;
import
com.mortals.xhx.module.area.model.AreaQuery
;
import
com.mortals.xhx.module.area.service.AreaService
;
import
com.mortals.xhx.module.dept.model.DeptEntity
;
import
com.mortals.xhx.module.dept.model.DeptQuery
;
import
com.mortals.xhx.module.dept.service.DeptService
;
import
com.mortals.xhx.module.matter.model.MatterEntity
;
import
com.mortals.xhx.module.matter.model.MatterQuery
;
...
...
@@ -368,14 +369,14 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
private
List
<
SiteTreeSelect
>
getSiteTreeSelects
(
String
userId
)
{
String
siteTreeSelectStr
=
cacheService
.
hget
(
USER_SITE_TREE
,
userId
,
String
.
class
);
log
.
info
(
"userId:{},siteTreeSelectStr:{}"
,
userId
,
siteTreeSelectStr
);
log
.
info
(
"userId:{},siteTreeSelectStr:{}"
,
userId
,
siteTreeSelectStr
);
//反序列化树对象
if
(
ObjectUtils
.
isEmpty
(
siteTreeSelectStr
))
{
if
(
ObjectUtils
.
isEmpty
(
siteTreeSelectStr
))
{
return
new
ArrayList
<>();
}
JSONArray
jsonArray
=
JSON
.
parseArray
(
siteTreeSelectStr
);
if
(
ObjectUtils
.
isEmpty
(
jsonArray
))
{
if
(
ObjectUtils
.
isEmpty
(
jsonArray
))
{
return
new
ArrayList
<>();
}
List
<
SiteTreeSelect
>
collect
=
jsonArray
.
stream
().
map
(
item
->
{
...
...
@@ -554,32 +555,100 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
return
Rest
.
ok
(
allList
);
}
private
List
<
MatterEntity
>
getMatters
(
HashMap
<
String
,
String
>
params
,
Context
context
)
{
String
url
=
GlobalSysInfo
.
getParamValue
(
Constant
.
GOV_MATTER_PAGELIST_URL
,
"http://www.sczwfw.gov.cn/jiq/interface/item/tags"
);
Rest
<
Map
<
String
,
Integer
>>
restStat
=
MatterHtmlParseUtil
.
statSiteMatterCount
(
params
,
url
);
if
(
restStat
.
getCode
()
==
YesNoEnum
.
YES
.
getValue
())
{
Integer
pageNum
=
restStat
.
getData
().
getOrDefault
(
"pageNum"
,
0
);
Integer
total
=
restStat
.
getData
().
getOrDefault
(
"total"
,
0
);
//获取事项全列表
Rest
<
List
<
MatterEntity
>>
matterAllRest
=
this
.
getMatterAllListByGOV
(
params
,
pageNum
,
context
);
if
(
matterAllRest
.
getCode
()
==
YesNoEnum
.
YES
.
getValue
())
{
return
matterAllRest
.
getData
();
}
}
return
new
ArrayList
<
MatterEntity
>();
}
@Override
public
Rest
<
String
>
syncMatterBySiteId
(
SiteEntity
siteEntity
,
Context
context
)
{
//根据站点中区域编码 查询当前是否已经存在事项
//根据站点区域编码查询政务网事项列表
AreaEntity
areaEntity
=
areaService
.
getCache
(
siteEntity
.
getAreaCode
());
String
dxType
=
AreaLevelDxTypeEnum
.
getByValue
(
areaEntity
==
null
?
2
:
areaEntity
.
getAreaLevel
()).
getDesc
();
String
url
=
GlobalSysInfo
.
getParamValue
(
Constant
.
GOV_MATTER_PAGELIST_URL
,
"http://www.sczwfw.gov.cn/jiq/interface/item/tags"
);
HashMap
<
String
,
String
>
params
=
new
HashMap
<>();
//String dxType = AreaLevelDxTypeEnum.getByValue(areaEntity == null ? 2 : areaEntity.getAreaLevel()).getDesc();
// String dxType="2";
//String dxType = "3";
List
<
MatterEntity
>
govMatterList
=
new
ArrayList
<>();
List
<
DeptEntity
>
deptEntities
=
deptService
.
find
(
new
DeptQuery
().
siteId
(
siteEntity
.
getId
()).
source
(
0
));
for
(
DeptEntity
deptEntity
:
deptEntities
)
{
HashMap
<
String
,
String
>
params
=
new
HashMap
<>();
params
.
put
(
"areaCode"
,
areaEntity
.
getAreaCode
());
params
.
put
(
"dxType"
,
"6"
);
params
.
put
(
"deptCode"
,
deptEntity
.
getDeptNumber
());
params
.
put
(
"searchtext"
,
""
);
params
.
put
(
"taskType"
,
""
);
List
<
MatterEntity
>
deptMatterList
=
this
.
getMatters
(
params
,
context
);
if
(!
ObjectUtils
.
isEmpty
(
deptMatterList
))
{
govMatterList
.
addAll
(
deptMatterList
);
}
}
/* HashMap<String, String> params = new HashMap<>();
params.put("dxType", dxType);
params.put("areaCode", siteEntity.getAreaCode());
params.put("deptCode", "");
params.put("searchtext", "");
params.put("taskType", "");
params.put("pageno", "1");
params.put("type", "2");
Rest
<
Map
<
String
,
Integer
>>
restStat
=
MatterHtmlParseUtil
.
statSiteMatterCount
(
params
,
url
);
List<MatterEntity> govMatterList = this.getMatters(params, context);
dxType = "3";
params = new HashMap<>();
params.put("dxType", dxType);
params.put("areaCode", siteEntity.getAreaCode());
params.put("deptCode", "");
params.put("searchtext", "");
params.put("taskType", "");
params.put("pageno", "1");
params.put("type", "2");
List<MatterEntity> mattersTwo = this.getMatters(params, context);
govMatterList.addAll(mattersTwo);*/
List
<
MatterEntity
>
localMatterList
=
matterService
.
find
(
new
MatterQuery
().
areaCode
(
siteEntity
.
getAreaCode
()));
List
<
MatterEntity
>
subList
=
this
.
subList
(
govMatterList
,
localMatterList
);
log
.
info
(
"抓取事项总数:{}需要添加事项数量:{}"
,
govMatterList
.
size
(),
subList
.
size
());
subList
=
subList
.
stream
().
distinct
().
collect
(
Collectors
.
toList
());
log
.
info
(
"需要添加事项过滤后数量:{}"
,
subList
.
size
());
//差集进行插入并更新详细数据
if
(!
ObjectUtils
.
isEmpty
(
subList
))
{
for
(
MatterEntity
matterEntity
:
subList
)
{
DeptEntity
deptCache
=
deptService
.
getExtCache
(
matterEntity
.
getDeptCode
());
matterEntity
.
setDeptName
(
deptCache
==
null
?
""
:
deptCache
.
getName
());
matterService
.
save
(
matterEntity
,
context
);
}
/* List<List<MatterEntity>> partition = ListUtil.partition(subList, 100);
for (List<MatterEntity> matterEntityList : partition) {
log.info("insert subList size:" + matterEntityList.size());
int count = matterService.save(matterEntityList, context);
log.info("insert subList size success:" + count);
}*/
}
/* Rest<Map<String, Integer>> restStat = MatterHtmlParseUtil.statSiteMatterDeptCount(params, url);
if (restStat.getCode() == YesNoEnum.YES.getValue()) {
Integer pageNum = restStat.getData().getOrDefault("pageNum", 0);
Integer total = restStat.getData().getOrDefault("total", 0);
//获取事项全列表
Rest<List<MatterEntity>> matterAllRest = this.getMatterAllListByGOV(params, pageNum, context);
if
(
total
!=
matterAllRest
.
getData
().
size
())
{
log
.
warn
(
String
.
format
(
"抓取事项数量不一致,抓取计划:%d条 ,实际抓取:%d条"
,
total
,
matterAllRest
.
getData
().
size
()));
}
if (matterAllRest.getCode() == YesNoEnum.YES.getValue()) {
List<MatterEntity> govMatterList = matterAllRest.getData();
List<MatterEntity> localMatterList = matterService.find(new MatterQuery().areaCode(siteEntity.getAreaCode()));
...
...
@@ -602,7 +671,7 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
}
}
}
*/
return
Rest
.
ok
(
"同步事项条数成功!"
);
}
...
...
base-manager/src/main/java/com/mortals/xhx/module/site/service/impl/SiteThemeServiceImpl.java
View file @
faec8751
...
...
@@ -41,9 +41,6 @@ import java.util.regex.Pattern;
@Service
(
"siteThemeService"
)
public
class
SiteThemeServiceImpl
extends
AbstractCRUDServiceImpl
<
SiteThemeDao
,
SiteThemeEntity
,
Long
>
implements
SiteThemeService
{
@Autowired
private
SiteService
siteService
;
@Override
public
Rest
<
String
>
syncThemeBySiteId
(
SiteEntity
siteEntity
,
Context
context
)
{
...
...
@@ -151,16 +148,21 @@ public class SiteThemeServiceImpl extends AbstractCRUDServiceImpl<SiteThemeDao,
public
static
void
main
(
String
[]
args
)
{
String
str
=
"
changeTheme('005', '1
')"
;
String
str
=
"
ywblurl('http://www.sczwfw.gov.cn/jiq/front/transition/ywTransToDetail?areaCode=511500000000&itemCode=511A0141700000-511500000000-000-125112007566044888-1-00&taskType=1&deptCode=511501-17','在公路增设或改造平面交叉道口审批
')"
;
/*
String reg = "'.*?'";
Pattern compile = Pattern.compile(reg);
*/
List
<
String
>
allGroups
=
ReUtil
.
findAllGroup0
(
compile
,
str
);
List
<
String
>
allGroups
=
ReUtil
.
findAllGroup0
(
"'(.*?)'"
,
str
);
allGroups
.
forEach
(
item
->
{
System
.
out
.
println
(
item
);
//
System.out.println(item);
});
System
.
out
.
println
(
allGroups
.
get
(
0
));
}
}
\ No newline at end of file
base-manager/src/main/java/com/mortals/xhx/module/window/service/impl/WindowServiceImpl.java
View file @
faec8751
...
...
@@ -184,7 +184,7 @@ public class WindowServiceImpl extends AbstractCRUDCacheServiceImpl<WindowDao, W
}
private
void
pushChangeMsg
(
Long
windowId
)
{
log
.
info
(
"pushChangeMsg:{}"
,
JSON
.
toJSONString
(
windowId
));
//
log.info("pushChangeMsg:{}", JSON.toJSONString(windowId));
String
phpUrl
=
GlobalSysInfo
.
getParamValue
(
PARAM_SERVER_PHP_HTTP_URL
,
"http://172.15.28.116:8090"
);
phpUrl
+=
"/api/window/winNameChange"
;
HashMap
<
String
,
Object
>
paramsMap
=
new
HashMap
<>();
...
...
base-manager/src/test/java/com/mortals/httpclient/area/AreaController.http
View file @
faec8751
...
...
@@ -50,7 +50,7 @@ Accept: application/json
###区域查看
GET {{baseUrl}}/area/getListByRootId?rootId=
6182157d00ce41559e001a89d87f4057
GET {{baseUrl}}/area/getListByRootId?rootId=
0
Accept: application/json
...
...
base-manager/src/test/java/com/mortals/httpclient/dept/DeptController.http
View file @
faec8751
...
...
@@ -4,9 +4,7 @@ POST {{baseUrl}}/dept/list
Content-Type: application/json
{
"name":"qwudiq" ,
"deptAbb":"zudynx" ,
"deptNumber":"w2q60e" ,
"filter":1 ,
"page":1,
"size":10
}
...
...
common-lib/src/main/java/com/mortals/xhx/common/pdu/app/AppPdu.java
0 → 100644
View file @
faec8751
package
com.mortals.xhx.common.pdu.app
;
import
com.mortals.framework.model.BaseEntityLong
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.List
;
/**
* appPdu对象
*
* @author zxfei
* @date 2022-10-26
*/
@Data
public
class
AppPdu
{
/**
* appId
*/
private
Long
appId
;
}
\ No newline at end of file
common-lib/src/main/java/com/mortals/xhx/feign/app/device/IAppFeign.java
0 → 100644
View file @
faec8751
package
com.mortals.xhx.feign.app.device
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.xhx.common.pdu.app.AppPdu
;
import
com.mortals.xhx.feign.IFeign
;
import
feign.hystrix.FallbackFactory
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestHeader
;
/**
* 设备 Feign接口
*
* @author zxfei
* @date 2022-10-26
*/
@FeignClient
(
name
=
"sst-manager"
,
path
=
"/sst"
,
fallbackFactory
=
AppFeignFallbackFactory
.
class
)
public
interface
IAppFeign
extends
IFeign
{
/**
* 设备保存更新
*
* @param appPdu
* @return
*/
@PostMapping
(
value
=
"/apps/forbidden"
)
Rest
<
Void
>
forbidden
(
@RequestBody
AppPdu
appPdu
);
}
@Slf4j
@Component
class
AppFeignFallbackFactory
implements
FallbackFactory
<
IAppFeign
>
{
@Override
public
IAppFeign
create
(
Throwable
t
)
{
return
new
IAppFeign
()
{
@Override
public
Rest
<
Void
>
forbidden
(
AppPdu
appPdu
)
{
return
Rest
.
fail
(
"暂时无法通知,请稍后再试!"
);
}
};
}
}
portal-manager-ui/admin/package-lock.json
View file @
faec8751
This diff is collapsed.
Click to expand it.
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/callRecord.vue
View file @
faec8751
...
...
@@ -264,10 +264,6 @@ export default {
},
//状态
style
:
[
{
key
:
0
,
name
:
"
排队中
"
,
},
{
key
:
1
,
name
:
"
办理中
"
,
...
...
@@ -280,7 +276,6 @@ export default {
//Form数据列表
tableList
:
[],
obj
:
{
0
:
"
排队中
"
,
1
:
"
办理中
"
,
4
:
"
办理完成
"
,
},
...
...
@@ -380,6 +375,7 @@ export default {
//用户模态框
async
openDeclarant
(
item
)
{
await
getPeopleanalyse
({
idcard
:
item
.
people_idcard
,
peopleid
:
item
.
peopleid
,
time
:
this
.
searchForm
.
time
,
}).
then
((
res
)
=>
{
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/components/HandlingDetails.vue
View file @
faec8751
...
...
@@ -107,7 +107,7 @@
>
<span
><i
class=
"lable"
>
叫号设备:
</i
>
{{
dataList
.
window_fromnum
||
"
--
"
}}
</span
>
{{
dataList
.
call_name
||
"
--
"
}}
</span
>
</div>
</div>
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/components/businessInfo.vue
View file @
faec8751
<
template
>
<div
class=
"businessModal"
ref=
"businessModal"
>
<a-modal
:title=
"modalInfo.title"
width=
"400px"
:visible=
"modalInfo.visible"
:confirmLoading=
"modalInfo.confirmLoading"
@
cancel=
"modalClose"
:centered=
"true"
:destroyOnClose=
"true"
:getContainer=
"() => $refs.businessModal"
>
<a-modal
:title=
"modalInfo.title"
:visible=
"modalInfo.visible"
:confirmLoading=
"modalInfo.confirmLoading"
@
cancel=
"modalClose"
:centered=
"true"
:destroyOnClose=
"true"
:getContainer=
"() => $refs.businessModal"
>
<div
class=
"content"
>
<h1>
{{
title
}}
</h1>
<em
v-if=
"dataList.matterlist"
>
关联事项(
{{
dataList
.
matterlist
.
length
}}
)
</em>
<p>
<template
v-for=
"item in dataList.matterlist"
>
<p>
{{
item
}}
</p>
<p>
*
{{
item
}}
</p>
</
template
>
</p>
<h4>
<span>
受理次数
<br
/><i>
{{ dataList.slcount }}
</i></span>
<span>
办结次数
<br
/><i>
{{ dataList.bjcount }}
</i></span>
<span>
好评率
<br
/><i>
{{ dataList.hplv }}
</i></span>
<span>
好评率
<br
/><i>
{{ dataList.hplv }}
%
</i></span>
</h4>
</div>
<
template
slot=
"footer"
>
...
...
@@ -50,7 +49,7 @@ export default {
h1 {
font-size: 17px;
color: #139bfd;
padding: 20px;
padding:
0 20px 20px
20px;
}
em {
...
...
@@ -64,10 +63,12 @@ export default {
p {
padding: 3px 20px;
font-size: 16px;
width:
500px
;
width:
100%
;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
h4 {
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/components/userInfo.vue
View file @
faec8751
<
template
>
<div
class=
"userModal"
ref=
"userModal"
>
<a-modal
:title=
"modalInfo.title"
:width=
"modalInfo.width"
:visible=
"modalInfo.visible"
:confirmLoading=
"modalInfo.confirmLoading"
@
cancel=
"modalClose"
:centered=
"true"
:destroyOnClose=
"true"
:getContainer=
"() => $refs.userModal"
>
<a-modal
:title=
"modalInfo.title"
:width=
"modalInfo.width"
:visible=
"modalInfo.visible"
:confirmLoading=
"modalInfo.confirmLoading"
@
cancel=
"modalClose"
:centered=
"true"
:destroyOnClose=
"true"
:getContainer=
"() => $refs.userModal"
>
<div
class=
"content"
>
<h1>
{{
dataList
.
people_name
}}
</h1>
<h1>
{{
dataList
.
people_name
}}
</h1>
<p>
<span>
{{
dataList
.
people_sex
}}
</span>
<span>
{{
dataList
.
age
}}
</span>
<span>
{{
dataList
.
age
}}
</span>
<span>
{{
dataList
.
people_phone
}}
</span>
</p>
<h2>
<span
>
预约次数
<br
/><i>
{{
dataList
.
ordernum
}}
</i></span
>
<span
>
排队次数
<br
/><i>
{{
dataList
.
quenum
}}
</i></span
>
<span
>
关联业务
<br
/><i>
{{
dataList
.
bus_num
}}
</i></span
>
<span>
预约次数
<br
/><i>
{{
dataList
.
ordernum
}}
</i></span>
<span>
排队次数
<br
/><i>
{{
dataList
.
quenum
}}
</i></span>
<span>
关联业务
<br
/><i>
{{
dataList
.
bus_num
}}
</i></span>
</h2>
</div>
<template
slot=
"footer"
>
<a-button
type=
"primary"
ghost
@
click=
"openBlockchain"
>
查看TA的数据画像
</a-button>
<a-button
type=
"primary"
ghost
@
click=
"openBlockchain"
>
区块链信息
</a-button
>
<a-button
type=
"primary"
ghost
@
click=
"openBlockchain"
>
区块链信息
</a-button>
</
template
>
</a-modal>
<Blockchain
ref=
"Blockchain"
/>
...
...
@@ -48,14 +33,14 @@ export default {
name
:
"
PortalAdminVueUserInfo
"
,
data
()
{
return
{
dataList
:[],
dataList
:
[],
};
},
components
:
{
Blockchain
,
},
mounted
()
{},
mounted
()
{
},
methods
:
{
openBlockchain
()
{
// this.$refs.Blockchain.modalInfo.visible = true;
...
...
@@ -69,30 +54,35 @@ export default {
.userModal {
.content {
h1 {
padding: 20px;
padding:
0
20px;
color: #3bacfd;
font-size: 18px;
}
p {
padding: 20px;
display: flex;
justify-content: flex-start;
align-items: center;
span {
&
+
span {
&
+
span {
margin-left: 30px;
}
}
}
h2 {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px;
background: #f3faff;
span {
font-size: 16px;
text-align: center;
i {
color: #3bacfd;
font-style: normal;
...
...
@@ -100,6 +90,7 @@ export default {
}
}
}
.ant-modal-body {
padding: 0 !important;
min-height: 300px !important;
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/components/workpeopleInfo.vue
View file @
faec8751
<
template
>
<div
class=
"workPeopleModal"
ref=
"workPeopleModal"
>
<a-modal
:title=
"modalInfo.title"
width=
"500px"
:visible=
"modalInfo.visible"
:confirmLoading=
"modalInfo.confirmLoading"
@
cancel=
"modalClose"
:centered=
"true"
:destroyOnClose=
"true"
:getContainer=
"() => $refs.workPeopleModal"
>
<a-modal
:title=
"modalInfo.title"
:visible=
"modalInfo.visible"
:confirmLoading=
"modalInfo.confirmLoading"
@
cancel=
"modalClose"
:centered=
"true"
:destroyOnClose=
"true"
:getContainer=
"() => $refs.workPeopleModal"
>
<div
class=
"content"
>
<div
class=
"workInfo"
>
<div
class=
"left"
>
...
...
@@ -15,14 +14,14 @@
<span><i
class=
"lable"
>
所属部门:
</i>
{{
infoData
.
deptName
||
"
--
"
}}
</span>
<span><i
class=
"lable"
>
政治面貌:
</i>
{{
$codeMap
.
politicalStatus
[
infoData
.
politicalstatus
]
||
"
--
"
}}
</span>
<span><i
class=
"lable"
>
电话:
</i>
{{
infoData
.
mobile
||
"
--
"
}}
</span>
<span
><i
class=
"lable"
>
星级:
</i>
{{
infoData
.
starlevel
+
'
星
'
||
"
--
"
}}
</span>
<span
v-show=
"infoData.starlevel"
><i
class=
"lable"
>
星级:
</i>
{{
infoData
.
starlevel
+
'
星
'
||
"
--
"
}}
</span>
</div>
</div>
</div>
<h2>
<span>
受理业务
<br
/><i>
{{
infoData
.
slbusiness
||
"
0
"
}}
</i></span>
<span>
评价次数
<br
/><i>
{{
infoData
.
pjnum
||
"
0
"
}}
</i></span>
<span>
好评率
<br
/><i>
{{
infoData
.
hplv
||
"
0
"
}}
</i></span>
<span>
好评率
<br
/><i>
{{
infoData
.
hplv
+
'
%
'
||
"
--
"
}}
</i></span>
</h2>
</div>
<template
slot=
"footer"
>
...
...
@@ -72,6 +71,7 @@ export default {
width: 100px;
padding: 0 10px;
img {
max-height: 120px;
width: 100%;
...
...
@@ -94,6 +94,9 @@ export default {
display: inline-block;
width: 49%;
padding: 2px 0;
overflow: hidden; // 溢出部分隐藏
white-space: nowrap; // 文字不换行
text-overflow: ellipsis; // 显示省略号
.lable {
display: inline-block;
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/queueRecord.vue
View file @
faec8751
...
...
@@ -2,27 +2,17 @@
<div
class=
"queueRecord-Container"
>
<div
class=
"header_box"
>
<div>
<a-button
:loading=
"btnLoading"
type=
"success"
@
click=
"handleExportTable"
>
<a-button
:loading=
"btnLoading"
type=
"success"
@
click=
"handleExportTable"
>
<span>
{{
tableSelectedRows
.
length
?
"
导出
"
:
"
导出全部
"
}}
</span>
</a-button>
<b
>
叫号次数:
<i>
{{
tablePagination
.
total
}}
</i>
次
</b
>
<b>
取号次数:
<i>
{{
tablePagination
.
total
}}
</i>
次
</b>
<sub>
统计时间段:
{{
searchForm
.
time
[
0
]
}}
~
{{
searchForm
.
time
[
1
]
}}
</sub>
</div>
<span>
<a-space>
<a-select
v-model=
"searchForm.id"
style=
"width: 120px"
>
<a-select-option
value=
""
>
全部设备
</a-select-option>
<a-select-option
v-for=
"item in deviceData"
:key=
"item.id"
:value=
"item.id"
>
<a-select-option
v-for=
"item in deviceData"
:key=
"item.id"
:value=
"item.id"
>
{{
item
.
name
}}
</a-select-option>
</a-select>
...
...
@@ -34,10 +24,7 @@
</a-select>
<a-range-picker
valueFormat=
"YYYY-MM-DD"
v-model=
"searchForm.time"
>
</a-range-picker>
<a-input
v-model=
"searchForm.flownum"
placeholder=
"请输入排队编号搜索"
>
<a-input
v-model=
"searchForm.flownum"
placeholder=
"请输入排队编号搜索"
>
<a-icon
slot=
"prefix"
type=
"search"
/>
</a-input>
<a-button
type=
"primary"
@
click=
"handleSearch"
>
搜索
</a-button>
...
...
@@ -46,21 +33,11 @@
</span>
</div>
<div
class=
"main"
>
<a-table
size=
"small"
bordered
:row-key=
"(record) => record.id"
:row-selection=
"
{
selectedRowKeys: tableSelectedKeys,
onChange: onSelectChange,
}"
:scroll="{ y: 590 }"
:pagination="tablePagination"
@change="changeTablePage"
:loading="tableLoading"
:columns="tableHeaders"
:dataSource="tableList"
>
<a-table
size=
"small"
bordered
:row-key=
"(record) => record.id"
:row-selection=
"
{
selectedRowKeys: tableSelectedKeys,
onChange: onSelectChange,
}" :scroll="{ y: 590 }" :pagination="tablePagination" @change="changeTablePage" :loading="tableLoading"
:columns="tableHeaders" :dataSource="tableList">
<!-- 序号 -->
<span
slot=
"num"
slot-scope=
"text, record, index"
>
{{
(
tablePagination
.
current
-
1
)
*
tablePagination
.
pageSize
+
index
+
1
...
...
@@ -82,11 +59,7 @@
</
template
>
<!-- 办理业务 -->
<
template
slot=
"business"
slot-scope=
"text"
>
<a
v-if=
"text.business"
@
click=
"openBusiness(text.business, text.businessid)"
>
{{
text
.
business
}}
</a
>
<a
v-if=
"text.business"
@
click=
"openBusiness(text.business, text.businessid)"
>
{{
text
.
business
}}
</a>
<span
v-else
>
--
</span>
</
template
>
<!-- 办理开始时间 -->
...
...
@@ -97,8 +70,8 @@
<
template
slot=
"window_name"
slot-scope=
"text"
>
{{
text
.
window_name
?
text
.
window_name
+
"
-
"
+
text
.
window_fromnum
:
"
--
"
?
text
.
window_name
+
"
-
"
+
text
.
window_fromnum
:
"
--
"
}}
</
template
>
<!-- 工作人员 -->
...
...
@@ -118,13 +91,11 @@
</
template
>
<!-- 状态 -->
<
template
slot=
"style"
slot-scope=
"text"
>
<span
:class=
"
{
'stand-line': text.style === 0,
'on-transact': text.style === 1,
'on-end': text.style === 4,
}"
>
<span
:class=
"
{
'stand-line': text.style === 0,
'on-transact': text.style === 1,
'on-end': text.style === 4,
}">
{{
$codeMap
.
queueState
[
text
.
style
]
}}
</span>
</
template
>
...
...
@@ -381,6 +352,7 @@ export default {
//用户模态框
async
openDeclarant
(
item
)
{
await
getPeopleanalyse
({
idcard
:
item
.
people_idcard
,
peopleid
:
item
.
peopleid
,
time
:
this
.
searchForm
.
time
,
}).
then
((
res
)
=>
{
...
...
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