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

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

@ -133,9 +133,10 @@ export default {
this.width = this.$refs.ReferenceInputRef.getBoundingClientRect().width; this.width = this.$refs.ReferenceInputRef.getBoundingClientRect().width;
}, },
handleResetForm() { handleResetForm() {
this.visible = true;
this.$refs.FormConfigRef?.reset(); this.$refs.FormConfigRef?.reset();
this.$refs.FormConfigRef.$refs.ElFormRef.resetFields(); this.$refs.FormConfigRef.$refs.ElFormRef.resetFields();
this.$refs.PopoverRef.doClose(); // this.$refs.PopoverRef.doClose();
this.$emit("handleSearch", cloneDeep(this.$refs.FormConfigRef?.formData)); 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="mainDialog">
<div class="dialog_head"> <div class="dialog_head">
<div class="tit">{{ selectedDevice.deviceName }}</div> <div class="tit">{{ selectedDevice.deviceName }}</div>
<img class="btnCls" src="@/assets/jihe/images/dialog/ibCls.png" alt="" @click="____onClose" /> <img
<img class="deco" src="@/assets/jihe/images/dialog/ibHeadDeco.png" alt="" /> 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>
<div class="dialogContent"> <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"> <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"> <div class="infoBtnBox">
<el-tooltip content="编辑" placement="top"> <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>
<el-tooltip content="删除" placement="top"> <el-tooltip content="删除" placement="top">
<p @click="____onDeleteBoardItem(indx)" class="btn btnDelete"></p> <p
@click="____onDeleteBoardItem(indx)"
class="btn btnDelete"
></p>
</el-tooltip> </el-tooltip>
</div> </div>
</div> </div>
@ -61,30 +88,62 @@
</div> --> </div> -->
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="设备参数" name="second">设备参数</el-tab-pane> <el-tab-pane label="设备参数" name="second"
<el-tab-pane label="在线率统计" name="third">在线率统计</el-tab-pane> >设备参数</el-tab-pane
>
<el-tab-pane label="在线率统计" name="third"
>在线率统计</el-tab-pane
>
</el-tabs> </el-tabs>
</div> </div>
<div class="dialogContent_bottom_btn"> <div class="dialogContent_bottom_btn">
<el-button class="btnInfoBoard" type="add" @click.native="____onAddDeviceItem()">添加信息</el-button> <el-button
<el-button class="btnInfoBoard" type="publish" @click="____publishInfo" class="btnInfoBoard"
:disabled="selectedBdMsg.length <= 0 || selectedDevice.iotDeviceId === null || selectedDevice.iotDeviceId === undefined">发布信息</el-button> 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>
<div class="sideSwitch" @click="____onShowTemplate"> <div class="sideSwitch" @click="____onShowTemplate">
<img class="img" src="@/assets/screen/xtb/leftd.png" alt="" :style="{ <img
transform: isShowTemplate class="img"
? 'rotate(0deg)' src="@/assets/screen/xtb/leftd.png"
: 'rotate(180deg)', alt=""
}" /> :style="{
transform: isShowTemplate
? 'rotate(0deg)'
: 'rotate(180deg)',
}"
/>
<div class="txt">信息模板</div> <div class="txt">信息模板</div>
</div> </div>
<!-- 附近的摄像机 --> <!-- 附近的摄像机 -->
<div class="sideSwitch" style="top: 36%" @click="____onShowCameraShower"> <div
<img class="img" src="@/assets/screen/xtb/leftd.png" alt="" :style="{ class="sideSwitch"
transform: dialogInfoCamera style="top: 36%"
? 'rotate(0deg)' @click="____onShowCameraShower"
: 'rotate(180deg)', >
}" /> <img
class="img"
src="@/assets/screen/xtb/leftd.png"
alt=""
:style="{
transform: dialogInfoCamera
? 'rotate(0deg)'
: 'rotate(180deg)',
}"
/>
<div class="txt">附近相机</div> <div class="txt">附近相机</div>
</div> </div>
</div> </div>
@ -93,12 +152,23 @@
<!-- 信息模板 --> <!-- 信息模板 -->
<div v-if="isShowTemplate" class="sideContent template"> <div v-if="isShowTemplate" class="sideContent template">
<vuescroll :ops="scrollOptions" class="listBox"> <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"> --> <!-- 原来是<el-collapse v-model="activeNames"> -->
<h3>{{ item.dictLabel }}</h3> <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="infoPreview">
<div class="infoBox" :style="____boardBgStyle"> <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> <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"> <div class="infoBtnBox infoBtnBoxSm">
<el-tooltip content="加入待下发信息" placement="top"> <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> </el-tooltip>
</div> </div>
</div> </div>
@ -116,13 +189,23 @@
</div> </div>
<!-- 附近相机 --> <!-- 附近相机 -->
<CameraShower class="sideContent camera" :visible.sync="dialogInfoCamera" :list="nearbyCameraList"> <CameraShower
class="sideContent camera"
:visible.sync="dialogInfoCamera"
:list="nearbyCameraList"
>
</CameraShower> </CameraShower>
</div> </div>
</transition> </transition>
<BoardInfoEditor @afterSubmit="____onEditSubmit" :mode="editDialog.mode" :type="editDialog.type" <BoardInfoEditor
:visible.sync="editDialog.visible" :screenSize="selectedSize" :tpl="editDialog.tpl"></BoardInfoEditor> @afterSubmit="____onEditSubmit"
:mode="editDialog.mode"
:type="editDialog.type"
:visible.sync="editDialog.visible"
:screenSize="selectedSize"
:tpl="editDialog.tpl"
></BoardInfoEditor>
</div> </div>
</Teleport> </Teleport>
</template> </template>
@ -232,7 +315,7 @@ export default {
// this.____getAllTemplate(); // this.____getAllTemplate();
}, },
computed: {}, computed: {},
mounted() { }, mounted() {},
methods: { methods: {
// //
____getTemplateCategory() { ____getTemplateCategory() {
@ -276,7 +359,7 @@ export default {
.then((res) => { .then((res) => {
this.selectedBdMsg = res.data["3A"].content; this.selectedBdMsg = res.data["3A"].content;
}) })
.catch((err) => { }); .catch((err) => {});
else this.$message.error("设备未接入"); else this.$message.error("设备未接入");
} }
}, },
@ -317,7 +400,7 @@ export default {
____onDeleteBoardItem(index) { ____onDeleteBoardItem(index) {
if (index > -1) { if (index > -1) {
this.selectedBdMsg.splice(index, 1); this.selectedBdMsg.splice(index, 1);
this.$message.success("删除成功"); this.$message.success("删除成功");
} }
}, },
// //
@ -338,7 +421,7 @@ export default {
} }
}, },
____refreshPageData(para) { }, ____refreshPageData(para) {},
____getNearbyCams() { ____getNearbyCams() {
if (!this.selectedDevice.stakeMark) { 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: { tooltip: {
show: true, show: true,
trigger: "axis", trigger: "axis",
textStyle: {
// color: "#fff",
fontSize: 10,
},
// formatter: "{b}:{c}人", // formatter: "{b}:{c}人",
}, },
legend: { 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' type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
}, },
textStyle: {
// color: "#fff",
fontSize: 10,
},
// backgroundColor: "rgba(3, 31, 71, .0)", //设置背景颜色 // backgroundColor: "rgba(3, 31, 71, .0)", //设置背景颜色
// borderColor: "rgba(3, 31, 71, .0)", // borderColor: "rgba(3, 31, 71, .0)",
// formatter: "健康监测<br>{b}:{c}人", // 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: { tooltip: {
show: true, show: true,
trigger: "axis", trigger: "axis",
// backgroundColor: "rgba(17,95,182,0.5)", //设置背景颜色
textStyle: {
// color: "#fff",
fontSize: 10,
},
// formatter: "{b}:{c}人", // formatter: "{b}:{c}人",
}, },
grid: { grid: {

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

@ -23,10 +23,6 @@ var options = {
}, },
tooltip: { tooltip: {
show: true, show: true,
textStyle: {
// color: "#fff",
fontSize: 10,
},
// valueFormatter: function (value) { // valueFormatter: function (value) {
// return value; // return value;
// // return (value + minNumber).toFixed(2) + " %"; // // 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%", left: "0%",
right: "8%", right: "8%",
bottom: "0%", bottom: "0%",
top: "20%", top: "25px",
containLabel: true, containLabel: true,
}, },
tooltip: { 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%", left: "0%",
right: "0%", right: "0%",
bottom: "0%", bottom: "0%",
top: "20%", top: "25px",
containLabel: true, containLabel: true,
}, },
tooltip: { 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%", left: "0%",
right: "0%", right: "0%",
bottom: "0%", bottom: "0%",
top: "20%", top: "25px",
containLabel: true, containLabel: true,
}, },

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

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

Loading…
Cancel
Save