abnormalAlarm 模块 增加alarmCenter 和 alarmHistory 页面

This commit is contained in:
renpy 2023-07-21 18:14:14 +08:00
parent 28b54dad8a
commit bd12085589
8 changed files with 1273 additions and 52 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -1,15 +1,477 @@
<template>
<div>
alarm contact group
<div style="height: 100%;overflow: hidden;">
<div class="group-header">
<a-button class="group-add" @click="showModal">
<img class="icon-add" src="@/assets/images/global/add.png" alt="" />
<span style="margin-left: 10px;">
Add Contact Group
</span>
</a-button>
</div>
<div class="group-content">
<a-collapse :default-active-key="contactGroups[0].id" :bordered="false">
<a-collapse-panel :key="item.id" :style="customStyle" v-for="item in contactGroups" >
<template slot="header">
{{ item.name }}
</template>
<template slot="extra">
<a-button class="actions" shape="circle" @click.stop="editGroup(item.id)">
<img class="icon-edit" src="@/assets/images/abnormalAlarm/edit.png" alt="" />
</a-button>
<a-button class="actions" style="margin-right: 15px;" shape="circle" @click="deleteGroup(item.id)">
<img class="icon-delete" src="@/assets/images/abnormalAlarm/delete.png" alt="" />
</a-button>
</template>
<custom-table
size="middle"
rowKey="id"
:columns="columns"
:list="item.users"
:pagination="false"
:canSelect="false"
:scroll="{ y: 200 }"
>
<template slot="role" slot-scope="{record}">
<span v-for="(role,index) in record.roles" :key="role.id">{{ role.roleName }}<i v-if="index!=record.roles.length-1">,</i></span>
</template>
<template slot="action" slot-scope="{record}">
<a-button class="actions" style="margin-right: 15px;" shape="circle" @click="deleteUser(item.id,record.id)">
<img class="icon-delete" src="@/assets/images/abnormalAlarm/delete.png" alt="" />
</a-button>
</template>
</custom-table>
</a-collapse-panel>
</a-collapse>
<a-pagination
size="small"
v-model="page.currentPage"
:pageSize="page.pageSize"
:page-size-options="page.pageSizeOptions"
show-size-changer
show-quick-jumper
:total="page.total"
:show-total="(total, range) => `Total ${total} items Page ${currentPage} / ${Math.ceil(total / page.pageSize)}`"
show-less-items
@change="handlePageChange"
@showSizeChange="handleSizeChange"
/>
</div>
<custom-modal :title="isAdd ? 'Add Contact Group' : 'Edit Contact Group'" :width="845" v-model="visible" :okHandler="handleOk" destroy-on-close>
<a-spin :spinning="false">
<div class="group-assign">
<a-transfer
:dataSource="userList"
:target-keys="targetKeys"
:render="item => item.title"
:operations="['Assign', 'Remove']"
:titles="['All Users', 'Contact Group']"
@change="handleChange"
@search="handleSearch"
>
</a-transfer>
<!-- 穿梭框右上方搜索 -->
<div class="group-name">
<label>Group Name</label>
<a-input :value="groupName" placeholder="Basic usage" @change="setGroupName" />
</div>
<!-- 穿梭框右上方搜索结束 -->
</div>
</a-spin>
</custom-modal>
</div>
</template>
<script>
export default {
import { getAction,postAction,httpAction,deleteAction } from '@/api/manage'
const columns = [
{
title: 'NAME',
align: 'left',
dataIndex: 'username'
},
{
title: 'ROLE',
align: 'left',
dataIndex: 'roles',
scopedSlots: {
customRender: 'role',
},
},
{
title: 'Phone',
align: 'left',
dataIndex: 'telephone'
},
{
title: 'E-MAIL',
align: 'left',
dataIndex: 'email'
},
{
title: '',
align: 'right',
width: 80,
scopedSlots: {
customRender: 'action',
},
}
]
export default {
data() {
return {
page: {
currentPage:1,
pageSize: 10,
pageSizeOptions: ['10', '20', '30'],
total:0
},
contactGroups:[],
isAdd:true,
userList: [],
groupList: [],
columns,
visible: false,
customStyle:
'background: #02282b;;margin-bottom: 20px;border: solid 1px #416f7f;overflow: hidden',
targetKeys: [],
groupName: "",
currGroupId:""
}
},
mounted() {
this.getAlarmGroup()
this.getAllUser()
},
methods: {
handlePageChange(page, pageSize) {
this.page.currentPage = page
this.page.pageSize = pageSize
this.getAlarmGroup()
},
handleSizeChange(current, size) {
this.page.currentPage = current
this.page.pageSize = size
this.getAlarmGroup()
},
getAlarmGroup() {
let params = {
pageNo: this.page.currentPage,
pageSize:this.page.pageSize
}
getAction("/alarmContactGroup/findPage", params).then(res => {
if (res.success) {
this.contactGroups = res.result.records
this.page.total = res.result.total
} else {
this.$message.warning("This operation fails. Contact your system administrator")
}
})
},
editGroup(id) {
getAction("/alarmContactGroup/findInfo", {id}).then(res => {
if (res.success) {
this.visible = true
this.isAdd = false
this.groupName = res.result.name
this.targetKeys = res.result.userIds
this.currGroupId = res.result.id
} else {
this.$message.warning("This operation fails. Contact your system administrator")
}
})
},
getAllUser() {
getAction("sys/user/list").then(res => {
if (res.success) {
this.userList = res.result.records.map(item => {
return {
key: item.id,
title:item.username
}
})
} else {
this.$message.warning("This operation fails. Contact your system administrator")
}
})
},
setGroupName(e) {
this.groupName = e.target.value
},
handleChange(targetKeys, direction, moveKeys) {
console.log(targetKeys, direction, moveKeys);
this.targetKeys= targetKeys;
},
handleOk() {
if (this.isAdd) {
this.createContactGroup()
} else {
this.updateContactGroup()
}
},
updateContactGroup() {
let params = {
name: this.groupName,
description: "",
userIds: this.targetKeys,
id:this.currGroupId
}
httpAction("/alarmContactGroup/update", params, "put").then(res => {
if (res.success) {
this.$message.success("success")
this.getAlarmGroup()
} else {
this.$message.warning("This operation fails. Contact your system administrator")
}
})
},
createContactGroup() {
let params = {
name: this.groupName,
description: "",
userIds:this.targetKeys,
}
postAction("/alarmContactGroup/create", params).then(res => {
if (res.success) {
this.$message.success("success")
this.getAlarmGroup()
} else {
this.$message.warning("This operation fails. Contact your system administrator")
}
})
},
deleteGroup(id) {
let _this = this
this.$confirm({
title: 'Are you sure to delete this item?',
onOk() {
deleteAction("/alarmContactGroup/deleteById", {id}).then(res => {
if (res.success) {
_this.$message.success("success")
_this.getAlarmGroup()
} else {
_this.$message.warning("This operation fails. Contact your system administrator")
}
})
},
onCancel() {
console.log('Cancel');
},
class: 'test',
});
},
deleteUser(id,userId) {
let _this = this
this.$confirm({
title: 'Are you sure to delete this item?',
onOk() {
deleteAction("/alarmContactGroup/deleteUserById", {id,userId}).then(res => {
if (res.success) {
_this.$message.success("success")
_this.getAlarmGroup()
} else {
_this.$message.warning("This operation fails. Contact your system administrator")
}
})
},
onCancel() {
console.log('Cancel');
}
});
},
handleSearch(dir, value) {
console.log('search:', dir, value);
},
showModal() {
this.visible = true;
},
},
}
</script>
<style lang="scss" scoped>
<style lang="less" scoped>
.group-header{
height: 50px;
border-top: 1px solid rgba(13, 235, 201, 0.3);
border-bottom: 1px solid rgba(13, 235, 201, 0.3);
margin: 0 0 15px 20px;
display: flex;
align-items: center;
padding: 0 10px;
.group-add{
background-color: #1397a3;
font-family: ArialMT;
color: #ffffff;
border: none;
}
}
.group-content{
height: calc(100% - 65px);
margin-left: 20px;
position: relative;
.ant-collapse{
height: calc(100% - 30px);
overflow: auto;
}
.actions{
background: none;
border: none;
margin-left: 10px;
}
.split-float:last-child{
display: none;
}
.ant-pagination{
position: absolute;
left: 50%;
bottom: 0;
transform: translateX(-50%);
}
}
::v-deep {
.ant-collapse-header{
height: 50px;
background-color: rgba(13, 109, 118,0.2);
font-family: ArialMT;
color: #fff !important;
line-height: 50px !important;
padding-left: 35px !important;
}
.ant-collapse-content-box{
padding: 15px !important;
}
.ant-modal-title{
letter-spacing: 1px;
}
}
.group-assign{
position: relative;
width: 672px;
margin: 0 auto;
.ant-transfer {
margin-bottom: 10px;
::v-deep {
.ant-transfer-list {
width: 282px;
height: 411px;
padding-top: 0;
&-header {
height: 37px;
&-selected {
span:first-child {
display: none;
}
}
&-title {
left: 16px;
}
}
&-content {
&-item {
&:hover {
background-color: transparent;
}
}
}
&:last-child {
height: 364px;
position: relative;
top: 47px;
}
}
.ant-transfer-operation {
.ant-btn {
width: 92px;
height: 26px;
padding: 0;
.anticon {
display: none;
}
span {
margin-left: 0;
}
&:first-child {
margin-bottom: 52px;
&::after {
display: inline-block;
margin-left: 13px;
content: '';
width: 18px;
height: 10px;
background: url(~@/assets/images/system/transfer-right.png) no-repeat;
background-size: contain;
}
}
&:nth-child(2) {
&::before {
display: inline-block;
margin-right: 6px;
content: '';
width: 18px;
height: 10px;
background: url(~@/assets/images/system/transfer-left.png) no-repeat;
background-size: contain;
position: static;
opacity: initial;
}
}
}
}
.ant-transfer-list-header{
position: relative;
.ant-checkbox-wrapper{
position: absolute;
right: 10px;
}
}
.ant-transfer-list-content-item{
position: relative;
&::before{
content: '';
display: inline-block;
width: 16px;
height: 16px;
background: url(~@/assets/images/abnormalAlarm/user.png) no-repeat;
background-size: contain;
position: absolute;
top: 50%;
transform: translateY(-50%);
}
.ant-checkbox-wrapper{
position: absolute;
right: 10px;
}
}
.ant-transfer-list-content-item-text{
padding-left: 22px;
}
}
}
.group-name {
position: absolute;
top: 0;
right: 0;
width: 282px;
display: flex;
align-items: center;
label {
color: #5b9cba;
font-size: 16px;
flex-shrink: 0;
margin-right: 10px;
user-select: none;
}
}
.transfer-left-item{
position: relative;
height: 32px;
line-height: 32px;
font-size: 14px;
&-checkBox{
float: right;
}
}
}
</style>

View File

@ -1,14 +1,41 @@
<template>
<div style="height: 100%;">
<SearchBar></SearchBar>
<div class="chart-layout"></div>
<a-card :bordered="false" style="margin-left: 20px;">
<a-tabs default-active-key="info" @change="handleTabChange">
<SearchBar type="alarmCenter" @search="handleSearch"></SearchBar>
<div class="chart-layout" id="alarmChartBar"></div>
<a-card :bordered="false" style="height:calc(100% - 280px);margin-left: 20px;">
<a-tabs default-active-key="alarmHistory" @change="handleTabChange">
<a-tab-pane key="alarmHistory" tab="ALARM HISTORY">
ALARM HISTORY
<custom-table
size="middle"
:rowKey="getUid()"
:columns="columns"
:list="dataSource"
:pagination="ipagination"
:loading="loading"
:canSelect="false"
@change="handleTableChange"
>
<template slot="info" slot-scope="{text, record}">
<div class="info-alarm">{{ text }}</div>
<div>{{ text }}</div>
</template>
</custom-table>
</a-tab-pane>
<a-tab-pane key="alarmAnalysis" tab="ALARM ANALYSIS">
ALARM ANALYSIS
<div class="analysis-chart">
<div class="chart-left">
<div class="chart-title">
<span>Monitor Type Alarms</span>
</div>
<div class="chart-content" id="chartLeft"></div>
</div>
<div class="chart-right">
<div class="chart-title">
<span>Alarm Rule Top5</span>
</div>
<div class="chart-content" id="chartRight"></div>
</div>
</div>
</a-tab-pane>
</a-tabs>
</a-card>
@ -16,20 +43,334 @@
</template>
<script>
import dateFormat from '@/components/jeecg/JEasyCron/format-date'
import SearchBar from '../../components/searchBar';
import { postAction } from '@/api/manage'
import * as echarts from 'echarts'
const columns = [
{
title: 'NAME',
align: 'left',
dataIndex: 'name',
width: 150,
},
{
title: 'TYPE',
align: 'left',
dataIndex: 'sourceType',
width: 150,
},
{
title: 'ALARM START DATE',
align: 'left',
dataIndex: 'alarmStartDate',
width: 200,
},
{
title: 'ALARM INFO',
align: 'left',
dataIndex: 'alarmInfo',
scopedSlots: {
customRender: 'info',
},
},
]
export default {
components: {
SearchBar,
},
data() {
return {
ipagination:{
current: 1,
pageSize: 10,
pageSizeOptions: ['10', '20', '30'],
showTotal: (total, range) => {
const { current, pageSize } = this.ipagination
return `Total ${total} items Page ${current} / ${Math.ceil(total / pageSize)}`
},
showQuickJumper: true,
showSizeChanger: true,
total: 0
},
loading:false,
isImmediate:true,
columns,
dataSource: [],
alarmBar: null,
alarmPie: null,
alarmTop: null,
xData: [],
yData: [],
xData_top: [],
yData_top: [],
pieData: [],
url: {
list: '/alarmLog/findPage'
},
pieTotal:0
}
},
mounted () {
this.handleSearch({startDate:dateFormat(new Date(), 'yyyy-MM-dd'),endDate:dateFormat(new Date(), 'yyyy-MM-dd')})
},
methods: {
getUid() {
return (Math.random()+new Date().getTime()).toString(32).slice(0,8)
},
handleSearch({ startDate, endDate }) {
this.getAlarmLogBar({ startDate, endDate })
this.getTypeAlarmPie({ startDate, endDate })
this.getAlarmLogTable()
this.getAlarmTop({ startDate, endDate })
},
getAlarmLogBar(obj) {
let params = {
startDate:obj.startDate,
endDate:obj.endDate,
}
postAction("/alarmLog/viewAll", params).then(res => {
if (res.success) {
this.xData = res.result.xData
this.yData = res.result.yData
this.drawAlarmChart_bar()
} else {
this.$message.warning("This operation fails. Contact your system administrator")
}
})
},
getAlarmLogTable() {
let params = {
pageNo: this.ipagination.current,
pageSize: this.ipagination.pageSize,
// pageSize: 2,
// type: "Database"
}
postAction("/alarmLog/findPage", params).then(res => {
if (res.success) {
this.ipagination.total = res.result.total
this.dataSource = res.result.records
} else {
this.$message.warning("This operation fails. Contact your system administrator")
}
})
},
drawAlarmChart_bar() {
this.alarmBar = echarts.init(document.getElementById("alarmChartBar"))
let options = {
grid: {
left: '0%',
right: '0%',
bottom: '0%',
containLabel: true
},
xAxis: {
type: 'category',
axisTick: {
show:false
},
data: this.xData
},
yAxis: {
type: 'value',
axisLine: {
show:true
},
splitLine: {
show: true,
lineStyle: {
color: "rgbA(64, 105, 121, 0.2)"
}
},
},
series: [
{
type: 'bar',
barWidth: 30,
itemStyle: {
color: "#b87b1b"
},
data: this.yData,
}
]
}
this.alarmBar.setOption(options)
window.addEventListener("resize", function () {
this.alarmBar.resize();
});
},
getTypeAlarmPie(obj) {
let params = {
startDate:obj.startDate,
endDate:obj.endDate,
// startDate:"2023-07-15",
// endDate:"2023-07-21"
}
postAction("/alarmLog/typeAlarms", params).then(res => {
if (res.success) {
// this.drawAlarmChart_pie()
this.pieData = res.result.pieData
this.pieTotal = res.result.pieTotal
} else {
this.$message.warning("This operation fails. Contact your system administrator")
}
})
},
handleTableChange(pagination) {
this.ipagination = pagination
this.getAlarmLogTable()
},
handleTabChange(key) {
console.log(key);
if (key == "alarmAnalysis") {
this.$nextTick(() => {
this.drawAlarmChart_pie()
this.drawAlarmChart_top()
})
}
},
drawAlarmChart_pie() {
this.alarmPie = echarts.init(document.getElementById("chartLeft"))
let options = {
tooltip: {
trigger: 'item'
},
graphic: [
{
type: "text",
left: "center",
top: "40%",
style: {
text: this.pieTotal,
textAlign: "center",
fill: "#ffffff",
font: '32px "MicrogrammaD-MediExte"'
}
},
{
type: "text",
left: "center",
top: "50%",
style: {
text: "Alarm Total",
textAlign: "center",
fill: "#ade6ee",
font: '24px "ArialMT"'
}
},
],
series: [
{
name: 'Access From',
type: 'pie',
radius: ['40%', '70%'],
avoidLabelOverlap: false,
label: {
show: false,
position: 'center'
},
labelLine: {
show: false
},
data: this.pieData
}
]
}
this.alarmPie.setOption(options)
window.addEventListener("resize", function () {
this.alarmPie.resize();
});
},
getAlarmTop() {
let params = {
startDate:obj.startDate,
endDate:obj.endDate,
// startDate:"2023-07-15",
// endDate:"2023-07-21"
}
postAction("/alarmLog/ruleTop", params).then(res => {
console.log(res);
if (res.success) {
this.xData_top = res.result.yData
this.yData_top = res.result.xData
} else {
this.$message.warning("This operation fails. Contact your system administrator")
}
})
},
drawAlarmChart_top() {
this.alarmTop = echarts.init(document.getElementById("chartRight"))
let options = {
grid: {
top:"3%",
left: '0%',
right: '1%',
bottom: '2%',
containLabel: true
},
xAxis: {
type: 'value',
axisTick: {
show:false
},
axisLabel: {
show: false
},
splitLine: {
show: true,
lineStyle: {
color: "rgba(115, 191, 255, 0.2)"
}
},
// data: this.xData
},
yAxis: {
type: 'category',
axisTick: {
show:false
},
axisLabel: {
color: "#ade6ee",
fontFamily: "ArialMT"
},
axisLine: {
show: true,
lineStyle: {
color: "rgba(115, 191, 255, 0.2)"
}
},
splitLine: {
show: true,
lineStyle: {
color: "rgba(115, 191, 255, 0.2)"
}
},
data: this.yData_top
},
series: [
{
type: 'bar',
barWidth: 30,
itemStyle: {
color: "#80a23e"
},
label: {
show: true,
position: "right",
color: "#a7da44",
fontFamily: "ArialMT"
},
data: this.xData_top,
}
]
}
this.alarmTop.setOption(options)
window.addEventListener("resize", function () {
this.alarmTop.resize();
});
}
},
}
</script>
@ -37,14 +378,13 @@ export default {
<style lang="less" scoped>
.chart-layout{
height: 230px;
background: #0ff;
margin-left: 20px;
}
::v-deep {
.ant-tabs{
height: calc(100% - 66px);
height: 100%;
.ant-tabs-top-content{
height: calc(100% - 56px);
height: calc(100% - 50px);
.ant-tabs-tabpane{
height: 100%;
overflow: auto;
@ -55,6 +395,7 @@ export default {
.ant-tabs-bar{
width: 100%;
height: 40px;
margin: 0 0 10px 0;
background-color: rgba(12, 235, 201, 0.05);
border-top: 1px solid rgba(12, 235, 201, 0.3);
border-bottom: 1px solid rgba(12, 235, 201, 0.3);
@ -108,15 +449,6 @@ export default {
.ant-tabs-nav .ant-tabs-tab-active{
color: #2affdf;
}
.ant-tabs-tabpane{
width: 100%;
height: calc(100% - 122px);
border: solid 1px #416f7f;
padding: 15px 20px;
}
.ant-tabs .ant-tabs-top-content > .ant-tabs-tabpane-inactive{
padding: 15px 20px !important
}
.ant-row{
height: 36px;
line-height: 36px;
@ -128,4 +460,42 @@ export default {
color: #2affdf;
}
}
.analysis-chart{
width: 100%;
height: 100%;
display: flex;
justify-content: space-between;
.chart-left{
width: 43%;
height: 100%;
}
.chart-right{
width: 56%;
height: 100%;
}
.chart-title{
height: 40px;
font-family: MicrogrammaD-MediExte;
font-size: 18px;
font-weight: bold;
line-height: 36px;
letter-spacing: 1px;
color: #0cebc9;
border-bottom: 4px solid rgba(12, 235, 201, 0.2);
border-top: 1px solid rgba(12, 235, 201, 0.2);
span{
display: inline-block;
padding: 0 15px;
background-color: rgba(12, 235, 201, 0.05);
}
}
.chart-content{
height: calc(100% - 40px);
}
}
.info-alarm{
font-family: ArialMT;
font-size: 18px;
color: #f62424;
}
</style>

View File

@ -1,6 +1,47 @@
<template>
<div>
alarm rules
<div style="height: 100%;">
<div class="rules-header">
<div>
<a-button class="rules-add">
<img class="icon-add" src="@/assets/images/global/add.png" alt="" />
<span style="margin-left: 10px;">
Create Alert Rulep
</span>
</a-button>
<a-select style="width: 160px;margin-left: 10px;" v-bind="$attrs" show-arrow placeholder="select...">
<img slot="suffixIcon" src="@/assets/images/global/select-down.png" alt="" />
<div slot="dropdownRender" slot-scope="menu">
<v-nodes :vnodes="menu" />
<a-divider style="margin: 0;" />
<div
style="padding: 4px 12px; cursor: pointer;"
@mousedown="e => e.preventDefault()"
>
<a-checkbox v-model="allVal" @change="checkedAll"><span @click.prevent="handleClick">ALL</span></a-checkbox>
</div>
</div>
</a-select>
<a-select style="width: 160px;margin-left: 10px;" v-bind="$attrs" show-arrow placeholder="select...">
<img slot="suffixIcon" src="@/assets/images/global/select-down.png" alt="" />
<div slot="dropdownRender" slot-scope="menu">
<v-nodes :vnodes="menu" />
<a-divider style="margin: 0;" />
<div
style="padding: 4px 12px; cursor: pointer;"
@mousedown="e => e.preventDefault()"
>
<a-checkbox v-model="allVal" @change="checkedAll"><span @click.prevent="handleClick">ALL</span></a-checkbox>
</div>
</div>
</a-select>
</div>
<a-button class="rules-reset">
<img class="icon-add" src="@/assets/images/global/reset-pwd.png" alt="" />
<span style="margin-left: 10px;">
Refresh
</span>
</a-button>
</div>
</div>
</template>
@ -10,6 +51,28 @@
}
</script>
<style lang="scss" scoped>
<style lang="less" scoped>
.rules-header{
height: 50px;
border-top: 1px solid rgba(13, 235, 201, 0.3);
border-bottom: 1px solid rgba(13, 235, 201, 0.3);
margin: 0 0 15px 20px;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 10px;
.rules-add{
background-color: #1397a3;
font-family: ArialMT;
color: #ffffff;
border: none;
}
.rules-reset{
background-color: #1397a3;
font-family: ArialMT;
color: #ffffff;
border: none;
float: right;
}
}
</style>

View File

@ -6,7 +6,7 @@
</a-col>
<a-col flex="270px">
<a-form-model-item label="Type">
<a-select v-bind="$attrs" show-arrow @change="onChange">
<a-select :value="queryParams.types" mode="multiple" :maxTagCount="1" :options="typeOptions" show-arrow @change="onTypeChange">
<img slot="suffixIcon" src="@/assets/images/global/select-down.png" alt="" />
<div slot="dropdownRender" slot-scope="menu">
<v-nodes :vnodes="menu" />
@ -15,13 +15,13 @@
style="padding: 4px 12px; cursor: pointer;"
@mousedown="e => e.preventDefault()"
>
<a-checkbox v-model="allVal" @change="checkedAll"><span @click.prevent="handleClick">ALL</span></a-checkbox>
<a-checkbox v-model="allVal" @change="handleAllClickBox"><span @click.prevent="handleAllClick">ALL</span></a-checkbox>
</div>
</div>
</a-select>
</a-form-model-item>
</a-col>
<a-col flex="270px">
<a-col flex="270px" v-if="type!=='alarmCenter'">
<a-form-model-item label="Name">
<a-select v-bind="$attrs" show-arrow @change="onChange">
<img slot="suffixIcon" src="@/assets/images/global/select-down.png" alt="" />
@ -32,7 +32,7 @@
style="padding: 4px 12px; cursor: pointer;"
@mousedown="e => e.preventDefault()"
>
<a-checkbox v-model="allVal" @change="checkedAll"><span @click.prevent="handleClick">ALL</span></a-checkbox>
<a-checkbox v-model="allVal" @change="handleAllClick"><span @click.prevent="handleAllClick">ALL</span></a-checkbox>
</div>
</div>
</a-select>
@ -40,7 +40,10 @@
</a-col>
<a-col flex="380px">
<a-form-model-item label="Alarm date">
<a-range-picker @change="onRangeDateChange" />
<a-range-picker
:value="[moment(queryParams.startDate), moment(queryParams.endDate)]"
@change="onRangeDateChange"
/>
</a-form-model-item>
</a-col>
<a-col flex="108px">
@ -54,7 +57,15 @@
</template>
<script>
import dateFormat from '@/components/jeecg/JEasyCron/format-date'
import moment from 'moment';
export default {
props: {
type: {
type: String,
default: ''
},
},
components: {
VNodes: {
functional: true,
@ -63,29 +74,61 @@ export default {
},
data() {
return {
allVal: false
allVal: false,
typeOptions: [
{
label: "Server",
value: "Server"
},
{
label: "Database",
value: "Database"
},
{
label: "E-MAIL",
value: "Email"
},
],
queryParams: {
types: ["Server","Database","Email"],
name: "",
startDate: dateFormat(new Date(), 'yyyy-MM-dd'),
endDate: dateFormat(new Date(), 'yyyy-MM-dd')
}
}
},
methods: {
checkedAll(val) {
console.log(val);
// this.$emit('changeAll', val.target.checked)
moment,
handleAllClickBox(e) {
this.allVal = e.target.checked
this.setSelectVal()
},
handleClick(e) {
console.log(e);
handleAllClick(e) {
this.allVal = !this.allVal
// this.$emit('changeAll', this.allVal)
this.setSelectVal()
},
onChange(val) {
console.log(val);
// this.$emit('change', val)
setSelectVal() {
if (this.allVal) {
this.queryParams.types = this.typeOptions.map(item => item.value)
} else {
this.queryParams.types = []
}
},
onTypeChange(val) {
this.queryParams.types = val
let length = this.typeOptions.length
if (val.length === length) {
this.allVal = true
} else {
this.allVal = false
}
},
onRangeDateChange(date, dateString) {
console.log(date, dateString);
this.queryParams.startDate = dateString[0]
this.queryParams.endDate = dateString[1]
},
onSearch() {
console.log("qwerq");
// this.$emit('search', this.formModel)
this.$emit("search",this.queryParams)
}
},
}
@ -94,7 +137,6 @@ export default {
<style lang="less" scoped>
.search-bar{
height: 50px;
color: rgb(13, 235, 201);
border-top: 1px solid rgba(13, 235, 201, 0.3);
border-bottom: 1px solid rgba(13, 235, 201, 0.3);
margin-left: 20px;
@ -141,4 +183,18 @@ export default {
overflow: hidden;
}
}
.ant-select {
.ant-select-arrow-icon {
transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}
&-open {
.ant-select-arrow-icon {
transform: rotate(180deg);
}
}
}
.ant-select-dropdown-content{
position: relative;
background: #03353f;
}
</style>

280
yarn.lock
View File

@ -821,6 +821,13 @@
dependencies:
regenerator-runtime "^0.13.4"
"@babel/runtime@^7.13.10":
version "7.22.6"
resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.22.6.tgz#57d64b9ae3cff1d67eb067ae117dac087f5bd438"
integrity sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==
dependencies:
regenerator-runtime "^0.13.11"
"@babel/template@^7.10.4":
version "7.10.4"
resolved "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278"
@ -895,10 +902,39 @@
cssnano-preset-default "^4.0.0"
postcss "^7.0.0"
"@jeecg/antd-online-mini@3.1.0-beta":
version "3.1.0-beta"
resolved "https://registry.npmmirror.com/@jeecg/antd-online-mini/-/antd-online-mini-3.1.0-beta.tgz#cf3e254259503405a5e83ffa6775ac9fa02fe74c"
integrity sha512-pW0zWzExnxjlC3e7DzGYjQibLU22K/7N0kp1ddJrGgX33Ia/wq7ELOcwn6bLzITD89RcvX1JUW/om+IJ1PxOSw==
"@jeecg/antd-online-mini@3.4.3-beta2":
version "3.4.3-beta2"
resolved "https://registry.npmmirror.com/@jeecg/antd-online-mini/-/antd-online-mini-3.4.3-beta2.tgz#5903547f48a7d51f2df9773b85d25d28807e57ae"
integrity sha512-uZLjtQG/vAcBsCEysE1HceUyzwiHwU+JlNzvHxNnenNDHeaawZa9CfILUImNFJ5JQVqE5J11QpQNb6i5Boo3Gw==
"@mapbox/jsonlint-lines-primitives@~2.0.2":
version "2.0.2"
resolved "https://registry.npmmirror.com/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz#ce56e539f83552b58d10d672ea4d6fc9adc7b234"
integrity sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==
"@mapbox/mapbox-gl-style-spec@^13.23.1":
version "13.28.0"
resolved "https://registry.npmmirror.com/@mapbox/mapbox-gl-style-spec/-/mapbox-gl-style-spec-13.28.0.tgz#2ec226320a0f77856046e000df9b419303a56458"
integrity sha512-B8xM7Fp1nh5kejfIl4SWeY0gtIeewbuRencqO3cJDrCHZpaPg7uY+V8abuR+esMeuOjRl5cLhVTP40v+1ywxbg==
dependencies:
"@mapbox/jsonlint-lines-primitives" "~2.0.2"
"@mapbox/point-geometry" "^0.1.0"
"@mapbox/unitbezier" "^0.0.0"
csscolorparser "~1.0.2"
json-stringify-pretty-compact "^2.0.0"
minimist "^1.2.6"
rw "^1.3.3"
sort-object "^0.3.2"
"@mapbox/point-geometry@^0.1.0":
version "0.1.0"
resolved "https://registry.npmmirror.com/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz#8a83f9335c7860effa2eeeca254332aa0aeed8f2"
integrity sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==
"@mapbox/unitbezier@^0.0.0":
version "0.0.0"
resolved "https://registry.npmmirror.com/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz#15651bd553a67b8581fb398810c98ad86a34524e"
integrity sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA==
"@mrmlnc/readdir-enhanced@^2.2.1":
version "2.2.1"
@ -913,6 +949,11 @@
resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b"
integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==
"@petamoriken/float16@^3.4.7":
version "3.8.1"
resolved "https://registry.npmmirror.com/@petamoriken/float16/-/float16-3.8.1.tgz#ebb6994fb7b0698fc73e11a183a2b5e3ae722fb4"
integrity sha512-oj3dU9kuMy8AqrreIboVh3KCJGSQO5T+dJ8JQFl369961jTWvPLP1GIlLy0FVoWehXLoI9BXygu/yzuNiIHBlg==
"@simonwep/pickr@~1.7.0":
version "1.7.1"
resolved "https://registry.npmjs.org/@simonwep/pickr/-/pickr-1.7.1.tgz#7bdcccca2041967434f9d7e18720e85598601008"
@ -962,6 +1003,11 @@
resolved "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
"@types/crypto-js@^4.1.1":
version "4.1.1"
resolved "https://registry.npmmirror.com/@types/crypto-js/-/crypto-js-4.1.1.tgz#602859584cecc91894eb23a4892f38cfa927890d"
integrity sha512-BG7fQKZ689HIoc5h+6D2Dgq1fABRa0RbBWKBd9SP/MVRVXROflpm5fhwyATX5duFmbStzyzyycPB8qUYKDH3NA==
"@types/d3-format@*":
version "1.3.1"
resolved "https://registry.npmjs.org/@types/d3-format/-/d3-format-1.3.1.tgz#35bf88264bd6bcda39251165bb827f67879c4384"
@ -3182,6 +3228,11 @@ classnames@^2.2.5:
resolved "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce"
integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==
claygl@^1.2.1:
version "1.3.0"
resolved "https://registry.npmmirror.com/claygl/-/claygl-1.3.0.tgz#7a6e2903210519ac358848f5d78070ed211685f3"
integrity sha512-+gGtJjT6SSHD2l2yC3MCubW/sCV40tZuSs5opdtn79vFSGUgp/lH139RNEQ6Jy078/L0aV8odCw8RSrUcMfLaQ==
clean-css@4.2.x, clean-css@^4.2.3:
version "4.2.3"
resolved "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78"
@ -3741,6 +3792,11 @@ crypto-browserify@^3.11.0:
randombytes "^2.0.0"
randomfill "^1.0.3"
crypto-js@^4.1.1:
version "4.1.1"
resolved "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.1.1.tgz#9e485bcf03521041bd85844786b83fb7619736cf"
integrity sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==
css-color-names@0.0.4, css-color-names@^0.0.4:
version "0.0.4"
resolved "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
@ -3862,6 +3918,11 @@ css@^2.0.0:
source-map-resolve "^0.5.2"
urix "^0.1.0"
csscolorparser@~1.0.2:
version "1.0.3"
resolved "https://registry.npmmirror.com/csscolorparser/-/csscolorparser-1.0.3.tgz#b34f391eea4da8f3e98231e2ccd8df9c041f171b"
integrity sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w==
cssesc@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
@ -4560,6 +4621,11 @@ duplexify@^3.4.2, duplexify@^3.6.0:
readable-stream "^2.0.0"
stream-shift "^1.0.0"
earcut@^2.2.3:
version "2.2.4"
resolved "https://registry.npmmirror.com/earcut/-/earcut-2.2.4.tgz#6d02fd4d68160c114825d06890a92ecaae60343a"
integrity sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==
easy-stack@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.0.tgz#12c91b3085a37f0baa336e9486eac4bf94e3e788"
@ -4573,6 +4639,22 @@ ecc-jsbn@~0.1.1:
jsbn "~0.1.0"
safer-buffer "^2.1.0"
echarts-gl@^2.0.9:
version "2.0.9"
resolved "https://registry.npmmirror.com/echarts-gl/-/echarts-gl-2.0.9.tgz#ee228a6c7520a6fb7bbb71ea94394f3637ade033"
integrity sha512-oKeMdkkkpJGWOzjgZUsF41DOh6cMsyrGGXimbjK2l6Xeq/dBQu4ShG2w2Dzrs/1bD27b2pLTGSaUzouY191gzA==
dependencies:
claygl "^1.2.1"
zrender "^5.1.1"
echarts@^5.4.2:
version "5.4.3"
resolved "https://registry.npmmirror.com/echarts/-/echarts-5.4.3.tgz#f5522ef24419164903eedcfd2b506c6fc91fb20c"
integrity sha512-mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZA==
dependencies:
tslib "2.3.0"
zrender "5.4.4"
ee-first@1.1.1:
version "1.1.1"
resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
@ -5696,6 +5778,19 @@ gensync@^1.0.0-beta.1:
resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269"
integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==
geotiff@^2.0.7:
version "2.0.7"
resolved "https://registry.npmmirror.com/geotiff/-/geotiff-2.0.7.tgz#358e578233af70bfb0b4dee62d599ad78fc5cfca"
integrity sha512-FKvFTNowMU5K6lHYY2f83d4lS2rsCNdpUC28AX61x9ZzzqPNaWFElWv93xj0eJFaNyOYA63ic5OzJ88dHpoA5Q==
dependencies:
"@petamoriken/float16" "^3.4.7"
lerc "^3.0.0"
pako "^2.0.4"
parse-headers "^2.0.2"
quick-lru "^6.1.1"
web-worker "^1.2.0"
xml-utils "^1.0.2"
get-caller-file@^1.0.1:
version "1.0.3"
resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
@ -6224,6 +6319,11 @@ icss-utils@^2.1.0:
dependencies:
postcss "^6.0.1"
ieee754@^1.1.12:
version "1.2.1"
resolved "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
ieee754@^1.1.4:
version "1.1.13"
resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
@ -6947,6 +7047,11 @@ json-stable-stringify-without-jsonify@^1.0.1:
resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
json-stringify-pretty-compact@^2.0.0:
version "2.0.0"
resolved "https://registry.npmmirror.com/json-stringify-pretty-compact/-/json-stringify-pretty-compact-2.0.0.tgz#e77c419f52ff00c45a31f07f4c820c2433143885"
integrity sha512-WRitRfs6BGq4q8gTgOy4ek7iPFXjbra0H3PmDLKm2xnZ+Gh1HUhiKGgCZkSPNULlP7mvfu6FV/mOLhCarspADQ==
json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
@ -7063,6 +7168,11 @@ lcid@^1.0.0:
dependencies:
invert-kv "^1.0.0"
lerc@^3.0.0:
version "3.0.0"
resolved "https://registry.npmmirror.com/lerc/-/lerc-3.0.0.tgz#36f36fbd4ba46f0abf4833799fff2e7d6865f5cb"
integrity sha512-Rm4J/WaHhRa93nCN2mwWDZFoRVF18G1f47C+kvQWyHGEZxFpTUi73p7lMVSAndyxGt6lJ2/CFbOcf9ra5p8aww==
less-loader@^4.1.0:
version "4.1.0"
resolved "https://registry.npmjs.org/less-loader/-/less-loader-4.1.0.tgz#2c1352c5b09a4f84101490274fd51674de41363e"
@ -7424,6 +7534,11 @@ map-visit@^1.0.0:
dependencies:
object-visit "^1.0.0"
mapbox-to-css-font@^2.4.1:
version "2.4.2"
resolved "https://registry.npmmirror.com/mapbox-to-css-font/-/mapbox-to-css-font-2.4.2.tgz#a9e31b363ad8ca881cd339ca99f2d2a6b02ea5dd"
integrity sha512-f+NBjJJY4T3dHtlEz1wCG7YFlkODEjFIYlxDdLIDMNpkSksqTt+l/d4rjuwItxuzkuMFvPyrjzV2lxRM4ePcIA==
math-expression-evaluator@^1.2.14:
version "1.2.22"
resolved "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.22.tgz#c14dcb3d8b4d150e5dcea9c68c8dad80309b0d5e"
@ -7619,6 +7734,11 @@ minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5, minimist@~1.2.5:
resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
minimist@^1.2.6:
version "1.2.8"
resolved "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
minipass-collect@^1.0.2:
version "1.0.2"
resolved "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617"
@ -8074,6 +8194,26 @@ obuf@^1.0.0, obuf@^1.1.2:
resolved "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e"
integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==
ol-mapbox-style@^10.1.0:
version "10.6.0"
resolved "https://registry.npmmirror.com/ol-mapbox-style/-/ol-mapbox-style-10.6.0.tgz#89ac864160a374d936a59f7d1c969d4dc1d0a46b"
integrity sha512-s86QhCoyyKVRsYkvPzzdWd///bhYh3onWrBq4lNXnCd9G/hS6AoK023kn4zlDESVlTBDTWLz8vhOistp0M3TXA==
dependencies:
"@mapbox/mapbox-gl-style-spec" "^13.23.1"
mapbox-to-css-font "^2.4.1"
ol "^7.3.0"
ol@^7.3.0, ol@^7.4.0:
version "7.4.0"
resolved "https://registry.npmmirror.com/ol/-/ol-7.4.0.tgz#935436c0843d1f939972e076d4fcb130530ce9d7"
integrity sha512-bgBbiah694HhC0jt8ptEFNRXwgO8d6xWH3G97PCg4bmn9Li5nLLbi59oSrvqUI6VPVwonPQF1YcqJymxxyMC6A==
dependencies:
earcut "^2.2.3"
geotiff "^2.0.7"
ol-mapbox-style "^10.1.0"
pbf "3.2.1"
rbush "^3.0.1"
omit.js@^1.0.0:
version "1.0.2"
resolved "https://registry.npmjs.org/omit.js/-/omit.js-1.0.2.tgz#91a14f0eba84066dfa015bf30e474c47f30bc858"
@ -8274,6 +8414,11 @@ p-try@^2.0.0:
resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
pako@^2.0.4:
version "2.1.0"
resolved "https://registry.npmmirror.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86"
integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==
pako@~1.0.5:
version "1.0.11"
resolved "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
@ -8322,6 +8467,11 @@ parse-asn1@^5.0.0, parse-asn1@^5.1.5:
pbkdf2 "^3.0.3"
safe-buffer "^5.1.1"
parse-headers@^2.0.2:
version "2.0.5"
resolved "https://registry.npmmirror.com/parse-headers/-/parse-headers-2.0.5.tgz#069793f9356a54008571eb7f9761153e6c770da9"
integrity sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==
parse-json@^2.2.0:
version "2.2.0"
resolved "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
@ -8462,6 +8612,14 @@ path-type@^3.0.0:
dependencies:
pify "^3.0.0"
pbf@3.2.1:
version "3.2.1"
resolved "https://registry.npmmirror.com/pbf/-/pbf-3.2.1.tgz#b4c1b9e72af966cd82c6531691115cc0409ffe2a"
integrity sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==
dependencies:
ieee754 "^1.1.12"
resolve-protobuf-schema "^2.1.0"
pbkdf2@^3.0.3:
version "3.1.1"
resolved "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94"
@ -9242,6 +9400,11 @@ promise@^7.1.1:
dependencies:
asap "~2.0.3"
protocol-buffers-schema@^3.3.1:
version "3.6.0"
resolved "https://registry.npmmirror.com/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz#77bc75a48b2ff142c1ad5b5b90c94cd0fa2efd03"
integrity sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==
proxy-addr@~2.0.5:
version "2.0.6"
resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf"
@ -9366,6 +9529,16 @@ querystringify@^2.1.1:
resolved "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e"
integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==
quick-lru@^6.1.1:
version "6.1.1"
resolved "https://registry.npmmirror.com/quick-lru/-/quick-lru-6.1.1.tgz#f8e5bf9010376c126c80c1a62827a526c0e60adf"
integrity sha512-S27GBT+F0NTRiehtbrgaSE1idUAJ5bX8dPAQTdylEyNlrdcH5X4Lz7Edz3DYzecbsCluD5zO8ZNEe04z3D3u6Q==
quickselect@^2.0.0:
version "2.0.0"
resolved "https://registry.npmmirror.com/quickselect/-/quickselect-2.0.0.tgz#f19680a486a5eefb581303e023e98faaf25dd018"
integrity sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==
raf@^3.4.0:
version "3.4.1"
resolved "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39"
@ -9403,6 +9576,13 @@ raw-body@2.4.0:
iconv-lite "0.4.24"
unpipe "1.0.0"
rbush@^3.0.1:
version "3.0.1"
resolved "https://registry.npmmirror.com/rbush/-/rbush-3.0.1.tgz#5fafa8a79b3b9afdfe5008403a720cc1de882ecf"
integrity sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==
dependencies:
quickselect "^2.0.0"
read-pkg-up@^1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
@ -9526,6 +9706,11 @@ regenerator-runtime@^0.11.0:
resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
regenerator-runtime@^0.13.11:
version "0.13.11"
resolved "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9"
integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
regenerator-runtime@^0.13.4:
version "0.13.5"
resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697"
@ -9773,6 +9958,13 @@ resolve-from@^4.0.0:
resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
resolve-protobuf-schema@^2.1.0:
version "2.1.0"
resolved "https://registry.npmmirror.com/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz#9ca9a9e69cf192bbdaf1006ec1973948aa4a3758"
integrity sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==
dependencies:
protocol-buffers-schema "^3.3.1"
resolve-url-loader@^2.1.1:
version "2.3.2"
resolved "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-2.3.2.tgz#83bb9ebc392b66c563795eef22f078970357a26e"
@ -9898,7 +10090,7 @@ run-queue@^1.0.0, run-queue@^1.0.3:
dependencies:
aproba "^1.1.1"
rw@1, rw@^1.3.2:
rw@1, rw@^1.3.2, rw@^1.3.3:
version "1.3.3"
resolved "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4"
integrity sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=
@ -9982,6 +10174,11 @@ schema-utils@^2.6.1, schema-utils@^2.6.5:
ajv "^6.12.2"
ajv-keywords "^3.4.1"
scrollparent@^2.0.1:
version "2.1.0"
resolved "https://registry.npmmirror.com/scrollparent/-/scrollparent-2.1.0.tgz#6cae915c953835886a6ba0d77fdc2bb1ed09076d"
integrity sha512-bnnvJL28/Rtz/kz2+4wpBjHzWoEzXhVg/TE8BeVGJHUqE8THNIRnDxDWMktwM+qahvlRdvlLdsQfYe+cuqfZeA==
select-hose@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
@ -10264,6 +10461,16 @@ sockjs@0.3.20:
uuid "^3.4.0"
websocket-driver "0.6.5"
sort-asc@^0.1.0:
version "0.1.0"
resolved "https://registry.npmmirror.com/sort-asc/-/sort-asc-0.1.0.tgz#ab799df61fc73ea0956c79c4b531ed1e9e7727e9"
integrity sha512-jBgdDd+rQ+HkZF2/OHCmace5dvpos/aWQpcxuyRs9QUbPRnkEJmYVo81PIGpjIdpOcsnJ4rGjStfDHsbn+UVyw==
sort-desc@^0.1.1:
version "0.1.1"
resolved "https://registry.npmmirror.com/sort-desc/-/sort-desc-0.1.1.tgz#198b8c0cdeb095c463341861e3925d4ee359a9ee"
integrity sha512-jfZacW5SKOP97BF5rX5kQfJmRVZP5/adDUTY8fCSPvNcXDVpUEe2pr/iKGlcyZzchRJZrswnp68fgk3qBXgkJw==
sort-keys@^1.0.0:
version "1.1.2"
resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad"
@ -10271,6 +10478,14 @@ sort-keys@^1.0.0:
dependencies:
is-plain-obj "^1.0.0"
sort-object@^0.3.2:
version "0.3.2"
resolved "https://registry.npmmirror.com/sort-object/-/sort-object-0.3.2.tgz#98e0d199ede40e07c61a84403c61d6c3b290f9e2"
integrity sha512-aAQiEdqFTTdsvUFxXm3umdo04J7MRljoVGbBlkH7BgNsMvVNAJyGj7C/wV1A8wHWAJj/YikeZbfuCKqhggNWGA==
dependencies:
sort-asc "^0.1.0"
sort-desc "^0.1.1"
sortablejs@^1.10.1:
version "1.10.2"
resolved "https://registry.npmjs.org/sortablejs/-/sortablejs-1.10.2.tgz#6e40364d913f98b85a14f6678f92b5c1221f5290"
@ -11019,6 +11234,11 @@ tsconfig-paths@^3.9.0:
minimist "^1.2.0"
strip-bom "^3.0.0"
tslib@2.3.0:
version "2.3.0"
resolved "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e"
integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==
tslib@^1.10.0, tslib@^1.9.0:
version "1.13.0"
resolved "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
@ -11437,6 +11657,11 @@ vue-ls@^3.2.0:
resolved "https://registry.npmjs.org/vue-ls/-/vue-ls-3.2.1.tgz#25d1c75b3a51c17018129de607b44bb120a3385a"
integrity sha512-JoZDpSu0qV5AM50vspEzOut2lcm8R0tr5WG99jMHh14qFXkUes3ZdmDMG/p8iSQVQpg0pd/svGwM9Nd7OI2oaw==
vue-observe-visibility@^0.4.4:
version "0.4.6"
resolved "https://registry.npmmirror.com/vue-observe-visibility/-/vue-observe-visibility-0.4.6.tgz#878cb8ebcf3078e40807af29774e97105ebd519e"
integrity sha512-xo0CEVdkjSjhJoDdLSvoZoQrw/H2BlzB5jrCBKGZNXN2zdZgMuZ9BKrxXDjNP2AxlcCoKc8OahI3F3r3JGLv2Q==
vue-photo-preview@^1.1.3:
version "1.1.3"
resolved "https://registry.npmjs.org/vue-photo-preview/-/vue-photo-preview-1.1.3.tgz#8ee62923e865d3cbaf010b07b0cc841892633028"
@ -11459,11 +11684,30 @@ vue-photo-preview@^1.1.3:
webpack "^3.6.0"
webpack-dev-server "^2.9.1"
vue-print-nb-jeecg@^1.0.12:
version "1.0.12"
resolved "https://registry.npmmirror.com/vue-print-nb-jeecg/-/vue-print-nb-jeecg-1.0.12.tgz#975e1dac3da8c9736ac81b82a2b099cafe1bb3df"
integrity sha512-jHyWm6/TxB1iU2nHL7upQdHVdxb1SJQ9n3XKeYTaruFdbSphLo1vDtTunS2qVCjupk8lui7FlF5rxxSNr0zjZg==
dependencies:
babel-plugin-transform-runtime "^6.23.0"
vue-ref@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/vue-ref/-/vue-ref-2.0.0.tgz#483084d732abed11da796778a8266a3af0ea1a9c"
integrity sha512-uKNKpFOVeWNqS2mrBZqnpLyXJo5Q+vnkex6JvpENvhXHFNBW/SJTP8vJywLuVT3DpxwXcF9N0dyIiZ4/NpTexQ==
vue-resize@^0.4.5:
version "0.4.5"
resolved "https://registry.npmmirror.com/vue-resize/-/vue-resize-0.4.5.tgz#4777a23042e3c05620d9cbda01c0b3cc5e32dcea"
integrity sha512-bhP7MlgJQ8TIkZJXAfDf78uJO+mEI3CaLABLjv0WNzr4CcGRGPIAItyWYnP6LsPA4Oq0WE+suidNs6dgpO4RHg==
vue-resize@^1.0.1:
version "1.0.1"
resolved "https://registry.npmmirror.com/vue-resize/-/vue-resize-1.0.1.tgz#c120bed4e09938771d622614f57dbcf58a5147ee"
integrity sha512-z5M7lJs0QluJnaoMFTIeGx6dIkYxOwHThlZDeQnWZBizKblb99GSejPnK37ZbNE/rVwDcYcHY+Io+AxdpY952w==
dependencies:
"@babel/runtime" "^7.13.10"
vue-router@^3.0.1:
version "3.3.4"
resolved "https://registry.npmjs.org/vue-router/-/vue-router-3.3.4.tgz#4e38abc34a11c41b6c3d8244449a2e363ba6250b"
@ -11503,6 +11747,15 @@ vue-template-es2015-compiler@^1.6.0, vue-template-es2015-compiler@^1.9.0:
resolved "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825"
integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==
vue-virtual-scroller@^1.1.2:
version "1.1.2"
resolved "https://registry.npmmirror.com/vue-virtual-scroller/-/vue-virtual-scroller-1.1.2.tgz#b8a6362f177abf3f2149ce1eac18013c71fe353b"
integrity sha512-SkUyc7QHCJFB5h1Fya7LxVizlVzOZZuFVipBGHYoTK8dwLs08bIz/tclvRApYhksaJIm/nn51inzO2UjpGJPMQ==
dependencies:
scrollparent "^2.0.1"
vue-observe-visibility "^0.4.4"
vue-resize "^0.4.5"
vue@^2.4.4, vue@^2.5.17, vue@^2.5.3, vue@^2.6.10:
version "2.6.11"
resolved "https://registry.npmjs.org/vue/-/vue-2.6.11.tgz#76594d877d4b12234406e84e35275c6d514125c5"
@ -11569,6 +11822,11 @@ wcwidth@^1.0.1:
dependencies:
defaults "^1.0.3"
web-worker@^1.2.0:
version "1.2.0"
resolved "https://registry.npmmirror.com/web-worker/-/web-worker-1.2.0.tgz#5d85a04a7fbc1e7db58f66595d7a3ac7c9c180da"
integrity sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==
webpack-bundle-analyzer@^3.3.0:
version "3.8.0"
resolved "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.8.0.tgz#ce6b3f908daf069fd1f7266f692cbb3bded9ba16"
@ -11909,6 +12167,11 @@ xe-utils@2.4.8:
resolved "https://registry.yarnpkg.com/xe-utils/-/xe-utils-2.4.8.tgz#0efda3ca81f6b55f68a8a31e276fb17da59c98b3"
integrity sha512-/95ZaQK9GJE/EYrpMv9lgKdkEMQwWv4a4TF4dddi4gSzZ33vp/rZvzJNNV9XknaOkMizK9IBSX8CB/nL+SAk0Q==
xml-utils@^1.0.2:
version "1.7.0"
resolved "https://registry.npmmirror.com/xml-utils/-/xml-utils-1.7.0.tgz#333ce391d8918f872aaf98d2cf90f9ef9b82bd0f"
integrity sha512-bWB489+RQQclC7A9OW8e5BzbT8Tu//jtAOvkYwewFr+Q9T9KDGvfzC1lp0pYPEQPEoPQLDkmxkepSC/2gIAZGw==
xregexp@^4.2.4:
version "4.3.0"
resolved "https://registry.npmjs.org/xregexp/-/xregexp-4.3.0.tgz#7e92e73d9174a99a59743f67a4ce879a04b5ae50"
@ -12074,3 +12337,10 @@ yorkie@^2.0.0:
is-ci "^1.0.10"
normalize-path "^1.0.0"
strip-indent "^2.0.0"
zrender@5.4.4, zrender@^5.1.1:
version "5.4.4"
resolved "https://registry.npmmirror.com/zrender/-/zrender-5.4.4.tgz#8854f1d95ecc82cf8912f5a11f86657cb8c9e261"
integrity sha512-0VxCNJ7AGOMCWeHVyTrGzUgrK4asT4ml9PEkeGirAkKNYXYzoPJCLvmyfdoOXcjTHPs10OZVMfD1Rwg16AZyYw==
dependencies:
tslib "2.3.0"