Browse Source

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

wangqin
刘朋 9 months ago
parent
commit
384500bf89
  1. 176
      ruoyi-ui/src/views/JiHeExpressway/components/HeaderMenu/UserArea.vue
  2. 3
      ruoyi-ui/src/views/JiHeExpressway/components/InputSearch/index.vue
  3. 151
      ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/InfoBoard/index.vue
  4. 4
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/governanceAnalysis/components/postTrendsDay/assets/charts.js
  5. 4
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/governanceAnalysis/components/postTrendsMonth/assets/charts.js
  6. 5
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/governanceAnalysis/components/postTrendsMonth/assets/charts2.js
  7. 4
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/governanceAnalysis/components/postTrendsMonth/assets/charts3.js
  8. 2
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/composeFeatures/assets/charts.js
  9. 2
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/crowding/assets/charts.js
  10. 2
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/saturationMax/assets/charts.js
  11. 4
      ruoyi-ui/src/views/JiHeExpressway/pages/service/board/index.vue

176
ruoyi-ui/src/views/JiHeExpressway/components/HeaderMenu/UserArea.vue

@ -3,8 +3,15 @@
<div class="opCon">
<el-dropdown class="userBox">
<span class="user">
<img class="icon head" src="@/assets/jihe/images/user/author.png" alt="">
<p class="title"><span class="txt">admin</span><i class="menuIcon el-icon-arrow-down el-icon--right"></i></p>
<img
class="icon head"
src="@/assets/jihe/images/user/author.png"
alt=""
/>
<p class="title">
<span class="txt">admin</span
><i class="menuIcon el-icon-arrow-down el-icon--right"></i>
</p>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item>
@ -14,22 +21,26 @@
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<div class="config"><img class="icon" src="@/assets/jihe/images/user/set.png" alt=""></div>
<div class="logout" @click="logout"><img class="icon" src="@/assets/jihe/images/user/out.png" alt=""></div>
<div class="config">
<img class="icon" src="@/assets/jihe/images/user/set.png" alt="" />
</div>
<div class="logout" @click="logout">
<img class="icon" src="@/assets/jihe/images/user/out.png" alt="" />
</div>
</div>
</div>
</template>
</template>
<script>
import { mapGetters } from 'vuex'
import Breadcrumb from '@/components/Breadcrumb'
import Hamburger from '@/components/Hamburger'
import Screenfull from '@/components/Screenfull'
import SizeSelect from '@/components/SizeSelect'
import Search from '@/components/HeaderSearch'
import RuoYiGit from '@/components/RuoYi/Git'
import { mapGetters } from "vuex";
import Breadcrumb from "@/components/Breadcrumb";
import Hamburger from "@/components/Hamburger";
import Screenfull from "@/components/Screenfull";
import SizeSelect from "@/components/SizeSelect";
import Search from "@/components/HeaderSearch";
import RuoYiGit from "@/components/RuoYi/Git";
// import BigScreen from '@/components/bigScreen'
import RuoYiDoc from '@/components/RuoYi/Doc'
import RuoYiDoc from "@/components/RuoYi/Doc";
export default {
data() {
return {
@ -37,17 +48,17 @@ export default {
warningList: [],
unReadWarningList: [],
warnTypes: [
{ value: 0, label: '遥测越限' },
{ value: 1, label: '遥信告警' },
{ value: 2, label: '通道告警' },
{ value: 3, label: '其他事项' }
{ value: 0, label: "遥测越限" },
{ value: 1, label: "遥信告警" },
{ value: 2, label: "通道告警" },
{ value: 3, label: "其他事项" },
],
dealStatuss: [
{ value: '', label: '全部' },
{ value: 0, label: '未处理' },
{ value: 1, label: '处理中' },
{ value: 2, label: '已处理' },
{ value: 3, label: '已忽略' }
{ value: "", label: "全部" },
{ value: 0, label: "未处理" },
{ value: 1, label: "处理中" },
{ value: 2, label: "已处理" },
{ value: 3, label: "已忽略" },
],
//
total: 0,
@ -55,11 +66,11 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
deviceCode: ''
deviceCode: "",
},
visible: false,
recordForm: {}
}
recordForm: {},
};
},
components: {
Breadcrumb,
@ -69,72 +80,111 @@ export default {
Search,
RuoYiGit,
// BigScreen,
RuoYiDoc
RuoYiDoc,
},
computed: {
...mapGetters(['sidebar', 'avatar', 'device']),
...mapGetters(["sidebar", "avatar", "device"]),
setting: {
get() {
return this.$store.state.settings.showSettings
return this.$store.state.settings.showSettings;
},
set(val) {
this.$store.dispatch('settings/changeSetting', {
key: 'showSettings',
value: val
})
}
this.$store.dispatch("settings/changeSetting", {
key: "showSettings",
value: val,
});
},
},
topNav: {
get() {
return this.$store.state.settings.topNav
}
return this.$store.state.settings.topNav;
},
},
sideTheme: {
get() {
return this.$store.state.settings.sideTheme
}
}
return this.$store.state.settings.sideTheme;
},
},
},
methods: {
toggleSideBar() {
this.$store.dispatch('app/toggleSideBar')
this.$store.dispatch("app/toggleSideBar");
},
async logout() {
this.$confirm('确定注销并退出系统吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
this.$confirm("确定注销并退出系统吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.$store.dispatch('LogOut').then(() => {
this.$store.dispatch("LogOut").then(() => {
//location.href = '/index';
location.reload()
})
location.reload();
});
})
.catch(() => {})
}
}
}
.catch(() => {});
},
},
};
</script>
<style lang="scss" scoped>
.operations{
display: flex; justify-content: flex-end;
.opCon{ width:100%; max-width: 160px; display: flex; flex-direction: row; height: 16px; justify-content: space-between; align-items: center;
.icon{ height: 16px; width: 16px; object-fit: contain;}
.userBox{ flex: 1;
.user{ display: flex; flex-direction: row; align-items: center; cursor: pointer;
.head{ width: 16px; }
.title{flex: 1; width: 0; display: flex; flex-direction: row; color: #fff; display: flex;
.txt{ flex: 1; width: 0; text-align: center; white-space: nowrap; word-break: break-all; overflow: hidden; text-overflow: ellipsis;}
.menuIcon{ line-height: 16px;}
.operations {
display: flex;
justify-content: flex-end;
.opCon {
width: 100%;
max-width: 160px;
display: flex;
flex-direction: row;
height: 16px;
justify-content: space-between;
align-items: center;
.icon {
height: 16px;
width: 16px;
object-fit: contain;
cursor: pointer;
}
.userBox {
flex: 1;
.user {
display: flex;
flex-direction: row;
align-items: center;
cursor: pointer;
.head {
width: 16px;
}
.title {
flex: 1;
width: 0;
display: flex;
flex-direction: row;
color: #fff;
display: flex;
.txt {
flex: 1;
width: 0;
text-align: center;
white-space: nowrap;
word-break: break-all;
overflow: hidden;
text-overflow: ellipsis;
}
.menuIcon {
line-height: 16px;
}
}
}
}
&>*{padding:0 5px; border-right: 1px solid rgba($color: #FFF, $alpha: 0.1);
&:last-child{border: none;}
& > * {
padding: 0 5px;
border-right: 1px solid rgba($color: #fff, $alpha: 0.1);
&:last-child {
border: none;
}
}
}
}
</style>

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

@ -133,9 +133,10 @@ export default {
this.width = this.$refs.ReferenceInputRef.getBoundingClientRect().width;
},
handleResetForm() {
this.visible = true;
this.$refs.FormConfigRef?.reset();
this.$refs.FormConfigRef.$refs.ElFormRef.resetFields();
this.$refs.PopoverRef.doClose();
// this.$refs.PopoverRef.doClose();
this.$emit("handleSearch", cloneDeep(this.$refs.FormConfigRef?.formData));
},

151
ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/InfoBoard/index.vue

@ -6,22 +6,49 @@
<div class="mainDialog">
<div class="dialog_head">
<div class="tit">{{ selectedDevice.deviceName }}</div>
<img class="btnCls" src="@/assets/jihe/images/dialog/ibCls.png" alt="" @click="____onClose" />
<img class="deco" src="@/assets/jihe/images/dialog/ibHeadDeco.png" alt="" />
<img
class="btnCls"
src="@/assets/jihe/images/dialog/ibCls.png"
alt=""
@click="____onClose"
/>
<img
class="deco"
src="@/assets/jihe/images/dialog/ibHeadDeco.png"
alt=""
/>
</div>
<div class="dialogContent">
<div v-if="selectedBdMsg.length > 0" class="dialogContent_box" style="height: 100%">
<div
v-if="selectedBdMsg.length > 0"
class="dialogContent_box"
style="height: 100%"
>
<vuescroll :ops="scrollOptions" class="listBox">
<div v-for="(itm, indx) in selectedBdMsg" :key="indx" class="tplItem">
<div
v-for="(itm, indx) in selectedBdMsg"
:key="indx"
class="tplItem"
>
<!-- 模板内容 -->
<BoardPreview class="boardPreview" :boardWH="selectedSize" :tpl="itm"></BoardPreview>
<BoardPreview
class="boardPreview"
:boardWH="selectedSize"
:tpl="itm"
></BoardPreview>
<!-- 操作按钮 -->
<div class="infoBtnBox">
<el-tooltip content="编辑" placement="top">
<p @click="____onEditBoardItem(itm, indx)" class="btn btnEdit"></p>
<p
@click="____onEditBoardItem(itm, indx)"
class="btn btnEdit"
></p>
</el-tooltip>
<el-tooltip content="删除" placement="top">
<p @click="____onDeleteBoardItem(indx)" class="btn btnDelete"></p>
<p
@click="____onDeleteBoardItem(indx)"
class="btn btnDelete"
></p>
</el-tooltip>
</div>
</div>
@ -61,30 +88,62 @@
</div> -->
</div>
</el-tab-pane>
<el-tab-pane label="设备参数" name="second">设备参数</el-tab-pane>
<el-tab-pane label="在线率统计" name="third">在线率统计</el-tab-pane>
<el-tab-pane label="设备参数" name="second"
>设备参数</el-tab-pane
>
<el-tab-pane label="在线率统计" name="third"
>在线率统计</el-tab-pane
>
</el-tabs>
</div>
<div class="dialogContent_bottom_btn">
<el-button class="btnInfoBoard" type="add" @click.native="____onAddDeviceItem()">添加信息</el-button>
<el-button class="btnInfoBoard" type="publish" @click="____publishInfo"
:disabled="selectedBdMsg.length <= 0 || selectedDevice.iotDeviceId === null || selectedDevice.iotDeviceId === undefined">发布信息</el-button>
<el-button
class="btnInfoBoard"
type="add"
@click.native="____onAddDeviceItem()"
>添加信息</el-button
>
<el-button
class="btnInfoBoard"
type="publish"
@click="____publishInfo"
:disabled="
selectedBdMsg.length <= 0 ||
selectedDevice.iotDeviceId === null ||
selectedDevice.iotDeviceId === undefined
"
>发布信息</el-button
>
</div>
<div class="sideSwitch" @click="____onShowTemplate">
<img class="img" src="@/assets/screen/xtb/leftd.png" alt="" :style="{
transform: isShowTemplate
? 'rotate(0deg)'
: 'rotate(180deg)',
}" />
<img
class="img"
src="@/assets/screen/xtb/leftd.png"
alt=""
:style="{
transform: isShowTemplate
? 'rotate(0deg)'
: 'rotate(180deg)',
}"
/>
<div class="txt">信息模板</div>
</div>
<!-- 附近的摄像机 -->
<div class="sideSwitch" style="top: 36%" @click="____onShowCameraShower">
<img class="img" src="@/assets/screen/xtb/leftd.png" alt="" :style="{
transform: dialogInfoCamera
? 'rotate(0deg)'
: 'rotate(180deg)',
}" />
<div
class="sideSwitch"
style="top: 36%"
@click="____onShowCameraShower"
>
<img
class="img"
src="@/assets/screen/xtb/leftd.png"
alt=""
:style="{
transform: dialogInfoCamera
? 'rotate(0deg)'
: 'rotate(180deg)',
}"
/>
<div class="txt">附近相机</div>
</div>
</div>
@ -93,12 +152,23 @@
<!-- 信息模板 -->
<div v-if="isShowTemplate" class="sideContent template">
<vuescroll :ops="scrollOptions" class="listBox">
<div v-for="(item, index) in templateAvailable" :key="item.dictValue">
<div
v-for="(item, index) in templateAvailable"
:key="item.dictValue"
>
<!-- 原来是<el-collapse v-model="activeNames"> -->
<h3>{{ item.dictLabel }}</h3>
<div v-for="(itm, indx) in item.list" :key="indx" class="tplItem">
<div
v-for="(itm, indx) in item.list"
:key="indx"
class="tplItem"
>
<!-- 模板内容 -->
<BoardTplPreview class="boardPreview" :boardWH="selectedSize" :tpl="itm"></BoardTplPreview>
<BoardTplPreview
class="boardPreview"
:boardWH="selectedSize"
:tpl="itm"
></BoardTplPreview>
<!-- <div class="infoPreview">
<div class="infoBox" :style="____boardBgStyle">
<span class="infoTxt" :style="____boardTxtStyle(itm)" v-html="itm.content.replace(/\n|\r\n/g, '<br>').replace(/ /g, '&nbsp')"></span>
@ -107,7 +177,10 @@
<!-- 操作按钮 -->
<div class="infoBtnBox infoBtnBoxSm">
<el-tooltip content="加入待下发信息" placement="top">
<p @click="____onTplToDevice(itm, false)" class="btn btnApply"></p>
<p
@click="____onTplToDevice(itm, false)"
class="btn btnApply"
></p>
</el-tooltip>
</div>
</div>
@ -116,13 +189,23 @@
</div>
<!-- 附近相机 -->
<CameraShower class="sideContent camera" :visible.sync="dialogInfoCamera" :list="nearbyCameraList">
<CameraShower
class="sideContent camera"
:visible.sync="dialogInfoCamera"
:list="nearbyCameraList"
>
</CameraShower>
</div>
</transition>
<BoardInfoEditor @afterSubmit="____onEditSubmit" :mode="editDialog.mode" :type="editDialog.type"
:visible.sync="editDialog.visible" :screenSize="selectedSize" :tpl="editDialog.tpl"></BoardInfoEditor>
<BoardInfoEditor
@afterSubmit="____onEditSubmit"
:mode="editDialog.mode"
:type="editDialog.type"
:visible.sync="editDialog.visible"
:screenSize="selectedSize"
:tpl="editDialog.tpl"
></BoardInfoEditor>
</div>
</Teleport>
</template>
@ -232,7 +315,7 @@ export default {
// this.____getAllTemplate();
},
computed: {},
mounted() { },
mounted() {},
methods: {
//
____getTemplateCategory() {
@ -276,7 +359,7 @@ export default {
.then((res) => {
this.selectedBdMsg = res.data["3A"].content;
})
.catch((err) => { });
.catch((err) => {});
else this.$message.error("设备未接入");
}
},
@ -317,7 +400,7 @@ export default {
____onDeleteBoardItem(index) {
if (index > -1) {
this.selectedBdMsg.splice(index, 1);
this.$message.success("删除成功");
this.$message.success("删除成功");
}
},
//
@ -338,7 +421,7 @@ export default {
}
},
____refreshPageData(para) { },
____refreshPageData(para) {},
____getNearbyCams() {
if (!this.selectedDevice.stakeMark) {

4
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/governanceAnalysis/components/postTrendsDay/assets/charts.js

@ -3,10 +3,6 @@ var options = {
tooltip: {
show: true,
trigger: "axis",
textStyle: {
// color: "#fff",
fontSize: 10,
},
// formatter: "{b}:{c}人",
},
legend: {

4
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/governanceAnalysis/components/postTrendsMonth/assets/charts.js

@ -23,10 +23,6 @@ let options = {
// 坐标轴指示器,坐标轴触发有效
type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
},
textStyle: {
// color: "#fff",
fontSize: 10,
},
// backgroundColor: "rgba(3, 31, 71, .0)", //设置背景颜色
// borderColor: "rgba(3, 31, 71, .0)",
// formatter: "健康监测<br>{b}:{c}人",

5
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/governanceAnalysis/components/postTrendsMonth/assets/charts2.js

@ -5,11 +5,6 @@ let options = {
tooltip: {
show: true,
trigger: "axis",
// backgroundColor: "rgba(17,95,182,0.5)", //设置背景颜色
textStyle: {
// color: "#fff",
fontSize: 10,
},
// formatter: "{b}:{c}人",
},
grid: {

4
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/governanceAnalysis/components/postTrendsMonth/assets/charts3.js

@ -23,10 +23,6 @@ var options = {
},
tooltip: {
show: true,
textStyle: {
// color: "#fff",
fontSize: 10,
},
// valueFormatter: function (value) {
// return value;
// // return (value + minNumber).toFixed(2) + " %";

2
ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/composeFeatures/assets/charts.js

@ -5,7 +5,7 @@ var options = {
left: "0%",
right: "8%",
bottom: "0%",
top: "20%",
top: "25px",
containLabel: true,
},
tooltip: {

2
ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/crowding/assets/charts.js

@ -5,7 +5,7 @@ var options = {
left: "0%",
right: "0%",
bottom: "0%",
top: "20%",
top: "25px",
containLabel: true,
},
tooltip: {

2
ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/saturationMax/assets/charts.js

@ -9,7 +9,7 @@ var options = {
left: "0%",
right: "0%",
bottom: "0%",
top: "20%",
top: "25px",
containLabel: true,
},

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

@ -736,7 +736,7 @@ export default {
type: "warning",
}).then(() => {
deleteTemplate(id).then(() => {
this.$message.success("删除成功!");
this.$message.success("删除成功");
this.____refreshPageData({ type: "template" });
});
});
@ -746,7 +746,7 @@ export default {
____onDeleteBoardItem(index) {
if (index > -1) {
this.selectedBdMsg.splice(index, 1);
this.$message.success("删除成功");
this.$message.success("删除成功");
}
},

Loading…
Cancel
Save