Browse Source

Merge branch 'develop' of http://39.106.31.193:9211/mengff/jihe-hs into develop

wangqin
王钦 7 months ago
parent
commit
63a7479dc7
  1. 13
      ruoyi-ui/src/assets/styles/JiHeExpressway.scss
  2. 4
      ruoyi-ui/src/assets/styles/sidebar-dark.scss
  3. 4
      ruoyi-ui/src/views/JiHeExpressway/components/InputSearch/index.vue
  4. 4
      ruoyi-ui/src/views/JiHeExpressway/components/infoBoard/BoardInfoEditor.vue
  5. 4
      ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/HomeFrameControl/index.vue
  6. 7
      ruoyi-ui/src/views/JiHeExpressway/pages/control/device/strategy/components/AddNEditDialog.vue
  7. 18
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/governanceAnalysis/components/postTrendsMonth/index.vue
  8. 63
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/eventQuery/index.vue
  9. 22
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/topology/index.vue
  10. 22
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/trafficIndicators/index.vue
  11. 13
      ruoyi-ui/src/views/JiHeExpressway/pages/service/board/index.vue
  12. 71
      ruoyi-ui/src/views/JiHeExpressway/pages/service/boardRecord/index.vue
  13. 7
      ruoyi-ui/src/views/JiHeExpressway/pages/service/sensitive/index.vue
  14. 9
      ruoyi-ui/src/views/JiHeExpressway/scss/el-reset.scss
  15. 3
      ruoyi-ui/src/views/login.vue

13
ruoyi-ui/src/assets/styles/JiHeExpressway.scss

@ -3,7 +3,7 @@
.fl-around{display: flex; justify-content: space-between;}
.fl-1{ flex: 1;}
.theme-jihe {
$lightBlue: #3de8ff;
$lightBlue: #a7eef8;
$textColor: #f4f4f4;
$inputHeight: 26px;
color: $textColor;
@ -266,6 +266,17 @@
}
}
.el-button{
border-radius: 100px;
}
.el-button--info{
background-color: #0E708B; border: none;
}
.el-button--primary{
background: #00B3CC;
}
.el-card{
background-color:#064258;
border: 1px solid #006a99;

4
ruoyi-ui/src/assets/styles/sidebar-dark.scss

@ -2829,6 +2829,7 @@
color: #999;
border: solid 1px #666;
background: transparent;
}
@ -2854,7 +2855,8 @@
.el-year-table td.disabled .cell {
color: #999;
border: solid 1px #666;
background: transparent;
// background: transparent;
background: #1B586D;
}

4
ruoyi-ui/src/views/JiHeExpressway/components/InputSearch/index.vue

@ -161,11 +161,13 @@ export default {
if(this.params && this.types == 'input'){
this.value = "";
}
console.log(this.$refs.FormConfigRef?.formData , "重置前");
// this.visible = true;
this.$refs.FormConfigRef?.reset();
this.$refs.FormConfigRef?.$refs.ElFormRef.resetFields();
// this.$refs.PopoverRef.doClose();
// console.log(this.$refs.FormConfigRef?.formData , "fdddddddd");
console.log(this.$refs.FormConfigRef?.formData , "重置后");
this.$emit(
"handleSearch",
cloneDeep(this.$refs.FormConfigRef?.formData),

4
ruoyi-ui/src/views/JiHeExpressway/components/infoBoard/BoardInfoEditor.vue

@ -361,10 +361,10 @@ export default {
calcTitle() {
let str = "";
if (this.mode == "toDevice") {
str = `从模板添加设备信息`;
str = `从模板添加待下发信息`;
} else {
str = `${this.mode == "add" ? "新增" : "编辑"}${
this.type == "template" ? "信息模板" : "设备信息"
this.type == "template" ? "信息模板" : "待下发信息"
}`;
}
return str;

4
ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/HomeFrameControl/index.vue

@ -39,8 +39,8 @@
</div>
</template>
<template #button>
<el-switch v-model="item.status" active-color="#0BD" inactive-color="#999" active-value="1"
inactive-value="0" @change="(value) => handleSwitcherChange(value, item) ">
<el-switch v-model="item.status" active-color="#0BD" inactive-color="#999" active-value="0"
inactive-value="1" @change="(value) => handleSwitcherChange(value, item) ">
</el-switch>
<Button @click.native="() => goStrategy(item)">
查看

7
ruoyi-ui/src/views/JiHeExpressway/pages/control/device/strategy/components/AddNEditDialog.vue

@ -1,5 +1,5 @@
<template>
<Dialog v-model="modelVisible" :title="propData ? '修改' : '新增'" width="1400px">
<Dialog v-model="modelVisible" :title="propData.id ? '修改' : '新增'" width="1400px">
<div class="AddNEditDialog">
<!-- <Form :value="propData" class="form" ref="basicInfoForm" :formList="formList" column="1" labelWidth="80px" /> -->
<el-form ref="basicInfoForm" :model="editData" label-width="80px" :rules="groupBasicRules">
@ -13,10 +13,11 @@
<el-switch v-model="editData.status" active-value="1" inactive-value="0"></el-switch>
</el-form-item> -->
<div style="display: flex; justify-content: flex-end;">
<el-button @click="(modelVisible = false), (submitting = false)">
<el-button @click="(modelVisible = false), (submitting = false)" type="info" size="lg">
取消
</el-button>
<el-button type="primary" @click="onSaveTaskGroup('basicInfoForm')" :loading="submitting"> 提交 </el-button>
<el-button type="primary" @click="onSaveTaskGroup('basicInfoForm')" :loading="submitting" size="lg"> 提交
</el-button>
</div>
</el-form>
<template v-if="editData.id">

18
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/governanceAnalysis/components/postTrendsMonth/index.vue

@ -51,6 +51,7 @@
class="selectRoad"
v-model="dateTime"
style="width: 140px"
:picker-options="pickerOptions"
:type="
type == 1 ? 'date' : type == 2 ? 'month' : type == 4 ? 'year' : ''
"
@ -148,6 +149,11 @@ export default {
},
],
dateTime: moment().format("YYYY-MM-DD HH:mm:ss"),
pickerOptions: {
disabledDate(time) {
return time.getTime() > Date.now();
},
},
};
},
@ -217,10 +223,10 @@ export default {
},
async searchQuery() {
let startTime = "";
console.log("searchQuery", this.type);
if (this.type == 3) {
if (this.type == 2) {
startTime = moment(this.dateTime).format("YYYY-MM-01 00:00:00");
} else if (this.type == 3) {
let year = moment().year();
// console.log(year, this.quarter);
if (this.quarter == 1) {
startTime = `${year}-01-01 00:00:00`;
} else if (this.quarter == 2) {
@ -230,6 +236,8 @@ export default {
} else {
startTime = `${year}-10-01 00:00:00`;
}
} else if (this.type == 4) {
startTime = moment(this.dateTime).format("YYYY-01-01 00:00:00");
} else {
startTime = moment(this.dateTime).format("YYYY-MM-DD HH:mm:ss");
}
@ -238,7 +246,6 @@ export default {
// type: this.type,
// startTime: startTime,
// }
console.log("++++++++++++", startTime);
var formData = new FormData();
formData.append("direction", this.direction);
formData.append("type", this.type);
@ -252,7 +259,8 @@ export default {
this.direction = "1";
this.type = "1";
this.quarter = "1";
this.dateTime = "2024-01-01 00:00:00";
this.dateTime = moment().format("YYYY-MM-DD HH:mm:ss");
this.searchQuery();
},
renderCharts() {
this.$nextTick(() => {

63
ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/eventQuery/index.vue

@ -53,9 +53,10 @@
v-if="type != 'quarter'"
class="selectRoad"
v-model="dateTime"
:picker-options="pickerOptions"
style="width: 140px"
:type="
type == 'date'
type == 'day'
? 'date'
: type == 'month'
? 'month'
@ -106,10 +107,7 @@
text="暂无数据..."
class="empty"
></Empty>
<div
ref="chart2"
class="chart_div keep-ratio"
></div>
<div ref="chart2" class="chart_div keep-ratio"></div>
</div>
</div>
@ -195,7 +193,7 @@ export default {
label: "月",
},
{
value: "date",
value: "day",
label: "日",
},
{
@ -222,16 +220,22 @@ export default {
value: "4",
},
],
dateTime: "2024",
dateTime: moment().format("YYYY-MM-DD HH:mm:ss"),
pickerOptions: {
disabledDate(time) {
return time.getTime() > Date.now();
},
},
direction: "1",
dataList: [],
selectIndex: 1,
selectId: 1,
reset: false,
type: "year",
type: "day",
chart1List: [],
chart2List: [],
chart3List: [],
list: [
{
name: "大学城-长清",
@ -288,8 +292,8 @@ export default {
},
onReset() {
this.direction = "1";
this.type = "year";
this.dateTime = "2024";
this.type = "day";
this.dateTime = moment(this.dateTime).format("YYYY-MM-DD HH:mm:ss");
this.selectId = 1;
this.selectIndex = 1;
this.reset = true;
@ -297,25 +301,30 @@ export default {
},
searchQuery() {
let startTime = "";
let qType = this.type == "date" ? "day" : this.type;
if (this.type == "quarter") {
// let year = moment().year();
// if (this.quarter == 1) {
// startTime = `${year}-01-01 00:00:00`
// } else if (this.quarter == 2) {
// startTime = `${year}-04-01 00:00:00`
// } else if (this.quarter == 3) {
// startTime = `${year}-07-01 00:00:00`
// } else {
// startTime = `${year}-10-01 00:00:00`
// }
// let qType = this.type == "date" ? "day" : this.type;
if (this.type == "month") {
startTime = moment(this.dateTime).format("YYYY-MM-01 HH:mm:ss");
} else if (this.type == "quarter") {
let year = moment().year();
if (this.quarter == 1) {
startTime = `${year}-01-01 00:00:00`;
} else if (this.quarter == 2) {
startTime = `${year}-04-01 00:00:00`;
} else if (this.quarter == 3) {
startTime = `${year}-07-01 00:00:00`;
} else {
startTime = `${year}-10-01 00:00:00`;
}
} else if (this.type == "year") {
startTime = moment(this.dateTime).format("YYYY-01-01 HH:mm:ss");
} else {
startTime = moment(this.dateTime).format("YYYY-MM-DD HH:mm:ss");
}
console.log("startTime", startTime);
//
getWarningTrend({
type: qType,
type: this.type,
sectionId: this.selectId,
createTime: startTime,
direction: this.direction,
@ -431,7 +440,7 @@ export default {
//
getWarningSectionType({
type: qType,
type: this.type,
sectionId: this.selectId,
createTime: startTime,
direction: this.direction,
@ -697,21 +706,21 @@ export default {
position: relative;
display: flex;
align-items: center;
&.unit_con_01{
&.unit_con_01 {
margin: 100px 20px 0;
.chart_div {
width: 100%;
height: 240px;
}
}
&.unit_con_02{
&.unit_con_02 {
margin: 70px 20px 0;
.chart_div {
width: 100%;
height: 290px;
}
}
&.unit_con_03{
&.unit_con_03 {
margin: 70px 20px 0;
.chart_div {
width: 100%;

22
ruoyi-ui/src/views/JiHeExpressway/pages/perception/topology/index.vue

@ -40,7 +40,10 @@
<div class="arrow"></div>
</div>
<div v-for="(item, index) in topo" v-if="index < 5" class="switch">
<div :class="'line ' + (item.netWorkStatus ? '' : 'liner')" style="height: 70px;margin-top: -10px;"></div>
<div
:class="'line ' + (item.netWorkStatus ? '' : 'liner')"
style="height: 70px; margin-top: -10px"
></div>
<div
:class="'arrowdown ' + (item.netWorkStatus ? '' : 'arrowr')"
></div>
@ -73,7 +76,10 @@
</div>
<div class="c" style="margin-top: -5px">
<div v-for="(item, index) in topo" v-if="index >= 5" class="switch">
<div :class="'line ' + (item.netWorkStatus ? '' : 'liner')" style="height: 70px;margin-top: -10px;"></div>
<div
:class="'line ' + (item.netWorkStatus ? '' : 'liner')"
style="height: 70px; margin-top: -10px"
></div>
<div
:class="'arrowdown ' + (item.netWorkStatus ? '' : 'arrowr')"
></div>
@ -139,7 +145,8 @@
placement="top-end"
><div
:class="
'c-name c-namesw keep-ratio ' + (itm.netWorkStatus ? '' : 'c-namer')
'c-name c-namesw keep-ratio ' +
(itm.netWorkStatus ? '' : 'c-namer')
"
>
{{ itm.switchName }}({{ index + 1 }})
@ -163,7 +170,13 @@
v-for="(idv, idvx) in itm.dcDeviceList"
class="device-item keep-ratio"
>
<img :src="require(`./t${itm.netWorkStatus}${idv.childType||idv.deviceType}.svg`)" />
<img
:src="
require(`./t${itm.netWorkStatus}${
idv.childType || idv.deviceType
}.svg`)
"
/>
<el-tooltip
class="item"
effect="dark"
@ -305,6 +318,7 @@ export default {
text-align: center;
line-height: 50px;
margin-top: 20px;
cursor: pointer;
}
.listItemAction {

22
ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/trafficIndicators/index.vue

@ -58,6 +58,7 @@
class="selectRoad"
v-model="dateTime"
style="width: 140px"
:picker-options="pickerOptions"
:type="
type == 1
? 'date'
@ -197,7 +198,6 @@ export default {
],
dateTime: moment().format("YYYY-MM-DD HH:mm:ss"),
dataList: [],
quarter: "",
year: "",
list: [
{
@ -243,6 +243,11 @@ export default {
follow: "161",
},
],
pickerOptions: {
disabledDate(time) {
return time.getTime() > Date.now();
},
},
};
},
@ -252,13 +257,17 @@ export default {
this.selectIndex = index;
this.selectId = item.id;
this.reset = false;
// this.searchQuery();
this.searchQuery();
},
searchQuery() {},
onReset() {
this.selectId = 1;
this.selectIndex = 1;
this.reset = true;
// this.searchQuery();
this.direction = "1";
this.type = "1";
this.dateTime = moment().format("YYYY-MM-DD HH:mm:ss");
this.searchQuery();
},
},
mounted() {
@ -456,10 +465,10 @@ export default {
display: flex;
align-items: center;
height: 40px;
width: 100%;
width: 500px;
font-size: 14px;
margin-bottom: 10px;
z-index: 1000;
z-index: 1;
div {
white-space: nowrap;
@ -503,6 +512,9 @@ export default {
border-color: transparent;
color: white;
}
.keep-ratio {
height: 200px;
}
}
}
}

13
ruoyi-ui/src/views/JiHeExpressway/pages/service/board/index.vue

@ -335,13 +335,13 @@ export default {
// }
},
created() {
this.____resetForm();
Promise.all([
this.____initDirection(),
this.____getBoardPixel(),
this.____getTemplateCategory(),
this.____getAllTemplate(),
]).then((res) => {
this.____resetForm();
this.____getIotBoard();
});
},
@ -421,7 +421,6 @@ export default {
____initDirection() {
return this.getDicts("iot_board_direction").then((res) => {
this.boardDirectionList = res.data;
this.form.selectedDirection = res.data[0].dictValue;
});
},
//
@ -434,15 +433,15 @@ export default {
},
____resetForm() {
this.form = {
selectedDirection: "",
selectedDirection: this.boardDirectionList[0].dictValue,
status: ["0", "1"],
stakeFrom: initSearch.startStakeMark,
stakeTo: initSearch.endStakeMark
stakeFrom: [+initSearch.startStakeMark[0], +initSearch.startStakeMark[1]],
stakeTo: [+initSearch.endStakeMark[0], +initSearch.endStakeMark[1]],
}
},
____onResetSearchDevice() {
this.____resetForm();
this.____initDirection();
// this.____initDirection();
this.____getIotBoard();
},
//
@ -493,7 +492,7 @@ export default {
if (!this.selectedSize) {
this.selectedSize = item.otherConfig.screenSize;
}
console.log(item, item.otherConfig.screenSize)
// console.log(item, item.otherConfig.screenSize)
// if (!this.selectedDevices.deviceName) {
// this.selectedDevices = item;
// }

71
ruoyi-ui/src/views/JiHeExpressway/pages/service/boardRecord/index.vue

@ -2,55 +2,49 @@
<div class='board_record'>
<!-- 搜索栏 -->
<div class="filter">
<ButtonGradient @click="onRefreshForm" class="refresh-btn">
<template #prefix>
<img src="./images/refresh.svg" />
</template>
刷新
</ButtonGradient>
<!-- <ButtonGradient>
<ButtonGradient @click="onRefreshForm" class="refresh-btn">
<template #prefix>
<img src="./images/refresh.svg" />
</template>
刷新
</ButtonGradient>
<!-- <ButtonGradient>
<template #prefix>
<img src="@screen/images/insert.svg" />
</template>
新增
</ButtonGradient> -->
<InputSearch
ref="searchComp"
style="width: 480px"
:formList="searchFormList"
:formConfigOptions="{ dFormData: { eventState: '0' } }"
@handleSearch="handleSearch"
/>
<InputSearch ref="searchComp" style="width: 480px" :formList="searchFormList"
:formConfigOptions="{ dFormData: { eventState: '0' } }" @handleSearch="handleSearch" />
</div>
<!-- 内容 -->
<div class="body">
<Table :data="tableData" height="100%">
<el-table-column label="序号" type="index" :index="indexMethod" width="60"/>
<ElTableColumn label="发布时间" prop="releaseTime" width="180"/>
<ElTableColumn label="设备ID" prop="deviceId" width="120"/>
<ElTableColumn label="设备名称" prop="deviceName" />
<ElTableColumn label="桩号" prop="stakeMark" width="100" />
<el-table-column
prop="direction"
label="方向"
width="110"
:formatter="formatterDirection" />
<ElTableColumn label="内容" prop="releaseContent" width="500" header-align="center">
<el-table-column label="序号" type="index" :index="indexMethod" width="60" />
<ElTableColumn label="发布时间" prop="operTime" width="180" />
<ElTableColumn label="设备ID" prop="dcDeviceId" width="120" />
<ElTableColumn label="设备名称" prop="dcDeviceName" />
<!-- <ElTableColumn label="桩号" prop="stakeMark" width="100" /> -->
<!-- <el-table-column prop="direction" label="方向" width="110" :formatter="formatterDirection" /> -->
<ElTableColumn label="内容" prop="operParam" width="500" header-align="center">
<template slot-scope="scope">
<el-carousel direction="horizontal" :autoplay="false" indicator-position="inside" height="80px" arrow="never" class="board_shower">
<el-carousel-item v-for="item,index in JSON.parse(scope.row.releaseContent)" :key="index">
<BoardRecordPreview :tpl="item" style="height: 100%;"/>
{{ scope.row.operParam }}
<!-- {{ scope.row.operParam && scope.row.operParam.functions && scope.row.operParam.functions[1] && scope.row.operParam.functions[1].params }} -->
<!-- <el-carousel direction="horizontal" :autoplay="false" indicator-position="inside" height="80px"
arrow="never" class="board_shower">
<el-carousel-item v-for="item,index in JSON.parse(scope.row.operParam).paremeters" :key="index">
<BoardRecordPreview :tpl="item" style="height: 100%;" />
</el-carousel-item>
</el-carousel>
</el-carousel> -->
</template>
</ElTableColumn>
<ElTableColumn label="状态" prop="releaseStatus" width="80" :formatter="formatterStatus"/>
<ElTableColumn label="用户名" prop="releaseUserName" width="120" />
<ElTableColumn label="用户ID" prop="releaseUserId" width="120" />
<ElTableColumn label="用户IP" prop="releaseIp" width="200" />
<!--
<ElTableColumn label="状态" prop="status" width="80" :formatter="formatterStatus" />
<ElTableColumn label="用户名" prop="operName" width="120" />
<!-- <ElTableColumn label="用户ID" prop="operName" width="120" /> -->
<ElTableColumn label="用户IP" prop="operIp" width="200" />
<!--
<ElTableColumn label="操作" width="210">
<template slot-scope="scope">
<ElButton type="text" style="color: #00D1FF;" @click="showDisposal(scope.row.eventType)">流程配置</ElButton>
@ -63,9 +57,9 @@
<!-- 分页 -->
<div class="footer">
<Pagination @current-change="initData" @size-change="onSizeChange" width="'100%'" :page-sizes="[10, 20, 30, 40, 50]"
:page-size="searchData.pageSize" :current-page.sync="searchData.pageNum" layout="total, sizes, prev, pager, next"
:total="total">
<Pagination @current-change="initData" @size-change="onSizeChange" width="'100%'"
:page-sizes="[10, 20, 30, 40, 50]" :page-size="searchData.pageSize" :current-page.sync="searchData.pageNum"
layout="total, sizes, prev, pager, next" :total="total">
</Pagination>
</div>
</div>
@ -102,6 +96,7 @@ export default {
searchData: {
pageSize: 20,
pageNum: 1,
dcDeviceType: "2"
},
phrasesData: [],
process: []
@ -157,7 +152,7 @@ export default {
},
initData() {
request({
url: `/business/boardReleaseLog/list`,
url: `/business/dcOperLog/list`,
method: "get",
params: this.searchData,
}).then((result) => {

7
ruoyi-ui/src/views/JiHeExpressway/pages/service/sensitive/index.vue

@ -129,6 +129,7 @@ export default {
},
data() {
return {
searchData:{},
isLoading: false,
searchText: "请输入敏感词,回车搜索",
searchFormList,
@ -203,10 +204,12 @@ export default {
this.getData();
},
onReset(){
this.searchData.word = undefined;
if (this.searchData){
this.searchData.word = undefined;
}
// console.log(this.$refs["form"] , "__-=========");
this.$refs["form"].handleResetForm();
this.getData();
// this.getData();
},
async getData() {
// const closeLoading = setLoading();

9
ruoyi-ui/src/views/JiHeExpressway/scss/el-reset.scss

@ -602,3 +602,12 @@ div.el-popper.el-cascader__dropdown {
.el-cascader {
width: 100%;
}
.el-year-table td.disabled .cell{
color: #C0C4CC!important;
background: #1B586D;
}
.el-month-table td.disabled .cell{
color: #C0C4CC!important;
background: #1B586D;
}

3
ruoyi-ui/src/views/login.vue

@ -208,7 +208,8 @@ export default {
.dispatch("Login", this.loginForm)
.then(() => {
this.$store.commit("menu/resetRecent");
this.$router.push({ path: this.redirect || "/" }).catch(() => {});
// this.$router.push({ path: this.redirect || "/" }).catch(() => {});
this.$router.push({ path: "/" }).catch(() => {});
// this.getManageStation();
})
.catch(() => {

Loading…
Cancel
Save