Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-operate-sys-cscec
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fulixin
dsk-operate-sys-cscec
Commits
c217a487
Commit
c217a487
authored
Dec 17, 2023
by
danfuman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改
parent
fa41b188
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
1953 additions
and
374 deletions
+1953
-374
monitoring.js
dsk-operate-ui/src/api/monitoring/monitoring.js
+99
-0
config.js
dsk-operate-ui/src/api/system/config.js
+15
-0
supplierBad.js
dsk-operate-ui/src/api/system/supplierBad.js
+36
-0
empty.png
dsk-operate-ui/src/assets/images/empty.png
+0
-0
tips1.png
dsk-operate-ui/src/assets/images/tips1.png
+0
-0
common.js
dsk-operate-ui/src/assets/js/common.js
+21
-0
index.js
dsk-operate-ui/src/router/index.js
+15
-0
EnterpriseMonitoring.vue
dsk-operate-ui/src/views/monitoring/EnterpriseMonitoring.vue
+244
-46
MonitorSettings.vue
dsk-operate-ui/src/views/monitoring/MonitorSettings.vue
+145
-68
MonitoringDynamics.vue
dsk-operate-ui/src/views/monitoring/MonitoringDynamics.vue
+285
-152
MonitoringReport.vue
dsk-operate-ui/src/views/monitoring/MonitoringReport.vue
+34
-108
MonitoringReportDetails.vue
...erate-ui/src/views/monitoring/MonitoringReportDetails.vue
+661
-0
index.vue
dsk-operate-ui/src/views/system/supplierBad/index.vue
+398
-0
No files found.
dsk-operate-ui/src/api/monitoring/monitoring.js
0 → 100644
View file @
c217a487
import
request
from
'@/utils/request'
//监控动态
export
function
dynamicPage
(
data
)
{
return
request
({
url
:
'/monitor/company/dynamicPage'
,
method
:
'post'
,
data
:
data
})
}
//监控动态详情
export
function
dynamicDetail
(
data
)
{
return
request
({
url
:
'/monitor/company/dynamicDetail'
,
method
:
'post'
,
data
:
data
})
}
// 企业监控列表
export
function
companyPage
(
data
)
{
return
request
({
url
:
'/monitor/system/companyPage'
,
method
:
'post'
,
data
:
data
})
}
// 模糊查企业联想
export
function
companyList
(
data
)
{
return
request
({
url
:
'/enterprise/index'
,
method
:
'post'
,
data
:
data
})
}
// 添加监控企业
export
function
companyAdd
(
data
)
{
return
request
({
url
:
'/monitor/system/add'
,
method
:
'post'
,
data
:
data
})
}
// 取消监控企业
export
function
companyCancel
(
data
)
{
return
request
({
url
:
'/monitor/system/cancel'
,
method
:
'post'
,
data
:
data
})
}
// 企业监控详情
export
function
companyDetail
(
data
)
{
return
request
({
url
:
'/monitor/system/detail'
,
method
:
'post'
,
data
:
data
})
}
// 监控报告
export
function
reportPage
(
data
)
{
return
request
({
url
:
'/monitor/reportPage'
,
method
:
'post'
,
data
:
data
})
}
// 监控维度设置-类型
export
function
rulesSelect
()
{
return
request
({
url
:
'/monitor/push/rulesSelect'
,
method
:
'get'
,
})
}
// 监控维度设置-新增修改
export
function
insertOrUpdate
(
data
)
{
return
request
({
url
:
'/monitor/push/rules/insertOrUpdate'
,
method
:
'post'
,
data
:
data
})
}
// 监控维度设置
export
function
rulesDetail
(
data
)
{
return
request
({
url
:
'/monitor/push/rulesDetail'
,
method
:
'post'
,
data
:
data
})
}
dsk-operate-ui/src/api/system/config.js
View file @
c217a487
...
@@ -16,6 +16,21 @@ export function getConfig(configId) {
...
@@ -16,6 +16,21 @@ export function getConfig(configId) {
method
:
'get'
method
:
'get'
});
});
}
}
// 根据参数键名查询参数值
export
function
configKey
(
configId
)
{
return
request
({
url
:
'/system/config/key/'
+
configId
,
method
:
'get'
});
}
// 根据键修改值
export
function
configUpdate
(
data
)
{
return
request
({
url
:
'/system/config/updateValue'
,
method
:
'PUT'
,
data
:
data
});
}
// 根据参数键名查询参数值
// 根据参数键名查询参数值
export
function
getConfigKey
(
configKey
)
{
export
function
getConfigKey
(
configKey
)
{
...
...
dsk-operate-ui/src/api/system/supplierBad.js
0 → 100644
View file @
c217a487
import
request
from
'@/utils/request'
;
import
{
parseStrEmpty
}
from
"@/utils/ruoyi"
;
// 推送分页列表
export
function
pageList
(
query
)
{
return
request
({
url
:
'/sysPush/pageList'
,
method
:
'get'
,
params
:
query
});
}
// 添加推送人
export
function
sysPush
(
data
)
{
return
request
({
url
:
'/sysPush'
,
method
:
'post'
,
data
:
data
});
}
// 修改推送状态
export
function
updateStatus
(
data
)
{
return
request
({
url
:
'/sysPush/updateStatus'
,
method
:
'put'
,
data
:
data
});
}
// 删除推送人
export
function
sysPushDel
(
id
)
{
return
request
({
url
:
'/sysPush/'
+
id
,
method
:
'delete'
});
}
dsk-operate-ui/src/assets/images/empty.png
0 → 100644
View file @
c217a487
16.5 KB
dsk-operate-ui/src/assets/images/tips1.png
0 → 100644
View file @
c217a487
793 Bytes
dsk-operate-ui/src/assets/js/common.js
View file @
c217a487
...
@@ -92,8 +92,29 @@ let checkTag = function(str, oldTag, newTag) { //str字符串, oldTag当前标
...
@@ -92,8 +92,29 @@ let checkTag = function(str, oldTag, newTag) { //str字符串, oldTag当前标
return
newHtml
return
newHtml
}
}
let
changeTime
=
function
(
item
){
let
value
=
Number
(
item
)
let
now
=
new
Date
().
getTime
()
if
(
now
-
value
<
1000
*
60
*
59
)
{
if
(
(
now
-
value
)
/
(
1000
*
60
)
){
return
Math
.
ceil
((
now
-
value
)
/
(
1000
*
60
))
+
'分钟前'
}
else
{
return
'1分钟前'
}
}
else
if
(
now
-
value
<
1000
*
60
*
60
*
23
)
{
return
Math
.
ceil
((
now
-
value
)
/
(
1000
*
60
*
60
))
+
'小时前'
}
else
{
let
YMD
=
new
Date
(
value
)
let
Y
=
YMD
.
getFullYear
()
+
'-'
;
//年
let
M
=
(
YMD
.
getMonth
()
+
1
<
10
?
'0'
+
(
YMD
.
getMonth
()
+
1
)
:
YMD
.
getMonth
()
+
1
)
+
'-'
;
//月
let
D
=
(
YMD
.
getDate
()
<
10
?
'0'
+
YMD
.
getDate
()
:
YMD
.
getDate
());
//日
return
Y
+
M
+
D
}
}
export
{
export
{
encodeStr
,
encodeStr
,
changeTime
,
changePath
,
changePath
,
saveFixed
,
saveFixed
,
removeTag
,
removeTag
,
...
...
dsk-operate-ui/src/router/index.js
View file @
c217a487
...
@@ -103,6 +103,21 @@ export const constantRoutes = [
...
@@ -103,6 +103,21 @@ export const constantRoutes = [
// }
// }
// ]
// ]
// },
// },
{
path
:
'/monitoring/MonitoringReportDetails'
,
component
:
Layout
,
hidden
:
true
,
redirect
:
'noredirect'
,
children
:
[
{
path
:
'/monitoring/MonitoringReportDetails/:id'
,
component
:
()
=>
import
(
'@/views/monitoring/MonitoringReportDetails'
),
name
:
'MonitoringDynamics'
,
meta
:
{
title
:
'监控报告详情'
,
noCache
:
false
},
}
]
},
{
{
path
:
''
,
path
:
''
,
component
:
Layout
,
component
:
Layout
,
...
...
dsk-operate-ui/src/views/monitoring/EnterpriseMonitoring.vue
View file @
c217a487
...
@@ -5,9 +5,21 @@
...
@@ -5,9 +5,21 @@
<div
class=
"search"
>
<div
class=
"search"
>
<div
class=
"label"
>
监控维度
</div>
<div
class=
"label"
>
监控维度
</div>
<div
class=
"checkbox"
>
<div
class=
"checkbox"
>
<el-radio-group
v-model=
"radio"
>
<el-radio-group
v-model=
"radio"
@
change=
"radioBtn"
>
<el-radio
v-for=
"item in radioList"
:label=
"item.type"
>
{{
item
.
label
}}
</el-radio>
<el-radio
v-for=
"item in radioList"
:label=
"item.type"
>
{{
item
.
label
}}
</el-radio>
</el-radio-group>
</el-radio-group>
<el-date-picker
v-if=
"radio==6"
v-model=
"date"
type=
"daterange"
value-format=
"yyyy-MM-dd"
unlink-panels
size=
"small"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
@
change=
"changePicker"
>
</el-date-picker>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -15,45 +27,41 @@
...
@@ -15,45 +27,41 @@
<div
class=
"table-search"
>
<div
class=
"table-search"
>
<div
class=
"total"
>
共 162 条
</div>
<div
class=
"total"
>
共 162 条
</div>
<div
class=
"right"
>
<div
class=
"right"
>
<span
class=
"add"
>
添加企业
</span>
<span
class=
"add"
@
click=
"addEnterprise"
>
添加企业
</span>
<span
class=
"add1"
>
批量监控
</span>
<span
class=
"add1"
@
click=
"handleBatch"
>
批量监控
</span>
</div>
</div>
</div>
</div>
<div
class=
"table-item"
>
<div
class=
"table-item"
>
<el-table
<el-table
class=
"fixed-table"
class=
"fixed-table"
element-loading-text=
"Loading"
element-loading-text=
"Loading"
:data=
"tableData"
border
border
highlight-current-row
highlight-current-row
>
>
<el-table-column
label=
"序号"
width=
"60"
align=
"left"
fixed
>
<el-table-column
label=
"序号"
width=
"60"
align=
"left"
fixed
>
<!--
<template
slot-scope=
"scope"
>
{{
pageIndex
*
pageSize
-
pageSize
+
scope
.
$index
+
1
}}
</
template
>
-->
<template
slot-scope=
"scope"
>
{{
queryParams
.
pageNum
*
queryParams
.
pageSize
-
queryParams
.
pageSize
+
scope
.
$index
+
1
}}
</
template
>
<
template
slot-scope=
"scope"
>
1
</
template
>
</el-table-column>
<el-table-column
label=
"监控对象"
align=
"left"
>
<
template
slot-scope=
"scope"
>
中国中铁股份有限公司
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"监控对象"
align=
"left"
prop=
"companyName"
></el-table-column>
<el-table-column
label=
"风险动态"
align=
"left"
>
<el-table-column
label=
"风险动态"
align=
"left"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
中国中铁股份有限公司
<span
class=
"color1 span"
>
高风险
{{
scope
.
row
.
highRiskCount
}}
</span>
</
template
>
<span
class=
"color2 span"
>
中风险
{{
scope
.
row
.
middleRiskCount
}}
</span>
</el-table-column>
<span
class=
"color3 span"
>
低风险
{{
scope
.
row
.
lowRiskCount
}}
</span>
<el-table-column
label=
"监控时间"
width=
"200"
align=
"left"
>
<span
class=
"color4 span"
>
提示
{{
scope
.
row
.
promptCount
}}
</span>
<
template
slot-scope=
"scope"
>
<span
class=
"color5 span"
>
正向
{{
scope
.
row
.
positiveCount
}}
</span>
2022-09-02
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"监控时间"
width=
"240"
align=
"left"
prop=
"createTime"
></el-table-column>
<el-table-column
<el-table-column
label=
"操作"
label=
"操作"
align=
"
center
"
align=
"
left
"
width=
"180"
width=
"180"
class-name=
"small-padding fixed-width"
class-name=
"small-padding fixed-width"
fixed=
"right"
fixed=
"right"
>
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span>
取消监控
</span>
<span
style=
"color:#0081FF;"
@
click=
"handleCancel(scope.row.companyId)"
>
取消监控
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -63,45 +71,44 @@
...
@@ -63,45 +71,44 @@
<el-dialog
:visible
.
sync=
"jkVisible"
custom-class=
'dialog-claim'
title=
"提示"
width=
"480px"
>
<el-dialog
:visible
.
sync=
"jkVisible"
custom-class=
'dialog-claim'
title=
"提示"
width=
"480px"
>
<div
class=
"dialog-content"
><i
class=
"el-icon-warning"
></i>
取消后将错过企业最新动态
</div>
<div
class=
"dialog-content"
><i
class=
"el-icon-warning"
></i>
取消后将错过企业最新动态
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button>
我再想想
</el-button>
<el-button
@
click=
"jkVisible===false"
>
我再想想
</el-button>
<el-button
type=
"primary"
>
确定取消
</el-button>
<el-button
type=
"primary"
@
click=
"handleConfirm"
>
确定取消
</el-button>
</div>
</div>
</el-dialog>
</el-dialog>
<el-dialog
:visible
.
sync=
"qyVisible"
custom-class=
'dialog-claim'
title=
"添加监控企业"
width=
"480px"
>
<el-dialog
:visible
.
sync=
"qyVisible"
custom-class=
'dialog-claim'
title=
"添加监控企业"
width=
"480px"
>
<div
class=
"add-content"
>
<div
class=
"add-content"
>
<div
class=
"enterprise"
>
<div
class=
"enterprise"
>
<div
class=
"label"
>
企业名称
</div>
<div
class=
"label"
>
企业名称
</div>
<el-input
class=
"name"
placeholder=
"请输入企业名称"
>
<el-input
class=
"name"
placeholder=
"请输入企业名称"
v-model=
"companyName"
>
<el-button
slot=
"append"
>
搜索
</el-button>
<el-button
slot=
"append"
@
click=
"handleKeyword()"
>
搜索
</el-button>
</el-input>
</el-input>
</div>
</div>
<div
class=
"companyList"
>
<div
class=
"companyList"
v-if=
"dataList.length > 0"
>
<div
class=
"list"
>
<div
class=
"list"
>
<div
class=
"item"
>
<div
class=
"item"
v-for=
"item in dataList"
>
<div
class=
"item-left"
>
<div
class=
"item-left"
>
<!--<img v-if="item.logoUrl" :src="item.logoUrl" :alt="item.name.replace(/<font color='#FF204E'>/g,'').replace(/<\/font>/g,'')" />-->
<img
v-if=
"item.logoUrl"
:src=
"item.logoUrl"
:alt=
"item.name.replace(/<font color='#FF204E'>/g,'').replace(/<\/font>/g,'')"
/>
<!--<img v-else src="@/assets/images/enterprise.png" :alt="item.name.replace(/<font color='#FF204E'>/g,'').replace(/<\/font>/g,'')" />-->
<img
v-else
src=
"@/assets/images/enterprise.png"
:alt=
"item.name.replace(/<font color='#FF204E'>/g,'').replace(/<\/font>/g,'')"
/>
<img
src=
"@/assets/images/enterprise.png"
/>
</div>
</div>
<div
class=
"item-right"
>
<div
class=
"item-right"
>
<p
class=
"right-title"
>
中国铁建集团
</p>
<p
class=
"right-title"
v-html=
"item.name"
>
</p>
<p
class=
"right-tips"
>
推荐监控
</p>
<p
class=
"right-tips"
>
推荐监控
</p>
</div>
</div>
<el-checkbox></el-checkbox>
<el-checkbox
@
change=
"changeCheckbox(item)"
></el-checkbox>
</div>
</div>
</div>
</div>
<p
class=
"tips"
>
前往企业查询寻找企业线索
<i
class=
"el-icon-arrow-right"
></i></p>
<p
class=
"tips"
>
前往企业查询寻找企业线索
<i
class=
"el-icon-arrow-right"
></i></p>
<div
class=
"btn"
>
<div
class=
"btn"
>
<div>
<div>
<el-button>
取消
</el-button>
<el-button
@
click=
"qyVisible===false"
>
取消
</el-button>
<el-button
type=
"primary"
>
确定
</el-button>
<el-button
type=
"primary"
@
click=
"handleAdd"
>
确定
</el-button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button>
取消
</el-button>
<el-button>
取消
</el-button>
<el-button
type=
"primary"
>
确定
</el-button>
<el-button
type=
"primary"
@
click=
"handleAdd"
>
确定
</el-button>
</div>
</div>
</el-dialog>
</el-dialog>
<el-dialog
:visible
.
sync=
"pldrVisible"
custom-class=
'dialog-claim'
title=
"批量导入监控企业"
width=
"480px"
>
<el-dialog
:visible
.
sync=
"pldrVisible"
custom-class=
'dialog-claim'
title=
"批量导入监控企业"
width=
"480px"
>
...
@@ -109,7 +116,13 @@
...
@@ -109,7 +116,13 @@
<el-upload
<el-upload
class=
"upload-demo"
class=
"upload-demo"
drag
drag
action=
"https://jsonplaceholder.typicode.com/posts/"
:action=
"action"
:file-list=
"fileList"
accept=
".excel,.xlsx"
:headers=
"headers"
:on-change=
"handleFileListChange"
:auto-upload=
"false"
ref=
"upload"
multiple
>
multiple
>
<i
class=
"el-icon-plus"
></i>
<i
class=
"el-icon-plus"
></i>
<div
class=
"el-upload__text"
>
<div
class=
"el-upload__text"
>
...
@@ -121,18 +134,21 @@
...
@@ -121,18 +134,21 @@
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
class=
"download"
icon=
"el-icon-download"
>
下载模版
</el-button>
<el-button
class=
"download"
icon=
"el-icon-download"
>
下载模版
</el-button>
<el-button>
取消
</el-button>
<el-button>
取消
</el-button>
<el-button
type=
"primary"
>
确定
</el-button>
<el-button
type=
"primary"
@
click=
"submitUpload"
>
确定
</el-button>
</div>
</div>
</el-dialog>
</el-dialog>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
companyPage
,
companyList
,
companyAdd
,
companyCancel
}
from
'@/api/monitoring/monitoring'
import
{
getToken
}
from
'@/utils/auth'
export
default
{
export
default
{
name
:
'EnterpriseMonitoring'
,
name
:
'EnterpriseMonitoring'
,
data
()
{
data
()
{
return
{
return
{
radio
:
1
,
radio
:
null
,
date
:[],
radioList
:[
radioList
:[
{
{
type
:
1
,
type
:
1
,
...
@@ -159,25 +175,161 @@
...
@@ -159,25 +175,161 @@
label
:
'自定义日期'
label
:
'自定义日期'
},
},
],
],
tableData
:[
tableData
:[],
{
tableDataTotal
:
0
,
name
:
'中国中铁股份有限公司'
,
companyName
:
''
,
time
:
'2022-09-02'
,
}
],
jkVisible
:
false
,
jkVisible
:
false
,
qyVisible
:
false
,
qyVisible
:
false
,
pldrVisible
:
false
,
pldrVisible
:
false
,
queryParams
:{
pageNum
:
1
,
pageSize
:
10
,
condition
:{}
},
dataList
:[],
cid
:[],
//上传
action
:
process
.
env
.
VUE_APP_BASE_API
+
'/monitor/system/import'
,
fileList
:
[],
headers
:
{
Authorization
:
"Bearer "
+
getToken
(),
},
companyId
:
''
}
}
},
},
created
()
{
created
()
{
this
.
querySubmit
()
},
},
methods
:
{
methods
:
{
async
querySubmit
()
{
handleClick
()
{
console
.
log
(
this
.
queryParams
)
companyPage
(
this
.
queryParams
).
then
(
res
=>
{
console
.
log
(
res
)
this
.
tableData
=
res
.
rows
this
.
tableDataTotal
=
res
.
total
})
},
handleKeyword
(){
let
data
=
{
keyword
:
this
.
companyName
,
page
:{
"page"
:
1
,
"limit"
:
50
,
}
}
companyList
(
data
).
then
(
res
=>
{
console
.
log
(
res
.
data
.
list
)
this
.
dataList
=
res
.
data
.
list
})
},
changeCheckbox
(
item
){
console
.
log
(
item
)
if
(
this
.
cid
.
indexOf
(
item
.
id
)
==
-
1
)
{
this
.
cid
.
push
(
item
.
id
)
}
else
{
this
.
cid
.
splice
(
this
.
cid
.
indexOf
(
item
.
id
),
1
)
}
},
handleAdd
(){
let
data
=
{
cid
:
this
.
cid
}
companyAdd
(
data
).
then
(
res
=>
{
this
.
qyVisible
=
false
;
this
.
$modal
.
success
(
"新增成功"
);
this
.
querySubmit
()
})
},
radioBtn
(
val
){
let
endTime
=
new
Date
()
switch
(
val
)
{
case
1
:
this
.
queryParams
.
condition
.
beginTime
=
this
.
formatDate
(
endTime
)
this
.
queryParams
.
condition
.
endTime
=
this
.
formatDate
(
endTime
)
this
.
querySubmit
()
break
;
case
2
:
this
.
queryParams
.
condition
.
beginTime
=
this
.
formatDate
(
new
Date
(
endTime
.
getTime
()
-
3600
*
1000
*
24
*
3
))
this
.
queryParams
.
condition
.
endTime
=
this
.
formatDate
(
endTime
)
this
.
querySubmit
()
break
;
case
3
:
this
.
queryParams
.
condition
.
beginTime
=
this
.
formatDate
(
new
Date
(
endTime
.
getTime
()
-
3600
*
1000
*
24
*
7
))
this
.
queryParams
.
condition
.
endTime
=
this
.
formatDate
(
endTime
)
this
.
querySubmit
()
break
;
case
4
:
this
.
queryParams
.
condition
.
beginTime
=
this
.
formatDate
(
new
Date
(
endTime
.
getTime
()
-
3600
*
1000
*
24
*
15
))
this
.
queryParams
.
condition
.
endTime
=
this
.
formatDate
(
endTime
)
this
.
querySubmit
()
break
;
case
5
:
this
.
queryParams
.
condition
.
beginTime
=
this
.
formatDate
(
new
Date
(
endTime
.
getTime
()
-
3600
*
1000
*
24
*
30
))
this
.
queryParams
.
condition
.
endTime
=
this
.
formatDate
(
endTime
)
this
.
querySubmit
()
break
;
case
6
:
this
.
date
=
[]
break
;
default
:
break
;
}
},
// 时间选择改变后的回调
changePicker
(
value
)
{
if
(
value
&&
value
.
length
)
{
this
.
queryParams
.
condition
.
beginTime
=
value
[
0
]
this
.
queryParams
.
condition
.
endTime
=
value
[
1
]
}
this
.
querySubmit
()
},
// 时间格式化
formatDate
(
timeStr
)
{
let
date
=
new
Date
(
Number
(
timeStr
));
let
year
=
date
.
getFullYear
();
let
month
=
String
(
date
.
getMonth
()
+
1
).
padStart
(
2
,
0
);
let
day
=
String
(
date
.
getDate
()).
padStart
(
2
,
0
);
return
`
${
year
}
-
${
month
}
-
${
day
}
`
;
},
handleCancel
(
id
){
this
.
jkVisible
=
true
;
this
.
companyId
=
id
},
handleConfirm
(){
companyCancel
({
cid
:[
this
.
companyId
]}).
then
(
res
=>
{
this
.
jkVisible
=
false
;
this
.
$modal
.
success
(
"取消成功"
);
this
.
querySubmit
()
})
},
addEnterprise
(){
this
.
qyVisible
=
true
;
},
handleBatch
(){
this
.
pldrVisible
=
true
;
},
handleFileListChange
(
file
,
fileList
)
{
if
(
fileList
.
length
>
0
)
{
this
.
fileList
=
[
fileList
[
fileList
.
length
-
1
]];
}
},
onSuccess
(
res
,
file
,
fileList
)
{
if
(
res
.
code
==
200
){
this
.
$refs
.
upload
.
submit
();
let
_this
=
this
setTimeout
(
function
()
{
// _this.getList()
_this
.
$message
.
success
(
'上传成功!'
)
// _this.isupload = false
},
3000
)
}
}
else
this
.
$message
.
error
({
message
:
res
.
msg
,
showClose
:
true
})
},
submitUpload
()
{
this
.
$refs
.
upload
.
submit
();
},
}
}
}
}
</
script
>
</
script
>
...
@@ -191,9 +343,22 @@
...
@@ -191,9 +343,22 @@
.search
{
.search
{
display
:
-
webkit-box
;
display
:
-
webkit-box
;
align-items
:
flex-start
;
align-items
:
flex-start
;
line-height
:
20
px
;
line-height
:
16
px
;
.label
{
.label
{
margin-right
:
24px
;
margin-right
:
24px
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
font-size
:
14px
;
}
}
.checkbox
{
display
:
flex
;
align-items
:
flex-start
;
padding-left
:
12px
;
position
:
relative
;
::v-deep
.el-date-editor
{
position
:
absolute
;
left
:
602px
;
top
:
-7px
}
}
}
}
}
}
...
@@ -233,6 +398,37 @@
...
@@ -233,6 +398,37 @@
}
}
}
}
}
}
.table-item
{
.span
{
height
:
22px
;
line-height
:
22px
;
padding
:
0
8px
;
border-radius
:
2px
2px
2px
2px
;
font-size
:
12px
;
margin-right
:
10px
;
display
:
inline-block
;
}
.color1
{
background
:
#FFECE8
;
color
:
#FF3C3C
;
}
.color2
{
background
:
#FFF3E8
;
color
:
#F77234
;
}
.color3
{
background
:
#FFF8E8
;
color
:
#FFAB44
;
}
.color4
{
background
:
#E8F7FF
;
color
:
#0081FF
;
}
.color5
{
background
:
#E8FFF1
;
color
:
#0CBC6D
;
}
}
}
}
::v-deep
.dialog-claim
{
::v-deep
.dialog-claim
{
margin
:
0
!
important
;
margin
:
0
!
important
;
...
@@ -309,6 +505,7 @@
...
@@ -309,6 +505,7 @@
position
:
absolute
;
position
:
absolute
;
.list
{
.list
{
max-height
:
372px
;
max-height
:
372px
;
overflow
:
auto
;
}
}
.item
{
.item
{
display
:
flex
;
display
:
flex
;
...
@@ -324,6 +521,7 @@
...
@@ -324,6 +521,7 @@
}
}
}
}
.item-right
{
.item-right
{
width
:
250px
;
p
{
p
{
margin
:
0
;
margin
:
0
;
padding
:
0
;
padding
:
0
;
...
...
dsk-operate-ui/src/views/monitoring/MonitorSettings.vue
View file @
c217a487
...
@@ -7,26 +7,21 @@
...
@@ -7,26 +7,21 @@
<div
class=
"main-item"
>
<div
class=
"main-item"
>
<div
class=
"label"
>
风险类型
</div>
<div
class=
"label"
>
风险类型
</div>
<div
class=
"main-right"
>
<div
class=
"main-right"
>
<div
class=
"checkbox"
>
<div
class=
"select-popper"
>
<div
class=
"checkbox-content-qx"
>
<span
:class=
"
{ color_text: sffx.length }">司法风险
{{
sffx
.
length
>
0
?
sffx
.
length
:
''
}}
<i
class=
"el-icon-caret-bottom"
></i></span>
<el-checkbox
v-model=
"checkFx"
@
change=
"checkFxBtn"
>
全部
</el-checkbox>
<el-select
ref=
"tenderTypeSelect"
v-model=
"sffx"
class=
"select-multiple"
collapse-tags
@
change=
"handleSelect"
multiple
placeholder=
"请选择"
>
<el-option
v-for=
"(i,index) in selectList"
:key=
"index"
:label=
"i.dimensionName"
:value=
"i.dimensionName"
>
<el-checkbox
style=
"width: 100%;"
:label=
"i.dimensionName"
@
change=
"changeSffx(i)"
>
{{
i
.
dimensionName
}}
</el-checkbox>
</el-option>
</el-select>
</div>
</div>
<el-checkbox-group
v-model=
"queryParams.fxType"
class=
"keyword_checkbox"
@
change=
"checkFx1Btn"
>
<div
class=
"select-popper"
>
<el-checkbox
v-for=
"item in fxlx"
:label=
"item.value"
:key=
"item.label"
>
{{
item
.
label
}}
</el-checkbox>
<span
:class=
"
{ color_text: gsfx.length }">工商风险
{{
gsfx
.
length
>
0
?
gsfx
.
length
:
''
}}
<i
class=
"el-icon-caret-bottom"
></i></span>
</el-checkbox-group>
<el-select
ref=
"tenderTypeSelect"
v-model=
"gsfx"
class=
"select-multiple"
collapse-tags
@
change=
"handleSelect"
multiple
placeholder=
"请选择"
>
</div>
<el-option
v-for=
"(i,index) in selectList1"
:key=
"index"
:label=
"i.dimensionName"
:value=
"i.dimensionName"
>
</div>
<el-checkbox
style=
"width: 100%;"
:label=
"i.dimensionName"
@
change=
"changeGsfx(i)"
>
{{
i
.
dimensionName
}}
</el-checkbox>
</div>
</el-option>
<div
class=
"main-item"
>
</el-select>
<div
class=
"label"
>
监控维度
</div>
<div
class=
"main-right"
>
<div
class=
"checkbox"
>
<div
class=
"checkbox-content-qx"
>
<el-checkbox
v-model=
"checkJkwd"
@
change=
"checkJkwdBtn"
>
全部
</el-checkbox>
</div>
<el-checkbox-group
v-model=
"queryParams.jkwdType"
class=
"keyword_checkbox"
@
change=
"checkJkwd1Btn"
>
<el-checkbox
v-for=
"item in jkwd"
:label=
"item.value"
:key=
"item.label"
>
{{
item
.
label
}}
</el-checkbox>
</el-checkbox-group>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -35,15 +30,18 @@
...
@@ -35,15 +30,18 @@
<div
class=
"m-main"
>
<div
class=
"m-main"
>
<div
class=
"main-item"
>
<div
class=
"main-item"
>
<div
class=
"label"
>
推送频率
</div>
<div
class=
"label"
>
推送频率
</div>
<el-radio
v-model=
"queryParams.radio"
label=
"1"
>
每天
</el-radio>
<el-radio
v-model=
"queryParams.pushFrequency"
label=
"0"
>
每小时
</el-radio>
<el-radio
v-model=
"queryParams.radio"
label=
"2"
>
工作日(排除节假日)
</el-radio>
<el-radio
v-model=
"queryParams.pushFrequency"
label=
"1"
>
每天
</el-radio>
<el-radio
v-model=
"queryParams.pushFrequency"
label=
"2"
>
工作日(排除节假日)
</el-radio>
</div>
</div>
<div
class=
"main-item"
style=
"line-height: 32px;"
>
<div
class=
"main-item"
style=
"line-height: 32px;"
>
<div
class=
"label"
>
推送时段
</div>
<div
class=
"label"
>
推送时段
</div>
<el-time-picker
<el-time-picker
is-range
is-range
class=
"timePicker"
class=
"timePicker"
v-model=
"queryParams.time"
v-model=
"time"
:picker-options=
"
{ step: '01:00' }"
@change="changeTime"
range-separator="至"
range-separator="至"
start-placeholder="开始时间"
start-placeholder="开始时间"
end-placeholder="结束时间"
end-placeholder="结束时间"
...
@@ -55,17 +53,17 @@
...
@@ -55,17 +53,17 @@
<div
class=
"m-main"
>
<div
class=
"m-main"
>
<div
class=
"main-item"
>
<div
class=
"main-item"
>
<div
class=
"label"
>
接收方式
</div>
<div
class=
"label"
>
接收方式
</div>
<
el-radio
v-model=
"queryParams.radio"
label=
"1"
>
全部
</el-radio
>
<
!--
<el-radio
v-model=
"queryParams.radio"
label=
"1"
>
全部
</el-radio>
--
>
<el-radio
v-model=
"queryParams.r
adio"
label=
"2
"
>
手机短信
</el-radio>
<el-radio
v-model=
"queryParams.r
eceiveMode"
label=
"0
"
>
手机短信
</el-radio>
<
el-radio
v-model=
"queryParams.radio"
label=
"3"
>
PC
</el-radio
>
<
!--
<el-radio
v-model=
"queryParams.radio"
label=
"3"
>
PC
</el-radio>
--
>
</div>
</div>
<div
class=
"main-item"
style=
"line-height: 32px;"
>
<div
class=
"main-item"
style=
"line-height: 32px;"
>
<div
class=
"label"
>
手机号码
</div>
<div
class=
"label"
>
手机号码
</div>
<el-input
class=
"phone"
v-model=
"queryParams.phone"
placeholder=
"请输入手机号"
></el-input>
<el-input
class=
"phone"
v-model=
"queryParams.phone
s
"
placeholder=
"请输入手机号"
></el-input>
</div>
</div>
</div>
</div>
<div
class=
"search"
>
<div
class=
"search"
>
<span
class=
"btn1"
>
保存
</span>
<span
class=
"btn1"
@
click=
"handleAdd"
>
保存
</span>
<span
class=
"btn2"
>
重置
</span>
<span
class=
"btn2"
>
重置
</span>
</div>
</div>
</div>
</div>
...
@@ -74,58 +72,95 @@
...
@@ -74,58 +72,95 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
{
rulesSelect
,
insertOrUpdate
,
rulesDetail
}
from
'@/api/monitoring/monitoring'
export
default
{
export
default
{
name
:
'MonitorSettings'
,
name
:
'MonitorSettings'
,
data
()
{
data
()
{
return
{
return
{
fxlx
:[
selectList
:[],
{
selectList1
:[],
value
:
'1'
,
sffx
:[],
label
:
'工商风险'
gsfx
:[],
},
{
value
:
'2'
,
label
:
'司法风险'
},
],
jkwd
:[
{
value
:
'1'
,
label
:
'法院公告'
},
{
value
:
'2'
,
label
:
'裁判文书'
},
{
value
:
'3'
,
label
:
'开庭公告'
},
{
value
:
'3'
,
label
:
'股权冻结'
},
],
checkFx
:
true
,
checkFx
:
true
,
checkJkwd
:
true
,
checkJkwd
:
true
,
queryParams
:{
queryParams
:{
fxType
:[],
fxType
:[],
jkwdType
:[],
jkwdType
:[],
time
:[
new
Date
(
2016
,
9
,
10
,
8
,
40
),
new
Date
(
2016
,
9
,
10
,
9
,
40
)],
pushFrequency
:
'0'
,
radio
:
'1'
,
receiveMode
:
'0'
,
phone
:
''
phones
:
''
}
},
time
:
''
}
}
},
},
created
()
{
created
()
{
rulesSelect
().
then
(
res
=>
{
this
.
selectList
=
res
.
data
;
for
(
let
i
in
res
.
data
){
if
(
res
.
data
[
i
].
dimensionName
===
'司法风险'
){
this
.
selectList
=
res
.
data
[
i
].
children
}
if
(
res
.
data
[
i
].
dimensionName
===
'工商风险'
){
this
.
selectList1
=
res
.
data
[
i
].
children
}
}
})
rulesDetail
({}).
then
(
res
=>
{
console
.
log
(
res
)
})
},
},
methods
:
{
methods
:
{
checkFxBtn
(
val
)
{
changeSffx
(
val
)
{
this
.
queryParams
.
fxType
=
[];
if
(
this
.
sffx
.
indexOf
(
val
.
dimensionName
)
==
-
1
)
{
this
.
checkFx
=
true
;
this
.
sffx
.
push
(
val
.
dimensionName
)
}
else
{
this
.
sffx
.
splice
(
this
.
sffx
.
indexOf
(
val
.
dimensionName
),
1
)
}
},
changeGsfx
(
val
)
{
if
(
this
.
gsfx
.
indexOf
(
val
.
dimensionName
)
==
-
1
)
{
this
.
gsfx
.
push
(
val
.
dimensionName
)
}
else
{
this
.
gsfx
.
splice
(
this
.
gsfx
.
indexOf
(
val
.
dimensionName
),
1
)
}
},
handleSelect
(
val
)
{
// console.log(val)
},
handleAdd
(){
let
params
=
{
pushFrequency
:
Number
(
this
.
queryParams
.
pushFrequency
),
riskType
:
''
,
dimension
:
''
,
receiveMode
:
Number
(
this
.
queryParams
.
receiveMode
),
phones
:
this
.
queryParams
.
phones
,
}
if
(
this
.
sffx
.
length
>
0
&&
this
.
gsfx
.
length
>
0
){
params
.
riskType
=
'司法风险,工商风险'
params
.
dimension
=
this
.
sffx
.
join
()
+
','
+
this
.
gsfx
.
join
()
}
if
(
this
.
sffx
.
length
>
0
&&
this
.
gsfx
.
length
===
0
){
params
.
riskType
=
'司法风险'
params
.
dimension
=
this
.
sffx
.
join
()
}
if
(
this
.
sffx
.
length
===
0
&&
this
.
gsfx
.
length
>
0
){
params
.
riskType
=
'工商风险'
params
.
dimension
=
this
.
gsfx
.
join
()
}
if
(
this
.
time
.
length
>
0
){
params
.
timePeriodStart
=
this
.
time
[
0
]
params
.
timePeriodEnd
=
this
.
time
[
1
]
}
console
.
log
(
params
)
insertOrUpdate
(
params
).
then
(
res
=>
{
console
.
log
(
res
)
})
},
changeTime
(
val
){
console
.
log
(
val
)
},
},
checkFx1Btn
(
val
){
checkFx1Btn
(
val
){
console
.
log
(
val
)
if
(
val
.
length
>
0
)
{
if
(
val
.
length
>
0
)
{
this
.
checkFx
=
false
;
this
.
checkFx
=
false
;
}
else
if
(
val
.
length
==
0
)
{
}
else
if
(
val
.
length
==
0
)
{
...
@@ -148,6 +183,16 @@
...
@@ -148,6 +183,16 @@
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
>
.el-popper
[
x-placement
^=
"bottom"
]
{
margin-top
:
5px
!
important
;
}
.
el-select-dropdown__item
.
selected
,
.
el-select-dropdown
.
is-multiple
.
el-select-dropdown__item
.
selected
:
:
after
{
color
:
#3181fa
;
font-size
:
0
;
}
</
style
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.MonitorSettings
{
.MonitorSettings
{
.content
{
.content
{
...
@@ -178,13 +223,45 @@
...
@@ -178,13 +223,45 @@
font-weight
:
400
;
font-weight
:
400
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
}
}
.color_text
{
color
:
#0081ff
;
}
.main-right
{
.main-right
{
width
:
calc
(
100%
-
112px
);
width
:
calc
(
100%
-
112px
);
.checkbox
{
.select-popper
{
display
:
flex
;
text-align
:
center
;
align-items
:
flex-start
;
display
:
inline-block
;
.checkbox-content-qx
{
position
:
relative
;
margin-right
:
24px
;
color
:
#333333
;
font-size
:
14px
;
cursor
:
pointer
;
margin
:
0px
12px
;
margin-bottom
:
16px
;
}
.select-popper
.select-popper-img
{
width
:
24px
;
height
:
12px
;
position
:
absolute
;
top
:
-10px
;
right
:
2px
;
}
.select-multiple
{
position
:
absolute
;
left
:
0
;
top
:
-6px
;
opacity
:
0
;
line-height
:
22px
;
.el-input
{
width
:
100%
;
line-height
:
22px
;
.el-input__inner
{
width
:
100%
;
height
:
22px
!
important
;
}
}
.el-tag__close.el-icon-close
{
display
:
none
;
}
}
}
}
}
}
...
...
dsk-operate-ui/src/views/monitoring/MonitoringDynamics.vue
View file @
c217a487
...
@@ -4,15 +4,15 @@
...
@@ -4,15 +4,15 @@
<div
class=
"search"
>
<div
class=
"search"
>
<div
class=
"search-item"
style=
"line-height: 32px;margin-top: 0;padding-bottom: 8px;"
>
<div
class=
"search-item"
style=
"line-height: 32px;margin-top: 0;padding-bottom: 8px;"
>
<div
class=
"label"
>
监控维度
</div>
<div
class=
"label"
>
监控维度
</div>
<el-input
class=
"name"
placeholder=
"请输入监控对象名称"
>
<el-input
class=
"name"
placeholder=
"请输入监控对象名称"
v-model=
"companyName"
>
<el-button
slot=
"append"
>
搜索
</el-button>
<el-button
slot=
"append"
@
click=
"handleKeyword()"
>
搜索
</el-button>
</el-input>
</el-input>
</div>
</div>
<div
class=
"search-item"
>
<div
class=
"search-item"
>
<div
class=
"label"
>
更新时间
</div>
<div
class=
"label"
>
更新时间
</div>
<div
class=
"checkbox"
>
<div
class=
"checkbox"
>
<el-radio-group
v-model=
"radio"
>
<el-radio-group
v-model=
"radio"
>
<el-radio
v-for=
"item in radioList"
:label=
"item.type"
>
{{
item
.
label
}}
</el-radio>
<el-radio
v-for=
"item in radioList"
@
change=
"radioBtn"
:label=
"item.type"
>
{{
item
.
label
}}
</el-radio>
</el-radio-group>
</el-radio-group>
<el-date-picker
<el-date-picker
v-if=
"radio==6"
v-if=
"radio==6"
...
@@ -21,6 +21,7 @@
...
@@ -21,6 +21,7 @@
value-format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd"
unlink-panels
unlink-panels
size=
"small"
size=
"small"
@
change=
"changePicker"
range-separator=
"至"
range-separator=
"至"
start-placeholder=
"开始日期"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
end-placeholder=
"结束日期"
>
...
@@ -29,36 +30,23 @@
...
@@ -29,36 +30,23 @@
</div>
</div>
<div
class=
"search-item"
style=
"line-height: 32px;"
>
<div
class=
"search-item"
style=
"line-height: 32px;"
>
<div
class=
"label"
>
监控类型
</div>
<div
class=
"label"
>
监控类型
</div>
<div
class=
"checkbox"
>
<div
class=
"main-right"
>
<el-checkbox
@
change=
"checkJklxBtn('司法风险')"
></el-checkbox>
<div
class=
"select-popper"
>
<el-select
v-model=
"queryParams.type"
@
change=
"iptAdaptive(inputID1,true,'changeSelect1')"
<span
:class=
"
{ color_text: sffx.length }">司法风险
{{
sffx
.
length
>
0
?
sffx
.
length
:
''
}}
<i
class=
"el-icon-caret-bottom"
></i></span>
:class=
"[`select-adaptive-$
{inputID1}`,queryParams.type.length > 1 ? 'selectTag' : '']" multiple collapse-tags clearable
<el-select
ref=
"tenderTypeSelect"
v-model=
"sffx"
class=
"select-multiple"
collapse-tags
multiple
placeholder=
"请选择"
>
placeholder="司法风险">
<el-option
v-for=
"(i,index) in selectList"
:key=
"index"
:label=
"i.dimensionName"
:value=
"i.dimensionName"
>
<el-option
v-for=
"(item,index) in sffxList"
:key=
"index"
:label=
"item"
:value=
"item"
></el-option>
<el-checkbox
style=
"width: 100%;"
:label=
"i.dimensionName"
@
change=
"changeSffx(i)"
>
{{
i
.
dimensionName
}}
</el-checkbox>
</el-option>
</el-select>
</el-select>
<el-checkbox
@
change=
"checkJklxBtn('工商变更')"
></el-checkbox>
</div>
<el-select
v-model=
"queryParams.gsbgType"
@
change=
"iptAdaptive(inputID2,true,'changeSelect1')"
<div
class=
"select-popper"
>
:class=
"[`select-adaptive-$
{inputID2}`,queryParams.gsbgType.length > 1 ? 'selectTag' : '']" multiple collapse-tags clearable
<span
:class=
"
{ color_text: gsfx.length }">工商风险
{{
gsfx
.
length
>
0
?
gsfx
.
length
:
''
}}
<i
class=
"el-icon-caret-bottom"
></i></span>
placeholder="工商变更">
<el-select
ref=
"tenderTypeSelect"
v-model=
"gsfx"
class=
"select-multiple"
collapse-tags
multiple
placeholder=
"请选择"
>
<el-option
v-for=
"(item,index) in gsbgList"
:key=
"index"
:label=
"item"
:value=
"item"
></el-option>
<el-option
v-for=
"(i,index) in selectList1"
:key=
"index"
:label=
"i.dimensionName"
:value=
"i.dimensionName"
>
<el-checkbox
style=
"width: 100%;"
:label=
"i.dimensionName"
@
change=
"changeGsfx(i)"
>
{{
i
.
dimensionName
}}
</el-checkbox>
</el-option>
</el-select>
</el-select>
<!--
<el-checkbox-group
v-model=
"fxlxType"
class=
"keyword_checkbox"
@
change=
"checkJklxBtn"
>
-->
</div>
<!--
<el-checkbox
v-for=
"item in jkType"
:label=
"item.value"
:key=
"item.label"
></el-checkbox>
-->
<!--
<template
v-if=
"item.label=='司法风险'"
>
-->
<!--
<el-select
v-model=
"queryParams.type"
@
change=
"iptAdaptive(inputID1,true,'changeSelect1')"
--
>
<!--:class="[`select-adaptive-$
{inputID1}`,queryParams.type.length > 1 ? 'selectTag' : '']" multiple collapse-tags clearable-->
<!--:placeholder="item.label">-->
<!--
<el-option
v-for=
"(item,index) in sffxList"
:key=
"index"
:label=
"item"
:value=
"item"
></el-option>
-->
<!--
</el-select>
-->
<!--
</
template
>
-->
<!--<template v-if="item.label=='工商变更'">-->
<!--<el-select v-model="queryParams.gsbgType" @change="iptAdaptive(inputID2,true,'changeSelect1')"-->
<!--:class="[`select-adaptive-${inputID2}`,queryParams.gsbgType.length > 1 ? 'selectTag' : '']" multiple collapse-tags clearable-->
<!--:placeholder="item.label">-->
<!--<el-option v-for="(item,index) in gsbgList" :key="index" :label="item" :value="item"></el-option>-->
<!--</el-select>-->
<!--</template>-->
<!--</el-checkbox-group>-->
</div>
</div>
</div>
</div>
<div
class=
"search-item"
>
<div
class=
"search-item"
>
...
@@ -68,16 +56,16 @@
...
@@ -68,16 +56,16 @@
<div
class=
"checkbox-content-qx"
>
<div
class=
"checkbox-content-qx"
>
<el-checkbox
v-model=
"checkFx"
@
change=
"checkFxjbBtn"
>
全部
</el-checkbox>
<el-checkbox
v-model=
"checkFx"
@
change=
"checkFxjbBtn"
>
全部
</el-checkbox>
</div>
</div>
<el-
radio
-group
v-model=
"fxjbType"
class=
"keyword_checkbox"
@
change=
"checkFxjb1Btn"
>
<el-
checkbox
-group
v-model=
"fxjbType"
class=
"keyword_checkbox"
@
change=
"checkFxjb1Btn"
>
<el-
radio
v-for=
"item in fxjb"
:label=
"item.value"
:key=
"item.label"
>
{{item.label}}
</el-radio
>
<el-
checkbox
v-for=
"item in fxjb"
:label=
"item.value"
:key=
"item.label"
>
{{
item
.
label
}}
</el-checkbox
>
</el-
radio
-group>
</el-
checkbox
-group>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"content"
>
<div
class=
"content"
>
<div
class=
"total"
>
共
162
条
</div>
<div
class=
"total"
>
共
{{
tableDataTotal
}}
条
</div>
<div
class=
"table-item"
>
<div
class=
"table-item"
>
<el-table
<el-table
class=
"fixed-table"
class=
"fixed-table"
...
@@ -87,34 +75,22 @@
...
@@ -87,34 +75,22 @@
highlight-current-row
highlight-current-row
>
>
<el-table-column
label=
"序号"
width=
"60"
align=
"left"
fixed
>
<el-table-column
label=
"序号"
width=
"60"
align=
"left"
fixed
>
<!--<template slot-scope="scope">{{ pageIndex * pageSize - pageSize + scope.$index + 1 }}</template>-->
<template
slot-scope=
"scope"
>
{{
queryParams
.
pageNum
*
queryParams
.
pageSize
-
queryParams
.
pageSize
+
scope
.
$index
+
1
}}
</
template
>
<
template
slot-scope=
"scope"
>
1
</
template
>
</el-table-column>
<el-table-column
label=
"监控对象"
prop=
"name"
align=
"left"
width=
"250"
>
<
template
slot-scope=
"scope"
>
中国中铁股份有限公司
</
template
>
</el-table-column>
<el-table-column
label=
"风险级别"
prop=
"fxjb"
align=
"left"
width=
"120"
>
<
template
slot-scope=
"scope"
>
正向
</
template
>
</el-table-column>
<el-table-column
label=
"监控类型"
prop=
"jklx"
align=
"left"
width=
"150"
>
<
template
slot-scope=
"scope"
>
新增中标业绩
</
template
>
</el-table-column>
<el-table-column
label=
"动态内容"
prop=
"dtlr"
align=
"left"
>
<
template
slot-scope=
"scope"
>
新增中标业绩
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"更新时间"
prop=
"time"
align=
"left"
width=
"150"
>
<el-table-column
label=
"监控对象"
prop=
"companyName"
align=
"left"
width=
"250"
></el-table-column>
<el-table-column
label=
"风险级别"
prop=
"riskLevel"
align=
"left"
width=
"120"
></el-table-column>
<el-table-column
label=
"监控类型"
prop=
"parentName"
align=
"left"
width=
"150"
></el-table-column>
<el-table-column
label=
"动态内容"
prop=
"details"
align=
"left"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
2022-09-02
<div
v-for=
"(item,index) in scope.row.Array"
:key=
"index"
>
<div>
<span
style=
"color: #999;"
>
{{
item
.
key
}}
:
</span>
<span>
{{
item
.
value
}}
</span>
</div>
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"更新时间"
prop=
"createTime"
align=
"left"
width=
"150"
></el-table-column>
<el-table-column
<el-table-column
label=
"操作"
label=
"操作"
align=
"center"
align=
"center"
...
@@ -132,7 +108,14 @@
...
@@ -132,7 +108,14 @@
<el-dialog
:visible
.
sync=
"dialogVisible"
custom-class=
'dialog-claim'
:title=
"title"
width=
"720px"
>
<el-dialog
:visible
.
sync=
"dialogVisible"
custom-class=
'dialog-claim'
:title=
"title"
width=
"720px"
>
<div
class=
"dialog-content"
>
<div
class=
"dialog-content"
>
<
template
v-if=
"title=='开庭公告详情'"
>
<
template
v-if=
"title=='开庭公告详情'"
>
<info-table
class=
"info-tab"
:list=
"defaultList0"
:obj=
"detail"
:labelWidth=
"labelWidth"
></info-table>
<info-table
class=
"info-tab"
:list=
"defaultList0"
:obj=
"detail"
:labelWidth=
"labelWidth"
>
<template
v-slot:relatedCompanies=
"row"
>
<p
v-for=
"i in row.data.relatedCompanies"
>
{{
i
.
role
}}
:
<br/>
{{
i
.
name
}}
</p>
</
template
>
</info-table>
</template>
</template>
<
template
v-if=
"title=='失信被执行人详情'"
>
<
template
v-if=
"title=='失信被执行人详情'"
>
<info-table
class=
"info-tab"
:list=
"defaultList1"
:obj=
"detail"
:labelWidth=
"labelWidth"
></info-table>
<info-table
class=
"info-tab"
:list=
"defaultList1"
:obj=
"detail"
:labelWidth=
"labelWidth"
></info-table>
...
@@ -147,7 +130,14 @@
...
@@ -147,7 +130,14 @@
<info-table
class=
"info-tab"
:list=
"defaultList4"
:obj=
"detail"
:labelWidth=
"labelWidth"
></info-table>
<info-table
class=
"info-tab"
:list=
"defaultList4"
:obj=
"detail"
:labelWidth=
"labelWidth"
></info-table>
</
template
>
</
template
>
<
template
v-if=
"title=='裁判文书详情'"
>
<
template
v-if=
"title=='裁判文书详情'"
>
<info-table
class=
"info-tab"
:list=
"defaultList5"
:obj=
"detail"
:labelWidth=
"labelWidth"
></info-table>
<info-table
class=
"info-tab"
:list=
"defaultList5"
:obj=
"detail"
:labelWidth=
"labelWidth"
>
<template
v-slot:relatedCompanies=
"row"
>
<p
v-for=
"i in row.data.relatedCompanies"
>
{{
i
.
role
}}
:
<br/>
{{
i
.
name
}}
</p>
</
template
>
</info-table>
</template>
</template>
</div>
</div>
</el-dialog>
</el-dialog>
...
@@ -156,6 +146,8 @@
...
@@ -156,6 +146,8 @@
<
script
>
<
script
>
import
{
v4
}
from
"uuid"
;
import
{
v4
}
from
"uuid"
;
import
{
changeTime
}
from
"@/assets/js/common.js"
import
{
dynamicPage
,
companyDetail
,
rulesSelect
}
from
'@/api/monitoring/monitoring'
import
InfoTable
from
'../detail/party-a/component/infoTable'
;
import
InfoTable
from
'../detail/party-a/component/infoTable'
;
export
default
{
export
default
{
name
:
'MonitoringDynamics'
,
name
:
'MonitoringDynamics'
,
...
@@ -164,6 +156,7 @@
...
@@ -164,6 +156,7 @@
},
},
data
()
{
data
()
{
return
{
return
{
changeTime
,
radio
:
1
,
radio
:
1
,
date
:
''
,
date
:
''
,
radioList
:[
radioList
:[
...
@@ -194,23 +187,23 @@
...
@@ -194,23 +187,23 @@
],
],
fxjb
:[
fxjb
:[
{
{
value
:
'
1
'
,
value
:
'
提示
'
,
label
:
'提示'
label
:
'提示'
},
},
{
{
value
:
'
2
'
,
value
:
'
正向
'
,
label
:
'正向'
label
:
'正向'
},
},
{
{
value
:
'
3
'
,
value
:
'
低风险
'
,
label
:
'低风险'
label
:
'低风险'
},
},
{
{
value
:
'
4
'
,
value
:
'
中风险
'
,
label
:
'中风险'
label
:
'中风险'
},
},
{
{
value
:
'
5
'
,
value
:
'
高风险
'
,
label
:
'高风险'
label
:
'高风险'
},
},
],
],
...
@@ -226,136 +219,228 @@
...
@@ -226,136 +219,228 @@
label
:
'工商变更'
label
:
'工商变更'
},
},
],
],
sffxList
:[
'开庭公告'
,
'裁判文书'
,
'法院公告'
,
'失信被执行人'
,
'被执行人'
,
'限制高消费'
,
'股权冻结'
],
selectList
:[],
gsbgList
:[
'法定代表人变更'
,
'企业类型变更'
,
'注册资本变更'
,
'股东变更'
,
'对外投资变更'
,
'企业名称变更'
,
'注册地址变更'
,
'经营状态变更'
,
'分支机构'
],
selectList1
:[],
sffx
:[],
gsfx
:[],
queryParams
:{
queryParams
:{
pageNum
:
1
,
pageSize
:
10
,
condition
:{}
},
type
:[],
type
:[],
gsbgType
:[],
gsbgType
:[],
}
,
companyName
:
''
,
fxjbType
:
''
,
fxjbType
:
[]
,
inputID1
:
this
.
getUid
(),
inputID1
:
this
.
getUid
(),
inputID2
:
this
.
getUid
(),
inputID2
:
this
.
getUid
(),
tableData
:[
tableData
:[],
{
tableDataTotal
:
0
,
name
:
'中国中铁股份有限公司'
,
jklx
:
'正向'
,
kjlx
:
'新增中标业绩'
,
dtlr
:
'新增中标,中标金额234.45万元:怀化国际陆港商贸服务综合物流枢纽及配套工程建设项目公共配套服务设施(市政绿化提档升级)项目一期EPC'
,
time
:
'2022-09-02'
,
}
],
dialogVisible
:
false
,
dialogVisible
:
false
,
labelWidth
:
140
,
labelWidth
:
140
,
//开庭公告详情
//开庭公告详情
defaultList0
:[
defaultList0
:[
{
name
:
'案由'
,
prop
:
'
a
'
},
{
name
:
'案由'
,
prop
:
'
causeAction
'
},
{
name
:
'案号'
,
prop
:
'
b
'
},
{
name
:
'案号'
,
prop
:
'
caseNo
'
},
{
name
:
'开庭时间'
,
prop
:
'
c
'
},
{
name
:
'开庭时间'
,
prop
:
'
hearingDate
'
},
{
name
:
'承办部门'
,
prop
:
'd'
},
{
name
:
'承办部门'
,
prop
:
'd
epartment
'
},
{
name
:
'审判长/主判人'
,
prop
:
'e'
},
{
name
:
'审判长/主判人'
,
prop
:
'
judg
e'
},
{
name
:
'当事人'
,
prop
:
'
f'
},
{
name
:
'当事人'
,
prop
:
'
relatedCompanies'
,
slot
:
true
},
{
name
:
'法院'
,
prop
:
'
g
'
},
{
name
:
'法院'
,
prop
:
'
court
'
},
{
name
:
'法庭'
,
prop
:
'
h
'
},
{
name
:
'法庭'
,
prop
:
'
tribunal
'
},
{
name
:
'公告内容'
,
prop
:
'
j
'
,
style
:
true
},
{
name
:
'公告内容'
,
prop
:
'
content
'
,
style
:
true
},
],
],
//失信被执行人详情
//失信被执行人详情
defaultList1
:[
defaultList1
:[
{
name
:
'失信被执行人行为具体情形'
,
prop
:
'
a
'
,
style
:
true
},
{
name
:
'失信被执行人行为具体情形'
,
prop
:
'
executionDesc
'
,
style
:
true
},
{
name
:
'履行情况'
,
prop
:
'
b
'
},
{
name
:
'履行情况'
,
prop
:
'
finalDuty
'
},
{
name
:
'立案文号'
,
prop
:
'c'
},
{
name
:
'立案文号'
,
prop
:
'c
aseNumber
'
},
{
name
:
'立案日期'
,
prop
:
'd'
},
{
name
:
'立案日期'
,
prop
:
'd
ate
'
},
{
name
:
'执行依据文号'
,
prop
:
'
e
'
},
{
name
:
'执行依据文号'
,
prop
:
'
docNumber
'
},
{
name
:
'执行法院'
,
prop
:
'
f
'
},
{
name
:
'执行法院'
,
prop
:
'
court
'
},
],
],
//法院公告详情
//法院公告详情
defaultList2
:[
defaultList2
:[
{
name
:
'
原告'
,
prop
:
'a
'
,
style
:
true
},
{
name
:
'
当事人'
,
prop
:
'people
'
,
style
:
true
},
{
name
:
'
被告'
,
prop
:
'b
'
},
{
name
:
'
身份'
,
prop
:
'role
'
},
{
name
:
'公共类型'
,
prop
:
'
c
'
},
{
name
:
'公共类型'
,
prop
:
'
type
'
},
{
name
:
'公告日期'
,
prop
:
'd'
},
{
name
:
'公告日期'
,
prop
:
'd
ate
'
},
{
name
:
'公告法院'
,
prop
:
'
e
'
,
style
:
true
},
{
name
:
'公告法院'
,
prop
:
'
court
'
,
style
:
true
},
{
name
:
'案由'
,
prop
:
'
f
'
,
style
:
true
},
{
name
:
'案由'
,
prop
:
'
caseReason
'
,
style
:
true
},
],
],
//经营异常详情
//经营异常详情
defaultList3
:[
defaultList3
:[
{
name
:
'案号'
,
prop
:
'a'
},
{
name
:
'列入日期'
,
prop
:
'inDate'
},
{
name
:
'经营异常类型'
,
prop
:
'b'
},
{
name
:
'移出日期'
,
prop
:
'outDate'
},
{
name
:
'列入经营异常名录原因'
,
prop
:
'c'
,
style
:
true
},
{
name
:
'列入经营异常原因'
,
prop
:
'outReason'
,
style
:
true
},
{
name
:
'拖欠天数'
,
prop
:
'd'
},
{
name
:
'做出决定机关(移入)'
,
prop
:
'department'
},
{
name
:
'涉及金额'
,
prop
:
'e'
},
{
name
:
'做出决定机关(移出)'
,
prop
:
'outDepartment'
},
{
name
:
'列入日期'
,
prop
:
'e'
},
{
name
:
'移出经营移除名录原因'
,
prop
:
'outReason'
,
style
:
true
},
{
name
:
'列入机关'
,
prop
:
'e'
},
{
name
:
'数据来源'
,
prop
:
'f'
,
style
:
true
},
],
],
//股权冻结详情
//股权冻结详情
defaultList4
:[
defaultList4
:[
{
name
:
'
标题名称'
,
prop
:
'a
'
},
{
name
:
'
执行法院'
,
prop
:
'executiveCourt
'
},
{
name
:
'执行事项'
,
prop
:
'
b
'
},
{
name
:
'执行事项'
,
prop
:
'
assistItem
'
},
{
name
:
'执行裁定文书号'
,
prop
:
'
c
'
},
{
name
:
'执行裁定文书号'
,
prop
:
'
adjudicateNo
'
},
{
name
:
'执行通知文号'
,
prop
:
'
d
'
},
{
name
:
'执行通知文号'
,
prop
:
'
number
'
},
{
name
:
'被执行人'
,
prop
:
'
e
'
},
{
name
:
'被执行人'
,
prop
:
'
beExecutedPerson
'
},
{
name
:
'被执行人持有股权、其他投资权益数额'
,
prop
:
'
e
'
},
{
name
:
'被执行人持有股权、其他投资权益数额'
,
prop
:
'
amount
'
},
{
name
:
'冻结期限自'
,
prop
:
'e'
},
{
name
:
'冻结期限自'
,
prop
:
'
freezeStartDat
e'
},
{
name
:
'冻结期限至'
,
prop
:
'f'
},
{
name
:
'冻结期限至'
,
prop
:
'f
reezeEndDate
'
},
{
name
:
'冻结期限'
,
prop
:
'f'
},
{
name
:
'冻结期限'
,
prop
:
'f
reezeYearMonth
'
},
{
name
:
'公示日期'
,
prop
:
'
f
'
},
{
name
:
'公示日期'
,
prop
:
'
publicDate
'
},
],
],
//裁判文书详情
//裁判文书详情
defaultList5
:[
defaultList5
:[
{
name
:
'案由'
,
prop
:
'
a
'
},
{
name
:
'案由'
,
prop
:
'
causeAction
'
},
{
name
:
'执行案号'
,
prop
:
'
b
'
},
{
name
:
'执行案号'
,
prop
:
'
causeNo
'
},
{
name
:
'身份'
,
prop
:
'
c
'
},
{
name
:
'身份'
,
prop
:
'
role
'
},
{
name
:
'当事人'
,
prop
:
'
d'
},
{
name
:
'当事人'
,
prop
:
'
relatedCompanies'
,
slot
:
true
},
{
name
:
'案件金额'
,
prop
:
'
e
'
},
{
name
:
'案件金额'
,
prop
:
'
subAmount
'
},
{
name
:
'判决日期'
,
prop
:
'e'
},
{
name
:
'判决日期'
,
prop
:
'
dat
e'
},
{
name
:
'判决结果'
,
prop
:
'
e
'
,
style
:
true
},
{
name
:
'判决结果'
,
prop
:
'
judgeresult
'
,
style
:
true
},
],
],
title
:
'开庭公告详情'
,
title
:
'法院公告详情'
,
detail
:{
detail
:{}
a
:
'民事借贷纠纷'
,
b
:
'(2023)豫44执513号'
,
c
:
'2021-11-20'
,
d
:
'-'
,
e
:
'-'
,
f
:
'原告:Z某某;被告L某某'
,
g
:
'宁乡县人民法院'
,
h
:
'第七审判庭'
,
j
:
'L某某宁乡县中小民间借贷服务有限公司: 本院受理原告C某某诉你民间借贷纠纷一案,现依法向你公告送达起诉状副本、应诉通知书、举证通知书、'
+
'合议庭组成人员通知书及开庭传票等法律文书。自发出公告之日起,经过60日即视为送达。提出答辩状和举证的期限分别为公告期满后15日和30日内。'
+
'并定于举证期满后第3日上午9时00分(遇法定假日顺延)在本院第七审判庭公开开庭审理,逾期将依法缺席裁判。 特此公告 发布日期:20160719'
,
}
}
}
},
},
created
()
{
created
()
{
this
.
getPlaceholder
()
this
.
getPlaceholder
()
this
.
querySubmit
()
rulesSelect
().
then
(
res
=>
{
this
.
selectList
=
res
.
data
;
for
(
let
i
in
res
.
data
){
if
(
res
.
data
[
i
].
dimensionName
===
'司法风险'
){
this
.
selectList
=
res
.
data
[
i
].
children
}
if
(
res
.
data
[
i
].
dimensionName
===
'工商风险'
){
this
.
selectList1
=
res
.
data
[
i
].
children
}
}
})
},
},
methods
:
{
methods
:
{
checkJklxBtn
(
val
)
{
async
querySubmit
()
{
console
.
log
(
val
)
let
endTime
=
new
Date
()
if
(
val
===
'司法风险'
){
if
(
this
.
radio
===
1
){
this
.
queryParams
.
type
=
this
.
queryParams
.
type
.
length
!=
this
.
sffxList
.
length
?
[]
:
this
.
sffxList
;
this
.
queryParams
.
condition
.
beginTime
=
this
.
formatDate
(
endTime
)
this
.
iptAdaptive
(
this
.
inputID1
,
true
,
'changeSelect1'
)
this
.
queryParams
.
condition
.
endTime
=
this
.
formatDate
(
endTime
)
}
if
(
this
.
companyName
){
this
.
queryParams
.
condition
.
companyName
=
this
.
companyName
}
if
(
this
.
fxjbType
.
length
>
0
){
this
.
queryParams
.
condition
.
fxjbType
=
this
.
riskLevel
.
join
()
}
dynamicPage
(
this
.
queryParams
).
then
(
res
=>
{
this
.
tableData
=
res
.
rows
;
this
.
tableDataTotal
=
res
.
total
;
this
.
tableData
.
forEach
(
el
=>
{
el
.
createTime
=
changeTime
(
el
.
createTime
)
// 把动态内容从json字符串改为对象
el
.
details
=
JSON
.
parse
(
el
.
details
)
// 对象转为键值对数组
let
arr
=
Object
.
entries
(
el
.
details
)
// 新建一个属性数组
el
.
Array
=
[]
for
(
let
[
i
,
j
]
of
arr
){
el
.
Array
.
push
({
key
:
i
,
value
:
j
})
}
})
console
.
log
(
this
.
tableData
)
})
},
getDetail
()
{
companyDetail
({
dimensionName
:
'新增法院公告'
,
sourceId
:
'0001c8e8-183f-48b5-a8ce-575b5c214b1a_65250c621707e177f7983cbf_'
}).
then
(
res
=>
{
console
.
log
(
res
)
this
.
detail
=
res
.
data
;
})
},
changeSffx
(
val
)
{
if
(
this
.
sffx
.
indexOf
(
val
.
dimensionName
)
==
-
1
)
{
this
.
sffx
.
push
(
val
.
dimensionName
)
}
else
{
this
.
sffx
.
splice
(
this
.
sffx
.
indexOf
(
val
.
dimensionName
),
1
)
}
}
if
(
val
===
'工商变更'
){
},
this
.
queryParams
.
gsbgType
=
this
.
queryParams
.
gsbgType
.
length
!=
this
.
gsbgList
.
length
?
[]
:
this
.
gsbgList
;
changeGsfx
(
val
)
{
this
.
iptAdaptive
(
this
.
inputID2
,
true
,
'changeSelect1'
)
if
(
this
.
gsfx
.
indexOf
(
val
.
dimensionName
)
==
-
1
)
{
}
else
{
this
.
gsfx
.
push
(
val
.
dimensionName
)
this
.
queryParams
.
gsbgType
=
[]
}
else
{
this
.
gsfx
.
splice
(
this
.
gsfx
.
indexOf
(
val
.
dimensionName
),
1
)
}
}
},
},
checkFxjbBtn
(
val
)
{
checkFxjbBtn
(
val
)
{
this
.
fxjbType
=
[];
this
.
fxjbType
=
[];
this
.
checkFx
=
true
;
this
.
checkFx
=
true
;
this
.
querySubmit
()
},
},
checkFxjb1Btn
(
val
){
checkFxjb1Btn
(
val
){
if
(
val
.
length
>
0
)
{
if
(
val
.
length
>
0
)
{
this
.
checkFx
=
false
;
this
.
checkFx
=
false
;
}
else
if
(
val
.
length
==
0
)
{
}
else
if
(
val
.
length
==
0
)
{
this
.
checkFx
=
true
;
this
.
checkFx
=
true
;
this
.
fxjbType
=
[];
}
}
this
.
querySubmit
()
},
},
handleDetail
(){
handleDetail
(){
this
.
dialogVisible
=
true
;
this
.
dialogVisible
=
true
;
this
.
getDetail
()
},
handleKeyword
(){
this
.
querySubmit
()
},
radioBtn
(
val
){
let
endTime
=
new
Date
()
switch
(
val
)
{
case
1
:
this
.
queryParams
.
condition
.
beginTime
=
this
.
formatDate
(
endTime
)
this
.
queryParams
.
condition
.
endTime
=
this
.
formatDate
(
endTime
)
this
.
querySubmit
()
break
;
case
2
:
this
.
queryParams
.
condition
.
beginTime
=
this
.
formatDate
(
new
Date
(
endTime
.
getTime
()
-
3600
*
1000
*
24
*
3
))
this
.
queryParams
.
condition
.
endTime
=
this
.
formatDate
(
endTime
)
this
.
querySubmit
()
break
;
case
3
:
this
.
queryParams
.
condition
.
beginTime
=
this
.
formatDate
(
new
Date
(
endTime
.
getTime
()
-
3600
*
1000
*
24
*
7
))
this
.
queryParams
.
condition
.
endTime
=
this
.
formatDate
(
endTime
)
this
.
querySubmit
()
break
;
case
4
:
this
.
queryParams
.
condition
.
beginTime
=
this
.
formatDate
(
new
Date
(
endTime
.
getTime
()
-
3600
*
1000
*
24
*
15
))
this
.
queryParams
.
condition
.
endTime
=
this
.
formatDate
(
endTime
)
this
.
querySubmit
()
break
;
case
5
:
this
.
queryParams
.
condition
.
beginTime
=
this
.
formatDate
(
new
Date
(
endTime
.
getTime
()
-
3600
*
1000
*
24
*
30
))
this
.
queryParams
.
condition
.
endTime
=
this
.
formatDate
(
endTime
)
this
.
querySubmit
()
break
;
case
6
:
this
.
date
=
[]
break
;
default
:
break
;
}
},
// 时间选择改变后的回调
changePicker
(
value
)
{
if
(
value
&&
value
.
length
)
{
this
.
queryParams
.
condition
.
beginTime
=
value
[
0
]
this
.
queryParams
.
condition
.
endTime
=
value
[
1
]
}
this
.
querySubmit
()
},
// 时间格式化
formatDate
(
timeStr
)
{
let
date
=
new
Date
(
Number
(
timeStr
));
let
year
=
date
.
getFullYear
();
let
month
=
String
(
date
.
getMonth
()
+
1
).
padStart
(
2
,
0
);
let
day
=
String
(
date
.
getDate
()).
padStart
(
2
,
0
);
return
`
${
year
}
-
${
month
}
-
${
day
}
`
;
},
},
async
getPlaceholder
()
{
async
getPlaceholder
()
{
try
{
try
{
...
@@ -504,6 +589,49 @@
...
@@ -504,6 +589,49 @@
background
:
#F5F5F5
;
background
:
#F5F5F5
;
width
:
60px
;
width
:
60px
;
color
:
#0081FF
;
color
:
#0081FF
;
text-align
:
center
;
}
.el-input-group__append
:hover
{
background
:
#F5F5F5
;
}
}
.main-right
{
width
:
calc
(
100%
-
112px
);
.select-popper
{
text-align
:
center
;
display
:
inline-block
;
position
:
relative
;
color
:
#333333
;
font-size
:
14px
;
cursor
:
pointer
;
margin
:
0px
12px
;
margin-bottom
:
16px
;
}
.select-popper
.select-popper-img
{
width
:
24px
;
height
:
12px
;
position
:
absolute
;
top
:
-10px
;
right
:
2px
;
}
.select-multiple
{
position
:
absolute
;
left
:
0
;
top
:
-6px
;
opacity
:
0
;
line-height
:
22px
;
.el-input
{
width
:
100%
;
line-height
:
22px
;
.el-input__inner
{
width
:
100%
;
height
:
22px
!
important
;
}
}
.el-tag__close.el-icon-close
{
display
:
none
;
}
}
}
}
}
.checkbox
{
.checkbox
{
...
@@ -514,6 +642,11 @@
...
@@ -514,6 +642,11 @@
.checkbox-content-qx
{
.checkbox-content-qx
{
margin-right
:
24px
;
margin-right
:
24px
;
}
}
.keyword_checkbox
{
::v-deep
.el-checkbox
{
margin-right
:
24px
;
}
}
::v-deep
.el-checkbox
{
::v-deep
.el-checkbox
{
margin-right
:
10px
;
margin-right
:
10px
;
}
}
...
...
dsk-operate-ui/src/views/monitoring/MonitoringReport.vue
View file @
c217a487
...
@@ -3,133 +3,45 @@
...
@@ -3,133 +3,45 @@
<div
class=
"app-container MonitoringReport"
>
<div
class=
"app-container MonitoringReport"
>
<div
class=
"header"
>
<div
class=
"header"
>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
>
<el-tab-pane
label=
"监控日报"
name=
"
first
"
></el-tab-pane>
<el-tab-pane
label=
"监控日报"
name=
"
1
"
></el-tab-pane>
<el-tab-pane
label=
"监控周报"
name=
"
second
"
></el-tab-pane>
<el-tab-pane
label=
"监控周报"
name=
"
2
"
></el-tab-pane>
<el-tab-pane
label=
"监控月报"
name=
"
third
"
></el-tab-pane>
<el-tab-pane
label=
"监控月报"
name=
"
3
"
></el-tab-pane>
</el-tabs>
</el-tabs>
</div>
</div>
<div
class=
"report-content"
>
<div
class=
"report-content"
>
<div
class=
"list"
>
<div
class=
"list"
v-for=
"item in dataList"
>
<div
class=
"list-title"
>
<div
class=
"list-title"
>
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-params"
>
<div
class=
"flex-box query-params"
>
<span
class=
"common-title"
>
今日
</span>
<span
class=
"common-title"
>
{{
item
.
period
}}
</span>
</div>
</div>
<div
class=
"flex-box query-ability"
>
<div
class=
"flex-box query-ability"
>
共
<span
style=
"color:#0081FF;padding: 0 4px;"
>
13
</span>
家企业发生
<span
style=
"color:#F7965B;padding: 0 4px;"
>
651
</span>
条动态信息
共
<span
style=
"color:#0081FF;padding: 0 4px;"
>
13
</span>
家企业发生
<span
style=
"color:#F7965B;padding: 0 4px;"
>
651
</span>
条动态信息
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"item"
>
<div
class=
"item"
v-for=
"i in item.list"
>
<div
class=
"item-left"
>
<div
class=
"item-left"
>
<!--
<img
v-if=
"item.logoUrl"
:src=
"item.logoUrl"
:alt=
"item.name.replace(/
<font
color=
'#FF204E'
>
/g,'').replace(/
<
\/
font
>
/g,'')" />-->
<img
v-if=
"i.logoUrl"
:src=
"i.logoUrl"
:alt=
"i.companyOrstaffName.replace(/
<font
color=
'#FF204E'
>
/g,'').replace(/
<
\/
font
>
/g,'')" />
<!--
<img
v-else
src=
"@/assets/images/enterprise.png"
:alt=
"item.name.replace(/
<font
color=
'#FF204E'
>
/g,'').replace(/
<
\/
font
>
/g,'')" />-->
<img
v-else
src=
"@/assets/images/enterprise.png"
:alt=
"i.companyOrstaffName.replace(/
<font
color=
'#FF204E'
>
/g,'').replace(/
<
\/
font
>
/g,'')" />
<img
src=
"@/assets/images/enterprise.png"
/>
</div>
</div>
<div
class=
"item-right"
>
<div
class=
"item-right"
>
<p
class=
"right-title"
>
<p
class=
"right-title"
>
<
span>
中国铁建集团
</span
>
<
router-link
:to=
"`/monitoring/MonitoringReportDetails/$
{i.companyOrstaffId}`" tag="a" class="a-link companyName">
{{
i
.
companyOrstaffName
}}
</router-link
>
</p>
</p>
<p
class=
"card-right-p"
>
<p
class=
"card-right-p"
>
<span
class=
"right-label"
>
提示:
</span>
<span
class=
"right-label"
>
提示:
</span>
<span
class=
"right-color color1"
>
11
</span>
<span
class=
"right-color color1"
>
{{
i
.
promptCount
}}
</span>
<span
class=
"right-label"
>
正向:
</span>
<span
class=
"right-label"
>
正向:
</span>
<span
class=
"right-color color1"
>
21
</span>
<span
class=
"right-color color1"
>
{{
i
.
positiveCount
}}
</span>
<span
class=
"right-label"
>
低风险:
</span>
<span
class=
"right-label"
>
低风险:
</span>
<span
class=
"right-color color1"
>
31
</span>
<span
class=
"right-color color1"
>
{{
i
.
lowRiskCount
}}
</span>
<span
class=
"right-label"
>
中风险:
</span>
<span
class=
"right-label"
>
中风险:
</span>
<span
class=
"right-color color1"
>
41
</span>
<span
class=
"right-color color1"
>
{{
i
.
middleRiskCount
}}
</span>
<span
class=
"right-label"
>
高风险:
</span>
<span
class=
"right-label"
>
高风险:
</span>
<span
class=
"right-color color1"
>
1
</span>
<span
class=
"right-color color1"
>
{{
i
.
highRiskCount
}}
</span>
</p>
</p>
<div
class=
"tips"
>
新增
<span>
654
</span>
条动态信息
</div>
<div
class=
"tips"
>
新增
<span
style=
"color:#0081FF;padding: 0 4px;"
>
{{
i
.
dynamicTotal
}}
</span>
条动态信息
</div>
</div>
</div>
<div
class=
"item"
>
<div
class=
"item-left"
>
<!--
<img
v-if=
"item.logoUrl"
:src=
"item.logoUrl"
:alt=
"item.name.replace(/
<font
color=
'#FF204E'
>
/g,'').replace(/
<
\/
font
>
/g,'')" />-->
<!--
<img
v-else
src=
"@/assets/images/enterprise.png"
:alt=
"item.name.replace(/
<font
color=
'#FF204E'
>
/g,'').replace(/
<
\/
font
>
/g,'')" />-->
<img
src=
"@/assets/images/enterprise.png"
/>
</div>
<div
class=
"item-right"
>
<p
class=
"right-title"
>
<span>
中国铁建集团
</span>
</p>
<p
class=
"card-right-p"
>
<span
class=
"right-label"
>
提示:
</span>
<span
class=
"right-color color1"
>
11
</span>
<span
class=
"right-label"
>
正向:
</span>
<span
class=
"right-color color2"
>
21
</span>
<span
class=
"right-label"
>
低风险:
</span>
<span
class=
"right-color color3"
>
31
</span>
<span
class=
"right-label"
>
中风险:
</span>
<span
class=
"right-color color4"
>
41
</span>
<span
class=
"right-label"
>
高风险:
</span>
<span
class=
"right-color color5"
>
1
</span>
</p>
<div
class=
"tips"
>
新增
<span>
654
</span>
条动态信息
</div>
</div>
</div>
</div>
<div
class=
"list"
>
<div
class=
"list-title"
>
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-params"
>
<span
class=
"common-title"
>
昨日
</span>
</div>
<div
class=
"flex-box query-ability"
>
共
<span
style=
"color:#0081FF;padding: 0 4px;"
>
13
</span>
家企业发生
<span
style=
"color:#F7965B;padding: 0 4px;"
>
651
</span>
条动态信息
</div>
</div>
</div>
<div
class=
"item"
>
<div
class=
"item-left"
>
<!--
<img
v-if=
"item.logoUrl"
:src=
"item.logoUrl"
:alt=
"item.name.replace(/
<font
color=
'#FF204E'
>
/g,'').replace(/
<
\/
font
>
/g,'')" />-->
<!--
<img
v-else
src=
"@/assets/images/enterprise.png"
:alt=
"item.name.replace(/
<font
color=
'#FF204E'
>
/g,'').replace(/
<
\/
font
>
/g,'')" />-->
<img
src=
"@/assets/images/enterprise.png"
/>
</div>
<div
class=
"item-right"
>
<p
class=
"right-title"
>
<span>
中国铁建集团
</span>
</p>
<p
class=
"card-right-p"
>
<span
class=
"right-label"
>
提示:
</span>
<span
class=
"right-color color1"
>
11
</span>
<span
class=
"right-label"
>
正向:
</span>
<span
class=
"right-color color1"
>
21
</span>
<span
class=
"right-label"
>
低风险:
</span>
<span
class=
"right-color color1"
>
31
</span>
<span
class=
"right-label"
>
中风险:
</span>
<span
class=
"right-color color1"
>
41
</span>
<span
class=
"right-label"
>
高风险:
</span>
<span
class=
"right-color color1"
>
1
</span>
</p>
<div
class=
"tips"
>
新增
<span>
654
</span>
条动态信息
</div>
</div>
</div>
<div
class=
"item"
>
<div
class=
"item-left"
>
<!--
<img
v-if=
"item.logoUrl"
:src=
"item.logoUrl"
:alt=
"item.name.replace(/
<font
color=
'#FF204E'
>
/g,'').replace(/
<
\/
font
>
/g,'')" />-->
<!--
<img
v-else
src=
"@/assets/images/enterprise.png"
:alt=
"item.name.replace(/
<font
color=
'#FF204E'
>
/g,'').replace(/
<
\/
font
>
/g,'')" />-->
<img
src=
"@/assets/images/enterprise.png"
/>
</div>
<div
class=
"item-right"
>
<p
class=
"right-title"
>
<span>
中国铁建集团
</span>
</p>
<p
class=
"card-right-p"
>
<span
class=
"right-label"
>
提示:
</span>
<span
class=
"right-color color1"
>
11
</span>
<span
class=
"right-label"
>
正向:
</span>
<span
class=
"right-color color2"
>
21
</span>
<span
class=
"right-label"
>
低风险:
</span>
<span
class=
"right-color color3"
>
31
</span>
<span
class=
"right-label"
>
中风险:
</span>
<span
class=
"right-color color4"
>
41
</span>
<span
class=
"right-label"
>
高风险:
</span>
<span
class=
"right-color color5"
>
1
</span>
</p>
<div
class=
"tips"
>
新增
<span>
654
</span>
条动态信息
</div>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -138,26 +50,40 @@
...
@@ -138,26 +50,40 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
{
reportPage
}
from
'@/api/monitoring/monitoring'
export
default
{
export
default
{
name
:
'MonitoringReport'
,
name
:
'MonitoringReport'
,
data
()
{
data
()
{
return
{
return
{
activeName
:
'
first
'
,
activeName
:
'
1
'
,
dataList
:[
dataList
:[
{
{
time
:
'今日'
,
time
:
'今日'
,
list
:[]
list
:[]
}
}
]
],
queryParams
:{
pageNum
:
1
,
pageSize
:
10
,
condition
:{
reportType
:
1
}
}
}
}
},
},
created
()
{
created
()
{
this
.
querySubmit
()
},
},
methods
:
{
methods
:
{
async
querySubmit
()
{
reportPage
(
this
.
queryParams
).
then
(
res
=>
{
console
.
log
(
res
)
this
.
dataList
=
res
.
rows
})
},
handleClick
()
{
handleClick
()
{
this
.
queryParams
.
condition
.
reportType
=
Number
(
this
.
activeName
)
this
.
querySubmit
()
}
}
}
}
}
}
...
...
dsk-operate-ui/src/views/monitoring/MonitoringReportDetails.vue
0 → 100644
View file @
c217a487
<
template
>
<!--监控报告详情-->
<div
class=
"app-container MonitoringReportDetails"
>
<div
class=
"search"
>
<div
class=
"enterprise"
>
<div
class=
"name"
>
<img
src=
"@/assets/images/enterprise.png"
/>
<span>
{{
object
.
companyName
}}
</span>
</div>
<p>
<span
class=
"label"
>
法定代表人:
</span>
<span
class=
"val"
>
{{
object
.
corporatePerson
}}
</span>
<span
class=
"label"
>
注册资本:
</span>
<span
class=
"val"
>
{{
object
.
regCapital
}}
</span>
<span
class=
"label"
>
成立日期:
</span>
<span
class=
"val"
>
{{
object
.
registeredDate
}}
</span>
</p>
</div>
<div
class=
"search-item"
>
<div
class=
"label"
>
风险级别
</div>
<div
class=
"main-right"
>
<div
class=
"checkbox"
>
<div
class=
"checkbox-content-qx"
>
<el-checkbox
v-model=
"checkFx"
@
change=
"checkFxjbBtn"
>
全部
</el-checkbox>
</div>
<el-checkbox-group
v-model=
"fxjbType"
class=
"keyword_checkbox"
@
change=
"checkFxjb1Btn"
>
<el-checkbox
v-for=
"item in fxjb"
:label=
"item.label"
:key=
"item.label"
>
{{
item
.
label
}}
</el-checkbox>
</el-checkbox-group>
</div>
</div>
</div>
<div
class=
"search-item"
style=
"line-height: 32px;"
>
<div
class=
"label"
>
监控类型
</div>
<div
class=
"main-right"
>
<div
class=
"select-popper"
>
<span
:class=
"
{ color_text: sffx.length }">司法风险
{{
sffx
.
length
>
0
?
sffx
.
length
:
''
}}
<i
class=
"el-icon-caret-bottom"
></i></span>
<el-select
ref=
"tenderTypeSelect"
v-model=
"sffx"
class=
"select-multiple"
collapse-tags
multiple
placeholder=
"请选择"
>
<el-option
v-for=
"(i,index) in selectList"
:key=
"index"
:label=
"i.dimensionName"
:value=
"i.dimensionName"
>
<el-checkbox
style=
"width: 100%;"
:label=
"i.dimensionName"
@
change=
"changeSffx(i)"
>
{{
i
.
dimensionName
}}
</el-checkbox>
</el-option>
</el-select>
</div>
<div
class=
"select-popper"
>
<span
:class=
"
{ color_text: gsfx.length }">工商风险
{{
gsfx
.
length
>
0
?
gsfx
.
length
:
''
}}
<i
class=
"el-icon-caret-bottom"
></i></span>
<el-select
ref=
"tenderTypeSelect"
v-model=
"gsfx"
class=
"select-multiple"
collapse-tags
multiple
placeholder=
"请选择"
>
<el-option
v-for=
"(i,index) in selectList1"
:key=
"index"
:label=
"i.dimensionName"
:value=
"i.dimensionName"
>
<el-checkbox
style=
"width: 100%;"
:label=
"i.dimensionName"
@
change=
"changeGsfx(i)"
>
{{
i
.
dimensionName
}}
</el-checkbox>
</el-option>
</el-select>
</div>
</div>
</div>
<div
class=
"search-item"
style=
"line-height: 16px;"
>
<div
class=
"label"
>
时间筛选
</div>
<div
class=
"checkbox"
>
<el-radio-group
v-model=
"radio"
>
<el-radio
v-for=
"item in radioList"
:label=
"item.type"
>
{{
item
.
label
}}
</el-radio>
</el-radio-group>
<el-date-picker
v-if=
"radio==4"
v-model=
"date"
type=
"daterange"
value-format=
"yyyy-MM-dd"
unlink-panels
size=
"small"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
</el-date-picker>
</div>
</div>
</div>
<div
class=
"content"
>
<div
class=
"total"
>
共
{{
tableDataTotal
}}
条
</div>
<div
class=
"table-item"
>
<el-table
class=
"fixed-table"
:data=
"tableData"
element-loading-text=
"Loading"
border
highlight-current-row
>
<el-table-column
label=
"序号"
width=
"60"
align=
"left"
fixed
>
<template
slot-scope=
"scope"
>
{{
queryParams
.
pageNum
*
queryParams
.
pageSize
-
queryParams
.
pageSize
+
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
label=
"监控对象"
prop=
"companyName"
align=
"left"
width=
"250"
></el-table-column>
<el-table-column
label=
"风险级别"
prop=
"riskLevel"
align=
"left"
width=
"120"
></el-table-column>
<el-table-column
label=
"监控类型"
prop=
"parentName"
align=
"left"
width=
"150"
></el-table-column>
<el-table-column
label=
"动态内容"
prop=
"details"
align=
"left"
>
<
template
slot-scope=
"scope"
>
<div
v-for=
"(item,index) in scope.row.Array"
:key=
"index"
>
<div>
<span
style=
"color: #999;"
>
{{
item
.
key
}}
:
</span>
<span>
{{
item
.
value
}}
</span>
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"更新时间"
prop=
"createTime"
align=
"left"
width=
"150"
></el-table-column>
<el-table-column
label=
"操作"
align=
"center"
width=
"150"
class-name=
"small-padding fixed-width"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<span
style=
"cursor: pointer;"
@
click=
"handleDetail"
>
查看详情
</span>
</
template
>
</el-table-column>
</el-table>
</div>
</div>
<el-dialog
:visible
.
sync=
"dialogVisible"
custom-class=
'dialog-claim'
:title=
"title"
width=
"720px"
>
<div
class=
"dialog-content"
>
<
template
v-if=
"title=='开庭公告详情'"
>
<info-table
class=
"info-tab"
:list=
"defaultList0"
:obj=
"detail"
:labelWidth=
"labelWidth"
></info-table>
</
template
>
<
template
v-if=
"title=='失信被执行人详情'"
>
<info-table
class=
"info-tab"
:list=
"defaultList1"
:obj=
"detail"
:labelWidth=
"labelWidth"
></info-table>
</
template
>
<
template
v-if=
"title=='法院公告详情'"
>
<info-table
class=
"info-tab"
:list=
"defaultList2"
:obj=
"detail"
:labelWidth=
"labelWidth"
></info-table>
</
template
>
<
template
v-if=
"title=='经营异常详情'"
>
<info-table
class=
"info-tab"
:list=
"defaultList3"
:obj=
"detail"
:labelWidth=
"labelWidth"
></info-table>
</
template
>
<
template
v-if=
"title=='股权冻结详情'"
>
<info-table
class=
"info-tab"
:list=
"defaultList4"
:obj=
"detail"
:labelWidth=
"labelWidth"
></info-table>
</
template
>
<
template
v-if=
"title=='裁判文书详情'"
>
<info-table
class=
"info-tab"
:list=
"defaultList5"
:obj=
"detail"
:labelWidth=
"labelWidth"
></info-table>
</
template
>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
v4
}
from
"uuid"
;
import
{
dynamicPage
,
rulesSelect
,
companyDetail
}
from
'@/api/monitoring/monitoring'
import
InfoTable
from
'../detail/party-a/component/infoTable'
;
import
{
changeTime
}
from
"@/assets/js/common.js"
export
default
{
name
:
'MonitoringDynamics'
,
components
:
{
InfoTable
},
data
()
{
return
{
changeTime
,
radio
:
0
,
date
:
''
,
radioList
:[
{
type
:
1
,
label
:
'今天'
},
{
type
:
2
,
label
:
'近七天'
},
{
type
:
3
,
label
:
'近30天'
},
{
type
:
4
,
label
:
'自定义'
},
],
fxjb
:[
{
value
:
'1'
,
label
:
'提示'
},
{
value
:
'2'
,
label
:
'正向'
},
{
value
:
'3'
,
label
:
'低风险'
},
{
value
:
'4'
,
label
:
'中风险'
},
{
value
:
'5'
,
label
:
'高风险'
},
],
checkFx
:
true
,
fxlxType
:[],
jkType
:[
{
value
:
'1'
,
label
:
'司法风险'
},
{
value
:
'2'
,
label
:
'工商变更'
},
],
selectList
:[],
selectList1
:[],
sffx
:[],
gsfx
:[],
queryParams
:{
pageNum
:
1
,
pageSize
:
10
,
condition
:{
// companyId:this.$route.params.id,
companyId
:
285
,
}
},
type
:[],
gsbgType
:[],
companyName
:
''
,
fxjbType
:[],
inputID1
:
this
.
getUid
(),
inputID2
:
this
.
getUid
(),
object
:{},
tableData
:[],
tableDataTotal
:
0
,
dialogVisible
:
false
,
labelWidth
:
140
,
//开庭公告详情
defaultList0
:[
{
name
:
'案由'
,
prop
:
'causeAction'
},
{
name
:
'案号'
,
prop
:
'caseNo'
},
{
name
:
'开庭时间'
,
prop
:
'hearingDate'
},
{
name
:
'承办部门'
,
prop
:
'department'
},
{
name
:
'审判长/主判人'
,
prop
:
'judge'
},
{
name
:
'当事人'
,
prop
:
'relatedCompanies'
,
slot
:
true
},
{
name
:
'法院'
,
prop
:
'court'
},
{
name
:
'法庭'
,
prop
:
'tribunal'
},
{
name
:
'公告内容'
,
prop
:
'content'
,
style
:
true
},
],
//失信被执行人详情
defaultList1
:[
{
name
:
'失信被执行人行为具体情形'
,
prop
:
'executionDesc'
,
style
:
true
},
{
name
:
'履行情况'
,
prop
:
'finalDuty'
},
{
name
:
'立案文号'
,
prop
:
'caseNumber'
},
{
name
:
'立案日期'
,
prop
:
'date'
},
{
name
:
'执行依据文号'
,
prop
:
'docNumber'
},
{
name
:
'执行法院'
,
prop
:
'court'
},
],
//法院公告详情
defaultList2
:[
{
name
:
'当事人'
,
prop
:
'people'
,
style
:
true
},
{
name
:
'身份'
,
prop
:
'role'
},
{
name
:
'公共类型'
,
prop
:
'type'
},
{
name
:
'公告日期'
,
prop
:
'date'
},
{
name
:
'公告法院'
,
prop
:
'court'
,
style
:
true
},
{
name
:
'案由'
,
prop
:
'caseReason'
,
style
:
true
},
],
//经营异常详情
defaultList3
:[
{
name
:
'列入日期'
,
prop
:
'inDate'
},
{
name
:
'移出日期'
,
prop
:
'outDate'
},
{
name
:
'列入经营异常原因'
,
prop
:
'outReason'
,
style
:
true
},
{
name
:
'做出决定机关(移入)'
,
prop
:
'department'
},
{
name
:
'做出决定机关(移出)'
,
prop
:
'outDepartment'
},
{
name
:
'移出经营移除名录原因'
,
prop
:
'outReason'
,
style
:
true
},
],
//股权冻结详情
defaultList4
:[
{
name
:
'执行法院'
,
prop
:
'executiveCourt'
},
{
name
:
'执行事项'
,
prop
:
'assistItem'
},
{
name
:
'执行裁定文书号'
,
prop
:
'adjudicateNo'
},
{
name
:
'执行通知文号'
,
prop
:
'number'
},
{
name
:
'被执行人'
,
prop
:
'beExecutedPerson'
},
{
name
:
'被执行人持有股权、其他投资权益数额'
,
prop
:
'amount'
},
{
name
:
'冻结期限自'
,
prop
:
'freezeStartDate'
},
{
name
:
'冻结期限至'
,
prop
:
'freezeEndDate'
},
{
name
:
'冻结期限'
,
prop
:
'freezeYearMonth'
},
{
name
:
'公示日期'
,
prop
:
'publicDate'
},
],
//裁判文书详情
defaultList5
:[
{
name
:
'案由'
,
prop
:
'causeAction'
},
{
name
:
'执行案号'
,
prop
:
'causeNo'
},
{
name
:
'身份'
,
prop
:
'role'
},
{
name
:
'当事人'
,
prop
:
'relatedCompanies'
,
slot
:
true
},
{
name
:
'案件金额'
,
prop
:
'subAmount'
},
{
name
:
'判决日期'
,
prop
:
'date'
},
{
name
:
'判决结果'
,
prop
:
'judgeresult'
,
style
:
true
},
],
title
:
'开庭公告详情'
,
detail
:{}
}
},
created
()
{
this
.
getPlaceholder
()
this
.
querySubmit
()
console
.
log
(
this
.
$route
.
params
)
rulesSelect
().
then
(
res
=>
{
this
.
selectList
=
res
.
data
;
for
(
let
i
in
res
.
data
){
if
(
res
.
data
[
i
].
dimensionName
===
'司法风险'
){
this
.
selectList
=
res
.
data
[
i
].
children
}
if
(
res
.
data
[
i
].
dimensionName
===
'工商风险'
){
this
.
selectList1
=
res
.
data
[
i
].
children
}
}
})
},
methods
:
{
changeSffx
(
val
)
{
if
(
this
.
sffx
.
indexOf
(
val
.
dimensionName
)
==
-
1
)
{
this
.
sffx
.
push
(
val
.
dimensionName
)
}
else
{
this
.
sffx
.
splice
(
this
.
sffx
.
indexOf
(
val
.
dimensionName
),
1
)
}
},
changeGsfx
(
val
)
{
if
(
this
.
gsfx
.
indexOf
(
val
.
dimensionName
)
==
-
1
)
{
this
.
gsfx
.
push
(
val
.
dimensionName
)
}
else
{
this
.
gsfx
.
splice
(
this
.
gsfx
.
indexOf
(
val
.
dimensionName
),
1
)
}
},
async
querySubmit
()
{
let
endTime
=
new
Date
()
if
(
this
.
radio
===
1
){
this
.
queryParams
.
condition
.
beginTime
=
this
.
formatDate
(
endTime
)
this
.
queryParams
.
condition
.
endTime
=
this
.
formatDate
(
endTime
)
}
if
(
this
.
companyName
){
this
.
queryParams
.
condition
.
companyName
=
this
.
companyName
}
if
(
this
.
fxjbType
.
length
>
0
){
this
.
queryParams
.
condition
.
fxjbType
=
this
.
riskLevel
.
join
()
}
dynamicPage
(
this
.
queryParams
).
then
(
res
=>
{
this
.
object
=
res
.
object
;
this
.
tableData
=
res
.
rows
;
this
.
tableDataTotal
=
res
.
total
;
this
.
tableData
.
forEach
(
el
=>
{
el
.
createTime
=
changeTime
(
el
.
createTime
)
// 把动态内容从json字符串改为对象
el
.
details
=
JSON
.
parse
(
el
.
details
)
// 对象转为键值对数组
let
arr
=
Object
.
entries
(
el
.
details
)
// 新建一个属性数组
el
.
Array
=
[]
for
(
let
[
i
,
j
]
of
arr
){
el
.
Array
.
push
({
key
:
i
,
value
:
j
})
}
})
})
},
getDetail
()
{
companyDetail
({
dimensionName
:
'新增法院公告'
,
sourceId
:
'0001c8e8-183f-48b5-a8ce-575b5c214b1a_65250c621707e177f7983cbf_'
}).
then
(
res
=>
{
console
.
log
(
res
)
this
.
detail
=
res
.
data
;
})
},
checkFxjbBtn
(
val
)
{
this
.
fxjbType
=
[];
this
.
checkFx
=
true
;
this
.
querySubmit
()
},
checkFxjb1Btn
(
val
){
if
(
val
.
length
>
0
)
{
this
.
checkFx
=
false
;
}
else
if
(
val
.
length
==
0
)
{
this
.
checkFx
=
true
;
this
.
fxjbType
=
[];
}
this
.
querySubmit
()
},
handleDetail
(){
this
.
dialogVisible
=
true
;
},
// 时间格式化
formatDate
(
timeStr
)
{
let
date
=
new
Date
(
Number
(
timeStr
));
let
year
=
date
.
getFullYear
();
let
month
=
String
(
date
.
getMonth
()
+
1
).
padStart
(
2
,
0
);
let
day
=
String
(
date
.
getDate
()).
padStart
(
2
,
0
);
return
`
${
year
}
-
${
month
}
-
${
day
}
`
;
},
async
getPlaceholder
()
{
try
{
await
this
.
$nextTick
();
const
doms
=
document
.
querySelectorAll
(
"[class*='select-adaptive-']"
);
if
(
doms
?.
length
)
{
doms
.
forEach
(
dom
=>
{
const
realStyles
=
window
.
getComputedStyle
(
dom
);
const
ipt
=
dom
.
querySelector
(
"input"
);
const
text
=
ipt
.
getAttribute
(
"placeholder"
);
const
textContainer
=
document
.
createElement
(
"span"
);
textContainer
.
style
.
setProperty
(
"visibility"
,
"hidden"
);
textContainer
.
style
.
setProperty
(
"display"
,
"inline-block"
);
textContainer
.
style
.
setProperty
(
"font-size"
,
"14px"
);
const
hasPadding
=
(
parseInt
(
realStyles
.
paddingLeft
)
||
parseInt
(
realStyles
.
paddingRight
))
?
true
:
false
;
hasPadding
?
textContainer
.
style
.
setProperty
(
"padding"
,
realStyles
.
paddingRight
)
:
null
;
textContainer
.
style
.
setProperty
(
"box-sizing"
,
"border-box"
);
textContainer
.
textContent
=
text
;
document
.
body
.
append
(
textContainer
);
// 加上按钮宽度 以及按钮左外边距
let
containerWidth
=
textContainer
.
offsetWidth
+
30
;
textContainer
.
remove
();
dom
.
style
.
setProperty
(
"width"
,
`
${
containerWidth
}
px`
);
});
}
}
catch
(
error
)
{
}
},
iptAdaptive
(
uid
,
multiple
=
false
,
name
)
{
multiple
?
this
.
multipleAdaptiveHandle
(
uid
,
name
)
:
this
.
iptAdaptiveHandle
(
uid
,
name
);
},
getUid
()
{
return
v4
();
},
// 多选处理
async
multipleAdaptiveHandle
(
uid
,
name
)
{
try
{
await
this
.
$nextTick
();
const
dom
=
document
.
querySelector
(
`.select-adaptive-
${
uid
}
`
);
const
iptChild
=
dom
.
querySelector
(
".el-input__inner"
);
if
(
dom
)
{
const
textContainer
=
document
.
createElement
(
"span"
);
const
textName
=
`text-
${
uid
}
`
;
textContainer
.
classList
.
add
(
textName
);
const
selectChildren
=
dom
.
querySelectorAll
(
".el-tag"
);
if
(
selectChildren
.
length
)
{
let
width
=
0
;
selectChildren
.
forEach
(
item
=>
{
const
text
=
item
.
textContent
;
const
itemInfo
=
window
.
getComputedStyle
(
item
);
textContainer
.
style
.
setProperty
(
"visibility"
,
"hidden"
);
textContainer
.
style
.
setProperty
(
"display"
,
"inline-block"
);
textContainer
.
style
.
setProperty
(
"font-size"
,
"14px"
);
textContainer
.
style
.
setProperty
(
"padding"
,
itemInfo
.
padding
);
textContainer
.
style
.
setProperty
(
"box-sizing"
,
"border-box"
);
textContainer
.
textContent
=
text
;
document
.
body
.
append
(
textContainer
);
width
+=
textContainer
.
offsetWidth
+
parseInt
(
itemInfo
.
marginLeft
)
+
parseInt
(
itemInfo
.
marginRight
);
textContainer
.
remove
();
});
dom
.
style
.
setProperty
(
"width"
,
`
${
width
+
50
}
px`
);
// this.handleSearch(name);
return
;
}
textContainer
.
style
.
setProperty
(
"visibility"
,
"hidden"
);
textContainer
.
style
.
setProperty
(
"display"
,
"inline-block"
);
textContainer
.
style
.
setProperty
(
"font-size"
,
"14px"
);
textContainer
.
style
.
setProperty
(
"padding"
,
"0px 8px"
);
textContainer
.
style
.
setProperty
(
"box-sizing"
,
"border-box"
);
textContainer
.
textContent
=
iptChild
.
getAttribute
(
"placeholder"
);
document
.
body
.
append
(
textContainer
);
let
containerWidth
=
textContainer
.
offsetWidth
+
12
+
8
;
// let containerWidth = 130;
textContainer
.
remove
();
dom
.
style
.
setProperty
(
"width"
,
`
${
containerWidth
}
px`
);
// this.handleSearch(name);
}
}
catch
(
error
)
{
console
.
log
(
error
);
}
},
// 单选处理
async
iptAdaptiveHandle
(
uid
,
name
)
{
try
{
await
this
.
$nextTick
();
const
dom
=
document
.
querySelector
(
`.select-adaptive-
${
uid
}
`
);
const
realStyles
=
window
.
getComputedStyle
(
dom
);
if
(
dom
)
{
const
iptChild
=
dom
.
querySelector
(
".el-input__inner"
);
const
textContainer
=
document
.
createElement
(
"span"
);
const
textName
=
`text-
${
uid
}
`
;
textContainer
.
classList
.
add
(
textName
);
textContainer
.
style
.
setProperty
(
"visibility"
,
"hidden"
);
textContainer
.
style
.
setProperty
(
"display"
,
"inline-block"
);
textContainer
.
style
.
setProperty
(
"font-size"
,
"14px"
);
const
hasPadding
=
(
parseInt
(
realStyles
.
paddingLeft
)
||
parseInt
(
realStyles
.
paddingRight
))
?
true
:
false
;
hasPadding
?
textContainer
.
style
.
setProperty
(
"padding"
,
"0px 8px"
)
:
null
;
textContainer
.
style
.
setProperty
(
"box-sizing"
,
"border-box"
);
textContainer
.
textContent
=
iptChild
.
value
?
iptChild
.
value
:
iptChild
.
getAttribute
(
"placeholder"
);
document
.
body
.
append
(
textContainer
);
let
containerWidth
=
textContainer
.
offsetWidth
+
50
;
textContainer
.
remove
();
dom
.
style
.
setProperty
(
"width"
,
`
${
containerWidth
}
px`
);
}
// this.handleSearch(name);
}
catch
(
error
)
{
}
},
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.MonitoringReportDetails
{
.search
{
background
:
#FFFFFF
;
padding
:
25px
16px
;
border-radius
:
4px
;
.enterprise
{
border-bottom
:
1px
solid
#EEEEEE
;
.name
{
img
{
width
:
28px
;
height
:
28px
;
float
:
left
;
margin-right
:
12px
;
}
span
{
font-weight
:
700
;
color
:
#232323
;
font-size
:
16px
;
}
}
.label
{
color
:
rgba
(
35
,
35
,
35
,
0
.4
);
font-size
:
14px
;
}
.val
{
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
margin-right
:
26px
;
font-size
:
14px
;
}
}
.search-item
{
display
:
-
webkit-box
;
align-items
:
flex-start
;
line-height
:
20px
;
margin-top
:
8px
;
}
.label
{
margin-right
:
12px
;
font-size
:
14px
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
}
.main-right
{
width
:
calc
(
100%
-
112px
);
.select-popper
{
text-align
:
center
;
display
:
inline-block
;
position
:
relative
;
color
:
#333333
;
font-size
:
14px
;
cursor
:
pointer
;
margin
:
0px
12px
;
margin-bottom
:
16px
;
}
.select-popper
.select-popper-img
{
width
:
24px
;
height
:
12px
;
position
:
absolute
;
top
:
-10px
;
right
:
2px
;
}
.select-multiple
{
position
:
absolute
;
left
:
0
;
top
:
-6px
;
opacity
:
0
;
line-height
:
22px
;
.el-input
{
width
:
100%
;
line-height
:
22px
;
.el-input__inner
{
width
:
100%
;
height
:
22px
!
important
;
}
}
.el-tag__close.el-icon-close
{
display
:
none
;
}
}
}
.checkbox
{
display
:
flex
;
align-items
:
flex-start
;
padding-left
:
12px
;
position
:
relative
;
.checkbox-content-qx
{
margin-right
:
24px
;
}
.keyword_checkbox
{
::v-deep
.el-checkbox
{
margin-right
:
24px
;
}
}
::v-deep
.el-checkbox
{
margin-right
:
10px
;
}
::v-deep
.el-date-editor
{
position
:
absolute
;
left
:
602px
;
top
:
-7px
}
::v-deep
.el-select
{
.el-input
{
.el-input__inner
{
height
:
32px
;
line-height
:
32px
;
border-radius
:
4px
;
border
:
0
;
padding-left
:
0px
;
padding-right
:
8px
;
&
:
:
placeholder
{
color
:
rgba
(
35
,
35
,
35
,
0
.8
)
!
important
;
}
}
.el-input__suffix
{
top
:
2px
;
}
}
}
}
}
.content
{
background
:
#FFFFFF
;
border-radius
:
4px
;
margin-top
:
16px
;
padding
:
16px
;
.total
{
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
font-size
:
12px
;
padding-bottom
:
16px
;
display
:
flex
;
align-items
:
center
;
&
:before
{
content
:
""
;
display
:
inline-block
;
width
:
2px
;
height
:
2px
;
background
:
rgba
(
35
,
35
,
35
,.
4
);
margin-right
:
4px
;
}
}
}
::v-deep
.dialog-claim
{
.el-dialog__header
{
display
:
block
;
padding
:
16px
20px
;
border-bottom
:
1px
solid
#EEEEEE
;
font-size
:
16px
;
font-weight
:
700
;
color
:
#232323
;
}
.el-dialog__body
{
padding
:
24px
20px
;
}
}
}
</
style
>
dsk-operate-ui/src/views/system/supplierBad/index.vue
0 → 100644
View file @
c217a487
<
template
>
<!--供应商不良推送-->
<div
class=
"app-container supplierBad"
>
<div
class=
"content"
>
<div
class=
"c-title"
>
推送人信息
</div>
<div
class=
"main"
>
<div
class=
"table-item"
v-if=
"tableDataTotal > 0 && !isSkeleton"
>
<el-button
class=
"btn"
icon=
"el-icon-plus"
type=
"primary"
>
添加推送人
</el-button>
<el-table
class=
"fixed-table"
:data=
"tableData"
element-loading-text=
"Loading"
border
highlight-current-row
>
<el-table-column
label=
"推送人姓名"
prop=
"name"
align=
"left"
width=
"200"
></el-table-column>
<el-table-column
label=
"推送电话"
prop=
"contact"
align=
"left"
></el-table-column>
<el-table-column
label=
"操作"
align=
"left"
class-name=
"small-padding fixed-width"
fixed=
"right"
>
<template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.status===0"
style=
"cursor: pointer;margin-right: 16px;color: #0081FF;"
@
click=
"handleClick(scope.row,1)"
>
停用
</span>
<span
v-if=
"scope.row.status===1"
style=
"cursor: pointer;margin-right: 16px;color: #0081FF;"
@
click=
"handleClick(scope.row,1)"
>
启用
</span>
<span
style=
"cursor: pointer;color: #FF3C3C;"
@
click=
"handleClick(scope.row,2)"
>
删除
</span>
</
template
>
</el-table-column>
</el-table>
<div
class=
"pagination-box"
v-if=
"tableDataTotal>pageSize"
>
<el-pagination
background
:current-page=
"pageNum"
:page-size=
"pageSize"
:total=
"tableDataTotal"
layout=
"prev, pager, next, jumper"
@
current-change=
"handleCurrentChange"
@
size-change=
"handleSizeChange"
/>
</div>
</div>
<skeleton
v-if=
"isSkeleton"
style=
"padding: 16px"
></skeleton>
<div
class=
"empty"
v-if=
"tableDataTotal === 0 && !isSkeleton"
>
<img
class=
"img"
src=
"@/assets/images/empty.png"
>
<div
class=
"p1"
>
暂无推送人信息
</div>
<div
class=
"p2"
>
抱歉,暂时没有相关数据展示~
</div>
<el-button
class=
"btn"
icon=
"el-icon-plus"
type=
"primary"
@
click=
"visible=true"
>
添加推送人
</el-button>
</div>
</div>
</div>
<div
class=
"content"
>
<div
class=
"c-title"
>
推送时间
</div>
<div
class=
"main"
>
<div
class=
"main-item"
>
<div
class=
"label"
>
推送频率
</div>
<el-radio-group
v-model=
"radioTime"
@
change=
"radioBtn"
>
<el-radio
label=
"0"
>
每天
</el-radio>
<el-radio
label=
"1"
>
工作日(排除节假日)
</el-radio>
</el-radio-group>
</div>
<div
class=
"main-item"
style=
"line-height: 32px;"
>
<div
class=
"label"
>
推送时段
</div>
<el-time-picker
is-range
class=
"timePicker"
v-model=
"time"
value-format=
"HH:mm:ss"
@
change=
"changeTime"
range-separator=
"至"
start-placeholder=
"开始时间"
end-placeholder=
"结束时间"
placeholder=
"选择时间范围"
>
</el-time-picker>
</div>
</div>
</div>
<el-dialog
:visible
.
sync=
"visible"
custom-class=
'dialog-claim'
title=
"新增推送人信息"
width=
"480px"
>
<div
class=
"add-content"
>
<div
class=
"input"
>
<div
class=
"label"
>
推送人姓名
</div>
<el-input
class=
"name"
placeholder=
"请输入推送人姓名"
v-model=
"name"
></el-input>
</div>
<div
class=
"input"
>
<div
class=
"label"
>
推送电话号码
</div>
<el-input
class=
"name"
placeholder=
"请输入推送人联系方式"
v-model=
"contact"
></el-input>
</div>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"visible=false"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"handleAdd"
>
确定
</el-button>
</div>
</el-dialog>
<el-dialog
:visible
.
sync=
"handleVisible"
custom-class=
'dialog-confirm'
width=
"384px"
:show-close=
"false"
>
<
template
slot=
"title"
>
<div
v-if=
"status === 0"
><img
class=
"tip-img"
src=
"@/assets/images/tips1.png"
/>
停用账号
</div>
<div
v-if=
"status === 1"
><img
class=
"tip-img"
src=
"@/assets/images/tips1.png"
/>
启用账号
</div>
</
template
>
<div
class=
"dialog-content"
>
<div
v-if=
"status === 0"
class=
"text"
>
确认停用账号?
</div>
<div
v-if=
"status === 1"
class=
"text"
>
确认启用账号?
</div>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"handleVisible=false"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"handleUpdate"
>
确定
</el-button>
</div>
</el-dialog>
<el-dialog
:visible
.
sync=
"handleVisible1"
custom-class=
'dialog-confirm'
width=
"384px"
:show-close=
"false"
>
<
template
slot=
"title"
>
<div><img
class=
"tip-img"
src=
"@/assets/images/tips1.png"
/>
删除账号
</div>
</
template
>
<div
class=
"dialog-content"
>
<div
class=
"text"
>
确认删除账号?
</div>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"handleVisible1=false"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"handleDelete"
>
确定
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
configKey
,
configUpdate
}
from
"@/api/system/config"
;
import
{
pageList
,
sysPush
,
updateStatus
,
sysPushDel
}
from
"@/api/system/supplierBad"
;
import
skeleton
from
'../../component/skeleton'
export
default
{
name
:
'supplierBad'
,
components
:
{
skeleton
},
data
()
{
return
{
queryParams
:{},
tableData
:[],
visible
:
false
,
radioTime
:
'0'
,
time
:[],
tableDataTotal
:
0
,
pageSize
:
10
,
pageNum
:
1
,
contact
:
''
,
name
:
''
,
handleVisible
:
false
,
handleVisible1
:
false
,
id
:
null
,
status
:
null
,
isSkeleton
:
true
,
}
},
created
()
{
configKey
(
"customer-badness-date-type"
).
then
(
response
=>
{
this
.
radioTime
=
response
.
data
.
configValue
});
configKey
(
"customer-badness-time-frame"
).
then
(
response
=>
{
this
.
time
=
[
this
.
converTime
(
response
.
data
.
configValue
.
split
(
'-'
)[
0
]),
this
.
converTime
(
response
.
data
.
configValue
.
split
(
'-'
)[
1
])]
});
this
.
getList
()
},
methods
:
{
radioBtn
(
val
){
configUpdate
({
configKey
:
'customer-badness-date-type'
,
configValue
:
val
}).
then
(
res
=>
{
this
.
$modal
.
success
(
res
.
msg
);
});
},
getList
(){
let
params
=
{
pushTypeCode
:
'custoemr-badness'
,
pageSize
:
this
.
pageSize
,
pageNum
:
this
.
pageNum
,
}
pageList
(
params
).
then
(
res
=>
{
console
.
log
(
res
)
this
.
isSkeleton
=
false
;
this
.
tableData
=
res
.
rows
;
this
.
tableDataTotal
=
res
.
total
})
},
handleClick
(
item
,
key
){
if
(
key
===
1
){
this
.
status
=
item
.
status
this
.
handleVisible
=
true
}
if
(
key
===
2
){
this
.
handleVisible1
=
true
}
this
.
id
=
item
.
id
},
handleAdd
(){
let
params
=
{
pushTypeCode
:
'custoemr-badness'
,
pushType
:
'供应商不良'
,
name
:
this
.
name
,
contact
:
this
.
contact
,
}
sysPush
(
params
).
then
(
res
=>
{
console
.
log
(
res
)
if
(
res
.
code
===
200
){
this
.
visible
=
false
;
this
.
$modal
.
success
(
"新增成功"
);
this
.
getList
()
}
else
{
this
.
$message
.
error
(
res
.
msg
);
}
})
},
handleUpdate
(){
let
params
=
{
id
:
this
.
id
,
status
:
'1'
,
}
updateStatus
(
params
).
then
(
res
=>
{
console
.
log
(
res
)
this
.
handleVisible
=
false
;
this
.
getList
()
})
},
handleDelete
(){
sysPushDel
(
this
.
id
).
then
(
res
=>
{
console
.
log
(
res
)
this
.
handleVisible1
=
false
;
this
.
getList
()
})
},
changeTime
(
val
){
console
.
log
(
val
)
let
time
=
val
[
0
]
+
'-'
+
val
[
1
]
configUpdate
({
configKey
:
'customer-badness-time-frame'
,
configValue
:
time
}).
then
(
res
=>
{
this
.
$modal
.
success
(
res
.
msg
);
});
},
converTime
(
time
)
{
const
date
=
new
Date
();
const
year
=
date
.
getFullYear
();
const
month
=
date
.
getMonth
()
+
1
;
const
day
=
date
.
getDate
();
const
hour
=
time
.
split
(
':'
)[
0
];
const
minutes
=
time
.
split
(
':'
)[
1
];
return
new
Date
(
year
,
month
,
day
,
hour
,
minutes
);
},
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.supplierBad
{
.content
{
background
:
#ffffff
;
padding
:
16px
;
margin-bottom
:
16px
;
.c-title
{
border-left
:
2px
solid
rgba
(
35
,
35
,
35
,
0
.8
);;
padding-left
:
8px
;
font-size
:
16px
;
height
:
16px
;
line-height
:
16px
;
font-weight
:
700
;
color
:
#232323
;
margin-bottom
:
16px
;
}
.main
{
border-top
:
1px
solid
#EEEEEE
;
padding-top
:
20px
;
}
.main-item
{
margin-bottom
:
16px
;
display
:
-
webkit-box
;
align-items
:
flex-start
;
.label
{
width
:
88px
;
font-size
:
14px
;
font-weight
:
400
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
}
.main-right
{
width
:
calc
(
100%
-
112px
);
.checkbox
{
display
:
flex
;
align-items
:
flex-start
;
.checkbox-content-qx
{
margin-right
:
24px
;
}
}
}
::v-deep
.timePicker
{
width
:
228px
;
height
:
32px
;
.el-range__icon
{
line-height
:
27px
;
}
.el-range__close-icon
{
line-height
:
27px
;
}
}
::v-deep
.phone
{
width
:
228px
;
height
:
32px
;
border-radius
:
2px
2px
2px
2px
;
}
}
.table-item
{
.btn
{
padding
:
10px
12px
;
margin
:
0
0
16px
0
;
}
}
.empty
{
margin
:
0
auto
;
height
:
276px
;
text-align
:
center
;
.img
{
width
:
108px
;
height
:
108px
;
margin-bottom
:
12px
;
margin-top
:
30px
;
}
.p1
{
color
:
#232323
;
font-size
:
14px
;
}
.p2
{
color
:
rgba
(
35
,
35
,
35
,
0
.4
);
font-size
:
12px
;
margin-top
:
8px
;
margin-bottom
:
16px
;
}
.btn
{
padding
:
10px
12px
;
}
}
}
::v-deep
.dialog-claim
{
margin
:
0
!
important
;
position
:absolute
;
top
:
50%
;
left
:
50%
;
transform
:translate
(
-50
%
,
-50
%
)
;
.el-dialog__header
{
display
:
block
;
padding
:
16px
20px
;
border-bottom
:
1px
solid
#EEEEEE
;
font-size
:
16px
;
font-weight
:
700
;
color
:
#232323
;
}
.el-dialog__body
{
padding
:
24px
20px
;
font-size
:
14px
;
.add-content
{
.input
{
display
:
-
webkit-box
;
align-items
:
flex-start
;
line-height
:
32px
;
margin-bottom
:
12px
;
.label
{
font-size
:
14px
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
width
:
90px
;
text-align
:
right
;
}
.name
{
width
:
340px
;
height
:
32px
;
margin-left
:
12px
;
border-radius
:
2px
;
}
.el-input__inner
{
height
:
32px
;
}
}
}
}
.el-dialog__footer
{
padding
:
0
;
}
.dialog-footer
{
border-top
:
1px
solid
#EEEEEE
;
padding
:
16px
20px
;
}
}
::v-deep
.dialog-confirm
{
.el-dialog__header
{
display
:
block
;
padding
:
20px
20px
8px
20px
;
font-size
:
16px
;
color
:
#232323
;
font-weight
:
700
;
line-height
:
24px
;
img
{
width
:
24px
;
height
:
24px
;
margin-right
:
12px
;
float
:
left
;
}
}
.el-dialog__body
{
padding
:
0
20px
24px
20px
;
color
:
#666666
;
.text
{
padding-left
:
36px
;
}
}
}
}
</
style
>
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