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
eccf5c70
Commit
eccf5c70
authored
May 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
bdbbe25e
60e1d7a3
Changes
101
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
101 changed files
with
1326 additions
and
1056 deletions
+1326
-1056
base-manager/doc/api.md
base-manager/doc/api.md
+63
-0
base-manager/src/main/java/com/mortals/xhx/base/system/param/service/ParamService.java
...m/mortals/xhx/base/system/param/service/ParamService.java
+1
-0
base-manager/src/main/java/com/mortals/xhx/base/system/param/service/impl/ParamServiceImpl.java
.../xhx/base/system/param/service/impl/ParamServiceImpl.java
+13
-3
base-manager/src/main/java/com/mortals/xhx/busiz/SignRsaDemo.java
...ager/src/main/java/com/mortals/xhx/busiz/SignRsaDemo.java
+79
-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/web/MidSignApiController.java
.../java/com/mortals/xhx/busiz/web/MidSignApiController.java
+70
-31
base-manager/src/main/java/com/mortals/xhx/common/utils/EncryptionUtils.java
...in/java/com/mortals/xhx/common/utils/EncryptionUtils.java
+52
-0
base-manager/src/main/java/com/mortals/xhx/daemon/task/StatSiteDeptMatterTaskImpl.java
...m/mortals/xhx/daemon/task/StatSiteDeptMatterTaskImpl.java
+10
-10
base-manager/src/main/java/com/mortals/xhx/daemon/task/SyncSiteDeviceTaskImpl.java
...a/com/mortals/xhx/daemon/task/SyncSiteDeviceTaskImpl.java
+1
-1
base-manager/src/main/java/com/mortals/xhx/module/app/model/vo/AppVo.java
.../main/java/com/mortals/xhx/module/app/model/vo/AppVo.java
+10
-0
base-manager/src/main/java/com/mortals/xhx/module/app/service/AppService.java
...n/java/com/mortals/xhx/module/app/service/AppService.java
+4
-0
base-manager/src/main/java/com/mortals/xhx/module/app/web/AppController.java
...in/java/com/mortals/xhx/module/app/web/AppController.java
+30
-9
base-manager/src/main/java/com/mortals/xhx/module/dept/model/DeptEntity.java
...in/java/com/mortals/xhx/module/dept/model/DeptEntity.java
+8
-6
base-manager/src/main/java/com/mortals/xhx/module/site/service/impl/SiteBusinessServiceImpl.java
...xhx/module/site/service/impl/SiteBusinessServiceImpl.java
+8
-16
base-manager/src/main/java/com/mortals/xhx/module/site/service/impl/SiteServiceImpl.java
...mortals/xhx/module/site/service/impl/SiteServiceImpl.java
+2
-3
base-manager/src/main/java/com/mortals/xhx/module/site/web/SiteMatterController.java
...com/mortals/xhx/module/site/web/SiteMatterController.java
+5
-4
base-manager/src/test/java/com/mortals/httpclient/app/AppController.http
...c/test/java/com/mortals/httpclient/app/AppController.http
+1
-1
base-manager/src/test/java/com/mortals/httpclient/dept/DeptController.http
...test/java/com/mortals/httpclient/dept/DeptController.http
+1
-0
base-manager/src/test/java/com/mortals/httpclient/matter/MatterController.http
.../java/com/mortals/httpclient/matter/MatterController.http
+1
-1
base-manager/src/test/java/com/mortals/httpclient/site/SiteMatterController.http
...ava/com/mortals/httpclient/site/SiteMatterController.http
+13
-13
base-manager/src/test/java/com/mortals/httpclient/system/system.http
...r/src/test/java/com/mortals/httpclient/system/system.http
+14
-2
portal-manager-ui/admin/.env
portal-manager-ui/admin/.env
+1
-1
portal-manager-ui/admin/.env.development
portal-manager-ui/admin/.env.development
+10
-3
portal-manager-ui/admin/src/api/customer.js
portal-manager-ui/admin/src/api/customer.js
+13
-0
portal-manager-ui/admin/src/api/dataActuary.js
portal-manager-ui/admin/src/api/dataActuary.js
+26
-0
portal-manager-ui/admin/src/api/dataAdmin.js
portal-manager-ui/admin/src/api/dataAdmin.js
+1
-1
portal-manager-ui/admin/src/assets/css/common.less
portal-manager-ui/admin/src/assets/css/common.less
+6
-0
portal-manager-ui/admin/src/views/NotFoundView/NotFoundView.vue
...-manager-ui/admin/src/views/NotFoundView/NotFoundView.vue
+1
-1
portal-manager-ui/admin/src/views/dataActuary/behaviour/eventanalyse/eventanalyse.vue
...views/dataActuary/behaviour/eventanalyse/eventanalyse.vue
+1
-1
portal-manager-ui/admin/src/views/dataActuary/behaviour/information/information.vue
...c/views/dataActuary/behaviour/information/information.vue
+1
-1
portal-manager-ui/admin/src/views/dataActuary/behaviour/module.vue
...nager-ui/admin/src/views/dataActuary/behaviour/module.vue
+1
-1
portal-manager-ui/admin/src/views/dataActuary/behaviour/pageanalyse/pageAnalyse.vue
...c/views/dataActuary/behaviour/pageanalyse/pageAnalyse.vue
+1
-1
portal-manager-ui/admin/src/views/dataActuary/behaviour/pathanalyse/pathAnalyse.vue
...c/views/dataActuary/behaviour/pathanalyse/pathAnalyse.vue
+1
-1
portal-manager-ui/admin/src/views/dataActuary/behaviour/product/product.vue
...admin/src/views/dataActuary/behaviour/product/product.vue
+1
-1
portal-manager-ui/admin/src/views/dataActuary/behaviour/usinghabit/usinghabit.vue
...src/views/dataActuary/behaviour/usinghabit/usinghabit.vue
+1
-1
portal-manager-ui/admin/src/views/dataActuary/business/analysiscontent/index.vue
.../src/views/dataActuary/business/analysiscontent/index.vue
+26
-17
portal-manager-ui/admin/src/views/dataActuary/business/basecontent/index.vue
...dmin/src/views/dataActuary/business/basecontent/index.vue
+83
-89
portal-manager-ui/admin/src/views/dataActuary/business/index.vue
...manager-ui/admin/src/views/dataActuary/business/index.vue
+3
-3
portal-manager-ui/admin/src/views/dataActuary/portrayal/index.vue
...anager-ui/admin/src/views/dataActuary/portrayal/index.vue
+3
-3
portal-manager-ui/admin/src/views/dataActuary/portrayal/portrayalBase/index.vue
...n/src/views/dataActuary/portrayal/portrayalBase/index.vue
+2
-2
portal-manager-ui/admin/src/views/dataActuary/portrayal/register/index.vue
.../admin/src/views/dataActuary/portrayal/register/index.vue
+3
-3
portal-manager-ui/admin/src/views/dataAdmin/components/AIEfficiency/module.vue
...in/src/views/dataAdmin/components/AIEfficiency/module.vue
+1
-1
portal-manager-ui/admin/src/views/dataAdmin/components/AIEfficiency/reportForm.vue
...rc/views/dataAdmin/components/AIEfficiency/reportForm.vue
+252
-220
portal-manager-ui/admin/src/views/dataAdmin/components/IOT/alerting.vue
...-ui/admin/src/views/dataAdmin/components/IOT/alerting.vue
+2
-2
portal-manager-ui/admin/src/views/dataAdmin/components/IOT/module.vue
...er-ui/admin/src/views/dataAdmin/components/IOT/module.vue
+1
-1
portal-manager-ui/admin/src/views/dataAdmin/components/Impossible/index.vue
...admin/src/views/dataAdmin/components/Impossible/index.vue
+2
-2
portal-manager-ui/admin/src/views/dataAdmin/components/Impossible/module.vue
...dmin/src/views/dataAdmin/components/Impossible/module.vue
+1
-1
portal-manager-ui/admin/src/views/dataAdmin/components/SMS/SMSRecord.vue
...ui/admin/src/views/dataAdmin/components/SMS/SMSRecord.vue
+2
-2
portal-manager-ui/admin/src/views/dataAdmin/components/easyPoliticsShow/PoliticsShow.vue
...ws/dataAdmin/components/easyPoliticsShow/PoliticsShow.vue
+269
-158
portal-manager-ui/admin/src/views/dataAdmin/components/easyPoliticsShow/module.vue
...rc/views/dataAdmin/components/easyPoliticsShow/module.vue
+1
-1
portal-manager-ui/admin/src/views/dataAdmin/components/evaluationRecordReport/departmentEvaluation.vue
...omponents/evaluationRecordReport/departmentEvaluation.vue
+20
-77
portal-manager-ui/admin/src/views/dataAdmin/components/evaluationRecordReport/matterEvaluation.vue
...in/components/evaluationRecordReport/matterEvaluation.vue
+20
-77
portal-manager-ui/admin/src/views/dataAdmin/components/evaluationRecordReport/module.vue
...ws/dataAdmin/components/evaluationRecordReport/module.vue
+1
-1
portal-manager-ui/admin/src/views/dataAdmin/components/evaluationRecordReport/windowEvaluation.vue
...in/components/evaluationRecordReport/windowEvaluation.vue
+20
-75
portal-manager-ui/admin/src/views/dataAdmin/components/fillRecordReport/fillForm.vue
.../views/dataAdmin/components/fillRecordReport/fillForm.vue
+2
-2
portal-manager-ui/admin/src/views/dataAdmin/components/fillRecordReport/module.vue
...rc/views/dataAdmin/components/fillRecordReport/module.vue
+1
-1
portal-manager-ui/admin/src/views/dataAdmin/components/makeRecordReport/makeRecordReport.vue
...ataAdmin/components/makeRecordReport/makeRecordReport.vue
+2
-2
portal-manager-ui/admin/src/views/dataAdmin/components/makeRecordReport/module.vue
...rc/views/dataAdmin/components/makeRecordReport/module.vue
+1
-1
portal-manager-ui/admin/src/views/dataAdmin/components/makeRecordReport/recordReportdetails.vue
...Admin/components/makeRecordReport/recordReportdetails.vue
+1
-1
portal-manager-ui/admin/src/views/dataAdmin/components/microOfficialWebsite/microForm.vue
...s/dataAdmin/components/microOfficialWebsite/microForm.vue
+2
-2
portal-manager-ui/admin/src/views/dataAdmin/components/microOfficialWebsite/module.vue
...iews/dataAdmin/components/microOfficialWebsite/module.vue
+1
-1
portal-manager-ui/admin/src/views/dataAdmin/components/networkGovernance/callRecordForm.vue
...dataAdmin/components/networkGovernance/callRecordForm.vue
+4
-4
portal-manager-ui/admin/src/views/dataAdmin/components/networkGovernance/components/FormDetails.vue
...n/components/networkGovernance/components/FormDetails.vue
+1
-1
portal-manager-ui/admin/src/views/dataAdmin/components/networkGovernance/module.vue
...c/views/dataAdmin/components/networkGovernance/module.vue
+1
-1
portal-manager-ui/admin/src/views/dataAdmin/components/networkGovernance/networkForm.vue
...ws/dataAdmin/components/networkGovernance/networkForm.vue
+2
-2
portal-manager-ui/admin/src/views/dataAdmin/components/oneYardPass/module.vue
...min/src/views/dataAdmin/components/oneYardPass/module.vue
+1
-1
portal-manager-ui/admin/src/views/dataAdmin/components/oneYardPass/reportForm.vue
...src/views/dataAdmin/components/oneYardPass/reportForm.vue
+2
-2
portal-manager-ui/admin/src/views/dataAdmin/components/pickUp/depositRecord.vue
...n/src/views/dataAdmin/components/pickUp/depositRecord.vue
+2
-2
portal-manager-ui/admin/src/views/dataAdmin/components/pickUp/module.vue
...ui/admin/src/views/dataAdmin/components/pickUp/module.vue
+1
-1
portal-manager-ui/admin/src/views/dataAdmin/components/pickUp/otherRecord.vue
...min/src/views/dataAdmin/components/pickUp/otherRecord.vue
+2
-2
portal-manager-ui/admin/src/views/dataAdmin/components/pickUp/pickUpRecord.vue
...in/src/views/dataAdmin/components/pickUp/pickUpRecord.vue
+2
-2
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/callRecord.vue
...n/src/views/dataAdmin/components/queueCall/callRecord.vue
+22
-51
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/components/businessInfo.vue
...ataAdmin/components/queueCall/components/businessInfo.vue
+1
-1
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/components/userInfo.vue
...ws/dataAdmin/components/queueCall/components/userInfo.vue
+2
-2
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/components/workpeopleInfo.vue
...aAdmin/components/queueCall/components/workpeopleInfo.vue
+2
-2
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/queueRecord.vue
.../src/views/dataAdmin/components/queueCall/queueRecord.vue
+21
-51
portal-manager-ui/admin/src/views/dataAdmin/components/sampleRecordReport/module.vue
.../views/dataAdmin/components/sampleRecordReport/module.vue
+1
-1
portal-manager-ui/admin/src/views/dataAdmin/components/sampleRecordReport/sampleForm.vue
...ws/dataAdmin/components/sampleRecordReport/sampleForm.vue
+2
-2
portal-manager-ui/admin/src/views/dataAdmin/components/serviceDataAnalyse/heatRanking.vue
...s/dataAdmin/components/serviceDataAnalyse/heatRanking.vue
+1
-1
portal-manager-ui/admin/src/views/dataAdmin/components/serviceDataAnalyse/makeTrendResearch.vue
...Admin/components/serviceDataAnalyse/makeTrendResearch.vue
+1
-1
portal-manager-ui/admin/src/views/home/components/changePassword.vue
...ger-ui/admin/src/views/home/components/changePassword.vue
+1
-1
portal-manager-ui/admin/src/views/home/home.vue
portal-manager-ui/admin/src/views/home/home.vue
+3
-3
portal-manager-ui/admin/src/views/signIn/signIn.vue
portal-manager-ui/admin/src/views/signIn/signIn.vue
+1
-1
portal-manager-ui/admin/src/views/thePlatformIsSet/components/APIServe/APIServe.vue
...c/views/thePlatformIsSet/components/APIServe/APIServe.vue
+1
-1
portal-manager-ui/admin/src/views/thePlatformIsSet/components/applService.vue
...min/src/views/thePlatformIsSet/components/applService.vue
+1
-1
portal-manager-ui/admin/src/views/thePlatformIsSet/components/logService/Service.vue
.../views/thePlatformIsSet/components/logService/Service.vue
+1
-1
portal-manager-ui/admin/src/views/thePlatformIsSet/components/menuManagement/components/addEdit.vue
...ormIsSet/components/menuManagement/components/addEdit.vue
+2
-2
portal-manager-ui/admin/src/views/thePlatformIsSet/components/menuManagement/menuMgmt.vue
...s/thePlatformIsSet/components/menuManagement/menuMgmt.vue
+2
-2
portal-manager-ui/admin/src/views/thePlatformIsSet/components/permissionsModel/authorityMis.vue
...latformIsSet/components/permissionsModel/authorityMis.vue
+2
-2
portal-manager-ui/admin/src/views/thePlatformIsSet/components/permissionsModel/components/EditPwd.vue
...mIsSet/components/permissionsModel/components/EditPwd.vue
+1
-1
portal-manager-ui/admin/src/views/thePlatformIsSet/components/permissionsModel/components/EditUser.vue
...IsSet/components/permissionsModel/components/EditUser.vue
+1
-1
portal-manager-ui/admin/src/views/thePlatformIsSet/components/permissionsModel/components/addEditRole.vue
...et/components/permissionsModel/components/addEditRole.vue
+1
-1
portal-manager-ui/admin/src/views/thePlatformIsSet/components/permissionsModel/components/addUser.vue
...mIsSet/components/permissionsModel/components/addUser.vue
+1
-1
portal-manager-ui/admin/src/views/thePlatformIsSet/components/permissionsModel/setMenuPerms.vue
...latformIsSet/components/permissionsModel/setMenuPerms.vue
+1
-1
portal-manager-ui/admin/src/views/thePlatformIsSet/components/permissionsModel/userManagement.vue
...tformIsSet/components/permissionsModel/userManagement.vue
+2
-2
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/InterfaceManage/components/Details.vue
...tManage/components/InterfaceManage/components/Details.vue
+3
-3
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/addEditAppName.vue
...et/components/productManage/components/addEditAppName.vue
+1
-1
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/appManage/components/Details.vue
...productManage/components/appManage/components/Details.vue
+1
-1
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/docData/components/Details.vue
...s/productManage/components/docData/components/Details.vue
+1
-1
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/productManage.vue
...ePlatformIsSet/components/productManage/productManage.vue
+43
-41
smart-gateway/src/main/resources/bootstrap.yml
smart-gateway/src/main/resources/bootstrap.yml
+9
-0
No files found.
base-manager/doc/api.md
View file @
eccf5c70
...
...
@@ -13468,6 +13468,69 @@ msg|String|消息|-
```
## 人员流量统计
### 查询人员流量统计报表
**请求URL:**
refined/realtime/dataflow/stat/list
**请求方式:**
POST
**内容类型:**
application/json;charset=utf-8
**简要描述:**
查询人员流量统计
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
page|Integer|否|当前页
size|Integer|否|每页条数,值为-1,查询所有记录
**请求样例:**
```
{
"page":1,
"size":10
}
```
**响应参数:**
参数名称|参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
 
per_page|Integer|每页条数
 
total|Integer|总条数
 
last_page|Integer|总页数
 
current_page|Integer|当前页
 
data|array|结果集列表|数组
  
id|Long|主键ID,主键,自增长
  
siteId|Long|站点Id
  
siteName|String|站点名称
  
personSum|Integer|人流总数
  
strangerSum|Integer|陌生人数量
  
recoginzeSum|Integer|识别注册群众数量
  
year|Integer|年
  
month|Integer|月
  
day|Integer|日
  
hour|Integer|小时
  
createTime|Date|创建时间
  
createUserId|Long|创建人id
  
updateTime|Date|更新时间
  
updateUserId|Long|更新人id
dict|object|字典对象
**响应消息样例:**
```
{
"code":1,
"data":{
}
}
```
## 字典附录
...
...
base-manager/src/main/java/com/mortals/xhx/base/system/param/service/ParamService.java
View file @
eccf5c70
...
...
@@ -43,5 +43,6 @@ public interface ParamService extends ICRUDCacheService<ParamEntity, Long>, IPar
* @return
*/
Map
<
String
,
String
>
getParamBySecondOrganize
(
String
firstOrganize
,
String
secondOrganize
,
String
...
excludeParamKeys
);
Map
<
String
,
String
>
getParamBySecondOrganizeOrder
(
String
firstOrganize
,
String
secondOrganize
,
String
...
excludeParamKeys
);
}
\ No newline at end of file
base-manager/src/main/java/com/mortals/xhx/base/system/param/service/impl/ParamServiceImpl.java
View file @
eccf5c70
...
...
@@ -12,9 +12,7 @@ import com.mortals.xhx.base.system.param.model.ParamEntity;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
org.springframework.stereotype.Service
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -76,6 +74,18 @@ public class ParamServiceImpl extends AbstractCRUDCacheServiceImpl<ParamDao, Par
}
public
Map
<
String
,
String
>
getParamBySecondOrganizeOrder
(
String
firstOrganize
,
String
secondOrganize
,
String
...
excludeParamKeys
)
{
List
<
ParamEntity
>
list
=
this
.
getCacheList
();
return
list
.
stream
()
.
filter
(
f
->
firstOrganize
.
equals
(
f
.
getFirstOrganize
()))
.
filter
(
f
->
secondOrganize
.
equals
(
f
.
getSecondOrganize
()))
.
filter
(
s
->
!
Arrays
.
asList
(
excludeParamKeys
).
contains
(
s
.
getParamKey
())
).
sorted
(
Comparator
.
comparing
(
ParamEntity:
:
getDisplayType
)).
collect
(
Collectors
.
toMap
(
x
->
x
.
getParamKey
(),
y
->
y
.
getParamValue
(),
(
o
,
n
)
->
n
,
LinkedHashMap:
:
new
));
}
@Override
public
boolean
needRefresh
()
{
if
(
super
.
cacheService
.
isShareCache
())
{
...
...
base-manager/src/main/java/com/mortals/xhx/busiz/SignRsaDemo.java
0 → 100644
View file @
eccf5c70
package
com.mortals.xhx.busiz
;
import
org.apache.commons.codec.binary.Base64
;
import
javax.crypto.Cipher
;
import
java.security.KeyFactory
;
import
java.security.interfaces.RSAPrivateKey
;
import
java.security.interfaces.RSAPublicKey
;
import
java.security.spec.PKCS8EncodedKeySpec
;
import
java.security.spec.X509EncodedKeySpec
;
public
class
SignRsaDemo
{
static
String
PUBLICKEY
=
"MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIwYDUWp+QkuihFJxWJmAQ0ZmdTVbOg7yETtckUZkUQ6JUKEzKz9UIbmjrKS8kLY39QDjyzCuOzBR2eF2ZrS89MCAwEAAQ=="
;
static
String
user
=
"yibinTFTB"
;
static
String
pwd
=
"f82c10dea5fc4936853ff90e576ac216"
;
/**
* RSA公钥加密
*
* @param str 加密字符串
* @param publicKey 公钥
* @return 密文
* @throws Exception 加密过程中的异常信息
*/
public
static
String
encrypt
(
String
str
,
String
publicKey
)
throws
Exception
{
//base64编码的公钥
byte
[]
decoded
=
Base64
.
decodeBase64
(
publicKey
);
RSAPublicKey
pubKey
=
(
RSAPublicKey
)
KeyFactory
.
getInstance
(
"RSA"
)
.
generatePublic
(
new
X509EncodedKeySpec
(
decoded
));
//RSA加密
Cipher
cipher
=
Cipher
.
getInstance
(
"RSA"
);
cipher
.
init
(
Cipher
.
ENCRYPT_MODE
,
pubKey
);
String
outStr
=
Base64
.
encodeBase64String
(
cipher
.
doFinal
(
str
.
getBytes
(
"UTF-8"
)));
return
outStr
;
}
/**
* RSA私钥解密
*
* @param str 加密字符串
* @param privateKey 私钥
* @return 明文
* @throws Exception 解密过程中的异常信息
*/
public
static
String
decrypt
(
String
str
,
String
privateKey
)
throws
Exception
{
//64位解码加密后的字符串
byte
[]
inputByte
=
Base64
.
decodeBase64
(
str
.
getBytes
(
"UTF-8"
));
//base64编码的私钥
byte
[]
decoded
=
Base64
.
decodeBase64
(
privateKey
);
RSAPrivateKey
priKey
=
(
RSAPrivateKey
)
KeyFactory
.
getInstance
(
"RSA"
)
.
generatePrivate
(
new
PKCS8EncodedKeySpec
(
decoded
));
//RSA解密
Cipher
cipher
=
Cipher
.
getInstance
(
"RSA"
);
cipher
.
init
(
Cipher
.
DECRYPT_MODE
,
priKey
);
String
outStr
=
new
String
(
cipher
.
doFinal
(
inputByte
));
return
outStr
;
}
public
static
void
main
(
String
[]
args
)
throws
Exception
{
Long
curTime
=
System
.
currentTimeMillis
();
System
.
out
.
println
(
"====== curTime:"
+
curTime
);
String
pwdRsa
=
pwd
+
"#"
+
curTime
;
System
.
out
.
println
(
"====== pwdRsa:"
+
pwdRsa
);
pwdRsa
=
encrypt
(
pwdRsa
,
PUBLICKEY
);
System
.
out
.
println
(
"====== pwdRsa:"
+
pwdRsa
);
String
param
=
"{\"USER\":\""
+
user
+
"\",\"PWD\":\""
+
pwdRsa
+
"\"}"
;
System
.
out
.
println
(
"====== param:"
+
param
);
param
=
Base64
.
encodeBase64String
(
param
.
getBytes
(
"UTF-8"
));
System
.
out
.
println
(
"====== param:"
+
param
);
String
request
=
"{\"idCardNo\":\"41010229611620007X\",\"orgNo\":\"10080000\"}"
;
request
=
Base64
.
encodeBase64String
(
request
.
getBytes
(
"UTF-8"
));
System
.
out
.
println
(
"====== request:"
+
request
);
}
}
base-manager/src/main/java/com/mortals/xhx/busiz/req/MidReq.java
View file @
eccf5c70
...
...
@@ -16,5 +16,8 @@ public class MidReq{
private
String
path
;
//1 sha加密 2 rsa加密提交
private
Integer
type
;
}
base-manager/src/main/java/com/mortals/xhx/busiz/web/MidSignApiController.java
View file @
eccf5c70
...
...
@@ -12,7 +12,9 @@ import com.mortals.xhx.busiz.req.MidReq;
import
com.mortals.xhx.busiz.rsp.SignResp
;
import
com.mortals.xhx.common.utils.EncryptionUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.codec.binary.Base64
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -32,7 +34,7 @@ import java.util.Map;
@Slf4j
public
class
MidSignApiController
{
@Value
(
"${mid.midUrl:http://1
72.15.28.117:9000
}"
)
@Value
(
"${mid.midUrl:http://1
12.19.80.237:9000/masm_agent
}"
)
private
String
midUrl
;
@Value
(
"${mid.appId:01C67D56D0630517}"
)
...
...
@@ -44,6 +46,14 @@ public class MidSignApiController {
@Value
(
"${mid.secretKey:ad80c59e575a78ab}"
)
private
String
secretKey
;
@Value
(
"${mid.publickey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIwYDUWp+QkuihFJxWJmAQ0ZmdTVbOg7yETtckUZkUQ6JUKEzKz9UIbmjrKS8kLY39QDjyzCuOzBR2eF2ZrS89MCAwEAAQ==}"
)
private
String
publickey
=
""
;
@Value
(
"${mid.user:yibinTFTB}"
)
private
String
user
;
@Value
(
"${mid.pwd:f82c10dea5fc4936853ff90e576ac216}"
)
private
String
pwd
;
@PostMapping
(
value
=
"sign"
)
@UnAuth
public
Rest
<
SignResp
>
midSign
(
@RequestBody
MidReq
midReq
)
{
...
...
@@ -51,7 +61,7 @@ public class MidSignApiController {
try
{
Map
<
String
,
String
>
headerMap
=
new
HashMap
<>();
if
(
"post"
.
equalsIgnoreCase
(
midReq
.
getMethod
()))
{
if
(
"post"
.
equalsIgnoreCase
(
midReq
.
getMethod
()))
{
headerMap
.
put
(
"appId"
,
appId
);
headerMap
.
put
(
"appKey"
,
appKey
);
JSONObject
object1
=
JSONObject
.
parseObject
(
midReq
.
getBody
());
...
...
@@ -67,14 +77,14 @@ public class MidSignApiController {
signResp
.
setTimeStamp
(
timeStamp
);
signResp
.
setNonce
(
nonce
);
signResp
.
setSecretKey
(
secretKey
);
}
else
if
(
"get"
.
equalsIgnoreCase
(
midReq
.
getMethod
()))
{
}
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
());
}
}
}
else
{
}
else
{
}
...
...
@@ -96,13 +106,14 @@ public class MidSignApiController {
signResp
.
setSign
(
sign
);
return
Rest
.
ok
(
signResp
);
}
catch
(
Exception
e
)
{
log
.
error
(
"签名异常"
,
e
);
log
.
error
(
"签名异常"
,
e
);
return
Rest
.
fail
(
"签名异常!"
);
}
}
/**
* 透传请求
*
* @param midReq
* @return
*/
...
...
@@ -119,20 +130,8 @@ public class MidSignApiController {
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());
}
}*/
}
else
{
JSONObject
object1
=
JSONObject
.
parseObject
(
midReq
.
getBody
());
headerMap
.
put
(
"body"
,
object1
.
toJSONString
());
}
JSONObject
object
=
JSONObject
.
parseObject
(
midReq
.
getBody
());
headerMap
.
put
(
"body"
,
object
.
toJSONString
());
signSb
.
append
(
"appId"
).
append
(
"="
).
append
(
headerMap
.
get
(
"appId"
)).
append
(
"&"
);
signSb
.
append
(
"appKey"
).
append
(
"="
).
append
(
headerMap
.
get
(
"appKey"
)).
append
(
"&"
);
...
...
@@ -144,22 +143,62 @@ public class MidSignApiController {
log
.
info
(
"签名源字符串: "
+
signStr
);
String
sign
=
EncryptionUtils
.
SHA256
(
signStr
);
log
.
info
(
"签名计算结果: "
+
sign
);
headerMap
.
put
(
"sign"
,
sign
);
//请求转发
String
fullUrl
=
UrlBuilder
.
ofHttp
(
midUrl
).
addPath
(
midReq
.
getPath
()).
build
();
//String fullUrl = URLUtil.completeUrl(midUrl, midReq.getPath());
log
.
info
(
"mid url:{},body:{}"
,
fullUrl
,
headerMap
.
get
(
"body"
));
String
body
=
HttpUtil
.
createRequest
(
Method
.
POST
,
fullUrl
).
headerMap
(
headerMap
,
true
).
body
(
headerMap
.
get
(
"body"
)).
execute
().
body
();
JSONObject
bodyJson
=
JSONObject
.
parseObject
(
body
);
log
.
info
(
"mid resp:"
+
bodyJson
.
toJSONString
());
return
Rest
.
ok
(
bodyJson
.
toJSONString
());
if
(
ObjectUtils
.
isEmpty
(
midReq
.
getType
())
||
midReq
.
getType
()
==
2
)
{
//rsa提交
//todo 添加rsa非对称加密
String
pwdRsa
=
pwd
+
"#"
+
timeStamp
;
pwdRsa
=
EncryptionUtils
.
encrypt
(
pwdRsa
,
publickey
);
String
param
=
"{\"USER\":\""
+
user
+
"\",\"PWD\":\""
+
pwdRsa
+
"\"}"
;
param
=
Base64
.
encodeBase64String
(
param
.
getBytes
(
"UTF-8"
));
headerMap
.
put
(
"param"
,
param
);
String
request
=
Base64
.
encodeBase64String
(
object
.
toJSONString
().
getBytes
(
"UTF-8"
));
JSONObject
reqBody
=
new
JSONObject
();
reqBody
.
put
(
"request"
,
request
);
String
fullUrl
=
midUrl
+
midReq
.
getPath
();
log
.
info
(
"url:{} \n body:{} \n"
,
fullUrl
,
reqBody
.
toJSONString
());
String
body
=
HttpUtil
.
createRequest
(
Method
.
POST
,
fullUrl
).
headerMap
(
headerMap
,
true
).
body
(
reqBody
.
toJSONString
()).
execute
().
body
();
JSONObject
bodyJson
=
JSONObject
.
parseObject
(
body
);
log
.
info
(
"mid resp:"
+
bodyJson
.
toJSONString
());
return
Rest
.
ok
(
bodyJson
.
toJSONString
());
}
else
{
//sha加密提交
String
fullUrl
=
midUrl
+
midReq
.
getPath
();
if
(
"post"
.
equalsIgnoreCase
(
midReq
.
getMethod
()))
{
log
.
info
(
"mid post url:{},body:{}"
,
fullUrl
,
headerMap
.
get
(
"body"
));
String
body
=
HttpUtil
.
createRequest
(
Method
.
POST
,
fullUrl
).
headerMap
(
headerMap
,
true
).
body
(
headerMap
.
get
(
"body"
)).
execute
().
body
();
JSONObject
bodyJson
=
JSONObject
.
parseObject
(
body
);
log
.
info
(
"mid resp:"
+
bodyJson
.
toJSONString
());
return
Rest
.
ok
(
bodyJson
.
toJSONString
());
}
else
if
(
"get"
.
equalsIgnoreCase
(
midReq
.
getMethod
()))
{
Map
<
String
,
Object
>
paramsMap
=
JSON
.
parseObject
(
midReq
.
getBody
(),
HashMap
.
class
);
log
.
info
(
"mid get url:{},body:{}"
,
fullUrl
,
JSON
.
toJSONString
(
paramsMap
));
// if (!paramsMap.isEmpty()) {
// for (Map.Entry<String, Object> entry : paramsMap.entrySet()) {
// headerMap.put(entry.getKey(), entry.getValue());
// }
// }
String
body
=
HttpUtil
.
createRequest
(
Method
.
GET
,
fullUrl
).
headerMap
(
headerMap
,
true
).
form
(
paramsMap
).
execute
().
body
();
JSONObject
bodyJson
=
JSONObject
.
parseObject
(
body
);
log
.
info
(
"mid resp:"
+
bodyJson
.
toJSONString
());
return
Rest
.
ok
(
bodyJson
.
toJSONString
());
}
else
{
log
.
info
(
"mid post url:{},body:{}"
,
fullUrl
,
headerMap
.
get
(
"body"
));
String
body
=
HttpUtil
.
createRequest
(
Method
.
POST
,
fullUrl
).
headerMap
(
headerMap
,
true
).
body
(
headerMap
.
get
(
"body"
)).
execute
().
body
();
JSONObject
bodyJson
=
JSONObject
.
parseObject
(
body
);
log
.
info
(
"mid resp:"
+
bodyJson
.
toJSONString
());
return
Rest
.
ok
(
bodyJson
.
toJSONString
());
}
}
}
catch
(
Exception
e
)
{
log
.
error
(
"透传请求异常"
,
e
);
log
.
error
(
"透传请求异常"
,
e
);
return
Rest
.
fail
(
"透传请求异常!"
);
}
}
}
base-manager/src/main/java/com/mortals/xhx/common/utils/EncryptionUtils.java
View file @
eccf5c70
package
com.mortals.xhx.common.utils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.codec.binary.Base64
;
import
javax.crypto.Cipher
;
import
java.security.KeyFactory
;
import
java.security.MessageDigest
;
import
java.security.interfaces.RSAPrivateKey
;
import
java.security.interfaces.RSAPublicKey
;
import
java.security.spec.PKCS8EncodedKeySpec
;
import
java.security.spec.X509EncodedKeySpec
;
@Slf4j
public
class
EncryptionUtils
{
...
...
@@ -60,4 +67,49 @@ public class EncryptionUtils {
public
final
static
String
SHA256
(
String
s
){
return
digest
(
s
,
DigestType
.
SHA256
);
}
/**
* RSA公钥加密
*
* @param str 加密字符串
* @param publicKey 公钥
* @return 密文
* @throws Exception 加密过程中的异常信息
*/
public
static
String
encrypt
(
String
str
,
String
publicKey
)
throws
Exception
{
//base64编码的公钥
byte
[]
decoded
=
Base64
.
decodeBase64
(
publicKey
);
RSAPublicKey
pubKey
=
(
RSAPublicKey
)
KeyFactory
.
getInstance
(
"RSA"
)
.
generatePublic
(
new
X509EncodedKeySpec
(
decoded
));
//RSA加密
Cipher
cipher
=
Cipher
.
getInstance
(
"RSA"
);
cipher
.
init
(
Cipher
.
ENCRYPT_MODE
,
pubKey
);
String
outStr
=
Base64
.
encodeBase64String
(
cipher
.
doFinal
(
str
.
getBytes
(
"UTF-8"
)));
return
outStr
;
}
/**
* RSA私钥解密
*
* @param str 加密字符串
* @param privateKey 私钥
* @return 明文
* @throws Exception 解密过程中的异常信息
*/
public
static
String
decrypt
(
String
str
,
String
privateKey
)
throws
Exception
{
//64位解码加密后的字符串
byte
[]
inputByte
=
Base64
.
decodeBase64
(
str
.
getBytes
(
"UTF-8"
));
//base64编码的私钥
byte
[]
decoded
=
Base64
.
decodeBase64
(
privateKey
);
RSAPrivateKey
priKey
=
(
RSAPrivateKey
)
KeyFactory
.
getInstance
(
"RSA"
)
.
generatePrivate
(
new
PKCS8EncodedKeySpec
(
decoded
));
//RSA解密
Cipher
cipher
=
Cipher
.
getInstance
(
"RSA"
);
cipher
.
init
(
Cipher
.
DECRYPT_MODE
,
priKey
);
String
outStr
=
new
String
(
cipher
.
doFinal
(
inputByte
));
return
outStr
;
}
}
base-manager/src/main/java/com/mortals/xhx/daemon/task/StatSiteDeptMatterTaskImpl.java
View file @
eccf5c70
...
...
@@ -18,6 +18,7 @@ import lombok.extern.slf4j.Slf4j;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -38,17 +39,16 @@ public class StatSiteDeptMatterTaskImpl implements ITaskExcuteService {
log
.
info
(
"开始同步事项列表!"
);
List
<
DeptEntity
>
deptEntities
=
deptService
.
find
(
new
DeptQuery
());
for
(
DeptEntity
deptEntity
:
deptEntities
)
{
int
total
=
matterService
.
count
(
new
MatterQuery
().
source
(
SourceEnum
.
政务网
.
getValue
()).
deptCode
(
deptEntity
.
getDeptNumber
()),
null
);
if
(
total
>
0
)
{
DeptEntity
deptQuery
=
new
DeptEntity
();
deptQuery
.
setTotal
(
total
);
deptQuery
.
setUpdateTime
(
new
Date
());
DeptEntity
condition
=
new
DeptEntity
();
condition
.
setId
(
deptEntity
.
getId
());
deptService
.
getDao
().
update
(
deptQuery
,
condition
);
}
MatterQuery
matterQuery
=
new
MatterQuery
();
matterQuery
.
setEventTypeShowNotList
(
Arrays
.
asList
(
"行政处罚"
));
int
total
=
matterService
.
count
(
matterQuery
.
source
(
SourceEnum
.
政务网
.
getValue
()).
deptCode
(
deptEntity
.
getDeptNumber
()),
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
);
}
}
...
...
base-manager/src/main/java/com/mortals/xhx/daemon/task/SyncSiteDeviceTaskImpl.java
View file @
eccf5c70
...
...
@@ -55,7 +55,7 @@ public class SyncSiteDeviceTaskImpl implements ITaskExcuteService {
devicePdu
.
setSiteId
(
site
.
getId
());
devicePdu
.
setSize
(-
1
);
Rest
<
RespData
<
List
<
DevicePdu
>>>
deviceRest
=
deviceFeign
.
list
(
devicePdu
);
log
.
info
(
"deviceRest:{}"
,
JSON
.
toJSONString
(
deviceRest
));
//
log.info("deviceRest:{}", JSON.toJSONString(deviceRest));
if
(
YesNoEnum
.
YES
.
getValue
()
==
deviceRest
.
getCode
())
{
List
<
DevicePdu
>
devicePduList
=
deviceRest
.
getData
().
getData
();
if
(!
ObjectUtils
.
isEmpty
(
devicePduList
))
{
...
...
base-manager/src/main/java/com/mortals/xhx/module/app/model/vo/AppVo.java
View file @
eccf5c70
...
...
@@ -45,4 +45,14 @@ public class AppVo extends BaseEntityLong {
*/
private
String
deviceCode
;
/**
* 源app
*/
private
Long
sourceAppId
;
/**
* 目标app
*/
private
Long
targetAppId
;
}
\ No newline at end of file
base-manager/src/main/java/com/mortals/xhx/module/app/service/AppService.java
View file @
eccf5c70
...
...
@@ -27,6 +27,10 @@ public interface AppService extends ICRUDService<AppEntity, Long> {
Rest
<
String
>
cloneAppsBySites
(
List
<
AppEntity
>
appList
,
List
<
SiteEntity
>
siteList
,
Context
context
);
Rest
<
String
>
cloneAppBySameSite
(
AppEntity
appEntity
,
Context
context
);
AppDao
getAppDao
();
}
\ No newline at end of file
base-manager/src/main/java/com/mortals/xhx/module/app/web/AppController.java
View file @
eccf5c70
...
...
@@ -73,8 +73,8 @@ public class AppController extends BaseCRUDJsonBodyMappingController<AppService,
@Override
protected
void
doListBefore
(
AppEntity
query
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
String
serverName
=
request
.
getHeader
(
"server-name"
);
Integer
serverPort
=
DataUtil
.
converStr2Int
(
request
.
getHeader
(
"server-port"
),
0
);
log
.
info
(
"【应用请求】【请求体】-->serverName{} ,port:{}"
,
serverName
,
serverPort
);
Integer
serverPort
=
DataUtil
.
converStr2Int
(
request
.
getHeader
(
"server-port"
),
0
);
log
.
info
(
"【应用请求】【请求体】-->serverName{} ,port:{}"
,
serverName
,
serverPort
);
query
.
setServerName
(
serverName
);
query
.
setServerPort
(
serverPort
);
super
.
doListBefore
(
query
,
model
,
context
);
...
...
@@ -86,7 +86,7 @@ public class AppController extends BaseCRUDJsonBodyMappingController<AppService,
entity
.
setApplianceSiteScope
(
appEntityList
.
size
());
entity
.
setSiteIdList
(
appEntityList
.
stream
().
map
(
AppEntity:
:
getSiteId
).
collect
(
Collectors
.
toList
()));
SiteEntity
siteEntity
=
siteService
.
getCache
(
entity
.
getSiteId
().
toString
());
if
(!
ObjectUtils
.
isEmpty
(
siteEntity
))
{
if
(!
ObjectUtils
.
isEmpty
(
siteEntity
))
{
//请求地址 http://domian/app/siteCode/appcode/html
String
domainUrl
=
GlobalSysInfo
.
getParamValue
(
Constant
.
PARAM_SERVER_HTTP_URL
,
"http://192.168.0.98:11078"
);
entity
.
setCustUrl
(
UrlBuilder
.
of
(
domainUrl
)
...
...
@@ -95,7 +95,7 @@ public class AppController extends BaseCRUDJsonBodyMappingController<AppService,
.
addPath
(
entity
.
getAppCode
())
.
addPath
(
entity
.
getVersion
().
toString
())
.
toString
());
}
else
{
}
else
{
entity
.
setCustUrl
(
""
);
}
return
super
.
infoAfter
(
id
,
model
,
entity
,
context
);
...
...
@@ -168,10 +168,31 @@ public class AppController extends BaseCRUDJsonBodyMappingController<AppService,
return
rest
;
}
/**
* app应用克隆给本站点
*/
@PostMapping
(
value
=
"cloneAppBySameSite"
)
public
Rest
<
Void
>
cloneAppBySameSite
(
@RequestBody
AppEntity
appQuery
)
{
String
busiDesc
=
this
.
getModuleDesc
()
+
"自助服务应用部署克隆"
;
Rest
<
Void
>
rest
=
Rest
.
ok
(
busiDesc
+
" 【成功】"
);
try
{
if
(
ObjectUtils
.
isEmpty
(
appQuery
.
getSourceAppId
()))
{
throw
new
AppException
(
"源appId不能为空!"
);
}
if
(
ObjectUtils
.
isEmpty
(
appQuery
.
getTargetAppId
()))
{
throw
new
AppException
(
"目标appId不能为空!"
);
}
Rest
<
String
>
cloneRest
=
this
.
service
.
cloneAppBySameSite
(
appQuery
,
getContext
());
if
(
YesNoEnum
.
NO
.
getValue
()==
cloneRest
.
getCode
()){
return
Rest
.
fail
(
cloneRest
.
getMsg
());
}
recordSysLog
(
request
,
busiDesc
+
" 【成功】"
);
}
catch
(
Exception
e
)
{
log
.
error
(
"应用克隆异常"
,
e
);
rest
=
Rest
.
fail
(
super
.
convertException
(
e
));
}
return
rest
;
}
public
static
void
main
(
String
[]
args
)
{
...
...
@@ -182,7 +203,7 @@ public class AppController extends BaseCRUDJsonBodyMappingController<AppService,
String s = UrlBuilder.of(domainUrl).addPath("app").addPath("1").addPath("2").toString();
System.out.println(s);*/
ZipUtil
.
unzip
(
"F://1672973316144.zip"
,
"E://abc"
);
ZipUtil
.
unzip
(
"F://1672973316144.zip"
,
"E://abc"
);
}
...
...
base-manager/src/main/java/com/mortals/xhx/module/dept/model/DeptEntity.java
View file @
eccf5c70
...
...
@@ -3,6 +3,7 @@ package com.mortals.xhx.module.dept.model;
import
java.util.List
;
import
java.util.ArrayList
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
com.mortals.framework.annotation.Excel
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.xhx.module.dept.model.vo.DeptVo
;
...
...
@@ -43,6 +44,7 @@ public class DeptEntity extends DeptVo {
/**
* 部门电话
*/
@JsonInclude
(
JsonInclude
.
Include
.
ALWAYS
)
private
String
deptTelphone
;
/**
* 部门编号
...
...
@@ -391,19 +393,19 @@ public class DeptEntity extends DeptVo {
this
.
tid
=
null
;
this
.
tname
=
null
;
this
.
tname
=
""
;
this
.
name
=
null
;
this
.
name
=
""
;
this
.
simpleName
=
null
;
this
.
simpleName
=
""
;
this
.
siteId
=
null
;
this
.
deptAbb
=
null
;
this
.
deptAbb
=
""
;
this
.
deptTelphone
=
null
;
this
.
deptTelphone
=
""
;
this
.
deptNumber
=
null
;
this
.
deptNumber
=
""
;
this
.
isAutotable
=
1
;
...
...
base-manager/src/main/java/com/mortals/xhx/module/site/service/impl/SiteBusinessServiceImpl.java
View file @
eccf5c70
...
...
@@ -6,9 +6,7 @@ import com.mortals.framework.model.Context;
import
com.mortals.framework.model.PageInfo
;
import
com.mortals.framework.model.Result
;
import
com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl
;
import
com.mortals.framework.utils.PageUtils
;
import
com.mortals.xhx.common.code.IsBusinessEnum
;
import
com.mortals.xhx.common.utils.MemoryPagination
;
import
com.mortals.xhx.module.business.model.BusinessEntity
;
import
com.mortals.xhx.module.business.model.BusinessMatterEntity
;
import
com.mortals.xhx.module.business.model.BusinessMatterQuery
;
...
...
@@ -55,10 +53,6 @@ public class SiteBusinessServiceImpl extends AbstractCRUDCacheServiceImpl<SiteBu
*/
@Override
protected
SiteBusinessEntity
findBefore
(
SiteBusinessEntity
params
,
PageInfo
pageInfo
,
Context
context
)
throws
AppException
{
//查询所有
pageInfo
.
setCurrPage
(
1
);
pageInfo
.
setPrePageResult
(-
1
);
if
(!
ObjectUtils
.
isEmpty
(
params
.
getIdNotList
()))
{
Set
<
Long
>
notIdSet
=
params
.
getIdNotList
().
stream
().
collect
(
Collectors
.
toSet
());
//排除掉了父级,但是子集存在,需要吧父id排除到notlist外
...
...
@@ -91,8 +85,6 @@ public class SiteBusinessServiceImpl extends AbstractCRUDCacheServiceImpl<SiteBu
@Override
protected
void
findAfter
(
SiteBusinessEntity
params
,
PageInfo
pageInfo
,
Context
context
,
List
<
SiteBusinessEntity
>
list
)
throws
AppException
{
//重新内存分页
list
=
MemoryPagination
.
pagination
(
list
,
params
.
getSize
()
==
-
1
?
list
.
size
()
:
params
.
getSize
(),
params
.
getPage
());
if
(!
ObjectUtils
.
isEmpty
(
params
.
getIdNotList
()))
{
//排除掉已经存在的ids
log
.
info
(
"idNotList:{}"
,
JSON
.
toJSONString
(
params
.
getIdNotList
()));
...
...
@@ -180,19 +172,19 @@ public class SiteBusinessServiceImpl extends AbstractCRUDCacheServiceImpl<SiteBu
SiteBusinessEntity
siteBusinessEntity
=
this
.
get
(
item
);
return
this
.
find
(
new
SiteBusinessQuery
().
parentId
(
siteBusinessEntity
.
getId
())).
stream
();
}).
collect
(
Collectors
.
toList
());
log
.
info
(
"delete childs list:{}"
,
JSON
.
toJSONString
(
childs
));
Long
[]
childIds
=
childs
.
stream
().
map
(
item
->
item
.
getId
()).
toArray
(
Long
[]::
new
);
log
.
info
(
"delete childs list:{}"
,
JSON
.
toJSONString
(
childs
));
Long
[]
childIds
=
childs
.
stream
().
map
(
item
->
item
.
getId
()).
toArray
(
Long
[]::
new
);
this
.
getDao
().
delete
(
childIds
);
Long
[]
bussinessIds
=
childs
.
stream
().
map
(
item
->
item
.
getBusinessId
()).
toArray
(
Long
[]::
new
);
log
.
info
(
"childBussinessIds:{}"
,
JSON
.
toJSONString
(
bussinessIds
));
if
(!
ObjectUtils
.
isEmpty
(
bussinessIds
))
{
businessService
.
remove
(
bussinessIds
,
context
);
Long
[]
bussinessIds
=
childs
.
stream
().
map
(
item
->
item
.
getBusinessId
()).
toArray
(
Long
[]::
new
);
log
.
info
(
"childBussinessIds:{}"
,
JSON
.
toJSONString
(
bussinessIds
));
if
(!
ObjectUtils
.
isEmpty
(
bussinessIds
))
{
businessService
.
remove
(
bussinessIds
,
context
);
}
Long
[]
mainIds
=
this
.
get
(
ids
,
context
).
stream
().
map
(
item
->
item
.
getBusinessId
()).
toArray
(
Long
[]::
new
);
if
(!
ObjectUtils
.
isEmpty
(
mainIds
))
{
if
(!
ObjectUtils
.
isEmpty
(
mainIds
))
{
//删除
businessService
.
remove
(
mainIds
,
context
);
businessService
.
remove
(
mainIds
,
context
);
}
}
...
...
base-manager/src/main/java/com/mortals/xhx/module/site/service/impl/SiteServiceImpl.java
View file @
eccf5c70
...
...
@@ -16,6 +16,7 @@ import com.mortals.framework.util.DataUtil;
import
com.mortals.framework.util.StringUtils
;
import
com.mortals.xhx.base.system.user.service.UserService
;
import
com.mortals.xhx.common.code.AreaLevelDxTypeEnum
;
import
com.mortals.xhx.common.code.AreaLevelEnum
;
import
com.mortals.xhx.common.code.YesNoEnum
;
import
com.mortals.xhx.common.key.Constant
;
import
com.mortals.xhx.common.pdu.RespData
;
...
...
@@ -454,12 +455,10 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
throw
new
AppException
(
"当前站点无子区域!"
);
}
siteAreaVo
.
setAreaCode
(
areaEntity
.
getAreaCode
());
siteAreaVo
.
setAreaName
(
"市本级"
);
siteAreaVo
.
setAreaName
(
AreaLevelEnum
.
getByValue
(
areaEntity
.
getAreaLevel
()).
getValue
()==
AreaLevelEnum
.
地市州
.
getValue
()?
"市本级"
:
areaEntity
.
getName
()
);
List
<
SiteEntity
>
siteEntityList
=
this
.
find
(
new
SiteQuery
().
areaCode
(
areaEntity
.
getAreaCode
()));
// List<SiteEntity> siteIdlist = this.getFlatSitesBySiteId(query.getId(), context);
siteAreaVo
.
setSiteList
(
siteEntityList
);
list
.
add
(
siteAreaVo
);
//两层结构{xxx:[{sitename:xxx},{}...],bbb:[{sitename:xxx},{}...]}
AreaQuery
areaQuery
=
new
AreaQuery
();
areaQuery
.
setPid
(
areaEntity
.
getIid
());
...
...
base-manager/src/main/java/com/mortals/xhx/module/site/web/SiteMatterController.java
View file @
eccf5c70
...
...
@@ -2,6 +2,7 @@ package com.mortals.xhx.module.site.web;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.OrderCol
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.framework.web.BasePhpCRUDJsonMappingController
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
...
...
@@ -13,6 +14,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Map
;
/**
...
...
@@ -41,10 +43,9 @@ public class SiteMatterController extends BaseCRUDJsonBodyMappingController<Site
@Override
protected
void
doListBefore
(
SiteMatterEntity
query
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
super
.
doListBefore
(
query
,
model
,
context
);
if
(
ObjectUtils
.
isEmpty
(
query
.
getEventTypeShowNotList
())){
ArrayList
<
String
>
notList
=
new
ArrayList
<>();
notList
.
add
(
"行政处罚"
);
query
.
setEventTypeShowNotList
(
notList
);
query
.
setOrderColList
(
Arrays
.
asList
(
new
OrderCol
(
"hot"
,
OrderCol
.
DESCENDING
)));
if
(
ObjectUtils
.
isEmpty
(
query
.
getEventTypeShowNotList
()))
{
query
.
setEventTypeShowNotList
(
Arrays
.
asList
(
"行政处罚"
));
}
}
}
\ No newline at end of file
base-manager/src/test/java/com/mortals/httpclient/app/AppController.http
View file @
eccf5c70
...
...
@@ -19,7 +19,7 @@ Content-Type: application/json
{
"page":1,
"size":1
"size":1
0
}
...
...
base-manager/src/test/java/com/mortals/httpclient/dept/DeptController.http
View file @
eccf5c70
...
...
@@ -8,6 +8,7 @@ Content-Type: application/json
"isWorkGuide":1 ,
"filter":1 ,
"page":1,
"source": 0,
"size":-1
}
...
...
base-manager/src/test/java/com/mortals/httpclient/matter/MatterController.http
View file @
eccf5c70
...
...
@@ -124,7 +124,7 @@ client.global.set("Matter_id", JSON.parse(response.body).data.id);
%}
###基础事项查看
GET {{baseUrl}}/matter/info?id=3
4000
GET {{baseUrl}}/matter/info?id=3
9654
Accept: application/json
###基础事项编辑
...
...
base-manager/src/test/java/com/mortals/httpclient/site/SiteMatterController.http
View file @
eccf5c70
...
...
@@ -4,12 +4,12 @@ POST {{baseUrl}}/site/matter/list
Content-Type: application/json
{
"siteId":
1,
"page":
1,
"dept
Code":"008702197"
,
"siteId":
1,
"page":
1,
"dept
Id": 414
,
"display": 1,
"source":
1
,
"size":
10
"source":
0
,
"size":
10
}
...
...
@@ -18,12 +18,12 @@ POST {{baseUrl}}/site/matter/save
Content-Type: application/json
{
"siteId":
2268,
"siteName":
"lrt9zi",
"matterId":
6861,
"matterName":
"cnobgt",
"deptId":
1953,
"deptName":
"ittgh4"
"siteId":
2268,
"siteName":
"lrt9zi",
"matterId":
6861,
"matterName":
"cnobgt",
"deptId":
1953,
"deptName":
"ittgh4"
}
> {%
...
...
@@ -49,8 +49,8 @@ Content-Type: application/json
Authorization: {{authToken}}
{
"siteId":35,
"matterIds":"1"
"siteId":
35,
"matterIds":
"1"
}
...
...
base-manager/src/test/java/com/mortals/httpclient/system/system.http
View file @
eccf5c70
...
...
@@ -122,8 +122,20 @@ Content-Type: application/json
{
"method":"post",
"path":"/api/edge-service-agent/V2.10/59522c3302b699fd/jbxx",
"body":"{\"areaCode\":\"510727000000\"}"
"type": 2,
"path":"/api/edge-service-agent/1.0/46ce3be3269e8894/cxyhbhsfz_",
"body":"{\"idCardNo\":\"41010229611620007X\",\"orgNo\":\"10080000\"}"
}
### trans1
POST {{baseUrl}}/mid/trans
Content-Type: application/json
{
"method":"post",
"type": 2,
"path":"/api/edge-service-agent/1.0/8d0b663762f8bba6/cxbzlb_",
"body":"{\"accountId\":\"1018145\"}"
}
###短信设置编辑
...
...
portal-manager-ui/admin/.env
View file @
eccf5c70
VUE_APP_API_BASE_URL=http://192.168.0.98:11072
\ No newline at end of file
VUE_APP_API_BASE_URL=http://8.136.255.30:11072
\ No newline at end of file
portal-manager-ui/admin/.env.development
View file @
eccf5c70
# 开发环境配置
NODE_ENV = development
VUE_APP_API_BASE_URL=http://
192.168.0.98
:11078
VUE_APP_API_BASE_URL=http://
8.136.255.30
:11078
#图片显示拼接
VUE_APP_API_IMG_URL=http://
192.168.0.98
:11078/
VUE_APP_API_IMG_URL=http://
8.136.255.30
:11078/
#余林
VUE_APP_API_PHP_URL=http://
192.168.0.98
:8090
VUE_APP_API_PHP_URL=http://
8.136.255.30
:8090
#宜宾
#VUE_APP_API_BASE_URL=http://10.12.185.213:11072
#正式
VUE_APP_API_PRP_RUL=http://112.19.80.237:11007
#易政秀报表
VUE_APP_API_TEST_RUL=http://8.136.255.30
portal-manager-ui/admin/src/api/customer.js
0 → 100644
View file @
eccf5c70
import
http
from
"
../request/http
"
;
let
baseURL
=
process
.
env
.
VUE_APP_API_TEST_RUL
let
proURL
=
process
.
env
.
VUE_APP_API_PRP_RUL
;
// 查询客户管理列表
export
function
getCustomer
(
params
)
{
return
http
.
post
(
`
${
baseURL
}
/eas/customer/list`
,
params
);
}
// 窗口列表
export
function
windowList
(
params
)
{
return
http
.
post
(
`
${
proURL
}
/basics_api/base/window/list`
,
params
);
}
portal-manager-ui/admin/src/api/dataActuary.js
View file @
eccf5c70
...
...
@@ -2,6 +2,32 @@ import http from "../request/http";
let
baseURL
=
process
.
env
.
VUE_APP_API_BASE_URL
;
let
BASEURL
=
process
.
env
.
VUE_APP_API_PHP_URL
;
/* 业务数据分析分析 */
//整体情况
export
function
getAllInfo
(
params
)
{
return
http
.
get
(
`
${
BASEURL
}
/inter/statistic/allInfo`
,
params
);
}
//排队取号
export
function
getBusinessInfo
(
params
)
{
return
http
.
get
(
`
${
BASEURL
}
/inter/statistic/businessInfo`
,
params
);
}
//预约情况
export
function
getWyInfo
(
params
)
{
return
http
.
get
(
`
${
BASEURL
}
/inter/statistic/wyInfo`
,
params
);
}
//取号Top
export
function
getTopBusiness
(
params
)
{
return
http
.
get
(
`
${
BASEURL
}
/inter/statistic/topBusiness`
,
params
);
}
//预约Top
export
function
getTopWy
(
params
)
{
return
http
.
get
(
`
${
BASEURL
}
/inter/statistic/topWy`
,
params
);
}
//业务分析
export
function
getBusInfoById
(
params
)
{
return
http
.
get
(
`
${
BASEURL
}
/inter/statistic/busInfoById`
,
params
);
}
/* 使用行为分析 */
//事件分析
export
function
getEventCensus
(
params
)
{
...
...
portal-manager-ui/admin/src/api/dataAdmin.js
View file @
eccf5c70
...
...
@@ -190,4 +190,4 @@ export function getImpossibleInfo(params) {
*/
export
function
getKqalert
(
params
)
{
return
http
.
get
(
`
${
BASEURL
}
/admin/kqalert/list`
,
params
);
}
\ No newline at end of file
}
portal-manager-ui/admin/src/assets/css/common.less
View file @
eccf5c70
...
...
@@ -351,6 +351,7 @@
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
& > div {
display: flex;
justify-content: flex-start;
...
...
@@ -521,3 +522,8 @@
text-overflow: ellipsis;
white-space: nowrap;
}
.addclass {
background: linear-gradient(90deg, #5ab6ff 0%, #2e9aff 100%) !important;
color: #fff !important;
}
\ No newline at end of file
portal-manager-ui/admin/src/views/NotFoundView/NotFoundView.vue
View file @
eccf5c70
...
...
@@ -6,7 +6,7 @@
sub-title=
"Sorry, the page you visited does not exist."
>
<template
#extra
>
<a-button
type=
"primary"
@
click=
"$router.push('/home')"
>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"$router.push('/home')"
>
返回首页
</a-button>
</
template
>
...
...
portal-manager-ui/admin/src/views/dataActuary/behaviour/eventanalyse/eventanalyse.vue
View file @
eccf5c70
...
...
@@ -31,7 +31,7 @@
/>
</a-form-model-item>
<a-form-model-item>
<a-button
type=
"primary"
@
click=
"getList"
>
开始分析
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"getList"
>
开始分析
</a-button>
</a-form-model-item>
</a-form-model>
<div
class=
"mt20"
>
...
...
portal-manager-ui/admin/src/views/dataActuary/behaviour/information/information.vue
View file @
eccf5c70
...
...
@@ -35,7 +35,7 @@
</a-select>
</a-form-model-item>
<a-form-model-item>
<a-button
type=
"primary"
@
click=
"getData"
>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"getData"
>
开始分析
</a-button>
</a-form-model-item>
...
...
portal-manager-ui/admin/src/views/dataActuary/behaviour/module.vue
View file @
eccf5c70
...
...
@@ -97,7 +97,7 @@ export default {
}
}
/deep/.ant-tabs-tab {
font-size: 1
rem
!important;
font-size: 1
4px
!important;
& + .ant-tabs-tab {
margin: 0 !important;
margin-left: 0.7rem !important;
...
...
portal-manager-ui/admin/src/views/dataActuary/behaviour/pageanalyse/pageAnalyse.vue
View file @
eccf5c70
...
...
@@ -13,7 +13,7 @@
<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
type=
"primary"
class=
"addclass"
@
click=
"getData"
>
开始分析
</a-button>
</a-form-model-item>
...
...
portal-manager-ui/admin/src/views/dataActuary/behaviour/pathanalyse/pathAnalyse.vue
View file @
eccf5c70
...
...
@@ -13,7 +13,7 @@
<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
type=
"primary"
class=
"addclass"
@
click=
"getData"
>
开始分析
</a-button>
</a-form-model-item>
...
...
portal-manager-ui/admin/src/views/dataActuary/behaviour/product/product.vue
View file @
eccf5c70
...
...
@@ -25,7 +25,7 @@
</a-select>
</a-form-model-item>
<a-form-model-item>
<a-button
type=
"primary"
@
click=
"getList"
>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"getList"
>
开始分析
</a-button>
</a-form-model-item>
...
...
portal-manager-ui/admin/src/views/dataActuary/behaviour/usinghabit/usinghabit.vue
View file @
eccf5c70
...
...
@@ -13,7 +13,7 @@
<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
type=
"primary"
class=
"addclass"
@
click=
"getData"
>
开始分析
</a-button>
</a-form-model-item>
...
...
portal-manager-ui/admin/src/views/dataActuary/business/analysiscontent/index.vue
View file @
eccf5c70
...
...
@@ -6,7 +6,7 @@
<div
class=
"head_title"
>
分析结果
</div>
</div>
</
template
>
<a-row
type=
"flex"
align=
"middle"
>
<a-row
type=
"flex"
align=
"middle"
v-if=
"formState"
>
<a-col
:span=
"4"
>
<div
class=
"f_40 f_center"
>
{{ formState.name }}
</div>
<div
class=
"f_center"
>
业务名称
</div>
...
...
@@ -24,13 +24,13 @@
</a-col>
<a-col
:span=
"10"
>
<a-form
layout=
"horizontal"
:model=
"formState"
:label-col=
"{span: 4}"
:wrapper-col=
"{span: 20}"
>
<a-form-item
label=
"业务级别:"
>
{{ formState.level }}
</a-form-item>
<a-form-item
label=
"业务级别:"
>
{{ formState.level
? '二级业务' : '一级业务'
}}
</a-form-item>
<a-form-item
label=
"父级业务:"
>
{{ formState.parent_name }}
</a-form-item>
<a-form-item
label=
"关联事项:"
>
<a-tag
v-for=
"(item, index) in formState.matter"
:key=
"index"
>
{{ item.matterName }}
</a-tag>
</a-form-item>
<a-form-item
label=
"是否预约:"
>
{{ formState.canorder ? '允许' : '不允许'}}
</a-form-item>
<a-form-item
label=
"验证方式:"
>
{{
}}
</a-form-item>
<a-form-item
label=
"验证方式:"
>
{{
testWay.join(',')
}}
</a-form-item>
</a-form>
</a-col>
</a-row>
...
...
@@ -64,6 +64,7 @@
<
script
>
import
axios
from
'
axios
'
import
LineChart
from
"
../Component/line/index.vue
"
;
import
{
getBusInfoById
}
from
'
@/api/dataActuary.js
'
export
default
{
components
:{
LineChart
...
...
@@ -98,7 +99,8 @@ import LineChart from "../Component/line/index.vue";
lineData
:
{},
useNumber
:
'
0
'
,
checkName
:
''
,
formState
:
{}
formState
:
{},
testWay
:[]
}
},
mounted
(){
...
...
@@ -108,25 +110,32 @@ import LineChart from "../Component/line/index.vue";
'
$route.query
'
:
{
immediate
:
true
,
handler
(
newVal
,
oldVal
){
this
.
checkName
=
newVal
this
.
getAnalysisData
(
newVal
.
name
)
this
.
checkName
=
newVal
.
name
this
.
getAnalysisData
()
}
}
},
methods
:
{
async
getAnalysisData
(
name
,
val
)
{
if
(
val
==
undefined
)
{
val
=
0
}
await
axios
.
get
(
'
http://192.168.0.98:8090/inter/statistic/busInfoById
'
,{
params
:
{
bus_name
:
name
,
selected
:
val
}}).
then
((
res
)
=>
{
if
(
res
&&
res
.
status
==
200
){
this
.
formState
=
res
.
data
.
data
console
.
log
(
this
.
formState
)
async
getAnalysisData
()
{
const
res
=
await
getBusInfoById
({
bus_name
:
this
.
checkName
,
selected
:
this
.
useNumber
||
0
})
if
(
res
.
code
==
1
){
if
(
res
.
data
.
phone
)
this
.
testWay
.
push
(
'
手机号
'
)
if
(
res
.
data
.
idcardtake
)
this
.
testWay
.
push
(
'
身份证
'
)
if
(
res
.
data
.
face
)
this
.
testWay
.
push
(
'
人脸
'
)
this
.
formState
=
res
.
data
this
.
lineData
=
{
title
:
''
,
legend
:
[
'
排队次数
'
,
'
预约次数
'
],
xData
:
res
.
data
.
qh_list
.
length
>
0
?
res
.
data
.
qh_list
.
map
(
item
=>
item
.
datetime
)
:
res
.
data
.
wy_list
.
map
(
item
=>
item
.
datetime
),
dataList
:
[
{
name
:
'
排队次数
'
,
data
:
res
.
data
.
qh_list
.
map
(
item
=>
item
.
nums
)},
{
name
:
'
预约次数
'
,
data
:
res
.
data
.
wy_list
.
map
(
item
=>
item
.
nums
)},
]
}
}
)
}
},
handleChange
(
val
){
this
.
getAnalysisData
(
this
.
checkName
,
val
)
handleChange
(){
this
.
getAnalysisData
()
}
},
}
...
...
portal-manager-ui/admin/src/views/dataActuary/business/basecontent/index.vue
View file @
eccf5c70
...
...
@@ -236,6 +236,7 @@
<
script
>
import
Pie
from
"
../Component/emptyPie/index.vue
"
import
axios
from
'
axios
'
import
{
getAllInfo
,
getBusinessInfo
,
getWyInfo
,
getTopBusiness
,
getTopWy
}
from
'
@/api/dataActuary.js
'
import
moment
from
"
moment
"
export
default
{
components
:{
...
...
@@ -454,127 +455,120 @@ import moment from "moment"
//获取全部基本数据
async
getAllData
()
{
this
.
nowDate
=
moment
(
new
Date
()).
format
(
'
YYYY-MM-DD h:mm:ss
'
)
await
axios
.
get
(
'
http://192.168.0.98:8090/inter/statistic/allInfo
'
,{
params
:
{
siteid
:
'
1
'
}}).
then
((
res
)
=>
{
if
(
res
&&
res
.
status
==
200
){
this
.
situation
=
res
.
data
.
data
this
.
firstPie
=
{
name
:
'
占比
'
,
val
:
res
.
data
.
data
.
lev1_nums
,
total
:
res
.
data
.
data
.
lev1_not_child_nums
,
color
:
'
#04CA8F
'
}
this
.
secondPie
=
{
name
:
'
占比
'
,
val
:
res
.
data
.
data
.
lev1_has_child_nums
,
total
:
res
.
data
.
data
.
child_nums
,
color
:
'
#6394f9
'
}
const
res
=
await
getAllInfo
()
if
(
res
.
code
==
1
){
this
.
situation
=
res
.
data
this
.
firstPie
=
{
name
:
'
占比
'
,
val
:
res
.
data
.
lev1_nums
,
total
:
res
.
data
.
lev1_not_child_nums
,
color
:
'
#04CA8F
'
}
})
this
.
secondPie
=
{
name
:
'
占比
'
,
val
:
res
.
data
.
lev1_has_child_nums
,
total
:
res
.
data
.
child_nums
,
color
:
'
#6394f9
'
}
}
},
// 排队取号
async
getTakeLineData
()
{
await
axios
.
get
(
'
http://192.168.0.98:8090/inter/statistic/businessInfo
'
,{
params
:
{
siteid
:
'
1
'
}}).
then
((
res
)
=>
{
if
(
res
&&
res
.
status
==
200
){
let
arr
=
res
.
data
.
data
.
info
let
newArr
=
[]
arr
.
forEach
((
item
,
index
)
=>
{
let
obj
=
{
id
:
item
.
id
,
dataIndex
:
item
.
id
,
title
:
item
.
name
,
}
newArr
.
push
(
obj
)
this
.
lineUp
[
0
][
item
.
id
]
=
item
.
lev1_nums
this
.
lineUp
[
1
][
item
.
id
]
=
(
item
.
lev1_rate
*
100
).
toFixed
(
2
)
+
'
%
'
this
.
lineUp
[
2
][
item
.
id
]
=
item
.
lev2_nums
this
.
lineUp
[
3
][
item
.
id
]
=
(
item
.
lev2_rate
*
100
).
toFixed
(
2
)
+
'
%
'
})
this
.
lineUpColumns
=
[...
this
.
lineUpColumns
,
...
newArr
]
this
.
takeLineTotal
=
res
.
data
.
data
.
use_bus_nums
this
.
noTakeLine
=
res
.
data
.
data
.
not_use_bus_nums
this
.
thirdPie
=
{
name
:
'
占比
'
,
val
:
res
.
data
.
data
.
not_use_bus_nums
,
total
:
res
.
data
.
data
.
use_bus_nums
,
color
:
'
#04CA8F
'
const
res
=
await
getBusinessInfo
()
if
(
res
.
code
==
1
){
let
arr
=
res
.
data
.
info
let
newArr
=
[]
arr
.
forEach
((
item
,
index
)
=>
{
let
obj
=
{
id
:
item
.
id
,
dataIndex
:
item
.
id
,
title
:
item
.
name
,
}
newArr
.
push
(
obj
)
this
.
lineUp
[
0
][
item
.
id
]
=
item
.
lev1_nums
this
.
lineUp
[
1
][
item
.
id
]
=
(
item
.
lev1_rate
*
100
).
toFixed
(
2
)
+
'
%
'
this
.
lineUp
[
2
][
item
.
id
]
=
item
.
lev2_nums
this
.
lineUp
[
3
][
item
.
id
]
=
(
item
.
lev2_rate
*
100
).
toFixed
(
2
)
+
'
%
'
})
this
.
lineUpColumns
=
[...
this
.
lineUpColumns
,
...
newArr
]
this
.
takeLineTotal
=
res
.
data
.
use_bus_nums
this
.
noTakeLine
=
res
.
data
.
not_use_bus_nums
this
.
thirdPie
=
{
name
:
'
占比
'
,
val
:
res
.
data
.
not_use_bus_nums
,
total
:
res
.
data
.
use_bus_nums
,
color
:
'
#04CA8F
'
}
}
)
}
},
// 预约情况
async
getAppointmentData
()
{
await
axios
.
get
(
'
http://192.168.0.98:8090/inter/statistic/wyInfo
'
,{
params
:
{
siteid
:
'
1
'
}}).
then
((
res
)
=>
{
if
(
res
&&
res
.
status
==
200
){
let
arr
=
res
.
data
.
data
.
info
let
newArr
=
[]
arr
.
forEach
((
item
,
index
)
=>
{
let
obj
=
{
id
:
item
.
id
,
dataIndex
:
item
.
id
,
title
:
item
.
name
,
}
newArr
.
push
(
obj
)
this
.
appointment
[
0
][
item
.
id
]
=
item
.
lev1_nums
this
.
appointment
[
1
][
item
.
id
]
=
(
item
.
lev1_rate
*
100
).
toFixed
(
2
)
+
'
%
'
this
.
appointment
[
2
][
item
.
id
]
=
item
.
lev2_nums
this
.
appointment
[
3
][
item
.
id
]
=
(
item
.
lev2_rate
*
100
).
toFixed
(
2
)
+
'
%
'
})
this
.
appointmentColumns
=
[...
this
.
appointmentColumns
,
...
newArr
]
this
.
appointmentTotal
=
res
.
data
.
data
.
use_bus_nums
this
.
noAppointment
=
res
.
data
.
data
.
not_use_bus_nums
this
.
fourthPie
=
{
name
:
'
占比
'
,
val
:
res
.
data
.
data
.
not_use_bus_nums
,
total
:
res
.
data
.
data
.
use_bus_nums
,
color
:
'
#04CA8F
'
const
res
=
await
getWyInfo
()
if
(
res
.
code
==
1
){
let
arr
=
res
.
data
.
info
let
newArr
=
[]
arr
.
forEach
((
item
,
index
)
=>
{
let
obj
=
{
id
:
item
.
id
,
dataIndex
:
item
.
id
,
title
:
item
.
name
,
}
newArr
.
push
(
obj
)
this
.
appointment
[
0
][
item
.
id
]
=
item
.
lev1_nums
this
.
appointment
[
1
][
item
.
id
]
=
(
item
.
lev1_rate
*
100
).
toFixed
(
2
)
+
'
%
'
this
.
appointment
[
2
][
item
.
id
]
=
item
.
lev2_nums
this
.
appointment
[
3
][
item
.
id
]
=
(
item
.
lev2_rate
*
100
).
toFixed
(
2
)
+
'
%
'
})
this
.
appointmentColumns
=
[...
this
.
appointmentColumns
,
...
newArr
]
this
.
appointmentTotal
=
res
.
data
.
use_bus_nums
this
.
noAppointment
=
res
.
data
.
not_use_bus_nums
this
.
fourthPie
=
{
name
:
'
占比
'
,
val
:
res
.
data
.
not_use_bus_nums
,
total
:
res
.
data
.
use_bus_nums
,
color
:
'
#04CA8F
'
}
}
)
}
},
// 取号TOP
async
getTakeNumberTop
(
val
){
if
(
val
==
undefined
){
val
=
0
}
await
axios
.
get
(
'
http://192.168.0.98:8090/inter/statistic/topBusiness
'
,{
params
:
{
siteid
:
'
1
'
,
selected
:
val
,
sort
:
'
DESC
'
}}).
then
((
res
)
=>
{
if
(
res
&&
res
.
status
==
200
)
{
this
.
takeNumberTop
=
res
.
data
.
data
}
})
const
res
=
getTopBusiness
({
selected
:
val
,
sort
:
'
DESC
'
})
if
(
res
.
code
==
1
)
{
this
.
takeNumberTop
=
res
.
data
}
},
// 取号Less
async
getTakeNumberLess
(
val
){
if
(
val
==
undefined
){
val
=
0
}
await
axios
.
get
(
'
http://192.168.0.98:8090/inter/statistic/topBusiness
'
,{
params
:
{
siteid
:
'
1
'
,
selected
:
val
,
sort
:
'
ASC
'
}}).
then
((
res
)
=>
{
if
(
res
&&
res
.
status
==
200
)
{
this
.
takeNumberLess
=
res
.
data
.
data
}
})
const
res
=
getTopBusiness
({
selected
:
val
,
sort
:
'
ASC
'
})
if
(
res
.
code
==
1
)
{
this
.
takeNumberLess
=
res
.
data
}
},
// 预约TOP
async
getAppointmentTop
(
val
){
if
(
val
==
undefined
){
val
=
0
}
await
axios
.
get
(
'
http://192.168.0.98:8090/inter/statistic/topWy
'
,{
params
:
{
siteid
:
'
1
'
,
selected
:
val
,
sort
:
'
DESC
'
}}).
then
((
res
)
=>
{
if
(
res
&&
res
.
status
==
200
)
{
this
.
appointmentTop
=
res
.
data
.
data
}
})
const
res
=
getTopWy
({
selected
:
val
,
sort
:
'
DESC
'
})
if
(
res
.
code
==
1
)
{
this
.
appointmentTop
=
res
.
data
}
},
// 预约LESS
async
getAppointmentLess
(
val
){
if
(
val
==
undefined
){
val
=
0
}
await
axios
.
get
(
'
http://192.168.0.98:8090/inter/statistic/topWy
'
,{
params
:
{
siteid
:
'
1
'
,
selected
:
val
,
sort
:
'
ASC
'
}}).
then
((
res
)
=>
{
if
(
res
&&
res
.
status
==
200
)
{
this
.
appointmentLess
=
res
.
data
.
data
}
})
const
res
=
getTopWy
({
selected
:
val
,
sort
:
'
ASC
'
})
if
(
res
.
code
==
1
)
{
this
.
appointmentLess
=
res
.
data
}
},
changeTakeNumberTopDate
(
val
){
this
.
getTakeNumberTop
(
val
)
...
...
@@ -598,10 +592,10 @@ import moment from "moment"
justify-content: flex-start;
align-items: center;
.head_title{
font-weight:
700
;
font-weight:
bold
;
font-style: normal;
font-size: 1
.125rem
;
color: #
0595FD
;
font-size: 1
6px
;
color: #
333
;
margin-right: 1.25rem;
}
.head_desc{
...
...
portal-manager-ui/admin/src/views/dataActuary/business/index.vue
View file @
eccf5c70
...
...
@@ -15,8 +15,8 @@
@
select=
"onSelect"
@
search=
"onSearch"
/>
<a-button
type=
"primary"
@
click=
"startAnalysis"
>
开始分析
</a-button>
<a-button
type=
"primary"
v-if=
"btnShow"
@
click=
"backBase"
>
返回
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"startAnalysis"
>
开始分析
</a-button>
<a-button
type=
"primary"
class=
"addclass"
v-if=
"btnShow"
@
click=
"backBase"
>
返回
</a-button>
</div>
</div>
<div
class=
"content_view"
>
...
...
@@ -130,7 +130,7 @@
}
}
/deep/.ant-tabs-tab {
font-size: 1
rem
!important;
font-size: 1
4px
!important;
& + .ant-tabs-tab {
margin: 0 !important;
margin-left: 0.7rem !important;
...
...
portal-manager-ui/admin/src/views/dataActuary/portrayal/index.vue
View file @
eccf5c70
...
...
@@ -7,8 +7,8 @@
</div>
<div
class=
"searchBox"
>
<a-input
v-model=
"peopleName"
placeholder=
"请输入群众名称搜索"
style=
"width: 35.625rem"
></a-input>
<a-button
type=
"primary"
@
click=
"startAnalysis()"
>
开始分析
</a-button>
<a-button
type=
"primary"
v-if=
"btnShow"
@
click=
"backBase()"
>
返回
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"startAnalysis()"
>
开始分析
</a-button>
<a-button
type=
"primary"
class=
"addclass"
v-if=
"btnShow"
@
click=
"backBase()"
>
返回
</a-button>
</div>
</div>
<div
class=
"content_view"
>
...
...
@@ -92,7 +92,7 @@
}
}
/deep/.ant-tabs-tab {
font-size: 1
rem
!important;
font-size: 1
4px
!important;
& + .ant-tabs-tab {
margin: 0 !important;
margin-left: 0.7rem !important;
...
...
portal-manager-ui/admin/src/views/dataActuary/portrayal/portrayalBase/index.vue
View file @
eccf5c70
...
...
@@ -341,8 +341,8 @@ import moment from "moment"
.head_title{
font-weight: 700;
font-style: normal;
font-size: 1
.125rem
;
color: #
0595FD
;
font-size: 1
6px
;
color: #
333
;
margin-right: 1.25rem;
}
.head_desc{
...
...
portal-manager-ui/admin/src/views/dataActuary/portrayal/register/index.vue
View file @
eccf5c70
...
...
@@ -18,7 +18,7 @@
<a-button
@
click=
""
>
返回
</a-button>
</
template
>
<div
style=
"display: flex;justify-content: space-between;align-items: center;"
>
<a-button
type=
"primary"
>
导出
</a-button>
<a-button
type=
"primary"
class=
"addclass"
>
导出
</a-button>
<diV>
<a-form
layout=
"inline"
:model=
"seacrhForm"
>
<a-form-item>
...
...
@@ -31,7 +31,7 @@
<a-input
placeholder=
"请输入昵称关键字查询"
/>
</a-form-item>
<a-form-item>
<a-button
type=
"primary"
>
搜索
</a-button>
<a-button
type=
"primary"
class=
"addclass"
>
搜索
</a-button>
</a-form-item>
</a-form>
</diV>
...
...
@@ -226,7 +226,7 @@ import Breadcrumb from "../breadcrumb/index.vue";
}
}
/deep/.ant-tabs-tab {
font-size: 1
rem
!important;
font-size: 1
4px
!important;
& + .ant-tabs-tab {
margin: 0 !important;
margin-left: 0.7rem !important;
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/AIEfficiency/module.vue
View file @
eccf5c70
...
...
@@ -95,7 +95,7 @@ export default {
}
}
/deep/.ant-tabs-tab {
font-size: 1
rem
!important;
font-size: 1
4px
!important;
& + .ant-tabs-tab {
margin: 0 !important;
margin-left: 0.7rem !important;
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/AIEfficiency/reportForm.vue
View file @
eccf5c70
This diff is collapsed.
Click to expand it.
portal-manager-ui/admin/src/views/dataAdmin/components/IOT/alerting.vue
View file @
eccf5c70
...
...
@@ -2,7 +2,7 @@
<div
class=
"PoliticsShow-Container"
>
<div
class=
"header_box"
>
<div>
<a-button
type=
"
success"
@
click=
"exportTable"
>
<a-button
type=
"
primary"
class=
"addclass"
@
click=
"exportTable"
>
<span>
{{
tableSelectedRows
.
length
?
"
导出
"
:
"
导出全部
"
}}
</span>
</a-button>
<span>
告警次数:
<i>
256次
</i></span>
...
...
@@ -43,7 +43,7 @@
v-model=
"BegindAndEndTime"
>
</a-range-picker>
<a-button
type=
"primary"
>
搜索
</a-button>
<a-button
type=
"primary"
class=
"addclass"
>
搜索
</a-button>
</span>
</div>
<div
class=
"main"
>
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/IOT/module.vue
View file @
eccf5c70
...
...
@@ -95,7 +95,7 @@ export default {
}
}
/deep/.ant-tabs-tab {
font-size: 1
rem
!important;
font-size: 1
4px
!important;
& + .ant-tabs-tab {
margin: 0 !important;
margin-left: 0.7rem !important;
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/Impossible/index.vue
View file @
eccf5c70
...
...
@@ -2,7 +2,7 @@
<div
class=
"ff p15"
>
<div
class=
"form-box"
>
<div
class=
"num-dv"
>
<a-button
:loading=
"btnLoading"
type=
"
success"
@
click=
"handleExportTable"
>
<a-button
:loading=
"btnLoading"
type=
"
primary"
class=
"addclass"
@
click=
"handleExportTable"
>
<span>
{{
tableSelectedRows
.
length
?
"
导出
"
:
"
导出全部
"
}}
</span>
</a-button>
<div
class=
"ml20"
>
提交总次数:
<span
style=
"color:#1890ff;font-weight: bold;"
>
{{
numObj
?
numObj
.
count
:
0
}}
次
</span></div>
...
...
@@ -27,7 +27,7 @@
<a-input
v-model:value=
"queryform.keyword"
placeholder=
"请输入标题或者名字关键字搜索"
style=
"width: 220px"
/>
</a-form-item>
<a-form-item>
<a-button
type=
"primary"
@
click=
"getlist"
>
搜索
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"getlist"
>
搜索
</a-button>
</a-form-item>
</a-form>
</div>
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/Impossible/module.vue
View file @
eccf5c70
...
...
@@ -95,7 +95,7 @@ export default {
}
}
/deep/.ant-tabs-tab {
font-size: 1
rem
!important;
font-size: 1
4px
!important;
& + .ant-tabs-tab {
margin: 0 !important;
margin-left: 0.7rem !important;
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/SMS/SMSRecord.vue
View file @
eccf5c70
...
...
@@ -4,7 +4,7 @@
<div>
<a-button
:loading=
"btnLoading"
type=
"
success"
type=
"
primary"
class=
"addclass"
@
click=
"handleExportTable"
>
<span>
{{
tableSelectedRows
.
length
?
"
导出
"
:
"
导出全部
"
}}
</span>
...
...
@@ -25,7 +25,7 @@
</a-select-option>
</a-select>
<a-button
type=
"primary"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"handleSearch"
>
搜索
</a-button>
</a-space>
</span>
</div>
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/easyPoliticsShow/PoliticsShow.vue
View file @
eccf5c70
This diff is collapsed.
Click to expand it.
portal-manager-ui/admin/src/views/dataAdmin/components/easyPoliticsShow/module.vue
View file @
eccf5c70
...
...
@@ -99,7 +99,7 @@ export default {
}
}
/deep/.ant-tabs-tab {
font-size: 1
rem
!important;
font-size: 1
4px
!important;
& + .ant-tabs-tab {
margin: 0 !important;
margin-left: 0.7rem !important;
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/evaluationRecordReport/departmentEvaluation.vue
View file @
eccf5c70
...
...
@@ -2,40 +2,21 @@
<div
class=
"callRecord-Container"
>
<div
class=
"header_box"
>
<div>
<a-button
type=
"
success"
@
click=
"handleExportTable"
>
<a-button
type=
"
primary"
class=
"addclass"
@
click=
"handleExportTable"
>
<span>
{{
tableSelectedRows
.
length
?
"
导出
"
:
"
导出全部
"
}}
</span>
</a-button>
<a-button
type=
"danger"
@
click=
"delTable"
>
<span>
批量删除
</span>
</a-button>
<b
>
评价次数:
<i>
{{
evaCount
}}
次
</i></b
>
<sub
>
统计时间段:
{{
BegindAndEndTime
[
0
]
}}
~
{{
BegindAndEndTime
[
1
]
}}
</sub
>
<b>
评价次数:
<i>
{{
evaCount
}}
次
</i></b>
<sub>
统计时间段:
{{
BegindAndEndTime
[
0
]
}}
~
{{
BegindAndEndTime
[
1
]
}}
</sub>
</div>
<span>
<a-space>
<a-select
v-model=
"evaChoose"
placeholder=
"全部评价"
mode=
"multiple"
style=
"max-width: 140px"
>
<a-select-option
v-for=
"item in optonList"
:key=
"item.id"
:value=
"item.id"
>
{{
item
.
name
}}
</a-select-option
>
<a-select
v-model=
"evaChoose"
placeholder=
"全部评价"
mode=
"multiple"
>
<a-select-option
v-for=
"item in optonList"
:key=
"item.id"
:value=
"item.id"
>
{{
item
.
name
}}
</a-select-option>
</a-select>
<a-select
v-model=
"evaFrom"
placeholder=
"全部来源"
mode=
"multiple"
style=
"max-width: 160px"
>
<a-select
v-model=
"evaFrom"
placeholder=
"全部来源"
mode=
"multiple"
>
<a-select-option
value=
"1"
>
窗口评价
</a-select-option>
<a-select-option
value=
"2"
>
自助服务终端
</a-select-option>
<a-select-option
value=
"3"
>
背靠背评价
</a-select-option>
...
...
@@ -44,69 +25,31 @@
<a-select-option
value=
"6"
>
一体化评价
</a-select-option>
</a-select>
<a-range-picker
:allowClear=
"false"
valueFormat=
"YYYY-MM-DD"
style=
"width: 200px"
class=
"range_picker_style"
v-model=
"BegindAndEndTime"
>
<a-range-picker
:allowClear=
"false"
valueFormat=
"YYYY-MM-DD"
style=
"width: 200px"
class=
"range_picker_style"
v-model=
"BegindAndEndTime"
>
</a-range-picker>
<a-input
style=
"width: 280px"
v-model=
"searchName"
placeholder=
"请输入评价人姓名或部门名称搜索"
@
pressEnter=
"handleSearch"
>
<a-input
style=
"width: 280px"
v-model=
"searchName"
placeholder=
"请输入评价人姓名或部门名称搜索"
@
pressEnter=
"handleSearch"
>
<a-icon
slot=
"prefix"
type=
"search"
/>
</a-input>
<a-button
type=
"primary"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
@
click=
"clearnAllChoose"
>
重置
</a-button>
</a-space>
</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="tableSourceData"
>
<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="tableSourceData">
<template
slot=
"评价人照片"
slot-scope=
"text"
>
<a-avatar
v-if=
"!text || !baseurl"
shape=
"square"
:size=
"40"
icon=
"user"
/>
<img
v-else
:src=
"baseurl + '/' + text"
alt=
""
srcset=
""
style=
"max-width: 100px; max-height: 100px"
/>
<a-avatar
v-if=
"!text || !baseurl"
shape=
"square"
:size=
"40"
icon=
"user"
/>
<img
v-else
:src=
"baseurl + '/' + text"
alt=
""
srcset=
""
style=
"max-width: 100px; max-height: 100px"
/>
</
template
>
<
template
slot=
"操作"
slot-scope=
"text, record"
>
<a-button
type=
"link"
style=
"color: #ff7370"
@
click=
"handleDel(record.id)"
>
删除
</a-button
>
<a-button
type=
"link"
@
click=
"openHandlingDetails(record)"
>
详情
</a-button
>
<a-button
type=
"link"
style=
"color: #ff7370"
@
click=
"handleDel(record.id)"
>
删除
</a-button>
<a-button
type=
"link"
@
click=
"openHandlingDetails(record)"
>
详情
</a-button>
</
template
>
</a-table>
<HandlingDetails
ref=
"HandlingDetails"
/>
...
...
@@ -483,7 +426,7 @@ export default {
justify-content: space-between;
align-items: center;
&
>
div {
&
>
div {
display: flex;
justify-content: flex-start;
align-items: center;
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/evaluationRecordReport/matterEvaluation.vue
View file @
eccf5c70
...
...
@@ -2,40 +2,21 @@
<div
class=
"callRecord-Container"
>
<div
class=
"header_box"
>
<div>
<a-button
type=
"
success"
@
click=
"handleExportTable"
>
<a-button
type=
"
primary"
class=
"addclass"
@
click=
"handleExportTable"
>
<span>
{{
tableSelectedRows
.
length
?
"
导出
"
:
"
导出全部
"
}}
</span>
</a-button>
<a-button
type=
"danger"
@
click=
"delTable"
>
<span>
批量删除
</span>
</a-button>
<b
>
评价次数:
<i>
{{
evaCount
}}
次
</i></b
>
<sub
>
统计时间段:
{{
BegindAndEndTime
[
0
]
}}
~
{{
BegindAndEndTime
[
1
]
}}
</sub
>
<b>
评价次数:
<i>
{{
evaCount
}}
次
</i></b>
<sub>
统计时间段:
{{
BegindAndEndTime
[
0
]
}}
~
{{
BegindAndEndTime
[
1
]
}}
</sub>
</div>
<span>
<a-space>
<a-select
v-model=
"evaChoose"
placeholder=
"全部评价"
mode=
"multiple"
style=
"max-width: 140px"
>
<a-select-option
v-for=
"item in optonList"
:key=
"item.id"
:value=
"item.id"
>
{{
item
.
name
}}
</a-select-option
>
<a-select
v-model=
"evaChoose"
placeholder=
"全部评价"
mode=
"multiple"
>
<a-select-option
v-for=
"item in optonList"
:key=
"item.id"
:value=
"item.id"
>
{{
item
.
name
}}
</a-select-option>
</a-select>
<a-select
v-model=
"evaFrom"
placeholder=
"全部来源"
mode=
"multiple"
style=
"max-width: 160px"
>
<a-select
v-model=
"evaFrom"
placeholder=
"全部来源"
mode=
"multiple"
>
<a-select-option
value=
"1"
>
窗口评价
</a-select-option>
<a-select-option
value=
"2"
>
自助服务终端
</a-select-option>
<a-select-option
value=
"3"
>
背靠背评价
</a-select-option>
...
...
@@ -44,69 +25,31 @@
<a-select-option
value=
"6"
>
一体化评价
</a-select-option>
</a-select>
<a-range-picker
:allowClear=
"false"
valueFormat=
"YYYY-MM-DD"
style=
"width: 200px"
class=
"range_picker_style"
v-model=
"BegindAndEndTime"
>
<a-range-picker
:allowClear=
"false"
valueFormat=
"YYYY-MM-DD"
style=
"width: 200px"
class=
"range_picker_style"
v-model=
"BegindAndEndTime"
>
</a-range-picker>
<a-input
style=
"width: 280px"
v-model=
"searchName"
placeholder=
"请输入评价人姓名或排号编号搜索"
@
pressEnter=
"handleSearch"
>
<a-input
style=
"width: 280px"
v-model=
"searchName"
placeholder=
"请输入评价人姓名或排号编号搜索"
@
pressEnter=
"handleSearch"
>
<a-icon
slot=
"prefix"
type=
"search"
/>
</a-input>
<a-button
type=
"primary"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
@
click=
"clearnAllChoose"
>
重置
</a-button>
</a-space>
</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="tableSourceData"
>
<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="tableSourceData">
<template
slot=
"评价人照片"
slot-scope=
"text"
>
<a-avatar
v-if=
"!text || !baseurl"
shape=
"square"
:size=
"40"
icon=
"user"
/>
<img
v-else
:src=
"baseurl + '/' + text"
alt=
""
srcset=
""
style=
"max-width: 100px; max-height: 100px"
/>
<a-avatar
v-if=
"!text || !baseurl"
shape=
"square"
:size=
"40"
icon=
"user"
/>
<img
v-else
:src=
"baseurl + '/' + text"
alt=
""
srcset=
""
style=
"max-width: 100px; max-height: 100px"
/>
</
template
>
<
template
slot=
"操作"
slot-scope=
"text, record"
>
<a-button
type=
"link"
style=
"color: #ff7370"
@
click=
"handleDel(record.id)"
>
删除
</a-button
>
<a-button
type=
"link"
@
click=
"openHandlingDetails(record)"
>
详情
</a-button
>
<a-button
type=
"link"
style=
"color: #ff7370"
@
click=
"handleDel(record.id)"
>
删除
</a-button>
<a-button
type=
"link"
@
click=
"openHandlingDetails(record)"
>
详情
</a-button>
</
template
>
</a-table>
<HandlingDetails
ref=
"HandlingDetails"
/>
...
...
@@ -486,7 +429,7 @@ export default {
justify-content: space-between;
align-items: center;
&
>
div {
&
>
div {
display: flex;
justify-content: flex-start;
align-items: center;
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/evaluationRecordReport/module.vue
View file @
eccf5c70
...
...
@@ -95,7 +95,7 @@ export default {
}
}
/deep/.ant-tabs-tab {
font-size: 1
rem
!important;
font-size: 1
4px
!important;
& + .ant-tabs-tab {
margin: 0 !important;
margin-left: 0.7rem !important;
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/evaluationRecordReport/windowEvaluation.vue
View file @
eccf5c70
...
...
@@ -2,40 +2,21 @@
<div
class=
"callRecord-Container"
>
<div
class=
"header_box"
>
<div>
<a-button
type=
"
success"
@
click=
"handleExportTable"
>
<a-button
type=
"
primary"
class=
"addclass"
@
click=
"handleExportTable"
>
<span>
{{
tableSelectedRows
.
length
?
"
导出
"
:
"
导出全部
"
}}
</span>
</a-button>
<a-button
type=
"danger"
@
click=
"delTable"
>
<span>
批量删除
</span>
</a-button>
<b
>
评价次数:
<i>
{{
evaCount
}}
次
</i></b
>
<sub
>
统计时间段:
{{
BegindAndEndTime
[
0
]
}}
~
{{
BegindAndEndTime
[
1
]
}}
</sub
>
<b>
评价次数:
<i>
{{
evaCount
}}
次
</i></b>
<sub>
统计时间段:
{{
BegindAndEndTime
[
0
]
}}
~
{{
BegindAndEndTime
[
1
]
}}
</sub>
</div>
<span>
<a-space>
<a-select
v-model=
"evaChoose"
placeholder=
"全部评价"
mode=
"multiple"
style=
"max-width: 140px"
>
<a-select-option
v-for=
"item in optonList"
:key=
"item.id"
:value=
"item.id"
>
{{
item
.
name
}}
</a-select-option
>
<a-select
v-model=
"evaChoose"
placeholder=
"全部评价"
mode=
"multiple"
>
<a-select-option
v-for=
"item in optonList"
:key=
"item.id"
:value=
"item.id"
>
{{
item
.
name
}}
</a-select-option>
</a-select>
<a-select
v-model=
"evaFrom"
placeholder=
"全部来源"
mode=
"multiple"
style=
"max-width: 160px"
>
<a-select
v-model=
"evaFrom"
placeholder=
"全部来源"
mode=
"multiple"
>
<a-select-option
value=
"1"
>
窗口评价
</a-select-option>
<a-select-option
value=
"2"
>
自助服务终端
</a-select-option>
<a-select-option
value=
"3"
>
背靠背评价
</a-select-option>
...
...
@@ -44,67 +25,31 @@
<a-select-option
value=
"6"
>
一体化评价
</a-select-option>
</a-select>
<a-range-picker
style=
"width: 200px"
:allowClear=
"false"
valueFormat=
"YYYY-MM-DD"
class=
"range_picker_style"
v-model=
"BegindAndEndTime"
>
<a-range-picker
style=
"width: 200px"
:allowClear=
"false"
valueFormat=
"YYYY-MM-DD"
class=
"range_picker_style"
v-model=
"BegindAndEndTime"
>
</a-range-picker>
<a-input
style=
"width: 280px"
v-model=
"searchName"
placeholder=
"请输入评价人姓名或窗口编号搜索"
@
pressEnter=
"handleSearch"
>
<a-input
style=
"width: 280px"
v-model=
"searchName"
placeholder=
"请输入评价人姓名或窗口编号搜索"
@
pressEnter=
"handleSearch"
>
<a-icon
slot=
"prefix"
type=
"search"
/>
</a-input>
<a-button
type=
"primary"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
@
click=
"clearnAllChoose"
>
重置
</a-button>
</a-space>
</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="tableSourceData"
>
<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="tableSourceData">
<template
slot=
"评价人照片"
slot-scope=
"text"
>
<a-avatar
v-if=
"!text || !baseurl"
shape=
"square"
:size=
"40"
icon=
"user"
/>
<img
v-else
:src=
"baseurl + '/' + text"
style=
"max-width: 100px; max-height: 100px"
/>
<a-avatar
v-if=
"!text || !baseurl"
shape=
"square"
:size=
"40"
icon=
"user"
/>
<img
v-else
:src=
"baseurl + '/' + text"
style=
"max-width: 100px; max-height: 100px"
/>
</
template
>
<
template
slot=
"操作"
slot-scope=
"text, record"
>
<a-button
type=
"link"
style=
"color: #ff7370"
@
click=
"handleDel(record.id)"
>
删除
</a-button
>
<a-button
type=
"link"
@
click=
"openHandlingDetails(record)"
>
详情
</a-button
>
<a-button
type=
"link"
style=
"color: #ff7370"
@
click=
"handleDel(record.id)"
>
删除
</a-button>
<a-button
type=
"link"
@
click=
"openHandlingDetails(record)"
>
详情
</a-button>
</
template
>
</a-table>
<HandlingDetails
ref=
"HandlingDetails"
/>
...
...
@@ -489,7 +434,7 @@ export default {
justify-content: space-between;
align-items: center;
&
>
div {
&
>
div {
display: flex;
justify-content: flex-start;
align-items: center;
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/fillRecordReport/fillForm.vue
View file @
eccf5c70
...
...
@@ -4,7 +4,7 @@
<div>
<a-button
:loading=
"btnLoading"
type=
"
success"
type=
"
primary"
class=
"addclass"
@
click=
"handleExportTable"
>
<span>
{{
tableSelectedRows
.
length
?
"
导出
"
:
"
导出全部
"
}}
</span>
...
...
@@ -50,7 +50,7 @@
>
</a-range-picker>
<a-button
type=
"primary"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
@
click=
"handleReset"
>
重置
</a-button>
</a-space>
</span>
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/fillRecordReport/module.vue
View file @
eccf5c70
...
...
@@ -95,7 +95,7 @@ export default {
}
}
/deep/.ant-tabs-tab {
font-size: 1
rem
!important;
font-size: 1
4px
!important;
& + .ant-tabs-tab {
margin: 0 !important;
margin-left: 0.7rem !important;
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/makeRecordReport/makeRecordReport.vue
View file @
eccf5c70
...
...
@@ -4,7 +4,7 @@
<div>
<a-button
:loading=
"btnLoading"
type=
"
success"
type=
"
primary"
class=
"addclass"
@
click=
"handleExportTable"
>
<span>
{{
tableSelectedRows
.
length
?
"
导出
"
:
"
导出全部
"
}}
</span>
...
...
@@ -38,7 +38,7 @@
{{
v
}}
</a-select-option>
</a-select>
<a-button
type=
"primary"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
@
click=
"handleReset"
>
重置
</a-button>
</a-space>
</span>
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/makeRecordReport/module.vue
View file @
eccf5c70
...
...
@@ -99,7 +99,7 @@ export default {
}
}
/deep/.ant-tabs-tab {
font-size: 1
rem
!important;
font-size: 1
4px
!important;
& + .ant-tabs-tab {
margin: 0 !important;
margin-left: 0.7rem !important;
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/makeRecordReport/recordReportdetails.vue
View file @
eccf5c70
<
template
>
<div
class=
"Container"
>
<div
class=
"header"
>
<a-button
type=
"
success"
@
click=
"$router.go(-1)"
>
返回上一级
</a-button>
<a-button
type=
"
primary"
class=
"addclass"
@
click=
"$router.go(-1)"
>
返回上一级
</a-button>
</div>
<div
class=
"main"
>
<div
class=
"left_"
>
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/microOfficialWebsite/microForm.vue
View file @
eccf5c70
...
...
@@ -4,7 +4,7 @@
<div>
<a-button
:loading=
"btnLoading"
type=
"
success"
type=
"
primary"
class=
"addclass"
@
click=
"handleExportTable"
>
<span>
{{
tableSelectedRows
.
length
?
"
导出
"
:
"
导出全部
"
}}
</span>
...
...
@@ -37,7 +37,7 @@
>
<a-icon
slot=
"prefix"
type=
"search"
/>
</a-input>
<a-button
type=
"primary"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
@
click=
"handleReset"
>
重置
</a-button>
</a-space>
</span>
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/microOfficialWebsite/module.vue
View file @
eccf5c70
...
...
@@ -95,7 +95,7 @@ export default {
}
}
/deep/.ant-tabs-tab {
font-size: 1
rem
!important;
font-size: 1
4px
!important;
& + .ant-tabs-tab {
margin: 0 !important;
margin-left: 0.7rem !important;
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/networkGovernance/callRecordForm.vue
View file @
eccf5c70
...
...
@@ -2,7 +2,7 @@
<div
class=
"callRecord-Container"
>
<div
class=
"header_box"
>
<div>
<a-button
:loading=
"btnLoading"
type=
"
success"
@
click=
"handleExportTable"
>
<a-button
:loading=
"btnLoading"
type=
"
primary"
class=
"addclass"
@
click=
"handleExportTable"
>
<span>
{{
tableSelectedRows
.
length
?
"
导出
"
:
"
导出全部
"
}}
</span>
</a-button>
<b>
拨打次数:
<i>
{{
total
}}
次
</i></b>
...
...
@@ -11,7 +11,7 @@
<a-input
style=
"width:250px;"
v-model=
"searchName"
placeholder=
"请输入标题或姓名关键字搜索"
>
<a-icon
slot=
"prefix"
type=
"search"
/>
</a-input>
<a-button
type=
"primary"
@
click=
"getList"
>
搜索
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"getList"
>
搜索
</a-button>
</span>
</div>
<div
class=
"main"
>
...
...
@@ -28,8 +28,8 @@
<
script
>
import
table
from
"
@/mixins/table
"
;
import
{
getSys12345
}
from
"
@/api/dataAdmin
"
import
{
export2Excel
import
{
export2Excel
}
from
"
@/utils/js/exportExcel
"
;
export
default
{
mixins
:
[
table
],
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/networkGovernance/components/FormDetails.vue
View file @
eccf5c70
...
...
@@ -91,7 +91,7 @@
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"
class=
"addclass"
@
click=
"onClose"
>
确定
</a-button>
-->
<a-button
:style=
"
{ marginRight: '8px' }" @click="onClose">
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/networkGovernance/module.vue
View file @
eccf5c70
...
...
@@ -95,7 +95,7 @@ export default {
}
}
/deep/.ant-tabs-tab {
font-size: 1
rem
!important;
font-size: 1
4px
!important;
& + .ant-tabs-tab {
margin: 0 !important;
margin-left: 0.7rem !important;
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/networkGovernance/networkForm.vue
View file @
eccf5c70
...
...
@@ -2,7 +2,7 @@
<div
class=
"callRecord-Container"
>
<div
class=
"header_box"
>
<div>
<a-button
type=
"
success"
@
click=
"handleExportTable"
:loading=
"btnLoading"
>
<a-button
type=
"
primary"
class=
"addclass"
@
click=
"handleExportTable"
:loading=
"btnLoading"
>
<span>
{{
tableSelectedRows
.
length
?
"
导出
"
:
"
导出全部
"
}}
</span>
</a-button>
<b>
建议次数:
<i>
{{
JYCount
}}
次
</i></b>
...
...
@@ -35,7 +35,7 @@
<a-input
style=
"width:250px;"
v-model=
"searchName"
placeholder=
"请输入标题或姓名关键字搜索"
>
<a-icon
slot=
"prefix"
type=
"search"
/>
</a-input>
<a-button
type=
"primary"
@
click=
"togetWLLZCount"
>
搜索
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"togetWLLZCount"
>
搜索
</a-button>
<a-button
@
click=
"resetting"
>
重置
</a-button>
</a-space>
</span>
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/oneYardPass/module.vue
View file @
eccf5c70
...
...
@@ -95,7 +95,7 @@ export default {
}
}
/deep/.ant-tabs-tab {
font-size: 1
rem
!important;
font-size: 1
4px
!important;
& + .ant-tabs-tab {
margin: 0 !important;
margin-left: 0.7rem !important;
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/oneYardPass/reportForm.vue
View file @
eccf5c70
...
...
@@ -2,7 +2,7 @@
<div
class=
"reportForm-Container"
>
<div
class=
"header_box"
>
<div>
<a-button
type=
"
success"
@
click=
"exportTable"
>
<a-button
type=
"
primary"
class=
"addclass"
@
click=
"exportTable"
>
<span>
{{
tableSelectedRows
.
length
?
"
导出
"
:
"
导出全部
"
}}
</span>
</a-button>
</div>
...
...
@@ -46,7 +46,7 @@
>
</a-range-picker>
<a-button
type=
"primary"
>
搜索
</a-button>
<a-button
type=
"primary"
class=
"addclass"
>
搜索
</a-button>
</span>
</div>
<div
class=
"main"
>
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/pickUp/depositRecord.vue
View file @
eccf5c70
...
...
@@ -4,7 +4,7 @@
<div>
<a-button
:loading=
"btnLoading"
type=
"
success"
type=
"
primary"
class=
"addclass"
@
click=
"handleExportTable"
>
<span>
{{
tableSelectedRows
.
length
?
"
导出
"
:
"
导出全部
"
}}
</span>
...
...
@@ -42,7 +42,7 @@
>
<a-icon
slot=
"prefix"
type=
"search"
/>
</a-input>
<a-button
type=
"primary"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
@
click=
"handleReset"
>
重置
</a-button>
</a-space>
</span>
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/pickUp/module.vue
View file @
eccf5c70
...
...
@@ -95,7 +95,7 @@ export default {
}
}
/deep/.ant-tabs-tab {
font-size: 1
rem
!important;
font-size: 1
4px
!important;
& + .ant-tabs-tab {
margin: 0 !important;
margin-left: 0.7rem !important;
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/pickUp/otherRecord.vue
View file @
eccf5c70
...
...
@@ -4,7 +4,7 @@
<div>
<a-button
:loading=
"btnLoading"
type=
"
success"
type=
"
primary"
class=
"addclass"
@
click=
"handleExportTable"
>
<span>
{{
tableSelectedRows
.
length
?
"
导出
"
:
"
导出全部
"
}}
</span>
...
...
@@ -40,7 +40,7 @@
v-model=
"searchForm.time"
>
</a-range-picker>
<a-button
type=
"primary"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
@
click=
"handleReset"
>
重置
</a-button>
</a-space>
</span>
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/pickUp/pickUpRecord.vue
View file @
eccf5c70
...
...
@@ -4,7 +4,7 @@
<div>
<a-button
:loading=
"btnLoading"
type=
"
success"
type=
"
primary"
class=
"addclass"
@
click=
"handleExportTable"
>
<span>
{{
tableSelectedRows
.
length
?
"
导出
"
:
"
导出全部
"
}}
</span>
...
...
@@ -39,7 +39,7 @@
>
<a-icon
slot=
"prefix"
type=
"search"
/>
</a-input>
<a-button
type=
"primary"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
@
click=
"handleReset"
>
重置
</a-button>
</a-space>
</span>
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/callRecord.vue
View file @
eccf5c70
...
...
@@ -2,31 +2,21 @@
<div
class=
"callRecord-Container"
>
<div
class=
"header_box"
>
<div>
<a-button
type=
"success"
@
click=
"handleExportTable"
:loading=
"btnLoading"
>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"handleExportTable"
:loading=
"btnLoading"
>
<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
v-model=
"searchForm.id"
>
<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>
<a-select
v-model=
"searchForm.style"
style=
"width: 120px"
>
<a-select
v-model=
"searchForm.style"
>
<a-select-option
value=
""
>
全部状态
</a-select-option>
<a-select-option
v-for=
"v in style"
:key=
"v.key"
:value=
"v.key"
>
{{
v
.
name
...
...
@@ -34,34 +24,20 @@
</a-select>
<a-range-picker
valueFormat=
"YYYY-MM-DD"
v-model=
"searchForm.time"
>
</a-range-picker>
<a-input
v-model=
"searchForm.flownum"
placeholder=
"请输入排队编号搜索"
@
pressEnter=
"handleSearch"
>
<a-input
v-model=
"searchForm.flownum"
placeholder=
"请输入排队编号搜索"
@
pressEnter=
"handleSearch"
>
<a-icon
slot=
"prefix"
type=
"search"
/>
</a-input>
<a-button
type=
"primary"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
@
click=
"resetBtn"
>
重置
</a-button>
</a-space>
</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
...
...
@@ -83,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
>
<!-- 办理开始时间 -->
...
...
@@ -98,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
>
<!-- 工作人员 -->
...
...
@@ -119,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
>
...
...
@@ -323,7 +293,7 @@ export default {
this
.
getCalllistArr
();
this
.
getCallQueListArr
();
},
mounted
()
{},
mounted
()
{
},
methods
:
{
//重置按钮
resetBtn
()
{
...
...
@@ -501,6 +471,7 @@ export default {
/deep/.ant-spin-container {
display: block !important;
}
.stand-line {
color: #f23a3a;
}
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/components/businessInfo.vue
View file @
eccf5c70
...
...
@@ -17,7 +17,7 @@
</h4>
</div>
<
template
slot=
"footer"
>
<a-button
type=
"primary"
ghost
@
click=
"lookDetails"
>
查看业务分析
</a-button>
<a-button
type=
"primary"
class=
"addclass"
ghost
@
click=
"lookDetails"
>
查看业务分析
</a-button>
</
template
>
</a-modal>
</div>
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/components/userInfo.vue
View file @
eccf5c70
...
...
@@ -17,8 +17,8 @@
</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"
class=
"addclass"
ghost
@
click=
"openBlockchain"
>
查看TA的数据画像
</a-button>
<a-button
type=
"primary"
class=
"addclass"
ghost
@
click=
"openBlockchain"
>
区块链信息
</a-button>
</
template
>
</a-modal>
<Blockchain
ref=
"Blockchain"
/>
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/components/workpeopleInfo.vue
View file @
eccf5c70
...
...
@@ -25,8 +25,8 @@
</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"
class=
"addclass"
ghost
@
click=
"openBlockchain"
>
查看TA的数据画像
</a-button>
<a-button
type=
"primary"
class=
"addclass"
ghost
@
click=
"openBlockchain"
>
区块链信息
</a-button>
</
template
>
</a-modal>
<Blockchain
ref=
"Blockchain"
/>
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/queueRecord.vue
View file @
eccf5c70
...
...
@@ -2,31 +2,21 @@
<div
class=
"queueRecord-Container"
>
<div
class=
"header_box"
>
<div>
<a-button
:loading=
"btnLoading"
type=
"success"
@
click=
"handleExportTable"
>
<a-button
:loading=
"btnLoading"
type=
"primary"
class=
"addclass"
@
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
v-model=
"searchForm.id"
>
<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>
<a-select
v-model=
"searchForm.style"
style=
"width: 120px"
>
<a-select
v-model=
"searchForm.style"
>
<a-select-option
value=
""
>
全部状态
</a-select-option>
<a-select-option
v-for=
"v in style"
:key=
"v.key"
:value=
"v.key"
>
{{
v
.
name
...
...
@@ -34,34 +24,20 @@
</a-select>
<a-range-picker
valueFormat=
"YYYY-MM-DD"
v-model=
"searchForm.time"
>
</a-range-picker>
<a-input
v-model=
"searchForm.flownum"
placeholder=
"请输入排队编号搜索"
@
pressEnter=
"handleSearch"
>
<a-input
v-model=
"searchForm.flownum"
placeholder=
"请输入排队编号搜索"
@
pressEnter=
"handleSearch"
>
<a-icon
slot=
"prefix"
type=
"search"
/>
</a-input>
<a-button
type=
"primary"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
@
click=
"resetBtn"
>
重置
</a-button>
</a-space>
</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
...
...
@@ -83,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
>
<!-- 办理开始时间 -->
...
...
@@ -98,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
>
<!-- 工作人员 -->
...
...
@@ -119,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
>
...
...
@@ -329,7 +299,7 @@ export default {
this
.
getTaskListArr
();
this
.
getQueueDataArr
();
},
mounted
()
{},
mounted
()
{
},
methods
:
{
//重置按钮
resetBtn
()
{
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/sampleRecordReport/module.vue
View file @
eccf5c70
...
...
@@ -95,7 +95,7 @@ export default {
}
}
/deep/.ant-tabs-tab {
font-size: 1
rem
!important;
font-size: 1
4px
!important;
& + .ant-tabs-tab {
margin: 0 !important;
margin-left: 0.7rem !important;
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/sampleRecordReport/sampleForm.vue
View file @
eccf5c70
...
...
@@ -4,7 +4,7 @@
<div>
<a-button
:loading=
"btnLoading"
type=
"
success"
type=
"
primary"
class=
"addclass"
@
click=
"handleExportTable"
>
<span>
{{
tableSelectedRows
.
length
?
"
导出
"
:
"
导出全部
"
}}
</span>
...
...
@@ -40,7 +40,7 @@
>
</a-range-picker>
<a-button
type=
"primary"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
@
click=
"handleReset"
>
重置
</a-button>
</a-space>
</span>
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/serviceDataAnalyse/heatRanking.vue
View file @
eccf5c70
...
...
@@ -20,7 +20,7 @@
<a-select-option
value=
"5"
>
自定义
</a-select-option>
</a-select>
<a-button
type=
"primary"
@
click=
"getData"
>
搜索
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"getData"
>
搜索
</a-button>
</
template
>
</Head>
<div
class=
"heat_box"
v-if=
"data"
>
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/serviceDataAnalyse/makeTrendResearch.vue
View file @
eccf5c70
...
...
@@ -20,7 +20,7 @@
<a-select-option
value=
"5"
>
自定义
</a-select-option>
</a-select>
<a-button
type=
"primary"
@
click=
"getData"
>
搜索
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"getData"
>
搜索
</a-button>
</
template
>
</Head>
<div
class=
"echarts"
>
...
...
portal-manager-ui/admin/src/views/home/components/changePassword.vue
View file @
eccf5c70
...
...
@@ -33,7 +33,7 @@
<div
slot=
"footer"
>
<a-button
style=
"margin-left: 10px"
@
click=
"resetForm"
>
重置
</a-button>
<a-button
type=
"primary"
@
click=
"handleOk"
>
确定
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"handleOk"
>
确定
</a-button>
</div>
</a-modal>
</
template
>
...
...
portal-manager-ui/admin/src/views/home/home.vue
View file @
eccf5c70
...
...
@@ -201,7 +201,7 @@ export default {
.title {
font-style: normal;
font-weight: bold;
font-size:
1.5rem
;
font-size:
20px
;
color: #fff;
margin-right: 1rem;
}
...
...
@@ -246,7 +246,7 @@ export default {
line-height: 1.4;
cursor: pointer;
margin: 0 0.7rem;
font-size:
0.5rem
;
font-size:
14px
;
display: flex;
flex-flow: column;
align-items: center;
...
...
@@ -276,7 +276,7 @@ export default {
.ant-layout-header {
height: @headerH !important;
padding: 0 1.2rem !important;
background
-color: rgba(255, 255, 255, 0.15) !important
;
background
: linear-gradient(90deg, #1845c6 0%, #2999ff 100%)
;
}
.ant-dropdown-link {
color: #fff;
...
...
portal-manager-ui/admin/src/views/signIn/signIn.vue
View file @
eccf5c70
...
...
@@ -36,7 +36,7 @@
/>
</a-form-model-item>
<a-form-model-item>
<a-button
type=
"primary"
class=
"backstage"
@
click=
"handleSubmit"
<a-button
type=
"primary"
class=
"
addclass
backstage"
@
click=
"handleSubmit"
>
登录
</a-button
>
</a-form-model-item>
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/components/APIServe/APIServe.vue
View file @
eccf5c70
...
...
@@ -40,7 +40,7 @@
>
<div
class=
"api-name"
>
{{
v
.
apiName
}}
</div>
<span
class=
"service-name"
>
{{
v
.
systemServiceName
}}
</span>
<a-button
icon=
"read"
type=
"primary"
@
click=
"pushroeuter(v)"
>
<a-button
icon=
"read"
type=
"primary"
class=
"addclass"
@
click=
"pushroeuter(v)"
>
查看文档
</a-button>
</div>
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/components/applService.vue
View file @
eccf5c70
...
...
@@ -49,7 +49,7 @@
失效时间:
{{
$moment
(
itm
.
lapseTime
).
format
(
"
YYYY-MM-DD
"
)
}}
</div>
<a-button
type=
"primary"
type=
"primary"
class=
"addclass"
@
click=
"handleDowload(itm.packagePath, itm.systemServiceName)"
>
<a-icon
type=
"download"
/>
下载
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/components/logService/Service.vue
View file @
eccf5c70
...
...
@@ -11,7 +11,7 @@
v-model=
"BegindAndEndTime"
>
</a-range-picker>
<a-button
type=
"primary"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
@
click=
"resetSearch"
>
重置
</a-button>
</a-space>
</div>
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/components/menuManagement/components/addEdit.vue
View file @
eccf5c70
...
...
@@ -117,7 +117,7 @@
@
change=
"handleChangeFile"
accept=
"image/jpeg,image/png"
>
<a-button
type=
"primary"
>
<a-button
type=
"primary"
class=
"addclass"
>
<a-icon
type=
"upload"
/>
选择文件
</a-button>
</a-upload>
...
...
@@ -141,7 +141,7 @@
</a-form-model>
<template
slot=
"footer"
>
<a-button
@
click=
"resetForm"
>
重置
</a-button>
<a-button
type=
"primary"
@
click=
"Modal_Ok"
>
确定
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"Modal_Ok"
>
确定
</a-button>
</
template
>
</a-modal>
</div>
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/components/menuManagement/menuMgmt.vue
View file @
eccf5c70
<
template
>
<div
class=
"menuMgmt"
>
<div
class=
"header_box"
>
<a-button
type=
"primary"
@
click=
"showEditModal(1)"
>
新增
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"showEditModal(1)"
>
新增
</a-button>
<span>
<a-input
v-model=
"searchForm.name"
placeholder=
"请输入菜单名称搜索"
>
<a-icon
slot=
"prefix"
type=
"search"
/>
...
...
@@ -13,7 +13,7 @@
</a-select-option>
</a-select>
<a-button
type=
"primary"
@
click=
"searchData"
>
搜索
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"searchData"
>
搜索
</a-button>
<a-button
@
click=
"resetSearch"
>
重置
</a-button>
</span>
</div>
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/components/permissionsModel/authorityMis.vue
View file @
eccf5c70
...
...
@@ -4,7 +4,7 @@
<!--
<button
class=
"addRoles_btn"
@
click=
"showRoleEditModal(false)"
>
<span>
新增角色
</span>
</button>
-->
<a-button
type=
"primary"
@
click=
"showRoleEditModal(false)"
<a-button
type=
"primary"
class=
"addclass"
@
click=
"showRoleEditModal(false)"
>
新增角色
</a-button
>
<span>
...
...
@@ -19,7 +19,7 @@
<a-icon
slot=
"prefix"
type=
"search"
/>
</a-input>
-->
<!--
<button
class=
"search_btn"
@
click=
"getRoleList"
>
搜索
</button>
-->
<!--
<a-button
type=
"primary"
@
click=
"getRoleList"
>
搜索
</a-button>
-->
<!--
<a-button
type=
"primary"
class=
"addclass"
@
click=
"getRoleList"
>
搜索
</a-button>
-->
</span>
</div>
<div
class=
"main"
>
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/components/permissionsModel/components/EditPwd.vue
View file @
eccf5c70
...
...
@@ -36,7 +36,7 @@
<div
slot=
"footer"
>
<a-button
style=
"margin-left: 10px"
@
click=
"handleClose"
>
取消
</a-button>
<a-button
type=
"primary"
@
click=
"handleOk"
>
确定
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"handleOk"
>
确定
</a-button>
</div>
</a-modal>
</div>
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/components/permissionsModel/components/EditUser.vue
View file @
eccf5c70
...
...
@@ -56,7 +56,7 @@
</a-form-model>
<div
slot=
"footer"
>
<a-button
style=
"margin-left: 10px"
@
click=
"resetForm"
>
重置
</a-button>
<a-button
type=
"primary"
@
click=
"onSubmit"
>
确定
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"onSubmit"
>
确定
</a-button>
</div>
</a-modal>
</div>
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/components/permissionsModel/components/addEditRole.vue
View file @
eccf5c70
...
...
@@ -41,7 +41,7 @@
</a-form-model>
<template
slot=
"footer"
>
<a-button
@
click=
"resetForm"
>
重置
</a-button>
<a-button
type=
"primary"
@
click=
"roleEditModal_Ok"
>
确定
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"roleEditModal_Ok"
>
确定
</a-button>
</
template
>
</a-modal>
</div>
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/components/permissionsModel/components/addUser.vue
View file @
eccf5c70
...
...
@@ -80,7 +80,7 @@
</a-form-model>
<div
slot=
"footer"
>
<a-button
style=
"margin-left: 10px"
@
click=
"resetForm"
>
重置
</a-button>
<a-button
type=
"primary"
@
click=
"onSubmit"
>
确定
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"onSubmit"
>
确定
</a-button>
</div>
</a-modal>
</div>
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/components/permissionsModel/setMenuPerms.vue
View file @
eccf5c70
...
...
@@ -164,7 +164,7 @@
</div>
</div>
<div
class=
"bottom_"
>
<a-button
type=
"primary"
@
click=
"save"
>
保存
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"save"
>
保存
</a-button>
<a-button
@
click=
"resetForm"
>
重置
</a-button>
</div>
</div>
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/components/permissionsModel/userManagement.vue
View file @
eccf5c70
...
...
@@ -2,7 +2,7 @@
<div
class=
"user"
>
<div
class=
"user_btn"
>
<div
class=
"add_btn"
>
<a-button
type=
"primary"
@
click=
"addUserModal"
>
新增用户
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"addUserModal"
>
新增用户
</a-button>
</div>
<div
class=
"search_btn"
>
<a-space>
...
...
@@ -25,7 +25,7 @@
>
{{
v
.
value
}}
</a-select-option
>
</a-select>
<a-button
type=
"primary"
@
click=
"getUserList"
>
搜索
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"getUserList"
>
搜索
</a-button>
<a-button
@
click=
"resetList"
>
重置
</a-button>
</a-space>
</div>
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/InterfaceManage/components/Details.vue
View file @
eccf5c70
...
...
@@ -173,7 +173,7 @@
</
template
>
</a-table>
<div
class=
"table_footer"
>
<a-button
type=
"primary"
@
click=
"ceshidayin"
>
添加参数
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"ceshidayin"
>
添加参数
</a-button>
</div>
<h1
class=
"title_"
>
响应数据
</h1>
...
...
@@ -221,11 +221,11 @@
</
template
>
</a-table>
<div
class=
"table_footer"
>
<a-button
type=
"primary"
@
click=
"ceshidayin"
>
添加参数
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"ceshidayin"
>
添加参数
</a-button>
</div>
<div
class=
"drawer_footer"
>
<a-button
type=
"primary"
@
click=
"modalClose"
>
保存
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"modalClose"
>
保存
</a-button>
<a-button
@
click=
"modalClose"
>
取消
</a-button>
</div>
</a-form-model>
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/addEditAppName.vue
View file @
eccf5c70
...
...
@@ -28,7 +28,7 @@
</a-form-model-item>
</a-form-model>
<template
slot=
"footer"
>
<a-button
type=
"primary"
@
click=
"Modal_Ok"
>
确定
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"Modal_Ok"
>
确定
</a-button>
<a-button
@
click=
"resetForm"
>
重置
</a-button>
</
template
>
</a-modal>
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/appManage/components/Details.vue
View file @
eccf5c70
...
...
@@ -47,7 +47,7 @@
</a-form-model-item>
</a-form-model>
<template
slot=
"footer"
>
<a-button
type=
"primary"
@
click=
"Modal_Ok"
>
确定
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"Modal_Ok"
>
确定
</a-button>
<a-button
@
click=
"resetForm"
>
取消
</a-button>
</
template
>
</a-modal>
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/components/docData/components/Details.vue
View file @
eccf5c70
...
...
@@ -40,7 +40,7 @@
</a-form-model-item>
</a-form-model>
<template
slot=
"footer"
>
<a-button
type=
"primary"
@
click=
"Modal_Ok"
>
确定
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"Modal_Ok"
>
确定
</a-button>
<a-button
@
click=
"resetForm"
>
取消
</a-button>
</
template
>
</a-modal>
...
...
portal-manager-ui/admin/src/views/thePlatformIsSet/components/productManage/productManage.vue
View file @
eccf5c70
...
...
@@ -10,7 +10,7 @@
</h4>
</div>
<div
class=
"main"
>
<a-button
type=
"primary"
ghost
class=
"add_btn"
@
click=
"showModal(2)"
>
<a-button
type=
"primary"
class=
"addclass add_btn"
ghost
@
click=
"showModal(2)"
>
新增产品
</a-button>
<ul
class=
"content"
>
...
...
@@ -19,12 +19,7 @@
<template
slot=
"content"
>
<div
class=
"popoverContent"
>
<p>
<a-button
type=
"link"
size=
"small"
style=
"color: #0595fd"
@
click=
"showModal(1)"
>
<a-button
type=
"link"
size=
"small"
style=
"color: #0595fd"
@
click=
"showModal(1)"
>
编辑
</a-button>
</p>
...
...
@@ -64,7 +59,7 @@ export default {
components
:
{
AddEditAppName
,
},
mounted
()
{},
mounted
()
{
},
methods
:
{
pushroeuter
()
{
this
.
$router
.
push
({
...
...
@@ -107,9 +102,11 @@ export default {
<
style
lang=
"less"
scoped
>
@headerH: 4.5rem;
.Container {
height: 100%;
background: #f5f5f5;
.search_box {
height: 20rem;
background: url("~@/assets/images/u210.png") top no-repeat;
...
...
@@ -118,21 +115,25 @@ export default {
align-items: center;
display: flex;
flex-flow: column;
h3 {
font-size: 2rem;
color: #fff;
font-weight: bold;
padding: 4rem 0 2rem;
}
h4 {
display: flex;
align-items: center;
}
/deep/.ant-input {
width: 30rem !important;
margin-right: 2rem;
height: 3rem !important;
}
.search_btn {
width: 7rem;
height: 3rem;
...
...
@@ -152,7 +153,8 @@ export default {
line-height: 3rem;
padding: 0;
border: none;
& > span {
&>span {
position: relative;
display: block;
width: 100%;
...
...
@@ -196,8 +198,8 @@ export default {
width: 100%;
}
&
>
span:before,
&
>
span:after {
&
>
span:before,
&
>
span:after {
position: absolute;
content: "";
left: 0;
...
...
@@ -210,25 +212,26 @@ export default {
transition: all 0.3s ease;
}
&
>
span:before {
&
>
span:before {
width: 2px;
height: 0%;
}
&
>
span:after {
&
>
span:after {
height: 2px;
width: 0%;
}
&
>
span:hover:before {
&
>
span:hover:before {
height: 100%;
}
&
>
span:hover:after {
&
>
span:hover:after {
width: 100%;
}
}
}
.main {
width: 75rem;
margin: -40px auto 0;
...
...
@@ -237,16 +240,18 @@ export default {
box-shadow: 0 2px 5px 1px #ddd;
border: 1px solid #d7dae2;
overflow: hidden;
& > .add_btn {
&>.add_btn {
margin: 15px;
}
& > .content {
&>.content {
display: flex;
flex-wrap: wrap;
border-top: 1px solid #d7dae2;
border-bottom: 1px solid #d7dae2;
&
>
.list {
&
>
.list {
width: 25%;
padding: 15px;
display: flex;
...
...
@@ -255,7 +260,7 @@ export default {
border-right: 1px solid #d7dae2;
border-bottom: 1px solid #d7dae2;
&
>
.app-operation {
&
>
.app-operation {
margin: 8px 0;
height: 25px;
width: 25px;
...
...
@@ -265,27 +270,31 @@ export default {
left: 90%;
cursor: pointer;
}
& > .app-img {
&>.app-img {
width: 108px;
height: 108px;
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
margin: 8px auto;
border-radius: 6px;
}
& > .app-name {
&>.app-name {
font-weight: bold;
font-size: 18px;
text-align: center;
margin: 8px 0;
}
& > .app-option {
&>.app-option {
margin: 8px 0;
color: #0595fd;
display: flex;
justify-content: space-between;
align-items: center;
font-size: 14px;
& > li {
&>li {
cursor: pointer;
}
}
...
...
@@ -299,22 +308,15 @@ export default {
width: 100%;
height: @headerH;
background: rgb(59, 135, 255);
background: -moz-linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
background: -webkit-linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
background: linear-gradient(
174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%
);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#3b87ff",endColorstr="#6c35f7",GradientType=1);
background: -moz-linear-gradient(174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%);
background: -webkit-linear-gradient(174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%);
background: linear-gradient(174deg,
rgba(59, 135, 255, 1) 24%,
rgba(108, 53, 247, 1) 85%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#3b87ff", endColorstr="#6c35f7", GradientType=1);
}
}
</
style
>
}
</
style
>
smart-gateway/src/main/resources/bootstrap.yml
View file @
eccf5c70
This diff is collapsed.
Click to expand it.
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