Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
卡
卡车调度系统
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
caicaicai
卡车调度系统
Commits
81c132d2
Commit
81c132d2
authored
Aug 31, 2022
by
xxx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改
parent
b825fa0a
Changes
11
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
0 additions
and
2211 deletions
+0
-2211
index.vue
src/views/Blueprint/index.vue
+0
-677
index.vue
src/views/History/index.vue
+0
-220
index.vue
src/views/ProjectManage/index.vue
+0
-404
index.vue
src/views/RealtimeData/index.vue
+0
-152
index.vue
src/views/Warning/index.vue
+0
-243
config.vue
src/views/generator/config.vue
+0
-325
index.vue
src/views/generator/index.vue
+0
-114
preview.vue
src/views/generator/preview.vue
+0
-30
index.vue
src/views/nested/menu1/menu1-1/index.vue
+0
-36
index.vue
src/views/nested/menu1/menu1-2/index.vue
+0
-5
index.vue
src/views/nested/menu2/index.vue
+0
-5
No files found.
src/views/Blueprint/index.vue
deleted
100644 → 0
View file @
b825fa0a
This diff is collapsed.
Click to expand it.
src/views/History/index.vue
deleted
100644 → 0
View file @
b825fa0a
<
template
>
<div
class=
"common-page"
>
<div
class=
"option page-row"
>
<!--工具栏-->
<div
class=
"head-container"
>
<!-- 搜索 -->
<label
class=
"el-form-item-label"
style=
"font-weight: 500;"
>
设备编号
</label>
<el-input
v-model=
"query.equipmentCode"
clearable
placeholder=
"请输入设备识别码或名称"
style=
"width:200px;"
@
clear=
"clearLimit"
/>
<el-date-picker
v-model=
"query.createTime"
type=
"datetimerange"
value-format=
"yyyy-MM-dd HH:MM:SS"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
</el-date-picker>
<el-button
size=
"mini"
type=
"success"
icon=
"el-icon-search"
@
click=
"toSearch"
>
搜索
</el-button>
<el-button
:loading=
"download.loading"
:disabled=
"!tableData.length"
size=
"mini"
type=
"warning"
icon=
"el-icon-download"
@
click=
"daochu"
style=
"margin-left:10px;"
>
导出
</el-button>
</div>
</div>
<div
class=
"panel-bottom page-row"
>
<h3>
设备管理列表
</h3>
<div
class=
"ctin-box"
>
<div
class=
"content-within"
>
<div
class=
"content-fix"
>
<div
class=
"content"
>
<el-table
:data=
"tableData"
v-loading=
"loading"
border
style=
"width:auto"
:row-class-name=
"tableRowClassName"
>
<!--
<el-table-column
prop=
"subcode"
label=
"设备识别码"
width=
"135px"
></el-table-column>
<el-table-column
prop=
"ename"
label=
"设备名称"
></el-table-column>
<el-table-column
prop=
"helement"
label=
"电量"
></el-table-column>
<el-table-column
prop=
"htemperature"
label=
"温度值"
></el-table-column>
<el-table-column
prop=
"hhumidity"
label=
"湿度值"
></el-table-column>
<el-table-column
prop=
"hlenght1"
label=
"宽度一"
></el-table-column>
<el-table-column
prop=
"hlenght2"
label=
"宽度二"
></el-table-column>
<el-table-column
prop=
"hlenght3"
label=
"宽度三"
></el-table-column>
<el-table-column
prop=
"hsignal"
label=
"信号强度"
></el-table-column>
-->
<el-table-column
prop=
"equipmentName"
label=
"所属设备名称"
width=
"135px"
></el-table-column>
<el-table-column
prop=
"equipmentCode"
label=
"设备标识码"
></el-table-column>
<el-table-column
prop=
"windspeed"
label=
"历史风速"
></el-table-column>
<el-table-column
prop=
"temperature"
label=
"历史温度"
></el-table-column>
<el-table-column
prop=
"humidity"
label=
"历史湿度"
></el-table-column>
<el-table-column
prop=
"co2"
label=
"历史二氧化碳"
></el-table-column>
<el-table-column
prop=
"mlux"
label=
"历史光照"
></el-table-column>
<el-table-column
prop=
"ph"
label=
"历史酸碱度"
></el-table-column>
<el-table-column
prop=
"waterTemperature"
label=
"历史水温"
></el-table-column>
<el-table-column
prop=
"electricalConductance"
label=
"历史电导率"
></el-table-column>
<el-table-column
prop=
"waterDepth"
label=
"历史液位"
></el-table-column>
<el-table-column
prop=
"createTime"
label=
"记录时间"
width=
"180px"
></el-table-column>
</el-table>
<!--分页组件-->
<el-pagination
:total=
"total"
:current-page=
"page"
style=
"margin-top: 8px;"
layout=
"total, prev, pager, next, sizes"
@
size-change=
"sizeChange"
@
current-change=
"pageChange"
/>
</div>
</div>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
Tools
,
HttpReq
,
FileStream
,
Dates
}
from
'
@/assets/js/common.js
'
;
import
DateRangePicker
from
'
@/components/DateRangePicker
'
;
import
cuAmap
from
'
@/components/AMap
'
;
import
{
parseTime
,
downloadFile
}
from
'
@/utils/index
'
// style
import
'
@/assets/styles/common.css
'
;
export
default
{
name
:
'
Dashboard
'
,
components
:
{
DateRangePicker
,
cuAmap
},
data
()
{
return
{
loading
:
false
,
page
:
1
,
size
:
10
,
total
:
0
,
query
:{},
tableData
:
[],
download
:{
loading
:
false
,
}
}
},
mounted
()
{
var
that
=
this
;
this
.
$nextTick
(()
=>
{
this
.
loadData
();
})
},
methods
:
{
tableRowClassName
({
row
,
rowIndex
})
{
if
(
rowIndex
===
1
)
{
return
'
warning-row
'
;
}
else
if
(
rowIndex
===
3
)
{
return
'
success-row
'
;
}
return
''
;
},
// 点击搜索
toSearch
()
{
this
.
page
=
1
this
.
loadData
()
},
clearLimit
(){
// 清除限制
this
.
loadData
()
},
loadData
()
{
var
that
=
this
,
sort
=
'
createTime,desc
'
;
var
param
=
this
.
query
;
param
.
page
=
this
.
page
-
1
;
param
.
size
=
this
.
size
;
param
.
sort
=
sort
;
this
.
loading
=
true
;
HttpReq
.
historys
.
getItem
(
param
).
then
((
res
)
=>
{
this
.
loading
=
false
;
if
(
res
.
code
===
200
){
var
body
=
res
.
data
||
{};
var
list
=
body
.
content
||
[];
this
.
tableData
=
list
;
this
.
total
=
body
.
totalElements
};
}).
catch
(
function
(
error
)
{
this
.
loading
=
false
;
})
},
pageChange
(
e
)
{
this
.
page
=
e
this
.
loadData
()
},
sizeChange
(
e
)
{
this
.
page
=
1
this
.
size
=
e
this
.
loadData
()
},
daochu
(){
//获取表格
var
exportFileContent
=
document
.
querySelector
(
"
.el-table
"
).
outerHTML
;
//设置格式为Excel,表格内容通过btoa转化为base64,此方法只在文件较小时使用(小于1M)
//exportFileContent=window.btoa(unescape(encodeURIComponent(exportFileContent)));
//var link = "data:"+MIMEType+";base64," + exportFileContent;
//使用Blob
var
blob
=
new
Blob
([
exportFileContent
],
{
type
:
"
text/plain;charset=utf-8
"
});
//解决中文乱码问题
blob
=
new
Blob
([
String
.
fromCharCode
(
0xFEFF
),
blob
],
{
type
:
blob
.
type
});
//设置链接
var
link
=
window
.
URL
.
createObjectURL
(
blob
);
var
a
=
document
.
createElement
(
"
a
"
);
//创建a标签
a
.
download
=
'
华菱光电-历史数据
'
+
Dates
.
format
(
'
yyyy-MM-dd-HH-mm-ss
'
)
+
'
.xls
'
;
//设置被下载的超链接目标(文件名)
a
.
href
=
link
;
//设置a标签的链接
document
.
body
.
appendChild
(
a
);
//a标签添加到页面
a
.
click
();
//设置a标签触发单击事件
document
.
body
.
removeChild
(
a
);
//移除a标签
},
/**
* 导出
*/
doExport
()
{
this
.
download
.
loading
=
true
;
var
that
=
this
,
sort
=
'
createTime,desc
'
;
var
param
=
this
.
query
;
param
.
page
=
this
.
page
-
1
;
param
.
size
=
this
.
size
;
param
.
sort
=
sort
;
// param.table = {
// title:'华菱光电-历史监控记录表',
// header:{
// "subcode":"设备识别码",
// "ename":"设备名称",
// "helement":"电量",
// "htemperature":"温度值",
// "hhumidity":"湿度值",
// "hlenght1":"宽度一",
// "hlenght2":"宽度二",
// "hlenght3":"宽度三",
// "hsignal":"信号强度",
// "createTime":"记录时间",
// }
// };
HttpReq
.
export
.
historyExport
(
param
).
then
((
res
)
=>
{
//if(res.head.code === 200){
this
.
download
.
loading
=
false
;
//var blob = FileStream.toBlob(res.body);
downloadFile
(
res
,
'
华菱光电-历史数据
'
+
Dates
.
format
(
'
yyyy-MM-dd HH-mm-ss
'
),
'
xls
'
)
//FileStream.download(blob, '华菱光电-历史数据' + Dates.format('yyyy-MM-dd HH-mm-ss')+'.xlsx')
//};
}).
catch
(
function
(
error
)
{
this
.
download
.
loading
=
false
})
},
}
}
</
script
>
<
style
rel=
"stylesheet/scss"
lang=
"scss"
>
.el-table
.warning-row
{
background
:
oldlace
;
}
.el-table
.success-row
{
background
:
#f0f9eb
;
}
.dialog-map
{
border
:
1px
solid
green
;
height
:
300px
;
width
:
480px
;}
</
style
>
src/views/ProjectManage/index.vue
deleted
100644 → 0
View file @
b825fa0a
This diff is collapsed.
Click to expand it.
src/views/RealtimeData/index.vue
deleted
100644 → 0
View file @
b825fa0a
<
template
>
<div
class=
"common-page"
>
<div
class=
"option page-row"
>
<!--工具栏-->
<div
class=
"head-container"
>
<!-- 搜索 -->
<label
class=
"el-form-item-label"
style=
"font-weight: 500;"
>
设备编号
</label>
<el-input
v-model=
"query.subcode"
clearable
placeholder=
"请输入设备识别码或名称"
style=
"width:240px;"
@
clear=
"clearLimit"
/>
<el-button
size=
"mini"
type=
"success"
icon=
"el-icon-search"
@
click=
"toSearch"
>
搜索
</el-button>
</div>
</div>
<div
class=
"panel-bottom page-row"
>
<h3>
设备管理列表
</h3>
<div
class=
"ctin-box"
>
<div
class=
"content-within"
>
<div
class=
"content-fix"
>
<div
class=
"content"
>
<el-table
:data=
"tableData"
v-loading=
"loading"
border
style=
"width:auto"
:row-class-name=
"tableRowClassName"
>
<el-table-column
prop=
"subcode"
label=
"设备识别码"
width=
"140px"
></el-table-column>
<el-table-column
prop=
"ename"
label=
"设备名称"
></el-table-column>
<el-table-column
prop=
"relement"
label=
"电量"
min-width=
"55px"
></el-table-column>
<el-table-column
prop=
"relementalarm"
:formatter=
"stateFormat"
label=
"电量状态"
min-width=
"55px"
></el-table-column>
<!--
<el-table-column
prop=
"rtemperature"
label=
"温度值"
width=
"55px"
></el-table-column>
<el-table-column
prop=
"rtemperaturealarm"
label=
"温度状态"
:formatter=
"stateFormat"
width=
"65px"
></el-table-column>
<el-table-column
prop=
"rhumidity"
label=
"湿度值"
width=
"55px"
></el-table-column>
<el-table-column
prop=
"rhumidityalarm"
label=
"湿度状态"
:formatter=
"stateFormat"
width=
"65px"
></el-table-column>
-->
<el-table-column
prop=
"rlenght1"
label=
"宽度一"
min-width=
"55px"
></el-table-column>
<el-table-column
prop=
"rlenghtalarm1"
label=
"宽度一状态"
:formatter=
"stateFormat"
min-width=
"55px"
></el-table-column>
<el-table-column
prop=
"rlenght2"
label=
"宽度二"
min-width=
"55px"
></el-table-column>
<el-table-column
prop=
"rlenghtalarm2"
label=
"宽度二状态"
:formatter=
"stateFormat"
min-width=
"55px"
></el-table-column>
<el-table-column
prop=
"rlenght3"
label=
"宽度三"
min-width=
"55px"
></el-table-column>
<el-table-column
prop=
"rlenghtalarm3"
label=
"宽度三状态"
:formatter=
"stateFormat"
min-width=
"55px"
></el-table-column>
<el-table-column
prop=
"rsignal"
label=
"信号强度"
width=
"70px"
></el-table-column>
<el-table-column
prop=
"createTime"
label=
"设备激活时间"
min-width=
"140px"
></el-table-column>
</el-table>
<!--分页组件-->
<el-pagination
:total=
"total"
:current-page=
"page"
style=
"margin-top: 8px;"
layout=
"total, prev, pager, next, sizes"
@
size-change=
"sizeChange"
@
current-change=
"pageChange"
/>
</div>
</div>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
Tools
,
HttpReq
}
from
'
@/assets/js/common.js
'
;
import
DateRangePicker
from
'
@/components/DateRangePicker
'
;
// style
import
'
@/assets/styles/common.css
'
;
export
default
{
name
:
'
Dashboard
'
,
components
:
{
DateRangePicker
},
data
()
{
return
{
loading
:
false
,
page
:
1
,
size
:
10
,
total
:
0
,
query
:{},
tableData
:
[],
}
},
mounted
()
{
var
that
=
this
;
this
.
$nextTick
(()
=>
{
this
.
loadData
();
})
},
methods
:
{
tableRowClassName
({
row
,
rowIndex
})
{
if
(
rowIndex
===
1
)
{
return
'
warning-row
'
;
}
else
if
(
rowIndex
===
3
)
{
return
'
success-row
'
;
}
return
''
;
},
// 点击搜索
toSearch
()
{
this
.
page
=
1
this
.
loadData
()
},
clearLimit
(){
// 清除限制
this
.
loadData
()
},
loadData
()
{
var
that
=
this
,
sort
=
'
date,desc
'
;
var
param
=
this
.
query
;
param
.
page
=
this
.
page
-
1
;
param
.
size
=
this
.
size
;
param
.
sort
=
sort
;
// 按时间过滤
var
param2
=
{};
var
Time
=
param
.
createTime
||
[];
if
(
Time
[
0
]){
var
date1
=
new
Date
(
Time
[
0
]).
getTime
();
var
date2
=
new
Date
(
Time
[
1
]
||
Time
[
0
]).
getTime
();
param2
=
{
date1
:
date1
,
date2
:
date2
}
};
this
.
loading
=
true
;
HttpReq
.
realtime
.
getItem
(
param
).
then
((
res
)
=>
{
this
.
loading
=
false
;
if
(
res
.
head
.
code
===
'
0000
'
){
var
body
=
res
.
body
||
{};
var
list
=
body
.
list
||
[];
this
.
tableData
=
list
;
this
.
total
=
body
.
total
};
}).
catch
(
function
(
error
)
{
this
.
loading
=
false
;
})
},
pageChange
(
e
)
{
this
.
page
=
e
this
.
loadData
()
},
sizeChange
(
e
)
{
this
.
page
=
1
this
.
size
=
e
this
.
loadData
()
},
stateFormat
(
row
,
column
,
cellValue
)
{
cellValue
=
~~
cellValue
;
if
(
cellValue
===
0
)
{
return
'
正常
'
}
else
{
return
'
报警
'
}
},
}
}
</
script
>
<
style
rel=
"stylesheet/scss"
lang=
"scss"
>
.el-table
.warning-row
{
background
:
oldlace
;
}
.el-table
.success-row
{
background
:
#f0f9eb
;
}
.dialog-map
{
border
:
1px
solid
green
;
height
:
300px
;
width
:
480px
;}
</
style
>
src/views/Warning/index.vue
deleted
100644 → 0
View file @
b825fa0a
<
template
>
<div
class=
"common-page"
>
<div
class=
"option page-row"
>
<!--工具栏-->
<div
class=
"head-container"
>
<!-- 搜索 -->
<label
class=
"el-form-item-label"
style=
"font-weight: 500;"
>
条件查询
</label>
<el-input
v-model=
"query.equipmentCode"
clearable
placeholder=
"请输入设备识别码或名称"
style=
"width:240px;"
@
clear=
"clearLimit"
/>
<el-button
size=
"mini"
type=
"success"
icon=
"el-icon-search"
@
click=
"toSearch"
>
搜索
</el-button>
</div>
</div>
<div
class=
"panel-bottom page-row"
>
<h3>
报警列表
</h3>
<div
class=
"ctin-box"
>
<div
class=
"content-within"
>
<div
class=
"content-fix"
>
<div
class=
"content"
>
<el-table
:data=
"tableData"
v-loading=
"loading"
border
style=
"width:auto"
:row-class-name=
"tableRowClassName"
>
<el-table-column
prop=
"projectName"
label=
"所属项目名称"
width=
"90px"
></el-table-column>
<el-table-column
prop=
"equipmentCode"
label=
"设备标识码"
></el-table-column>
<el-table-column
prop=
"equipmentName"
label=
"所属设备名称"
width=
"100px"
></el-table-column>
<el-table-column
prop=
"windspeed"
label=
"实时风速"
width=
"65px"
></el-table-column>
<el-table-column
prop=
"windspeedAlarm"
label=
"风速是否报警"
width=
"85px"
>
<template
slot-scope=
"scope"
>
<span
:class=
"
{alarm:scope.row.windspeedAlarm === 1}">
{{
scope
.
row
.
windspeedAlarm
==
1
?
"
报警
"
:
"
正常
"
}}
</span>
</
template
>
</el-table-column>
<!-- <el-table-column prop="atemperature" label="温度值" width="60px">
<template slot-scope="scope">
<span :class="{alarm:scope.row.atemperaturealarm === 1}">{{scope.row.atemperature}}</span>
</template>
</el-table-column>
<el-table-column prop="ahumidity" label="湿度值" width="60px">
<template slot-scope="scope">
<span :class="{alarm:scope.row.ahumidityalarm === 1}">{{scope.row.ahumidity}}</span>
</template>
</el-table-column> -->
<el-table-column
prop=
"temperatureAlarm"
label=
"温度是否报警"
width=
"85px"
>
<
template
slot-scope=
"scope"
>
<span
:class=
"
{alarm:scope.row.temperatureAlarm === 1}">
{{
scope
.
row
.
temperatureAlarm
==
1
?
"
是
"
:
"
否
"
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"humidity"
label=
"实时湿度"
width=
"65px"
></el-table-column>
<el-table-column
prop=
"humidityAlarm"
label=
"湿度是否报警"
width=
"85px"
>
<
template
slot-scope=
"scope"
>
<span
:class=
"
{alarm:scope.row.humidityAlarm === 1}">
{{
scope
.
row
.
humidityAlarm
==
1
?
"
是
"
:
"
否
"
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"co2"
label=
"实时二氧化碳"
width=
"85px"
></el-table-column>
<el-table-column
prop=
"co2Alarm"
label=
"二氧化碳是否报警"
width=
"110px"
>
<
template
slot-scope=
"scope"
>
<span
:class=
"
{alarm:scope.row.co2Alarm === 1}">
{{
scope
.
row
.
co2Alarm
==
1
?
"
是
"
:
"
否
"
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"mlux"
label=
"实时光照"
width=
"65px"
></el-table-column>
<el-table-column
prop=
"mluxAlarm"
label=
"光照是否报警"
width=
"85px"
>
<
template
slot-scope=
"scope"
>
<span
:class=
"
{alarm:scope.row.mluxAlarm === 1}">
{{
scope
.
row
.
mluxAlarm
==
1
?
"
是
"
:
"
否
"
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"ph"
label=
"实时酸碱度"
width=
"75px"
></el-table-column>
<el-table-column
prop=
"phAlarm"
label=
"酸碱度是否报警"
width=
"100px"
>
<
template
slot-scope=
"scope"
>
<span
:class=
"
{alarm:scope.row.phAlarm === 1}">
{{
scope
.
row
.
phAlarm
==
1
?
"
是
"
:
"
否
"
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"waterTemperature"
label=
"实时水温"
width=
"65px"
></el-table-column>
<el-table-column
prop=
"waterTemperatureAlarm"
label=
"水温是否报警"
width=
"85px"
>
<
template
slot-scope=
"scope"
>
<span
:class=
"
{alarm:scope.row.phAlarm === 1}">
{{
scope
.
row
.
phAlarm
==
1
?
"
是
"
:
"
否
"
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"waterDepth"
label=
"实时液位"
width=
"65px"
></el-table-column>
<el-table-column
prop=
"waterDepthAlarm"
label=
"液位是否报警"
width=
"85px"
>
<
template
slot-scope=
"scope"
>
<span
:class=
"
{alarm:scope.row.waterDepthAlarm === 1}">
{{
scope
.
row
.
waterDepthAlarm
==
1
?
"
是
"
:
"
否
"
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"electricalConductance"
label=
"实时电导率"
width=
"75px"
></el-table-column>
<el-table-column
prop=
"electricalAlarm"
label=
"电导率是否报警"
width=
"100px"
>
<
template
slot-scope=
"scope"
>
<span
:class=
"
{alarm:scope.row.electricalAlarm === 1}">
{{
scope
.
row
.
electricalAlarm
==
1
?
"
是
"
:
"
否
"
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"createTime"
label=
"记录时间"
width=
"130px"
></el-table-column>
<el-table-column
prop=
"status"
label=
"处理状态"
align=
"center"
width=
"90px"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.state===1"
class=
"normal"
>
已处理
</span>
<span
v-else
class=
"alarm"
>
未处理
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"130px"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"success"
icon=
"el-icon-alarm-clock"
:disabled=
"scope.row.state===1"
@
click=
"toEdit(scope.row)"
>
解除
</el-button>
</
template
>
</el-table-column>
</el-table>
<!--分页组件-->
<el-pagination
:total=
"total"
:current-page=
"page"
style=
"margin-top: 8px;"
layout=
"total, prev, pager, next, sizes"
@
size-change=
"sizeChange"
@
current-change=
"pageChange"
/>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<
script
>
import
{
Tools
,
HttpReq
}
from
'
@/assets/js/common.js
'
;
import
DateRangePicker
from
'
@/components/DateRangePicker
'
;
// style
import
'
@/assets/styles/common.css
'
;
export
default
{
name
:
'
Dashboard
'
,
components
:
{
DateRangePicker
},
data
()
{
return
{
loading
:
false
,
page
:
1
,
size
:
10
,
total
:
0
,
query
:{},
tableData
:
[],
}
},
mounted
()
{
var
that
=
this
;
this
.
$nextTick
(()
=>
{
this
.
loadData
();
})
},
methods
:
{
tableRowClassName
({
row
,
rowIndex
})
{
if
(
rowIndex
===
1
)
{
return
'
warning-row
'
;
}
else
if
(
rowIndex
===
3
)
{
return
'
success-row
'
;
}
return
''
;
},
// 点击搜索
toSearch
()
{
this
.
page
=
1
this
.
loadData
()
},
clearLimit
(){
// 清除限制
this
.
loadData
()
},
loadData
()
{
var
that
=
this
,
sort
=
'
createTime,desc
'
;
var
param
=
this
.
query
;
param
.
page
=
this
.
page
-
1
;
param
.
size
=
this
.
size
;
param
.
sort
=
sort
;
// 按时间过滤
var
param2
=
{};
var
Time
=
param
.
createTime
||
[];
if
(
Time
[
0
]){
var
date1
=
new
Date
(
Time
[
0
]).
getTime
();
var
date2
=
new
Date
(
Time
[
1
]
||
Time
[
0
]).
getTime
();
param2
=
{
date1
:
date1
,
date2
:
date2
}
};
this
.
loading
=
true
;
HttpReq
.
alarm
.
getList
(
param
).
then
((
res
)
=>
{
this
.
loading
=
false
;
if
(
res
.
code
===
200
){
var
body
=
res
.
data
||
{};
var
list
=
body
.
content
||
[];
this
.
tableData
=
list
;
this
.
total
=
body
.
totalElements
};
}).
catch
(
function
(
error
)
{
this
.
loading
=
false
;
})
},
pageChange
(
e
)
{
this
.
page
=
e
this
.
loadData
()
},
sizeChange
(
e
)
{
this
.
page
=
1
this
.
size
=
e
this
.
loadData
()
},
toEdit
(
item
)
{
var
id
=
item
.
id
;
this
.
$confirm
(
'
确认处理该条数据吗?
'
,
'
提示
'
,
{
confirmButtonText
:
'
确定
'
,
cancelButtonText
:
'
取消
'
,
type
:
'
warning
'
}).
then
((
e
)
=>
{
var
json
=
{};
for
(
var
key
in
item
){
if
(
key
.
indexOf
(
'
alarm
'
)
>
0
&&
item
[
key
]){
json
[
key
]
=
item
[
key
]
}
};
this
.
reqUpdateItem
({
id
:
id
,
state
:
1
,
alarm
:
json
})
}).
catch
((
e
)
=>
{
})
},
reqUpdateItem
(
item
){
HttpReq
.
alarm
.
updateItem
(
item
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
){
this
.
$notify
({
title
:
'
解除成功!
'
,
type
:
'
success
'
,
duration
:
2500
})
}
else
{
this
.
$notify
({
title
:
'
解除失败!
'
,
type
:
'
error
'
,
duration
:
2500
})
};
this
.
loadData
()
})
},
}
}
</
script
>
<
style
rel=
"stylesheet/scss"
lang=
"scss"
scope
>
.el-table
.warning-row
{
background
:
oldlace
;
}
.el-table
.success-row
{
background
:
#f0f9eb
;
}
.el-table
{
.alarm
{
color
:
#ff0000
;}
.normal
{
color
:
#b3b3b3
;}
}
</
style
>
src/views/generator/config.vue
deleted
100644 → 0
View file @
b825fa0a
This diff is collapsed.
Click to expand it.
src/views/generator/index.vue
deleted
100644 → 0
View file @
b825fa0a
<
template
>
<div
class=
"app-container"
>
<!--工具栏-->
<div
class=
"head-container"
>
<div
v-if=
"crud.props.searchToggle"
>
<el-input
v-model=
"query.name"
clearable
size=
"small"
placeholder=
"请输入表名"
style=
"width: 200px;"
class=
"filter-item"
@
keyup.enter.native=
"crud.toQuery"
/>
<rrOperation
/>
</div>
<crudOperation>
<el-tooltip
slot=
"right"
class=
"item"
effect=
"dark"
content=
"数据库中表字段变动时使用该功能"
placement=
"top-start"
>
<el-button
class=
"filter-item"
size=
"mini"
type=
"success"
icon=
"el-icon-refresh"
:loading=
"syncLoading"
:disabled=
"crud.selections.length === 0"
@
click=
"sync"
>
同步
</el-button>
</el-tooltip>
</crudOperation>
</div>
<!--表格渲染-->
<el-table
ref=
"table"
v-loading=
"crud.loading"
:data=
"crud.data"
style=
"width: 100%;"
@
selection-change=
"crud.selectionChangeHandler"
>
<el-table-column
type=
"selection"
width=
"55"
/>
<el-table-column
:show-overflow-tooltip=
"true"
prop=
"tableName"
label=
"表名"
/>
<el-table-column
:show-overflow-tooltip=
"true"
prop=
"engine"
label=
"数据库引擎"
/>
<el-table-column
:show-overflow-tooltip=
"true"
prop=
"coding"
label=
"字符编码集"
/>
<el-table-column
:show-overflow-tooltip=
"true"
prop=
"remark"
label=
"备注"
/>
<el-table-column
prop=
"createTime"
label=
"创建日期"
/>
<el-table-column
label=
"操作"
width=
"160px"
align=
"center"
fixed=
"right"
>
<template
slot-scope=
"scope"
>
<el-button
size=
"mini"
style=
"margin-right: 2px"
type=
"text"
>
<router-link
:to=
"'/sys-tools/generator/preview/' + scope.row.tableName"
>
预览
</router-link>
</el-button>
<el-button
size=
"mini"
style=
"margin-left: -1px;margin-right: 2px"
type=
"text"
@
click=
"toDownload(scope.row.tableName)"
>
下载
</el-button>
<el-button
size=
"mini"
style=
"margin-left: -1px;margin-right: 2px"
type=
"text"
>
<router-link
:to=
"'/sys-tools/generator/config/' + scope.row.tableName"
>
配置
</router-link>
</el-button>
<el-button
type=
"text"
style=
"margin-left: -1px"
size=
"mini"
@
click=
"toGen(scope.row.tableName)"
>
生成
</el-button>
</
template
>
</el-table-column>
</el-table>
<!--分页组件-->
<pagination
/>
</div>
</template>
<
script
>
import
{
generator
,
sync
}
from
'
@/api/generator/generator
'
import
{
downloadFile
}
from
'
@/utils/index
'
import
CRUD
,
{
presenter
,
header
}
from
'
@crud/crud
'
import
rrOperation
from
'
@crud/RR.operation
'
import
crudOperation
from
'
@crud/CRUD.operation
'
import
pagination
from
'
@crud/Pagination
'
export
default
{
name
:
'
GeneratorIndex
'
,
components
:
{
pagination
,
crudOperation
,
rrOperation
},
cruds
()
{
return
CRUD
({
url
:
'
api/generator/tables
'
})
},
mixins
:
[
presenter
(),
header
()],
data
()
{
return
{
syncLoading
:
false
}
},
created
()
{
this
.
crud
.
optShow
=
{
add
:
false
,
edit
:
false
,
del
:
false
,
download
:
false
}
},
methods
:
{
toGen
(
tableName
)
{
// 生成代码
generator
(
tableName
,
0
).
then
(
data
=>
{
this
.
$notify
({
title
:
'
生成成功
'
,
type
:
'
success
'
,
duration
:
2500
})
})
},
toDownload
(
tableName
)
{
// 打包下载
generator
(
tableName
,
2
).
then
(
data
=>
{
downloadFile
(
data
,
tableName
,
'
zip
'
)
})
},
sync
()
{
const
tables
=
[]
this
.
crud
.
selections
.
forEach
(
val
=>
{
tables
.
push
(
val
.
tableName
)
})
this
.
syncLoading
=
true
sync
(
tables
).
then
(()
=>
{
this
.
crud
.
refresh
()
this
.
crud
.
notify
(
'
同步成功
'
,
CRUD
.
NOTIFICATION_TYPE
.
SUCCESS
)
this
.
syncLoading
=
false
}).
then
(()
=>
{
this
.
syncLoading
=
false
})
}
}
}
</
script
>
<
style
scoped
>
</
style
>
src/views/generator/preview.vue
deleted
100644 → 0
View file @
b825fa0a
<
template
>
<el-tabs
v-model=
"activeName"
type=
"card"
>
<el-tab-pane
v-for=
"item in data"
:key=
"item.name"
:lazy=
"true"
:label=
"item.name"
:name=
"item.name"
>
<Java
:value=
"item.content"
:height=
"height"
/>
</el-tab-pane>
</el-tabs>
</
template
>
<
script
>
import
Java
from
'
@/components/JavaEdit/index
'
import
{
generator
}
from
'
@/api/generator/generator
'
export
default
{
name
:
'
Preview
'
,
components
:
{
Java
},
data
()
{
return
{
data
:
null
,
height
:
''
,
activeName
:
'
Entity
'
}
},
created
()
{
this
.
height
=
document
.
documentElement
.
clientHeight
-
180
+
'
px
'
const
tableName
=
this
.
$route
.
params
.
tableName
generator
(
tableName
,
1
).
then
(
data
=>
{
this
.
data
=
data
}).
catch
(()
=>
{
this
.
$router
.
go
(
-
1
)
})
}
}
</
script
>
src/views/nested/menu1/menu1-1/index.vue
deleted
100644 → 0
View file @
b825fa0a
<
template
>
<div
class=
"app-container"
>
<el-alert
:closable=
"false"
title=
"三级菜单1"
type=
"success"
/>
<el-form
label-width=
"170px"
style=
"margin-top: 20px"
>
<el-form-item
label=
"三级菜单缓存功能测试区"
>
<el-input
v-model=
"input"
placeholder=
"请输入内容"
style=
"width: 360px;"
/>
</el-form-item>
</el-form>
<div>
<blockquote
class=
"my-blockquote"
>
三级菜单缓存配置教程
</blockquote>
<pre
class=
"my-code"
>
1、将前后端代码更新为最新版版本,或对照提交记录修改,点击查看->
<a
href=
"https://gitee.com/elunez/eladmin/commit/43d1a63577f9d5347924355708429a2d210e29f7"
target=
"_blank"
>
提交(1)
</a>
、
<a
href=
"https://gitee.com/elunez/eladmin/commit/46393875148fcca5eaa327d4073f72edb3752f5c"
target=
"_blank"
>
提交(2)
</a>
、
<a
href=
"https://gitee.com/elunez/eladmin-web/commit/c93c99d8921abbb2c52afc806635f5ca08d6bda8"
target=
"_blank"
>
提交(3)
</a>
2、将 二级菜单 的 菜单类型 设置为 目录 级别,并且原有的 组件路径 需要清空
3、将 三级菜单 的 菜单缓存 设置为 是,最后将 组件名称 填写正确
4、具体设置可参考 菜单管理 的 多级菜单 配置进行进行相应的修改
</pre>
<blockquote
class=
"my-blockquote"
>
更多帮助
</blockquote>
<pre
class=
"my-code"
>
QQ交流群:一群:891137268、二群:947578238
</pre>
</div>
</div>
</
template
>
<
script
>
export
default
{
name
:
'
Test
'
,
data
()
{
return
{
input
:
''
}
}
}
</
script
>
<
style
scoped
>
.my-code
a
{
color
:
#009688
;
}
</
style
>
src/views/nested/menu1/menu1-2/index.vue
deleted
100644 → 0
View file @
b825fa0a
<
template
>
<div
style=
"padding:30px;"
>
<el-alert
:closable=
"false"
title=
"三级菜单2"
type=
"success"
/>
</div>
</
template
>
src/views/nested/menu2/index.vue
deleted
100644 → 0
View file @
b825fa0a
<
template
>
<div
style=
"padding:30px;"
>
<el-alert
:closable=
"false"
title=
"二级菜单"
/>
</div>
</
template
>
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