Compare commits

..

No commits in common. "03c573d5b23829b29583379798eb648d101df8f7" and "bb6bfc5ab697a20c9b60d4e4be4e28fea10db82d" have entirely different histories.

21 changed files with 136 additions and 11692 deletions

View File

@ -97,22 +97,6 @@ export default {
trigger: 'axis', trigger: 'axis',
axisPointer: { axisPointer: {
type: 'shadow' type: 'shadow'
},
formatter: function(params) {
return (
params[0].axisValue +
`<br>` +
params.map((item) => {
let str = `<span style="display:inline-block;width:8px;height:8px;margin: 0 8px 0 -3px;border-radius:2px;background-color:${item.color};"></span>`
let seriesNameStr = `<span style="display:inline-block;">${item.seriesName}</span>`
let value = item.value ? item.value : '-'
let valueStr = `<span style="display:inline-block;margin-left:10px;color:rgba(0,0,0,0.45);">${value}</span>`
return `<span style="display:flex; justify-content:space-between; margin-bottom: 2px">
<span>${str}${seriesNameStr}</span>
<span>${valueStr}</span>
</span>`
}).join(``)
)
} }
}, },
grid: { grid: {
@ -122,11 +106,7 @@ export default {
containLabel: true containLabel: true
}, },
legend: { legend: {
data: legendData, data: legendData
right: '1%',
icon: 'rect',
itemHeight: 8,
itemWidth: 8
}, },
xAxis: { xAxis: {
type: 'category', type: 'category',

View File

@ -103,8 +103,7 @@ export default {
containLabel: true containLabel: true
}, },
legend: { legend: {
data: legendData, data: legendData
right: '1%'
}, },
xAxis: { xAxis: {
type: 'category', type: 'category',

View File

@ -425,7 +425,7 @@ export default {
} }
} }
</script> </script>
<style lang='scss'> <style>
/* 时间整点 */ /* 时间整点 */
.noneMinute .el-time-spinner__wrapper { .noneMinute .el-time-spinner__wrapper {
width: 100%; width: 100%;
@ -433,16 +433,6 @@ export default {
.noneMinute .el-scrollbar:nth-of-type(2) { .noneMinute .el-scrollbar:nth-of-type(2) {
display: none; display: none;
} }
.demo-form-inline {
.el-date-editor .el-range__icon {
font-size: 16px;
color: #0B58FF;
}
.el-input__prefix .el-icon-date {
font-size: 16px;
color: #0B58FF;
}
}
</style> </style>
<style lang="scss" scoped> <style lang="scss" scoped>
.demo-form-inline { .demo-form-inline {
@ -456,6 +446,8 @@ export default {
margin-top: 12px; margin-top: 12px;
} }
} }
</style>
<style scoped>
.searchBarBox .foldClass { .searchBarBox .foldClass {
position: absolute; position: absolute;
top: 14px; top: 14px;

View File

@ -15,7 +15,7 @@ export default {
return { return {
chartDom: '', chartDom: '',
chart: '', chart: '',
chartHeight: this.tableHeight(370) chartHeight: this.tableHeight(350)
} }
}, },
props: { props: {
@ -34,7 +34,7 @@ export default {
}, },
mounted() { mounted() {
window.addEventListener('resize', () => { window.addEventListener('resize', () => {
this.chartHeight = this.tableHeight(370) this.chartHeight = this.tableHeight(350)
}) })
}, },
methods: { methods: {
@ -86,35 +86,17 @@ export default {
} }
} }
var option = { var option = {
// title: {
// text: 'World Population'
// },
color:['#288AFF','#8EF0AB'], color:['#288AFF','#8EF0AB'],
tooltip: { tooltip: {
trigger: 'axis', trigger: 'axis',
axisPointer: { axisPointer: {
type: 'shadow' type: 'shadow'
},
formatter: function(params) {
return (
params[0].axisValue +
`<br>` +
params.map((item) => {
let str = `<span style="display:inline-block;width:8px;height:8px;margin: 0 8px 0 -3px;border-radius:2px;background-color:${item.color};"></span>`
let seriesNameStr = `<span style="display:inline-block;">${item.seriesName}</span>`
let value = item.value ? item.value : '-'
let valueStr = `<span style="display:inline-block;margin-left:10px;color:rgba(0,0,0,0.45);">${value}</span>`
return `<span style="display:flex; justify-content:space-between; margin-bottom: 2px">
<span>${str}${seriesNameStr}</span>
<span>${valueStr}</span>
</span>`
}).join(``)
)
} }
}, },
legend: { legend: {},
right: '1%',
icon: 'rect',
itemHeight: 8,
itemWidth: 8
},
grid: { grid: {
left: '1%', left: '1%',
right: '1%', right: '1%',

View File

@ -194,23 +194,13 @@ export default {
} }
} }
</script> </script>
<style lang='scss'> <style>
/* 级联选择器 */ /* 级联选择器 */
.cascaderParent .el-cascader-panel .el-scrollbar:first-child .el-radio { .cascaderParent .el-cascader-panel .el-scrollbar:first-child .el-radio {
display: none; display: none;
} }
.demo-form-inline {
.el-date-editor .el-range__icon {
font-size: 16px;
color: #0B58FF;
}
.el-input__prefix .el-icon-date {
font-size: 16px;
color: #0B58FF;
}
}
</style> </style>
<style lang="scss" scoped> <style scoped>
.separateStyle { .separateStyle {
display: inline-block; display: inline-block;
width: 1px; width: 1px;
@ -218,6 +208,8 @@ export default {
background: #E8E8E8; background: #E8E8E8;
vertical-align: middle; vertical-align: middle;
} }
</style>
<style lang="scss" scoped>
.demo-form-inline { .demo-form-inline {
.blue-block { .blue-block {
display: inline-block; display: inline-block;

View File

@ -9,8 +9,7 @@
:table-data="list" :table-data="list"
class="qoq-out-table" class="qoq-out-table"
/> />
<div class="chartTitle">环比分析图</div> <div style='width: 100%;height: 300px;padding-top: 30px;'>
<div style='width: 100%'>
<line-chart ref="analysisLineChart" :chartData="chartData"/> <line-chart ref="analysisLineChart" :chartData="chartData"/>
</div> </div>
</div> </div>
@ -112,21 +111,4 @@ export default {
} }
} }
} }
</script> </script>
<style lang='scss' scoped>
.chartTitle {
font-size: 16px;
color: #000;
margin-top: 20px;
}
.chartTitle::before {
content: '';
display: inline-block;
width: 4px;
height: 18px;
background-color: #0B58FF;
border-radius: 1px;
margin-right: 8px;
vertical-align: bottom;
}
</style>

View File

@ -68,6 +68,12 @@ export default {
} }
var option = { var option = {
color:['#288AFF'], color:['#288AFF'],
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
grid: { grid: {
left: '4%', left: '4%',
right: '1%', right: '1%',

View File

@ -70,9 +70,9 @@ export default {
var option = { var option = {
color:['#288AFF'], color:['#288AFF'],
// tooltip: { tooltip: {
// trigger: 'axis' trigger: 'axis'
// }, },
grid: { grid: {
left: '4%', left: '4%',
right: '1%', right: '1%',

View File

@ -385,7 +385,7 @@ export default {
} }
} }
</script> </script>
<style lang='scss'> <style>
/* 级联选择器 */ /* 级联选择器 */
.cascaderParent .el-cascader-panel .el-scrollbar:first-child .el-radio { .cascaderParent .el-cascader-panel .el-scrollbar:first-child .el-radio {
display: none; display: none;
@ -397,16 +397,6 @@ export default {
.noneMinute .el-scrollbar:nth-of-type(2) { .noneMinute .el-scrollbar:nth-of-type(2) {
display: none; display: none;
} }
.demo-form-inline {
.el-date-editor .el-range__icon {
font-size: 16px;
color: #0B58FF;
}
.el-input__prefix .el-icon-date {
font-size: 16px;
color: #0B58FF;
}
}
</style> </style>
<style lang="scss" scoped> <style lang="scss" scoped>
.demo-form-inline { .demo-form-inline {
@ -420,6 +410,8 @@ export default {
margin-top: 12px; margin-top: 12px;
} }
} }
</style>
<style scoped>
.searchBarBox .foldClass { .searchBarBox .foldClass {
position: absolute; position: absolute;
top: 14px; top: 14px;

View File

@ -77,8 +77,7 @@ export default {
var option = { var option = {
color:['#FFDC94','#8EF0AB','#63BDFF','#288AFF','#7164FF','#FF6860','#FF9747','#B0EB42','#D680FF','#0043D2'], color:['#FFDC94','#8EF0AB','#63BDFF','#288AFF','#7164FF','#FF6860','#FF9747','#B0EB42','#D680FF','#0043D2'],
legend: { legend: {
data: keys, data: keys
right:'1%'
}, },
tooltip: { tooltip: {
trigger: 'axis' trigger: 'axis'

View File

@ -143,20 +143,19 @@ export default {
} }
} }
</script> </script>
<style lang='scss'> <style>
/* 级联选择器 */ /* 级联选择器 */
.cascaderParent .el-cascader-panel .el-scrollbar:first-child .el-radio { .cascaderParent .el-cascader-panel .el-scrollbar:first-child .el-radio {
display: none; display: none;
} }
.demo-form-inline { </style>
.el-date-editor .el-range__icon { <style scoped>
font-size: 16px; .separateStyle {
color: #0B58FF; display: inline-block;
} width: 1px;
.el-input__prefix .el-icon-date { height: 24px;
font-size: 16px; background: #E8E8E8;
color: #0B58FF; vertical-align: middle;
}
} }
</style> </style>
<style lang="scss" scoped> <style lang="scss" scoped>
@ -171,11 +170,4 @@ export default {
margin-top: 10px; margin-top: 10px;
} }
} }
.separateStyle {
display: inline-block;
width: 1px;
height: 24px;
background: #E8E8E8;
vertical-align: middle;
}
</style> </style>

View File

@ -3,7 +3,6 @@
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<search-area @submit="getList" @exportD="exportData"/> <search-area @submit="getList" @exportD="exportData"/>
<div v-show='chartData.length'> <div v-show='chartData.length'>
<div class="chartTitle">同比分析图</div>
<div style='width: 100%;height: 400px;'> <div style='width: 100%;height: 400px;'>
<line-chart ref="analysisLineChart" :chartData="chartData"/> <line-chart ref="analysisLineChart" :chartData="chartData"/>
</div> </div>
@ -34,12 +33,12 @@ export default {
chartData: [], chartData: [],
tableProps: [], tableProps: [],
list: [], list: [],
tableH: this.tableHeight(640) tableH: this.tableHeight(600)
} }
}, },
mounted() { mounted() {
window.addEventListener('resize', () => { window.addEventListener('resize', () => {
this.tableH = this.tableHeight(640) this.tableH = this.tableHeight(600)
}) })
}, },
methods: { methods: {
@ -123,20 +122,4 @@ export default {
} }
} }
} }
</script> </script>
<style lang='scss' scoped>
.chartTitle {
font-size: 16px;
color: #000;
}
.chartTitle::before {
content: '';
display: inline-block;
width: 4px;
height: 18px;
background-color: #0B58FF;
border-radius: 1px;
margin-right: 8px;
vertical-align: bottom;
}
</style>

View File

@ -130,7 +130,7 @@ export default {
this.plcTableName = data.plcTableName this.plcTableName = data.plcTableName
this.objName = data.objName this.objName = data.objName
this.getList() this.getList()
if (title === 'detail') { if (title === 'view') {
this.showBtn = false this.showBtn = false
this.tableBtn = [] this.tableBtn = []
} else { } else {

View File

@ -113,22 +113,22 @@ export default {
], ],
tableProps, tableProps,
tableBtn: [ tableBtn: [
this.$auth.hasPermi('base:energy-plc-connect:bind')
? {
type: 'connect',
btnName: '绑定'
}
: undefined,
{
type: 'detail',
btnName: '详情'
},
this.$auth.hasPermi('base:energy-plc-connect:update') this.$auth.hasPermi('base:energy-plc-connect:update')
? { ? {
type: 'edit', type: 'edit',
btnName: '编辑' btnName: '编辑'
} }
: undefined, : undefined,
{
type: 'view',
btnName: '查看'
},
this.$auth.hasPermi('base:energy-plc-connect:bind')
? {
type: 'connect',
btnName: '绑定'
}
: undefined,
this.$auth.hasPermi('base:energy-plc-connect:delete') this.$auth.hasPermi('base:energy-plc-connect:delete')
? { ? {
type: 'delete', type: 'delete',
@ -205,10 +205,10 @@ export default {
case 'delete': case 'delete':
this.handleDelete(val.data) this.handleDelete(val.data)
break break
case 'detail': case 'view':
this.paramVisible = true this.paramVisible = true
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.plcParam.init(val.data, 'detail') this.$refs.plcParam.init(val.data, 'view')
}) })
break break
default: default:

View File

@ -1,72 +1,54 @@
<template> <template>
<el-form ref="form" :rules="rules" label-width="110px" :model="form"> <el-form ref="form" :rules="rules" label-width="110px" :model="form">
<el-row> <el-form-item label="监控对象" prop="objectId">
<el-col :span="12"> <el-cascader
<el-form-item label="监控对象" prop="objectId"> style='width: 100%;'
<el-cascader v-model="objIds"
style='width: 100%;' :options="objList"
v-model="objIds" :props="{ checkStrictly: true, value: 'id', label: 'name' }"
:options="objList" popper-class="cascaderParent"
:props="{ checkStrictly: true, value: 'id', label: 'name' }" @change="selectObj"
popper-class="cascaderParent" clearable></el-cascader>
@change="selectObj" </el-form-item>
clearable></el-cascader> <el-form-item label="能源类型" prop="energyTypeId">
</el-form-item> <el-select v-model="form.energyTypeId" placeholder="请选择" style="width: 100%;" @change="toggleType">
</el-col> <el-option
<el-col :span="12"> v-for="item in this.energyTypeList"
<el-form-item label="能源类型" prop="energyTypeId"> :key="item.id"
<el-select v-model="form.energyTypeId" placeholder="请选择" style="width: 100%;" @change="toggleType"> :label="item.name"
<el-option :value="item.id">
v-for="item in this.energyTypeList" </el-option>
:key="item.id" </el-select>
:label="item.name" </el-form-item>
:value="item.id"> <el-form-item label="监控模式" prop="type">
</el-option> <el-select v-model="form.type" placeholder="请选择" style="width: 100%;" @change="typeChange">
</el-select> <el-option label="合并" :value= "1" ></el-option>
</el-form-item> <el-option label="详细" :value= "2" ></el-option>
</el-col> </el-select>
</el-row> </el-form-item>
<el-row> <el-form-item label="监控详细参数" prop="type" v-if="form.type === 2">
<el-col :span="12"> <el-select v-model="form.plcParamId" placeholder="请选择" style="width: 100%;" @change="selectDetail">
<el-form-item label="监控模式" prop="type"> <el-option
<el-select v-model="form.type" placeholder="请选择" style="width: 100%;" @change="typeChange"> v-for="item in detailList"
<el-option label="合并" :value= "1" ></el-option> :key="item.id"
<el-option label="详细" :value= "2" ></el-option> :label="item.name"
</el-select> :value="item.id">
</el-form-item> </el-option>
</el-col> </el-select>
<el-col :span="12"> </el-form-item>
<el-form-item label="监控详细参数" prop="type" v-if="form.type === 2"> <el-form-item label="指标类型" prop="limitType">
<el-select v-model="form.plcParamId" placeholder="请选择" style="width: 100%;" @change="selectDetail"> <el-select v-model="form.limitType" placeholder="请选择" style="width: 100%;">
<el-option <el-option
v-for="item in detailList" v-for="item in getDictDatas(DICT_TYPE.MONITOR_INDEX_TYPE)"
:key="item.id" :key="item.value"
:label="item.name" :label="item.label"
:value="item.id"> :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> <el-form-item label="消耗量阈值" prop="limitValue">
</el-row> <el-input-number v-model="form.limitValue" :min="0" :max="10000000000000000" style="width: 100%;"></el-input-number>
<el-row> </el-form-item>
<el-col :span="12">
<el-form-item label="指标类型" prop="limitType">
<el-select v-model="form.limitType" placeholder="请选择" style="width: 100%;">
<el-option
v-for="item in getDictDatas(DICT_TYPE.MONITOR_INDEX_TYPE)"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="消耗量阈值" prop="limitValue">
<el-input-number v-model="form.limitValue" :min="0" :max="10000000000000000" style="width: 100%;"></el-input-number>
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
</template> </template>
<script> <script>

View File

@ -124,7 +124,7 @@ export default {
this.energyType = data.energyType this.energyType = data.energyType
this.energyTypeId = data.energyTypeId this.energyTypeId = data.energyTypeId
this.getList() this.getList()
if (title === 'detail') { if (title === 'view') {
this.showBtn = false this.showBtn = false
this.tableBtn = [] this.tableBtn = []
} else { } else {

View File

@ -111,22 +111,22 @@ export default {
], ],
tableProps, tableProps,
tableBtn: [ tableBtn: [
this.$auth.hasPermi('monitoring:energy-statistics:bind')
? {
type: 'connect',
btnName: '绑定'
}
: undefined,
{
type: 'detail',
btnName: '详情'
},
this.$auth.hasPermi('monitoring:energy-statistics:update') this.$auth.hasPermi('monitoring:energy-statistics:update')
? { ? {
type: 'edit', type: 'edit',
btnName: '编辑' btnName: '编辑'
} }
: undefined, : undefined,
{
type: 'view',
btnName: '查看'
},
this.$auth.hasPermi('monitoring:energy-statistics:bind')
? {
type: 'connect',
btnName: '绑定'
}
: undefined,
this.$auth.hasPermi('monitoring:energy-statistics:delete') this.$auth.hasPermi('monitoring:energy-statistics:delete')
? { ? {
type: 'delete', type: 'delete',
@ -199,9 +199,9 @@ export default {
case 'delete': case 'delete':
this.handleDelete(val.data) this.handleDelete(val.data)
break break
case 'detail': case 'view':
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.plcParam.init(val.data, 'detail') this.$refs.plcParam.init(val.data, 'view')
}) })
break break
default: default:

View File

@ -37,7 +37,7 @@
@cancel="handleCancel" @cancel="handleCancel"
@confirm="handleConfirm" @confirm="handleConfirm"
:before-close="handleCancel" :before-close="handleCancel"
width='50%' width='70%'
> >
<group-class-add ref="classList" @successSubmit="successSubmit" /> <group-class-add ref="classList" @successSubmit="successSubmit" />
</base-dialog> </base-dialog>
@ -108,6 +108,12 @@ export default {
], ],
tableProps, tableProps,
tableBtn: [ tableBtn: [
this.$auth.hasPermi('base:group-classes:update')
? {
type: 'edit',
btnName: '编辑'
}
: undefined,
{ {
type: 'cancel', type: 'cancel',
btnName: '作废', btnName: '作废',
@ -122,12 +128,6 @@ export default {
] ]
} }
}, },
this.$auth.hasPermi('base:group-classes:update')
? {
type: 'edit',
btnName: '编辑'
}
: undefined,
this.$auth.hasPermi('base:group-classes:delete') this.$auth.hasPermi('base:group-classes:delete')
? { ? {
type: 'delete', type: 'delete',

View File

@ -1,29 +1,17 @@
<template> <template>
<el-form ref="form" :rules="rules" label-width="80px" :model="form"> <el-form ref="form" :rules="rules" label-width="80px" :model="form">
<el-row> <el-form-item label="班组名称" prop="name">
<el-col :span="12"> <el-input v-model="form.name"></el-input>
<el-form-item label="班组名称" prop="name"> </el-form-item>
<el-input v-model="form.name"></el-input> <el-form-item label="班组编码" prop="code">
</el-form-item> <el-input v-model="form.code" disabled></el-input>
</el-col> </el-form-item>
<el-col :span="12"> <el-form-item label="班组人数" prop="num">
<el-form-item label="班组编码" prop="code"> <el-input-number v-model="form.num" :min="1" :max="99999999" style="width: 100%;"></el-input-number>
<el-input v-model="form.code" disabled></el-input> </el-form-item>
</el-form-item> <el-form-item label="班组组长" prop="leaderName">
</el-col> <el-input v-model="form.leaderName"></el-input>
</el-row> </el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="班组人数" prop="num">
<el-input-number v-model="form.num" :min="1" :max="99999999" style="width: 100%;"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="班组组长" prop="leaderName">
<el-input v-model="form.leaderName"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
</template> </template>
<script> <script>

View File

@ -308,16 +308,6 @@ export default {
} }
</script> </script>
<style lang='scss'> <style lang='scss'>
.demo-form-inline {
.el-date-editor .el-range__icon {
font-size: 16px;
color: #0B58FF;
}
.el-input__prefix .el-icon-date {
font-size: 16px;
color: #0B58FF;
}
}
.groupTeamScheduling { .groupTeamScheduling {
background-color: #F2F4F9; background-color: #F2F4F9;
.operationArea { .operationArea {

11415
yarn.lock

File diff suppressed because it is too large Load Diff