Browse Source

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

wangqin
qingzhengli 8 months ago
parent
commit
9efa996087
  1. BIN
      ruoyi-ui/src/assets/images/no_img.png
  2. 5
      ruoyi-ui/src/assets/styles/JiHeExpressway.scss
  3. 12
      ruoyi-ui/src/views/JiHeExpressway/common/PresetFormItems.js
  4. 26
      ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/components/ElCheckboxGroup.vue
  5. 13
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/EventDetailDialog/Carousel/index.vue
  6. 93
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/EventDetailDialog/index.vue
  7. 5
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/index.vue
  8. 4
      ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Eventfiltering/trafficIncidentsCharts.js
  9. 3
      ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Sitefiltering/trafficIncidentsCharts.js
  10. 3
      ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Timefiltering/trafficIncidentsCharts.js
  11. 5
      ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/statisticalAnalysis/index.vue
  12. 2
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficFlow/components/classification/index.vue
  13. 2
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficFlow/components/flowstate/index.vue
  14. 4
      ruoyi-ui/src/views/JiHeExpressway/pages/service/boardRecord/data.js
  15. 6
      ruoyi-ui/src/views/JiHeExpressway/pages/service/boardRecord/index.vue

BIN
ruoyi-ui/src/assets/images/no_img.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

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

@ -286,5 +286,10 @@
// background-color: #000 !important; // background-color: #000 !important;
} }
} }
.el-image__placeholder{
background-color: #133242;
background-image: url("~@/assets/images/no_img.png");
background-size: contain;
}
} }

12
ruoyi-ui/src/views/JiHeExpressway/common/PresetFormItems.js

@ -49,12 +49,12 @@ export const releaseChannel = {
default: [], default: [],
options: { options: {
options: [ options: [
{ key: "1", label: "微博" }, { key: "1", label: "微博", width: "87px" },
{ key: "3", label: "微信小程序" }, { key: "3", label: "微信小程序", width: "87px" },
{ key: "4", label: "服务网站" }, { key: "4", label: "服务网站", width: "87px" },
{ key: "5", label: "情报板" }, { key: "5", label: "情报板", width: "87px" },
{ key: "6", label: "手机短信" }, { key: "6", label: "手机短信", width: "87px" },
{ key: "7", label: "微信公众号" }, { key: "7", label: "微信公众号", width: "87px" },
], ],
}, },
}; };

26
ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/components/ElCheckboxGroup.vue

@ -1,12 +1,26 @@
<template> <template>
<ElCheckboxGroup v-bind="$attrs" v-on="$listeners" class="ElCheckboxGroup" :style="{ gap }"> <ElCheckboxGroup
<ElCheckbox v-for="item in options" :disabled="item.disabled" :label="item[id] || item[label]" v-bind="$attrs"
:key="item[id] || item[label]"> v-on="$listeners"
<slot :name="item[id] || item[label]" :data="item">{{ item[label] }} class="ElCheckboxGroup"
:style="{ gap }"
>
<ElCheckbox
v-for="item in options"
:disabled="item.disabled"
:label="item[id] || item[label]"
:key="item[id] || item[label]"
:style="{ width: [item.width ? item.width : 'auto'] }"
>
<slot :name="item[id] || item[label]" :data="item"
>{{ item[label] }}
</slot> </slot>
<div v-if="showIcon"> <div v-if="showIcon">
<img v-if="item.deviceState == '0' || item.deviceState == null" src="@/assets/jihe/images/offline.svg" <img
class="state" /> v-if="item.deviceState == '0' || item.deviceState == null"
src="@/assets/jihe/images/offline.svg"
class="state"
/>
<img v-else src="@/assets/jihe/images/online.svg" class="state" /> <img v-else src="@/assets/jihe/images/online.svg" class="state" />
</div> </div>
</ElCheckbox> </ElCheckbox>

13
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/EventDetailDialog/Carousel/index.vue

@ -11,6 +11,12 @@
</div> </div>
</VueSlickCarousel> </VueSlickCarousel>
<VueSlickCarousel v-if="videos.length > 0" v-bind="settings" ref="CarouselRef" class="vueSlickCarousel">
<div v-for="(item, index) in videos " :key="index" class="item">
<Video style="height: 100%;" :showHeader="false" :url="item || ''" videoType="mp4" />
</div>
</VueSlickCarousel>
<img src="./images/arrow.svg" @click="nextSlide" class="arrow" /> <img src="./images/arrow.svg" @click="nextSlide" class="arrow" />
</div> </div>
</template> </template>
@ -21,10 +27,11 @@ import VueSlickCarousel from 'vue-slick-carousel'
import 'vue-slick-carousel/dist/vue-slick-carousel.css' import 'vue-slick-carousel/dist/vue-slick-carousel.css'
// optional style for arrows & dots // optional style for arrows & dots
import 'vue-slick-carousel/dist/vue-slick-carousel-theme.css' import 'vue-slick-carousel/dist/vue-slick-carousel-theme.css'
import Video from "@screen/components/Video";
export default { export default {
name: "Carousel", name: "Carousel",
components: { VueSlickCarousel }, components: { VueSlickCarousel,Video },
props: { props: {
pictures: { pictures: {
type: Array, type: Array,
@ -39,6 +46,10 @@ export default {
// "require('@screen/images/shareWith/weChat-active.svg')" // "require('@screen/images/shareWith/weChat-active.svg')"
] ]
}, },
videos: {
type: Array,
default: () => []
},
}, },
data() { data() {
return { return {

93
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/EventDetailDialog/index.vue

@ -1,89 +1,44 @@
<template> <template>
<Dialog v-model="modelVisible" title="事件详情" width="890px" top="11%"> <Dialog v-model="modelVisible" title="事件详情" width="890px" top="11%">
<div <div class="EventDetail" :style="{
class="EventDetail"
:style="{
height: activeName == '-1' || activeName == '0' ? '380px' : '598px', height: activeName == '-1' || activeName == '0' ? '380px' : '598px',
}" }">
>
<Form :formList="formList" :dFormData="formData" label-width="100px" /> <Form :formList="formList" :dFormData="formData" label-width="100px" />
<div class="video-pic"> <div class="video-pic">
<Video
style="height: 100%; width: 380px"
:showHeader="false"
:url="
formData.videoList && formData.videoList.length > 0
? formData.videoList[0]
: ''
"
:camId="formData.upCamId"
:pileNum="formData.stakeMark"
rangeIndex="upCamera"
:videoType="formData.videoType"
/>
<Video
v-if="activeName != '-1'"
style="height: 100%; width: 380px"
:showHeader="false"
:url="
formData.videoList && formData.videoList.length > 0
? formData.videoList[1]
: ''
"
:camId="formData.downCamId"
:pileNum="formData.stakeMark"
rangeIndex="downCamera"
:videoType="formData.videoType"
/>
<Carousel v-else style="flex: 1" :pictures="formData.pictures" /> <Video v-if="activeName != '-1'" style="height: 100%; width: 380px" :showHeader="false" :url="formData.videoList && formData.videoList.length > 0
? formData.videoList[0] : ''" :camId="formData.upCamId" :pileNum="formData.stakeMark" rangeIndex="upCamera"
:videoType="formData.videoType" />
<Video v-if="activeName != '-1'" style="height: 100%; width: 380px" :showHeader="false" :url="formData.videoList && formData.videoList.length > 0
? formData.videoList[1] : ''" :camId="formData.downCamId" :pileNum="formData.stakeMark" rangeIndex="downCamera"
:videoType="formData.videoType" />
<Carousel v-if="activeName == '-1'" style="flex: 1" :videos="formData.videoList" :pictures="[]"/>
<Carousel v-if="activeName == '-1'" style="flex: 1" :pictures="formData.pictures" :videos="[]"/>
</div> </div>
<!-- <div>{{ formData.videoList[0] }}</div> --> <!-- <div>{{ formData.videoList[0] }}</div> -->
<TimeLine1 <TimeLine1 v-if="activeName == '1' || activeName == '2'" :data="timeLine1List" />
v-if="activeName == '1' || activeName == '2'" <TimeLine2 v-if="activeName == '1' || activeName == '2'" :data="timeLine2List" style="flex: 1" />
:data="timeLine1List"
/>
<TimeLine2
v-if="activeName == '1' || activeName == '2'"
:data="timeLine2List"
style="flex: 1"
/>
</div> </div>
<!-- 确认弹窗 --> <!-- 确认弹窗 -->
<EventPlanDialog <EventPlanDialog :visible="isShowDialog" :info="info" :eventFormData="formData" :activeName="activeName"
:visible="isShowDialog" @reInitData="() => {
:info="info"
:eventFormData="formData"
:activeName="activeName"
@reInitData="
() => {
this.$emit('update:value', false); this.$emit('update:value', false);
this.$emit('queryData', true); this.$emit('queryData', true);
} }
" " @close="onCloseAddNew" />
@close="onCloseAddNew"
/>
<template #footer> <template #footer>
<Button <Button v-if="activeName == '-1' || activeName == '0'" style="padding: 0 24px"
v-if="activeName == '-1' || activeName == '0'" @click.native="onDelete">误报</Button>
style="padding: 0 24px" <Button :style="{ backgroundColor: '#C9C9C9', padding: '0 24px' }"
@click.native="onDelete" @click.native="modelVisible = false">取消</Button>
>误报</Button <Button v-if="activeName == '-1' || activeName == '0'" style="padding: 0 24px"
> @click.native="onSubmit">确认</Button>
<Button
:style="{ backgroundColor: '#C9C9C9', padding: '0 24px' }"
@click.native="modelVisible = false"
>取消</Button
>
<Button
v-if="activeName == '-1' || activeName == '0'"
style="padding: 0 24px"
@click.native="onSubmit"
>确认</Button
>
</template> </template>
</Dialog> </Dialog>
</template> </template>

5
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/index.vue

@ -294,8 +294,9 @@ export default {
data.visibility = otherConfig.visibility; data.visibility = otherConfig.visibility;
data.pictures = otherConfig.pictures || []; data.pictures = otherConfig.pictures || [];
data.videoList = otherConfig.videoList || [] data.videoList = otherConfig.videoList || [];
// data.videoList = otherConfig.videoList || ['https://sf1-cdn-tos.huoshanstatic.com/obj/media-fe/xgplayer_doc_video/mp4/xgplayer-demo-480p.mp4'] // data.videoList = ['https://sf1-cdn-tos.huoshanstatic.com/obj/media-fe/xgplayer_doc_video/mp4/xgplayer-demo-480p.mp4',
// 'https://sf1-cdn-tos.huoshanstatic.com/obj/media-fe/xgplayer_doc_video/mp4/xgplayer-demo-480p.mp4']
} }
data.videoType = "mp4"; data.videoType = "mp4";
this.detailDialogFormData = data; this.detailDialogFormData = data;

4
ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Eventfiltering/trafficIncidentsCharts.js

@ -50,6 +50,7 @@ var options = {
fontSize: 18, fontSize: 18,
align: "center", align: "center",
}, },
minInterval: 1,
type: "value", type: "value",
axisLine: { axisLine: {
show: false, show: false,
@ -70,6 +71,7 @@ var options = {
color: "#fff", color: "#fff",
fontSize: "18px", fontSize: "18px",
formatter: (value) => { formatter: (value) => {
console.log(789789, value);
return value; return value;
}, },
}, },
@ -78,7 +80,7 @@ var options = {
series: [ series: [
{ {
// name: '审限内结案率', // name: '审限内结案率',
data: [5, 10, 20, 30], data: [],
type: "pictorialBar", type: "pictorialBar",
symbol: "roundRect", symbol: "roundRect",
symbolRepeat: true, symbolRepeat: true,

3
ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Sitefiltering/trafficIncidentsCharts.js

@ -50,6 +50,7 @@ var options = {
fontSize: 18, fontSize: 18,
align: "center", align: "center",
}, },
minInterval: 1,
type: "value", type: "value",
axisLine: { axisLine: {
show: false, show: false,
@ -78,7 +79,7 @@ var options = {
series: [ series: [
{ {
// name: '审限内结案率', // name: '审限内结案率',
data: [5, 10, 20, 30], data: [],
type: "pictorialBar", type: "pictorialBar",
symbol: "roundRect", symbol: "roundRect",
symbolRepeat: true, symbolRepeat: true,

3
ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Timefiltering/trafficIncidentsCharts.js

@ -50,6 +50,7 @@ var options = {
fontSize: 18, fontSize: 18,
align: "center", align: "center",
}, },
minInterval: 1,
type: "value", type: "value",
axisLine: { axisLine: {
show: false, show: false,
@ -78,7 +79,7 @@ var options = {
series: [ series: [
{ {
// name: '审限内结案率', // name: '审限内结案率',
data: [5, 10, 20, 30], data: [],
type: "pictorialBar", type: "pictorialBar",
symbol: "roundRect", symbol: "roundRect",
symbolRepeat: true, symbolRepeat: true,

5
ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/statisticalAnalysis/index.vue

@ -290,8 +290,7 @@ export default {
initDevice() { initDevice() {
//线线 //线线
getSystemStatusType().then((res) => { if (process.env.NODE_ENV == "development") {
if (IS_TESTING && (!res.data || res.msg == "暂无数据")) {
this.equipments = []; this.equipments = [];
this.equipSeries.forEach((item) => { this.equipSeries.forEach((item) => {
this.equipments.push({ this.equipments.push({
@ -305,6 +304,8 @@ export default {
}); });
return; return;
} }
getSystemStatusType().then((res) => {
let allList = []; let allList = [];
let sort = res.data["排序规则"].rule.split(","); let sort = res.data["排序规则"].rule.split(",");
sort.forEach((i) => { sort.forEach((i) => {

2
ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficFlow/components/classification/index.vue

@ -1,6 +1,6 @@
<template> <template>
<div class="classification"> <div class="classification">
<WgtTitle :title="'全路车流量状况'"></WgtTitle> <WgtTitle :title="'在途车流量车型分类'"></WgtTitle>
<div class="board"> <div class="board">
<!-- <div v-for="(item, index) in list" class="list"> <!-- <div v-for="(item, index) in list" class="list">
<div class="title">{{ item.label }}</div> <div class="title">{{ item.label }}</div>

2
ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficFlow/components/flowstate/index.vue

@ -1,6 +1,6 @@
<template> <template>
<div class="flowstate"> <div class="flowstate">
<WgtTitle title="在途车流量车型分类"></WgtTitle> <WgtTitle title="全路车流量状况"></WgtTitle>
<div class="board"> <div class="board">
<div class="tag1">方向济南</div> <div class="tag1">方向济南</div>
<div class="tag2">方向菏泽</div> <div class="tag2">方向菏泽</div>

4
ruoyi-ui/src/views/JiHeExpressway/pages/service/boardRecord/data.js

@ -14,11 +14,11 @@ export const searchFormList = [
valueFormat: "yyyy-MM-dd HH:mm:ss", valueFormat: "yyyy-MM-dd HH:mm:ss",
}, },
}, },
PresetFormItems.directionCreater("CheckboxGroup"), PresetFormItems.directionCreater("RadioGroup"),
{ {
label: "发布状态:", label: "发布状态:",
key: "releaseStatus", key: "releaseStatus",
type: "checkboxGroup", type: "RadioGroup",
default: [], default: [],
options: { options: {
options: [ options: [

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

@ -17,14 +17,13 @@
<InputSearch <InputSearch
ref="searchComp" ref="searchComp"
style="width: 402px" style="width: 480px"
:formList="searchFormList" :formList="searchFormList"
:formConfigOptions="{ dFormData: { eventState: '0' } }" :formConfigOptions="{ dFormData: { eventState: '0' } }"
@handleSearch="handleSearch" @handleSearch="handleSearch"
/> />
</div> </div>
<!-- 内容 --> <!-- 内容 -->
<div class="body"> <div class="body">
<Table :data="tableData" height="100%"> <Table :data="tableData" height="100%">
@ -139,6 +138,7 @@ export default {
...this.searchData, ...this.searchData,
// releaseContent: data.releaseContent || "", // releaseContent: data.releaseContent || "",
direction: data.direction || "", direction: data.direction || "",
releaseStatus: data.releaseStatus,
startTime, startTime,
endTime, endTime,
// stakeMark: stakeMark, // stakeMark: stakeMark,
@ -153,7 +153,7 @@ export default {
return DirectionTypes[row.direction]; return DirectionTypes[row.direction];
}, },
formatterStatus(row, column) { formatterStatus(row, column) {
return ["","成功"][row.releaseStatus]; return ["失败", "成功"][row.releaseStatus];
}, },
initData() { initData() {
request({ request({

Loading…
Cancel
Save