Browse Source

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

wangqin
zhangzhang 1 year ago
parent
commit
0db3694d1d
  1. 2
      ruoyi-ui/src/api/event/perceiveEvent.js
  2. 3
      ruoyi-ui/src/assets/styles/JiHeExpressway.scss
  3. 18
      ruoyi-ui/src/views/JiHeExpressway/common/PresetFormItems.js
  4. 23
      ruoyi-ui/src/views/JiHeExpressway/components/RoadStateCard/index.vue
  5. 6
      ruoyi-ui/src/views/JiHeExpressway/components/Video/index.vue
  6. 72
      ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/HomeFilter/index.vue
  7. 9
      ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/HomeFrame/index.vue
  8. 5
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/coordinateSchedulingRecords/index.vue
  9. 4
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/EventDetailDialog/Carousel/index.vue
  10. 29
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/EventDetailDialog/index.vue
  11. 20
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/PresetFormItems.js
  12. 1233
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/data.js
  13. 27
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/index.vue
  14. 2
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/data.js
  15. 20
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/index.vue
  16. 4
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/dailyDisposal/assets/charts.js
  17. 9
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/dailyDisposal/index.vue
  18. 2
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/eventQuery/index copy.vue
  19. 2
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/eventQuery/index.vue
  20. 144
      ruoyi-ui/src/views/JiHeExpressway/pages/service/PublishingChannelManagement/components/AddNEditDialog.vue
  21. 6
      ruoyi-ui/src/views/JiHeExpressway/pages/service/PublishingChannelManagement/components/Card.vue
  22. 56
      ruoyi-ui/src/views/JiHeExpressway/pages/service/PublishingChannelManagement/data.js
  23. 42
      ruoyi-ui/src/views/JiHeExpressway/pages/service/PublishingChannelManagement/index.vue

2
ruoyi-ui/src/api/event/perceiveEvent.js

@ -165,7 +165,7 @@ export function geTwarningTotal(query) {
export function getRoadSectionList(query) { export function getRoadSectionList(query) {
//system/status/tablist //system/status/tablist
return request({ return request({
url: '/business/roadSection/list', url: '/business/roadSection/listAll',
method: 'get', method: 'get',
params: { params: {
...query, ...query,

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

@ -133,7 +133,8 @@
.el-radio__label{ color: #fff; } .el-radio__label{ color: #fff; }
&.is-checked{ &.is-checked{
.el-radio__label { .el-radio__label {
color: #3de8ff; // color: #3de8ff;
color: #fff;
} }
} }
} }

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

@ -41,6 +41,24 @@ export const source = {
}, },
}; };
export const releaseChannel = {
label: "发布渠道:",
key: "channel",
type: "CheckboxGroup",
isAlone: true,
default: [],
options: {
options: [
{ key: "1", label: "微博" },
{ key: "3", label: "微信小程序" },
{ key: "4", label: "服务网站" },
{ key: "5", label: "情报板" },
{ key: "6", label: "手机短信" },
{ key: "7", label: "微信公众号" },
],
},
};
export const illegalTriggeringType = { export const illegalTriggeringType = {
label: "类型:", label: "类型:",
key: "eventSubclass", key: "eventSubclass",

23
ruoyi-ui/src/views/JiHeExpressway/components/RoadStateCard/index.vue

@ -2,7 +2,7 @@
<BorderRadiusImage class='RoadStateCard' borderRadius="2px" <BorderRadiusImage class='RoadStateCard' borderRadius="2px"
borderColor="linear-gradient(360deg, rgba(55, 231, 255, 0.3), rgba(55, 231, 255, 0))" borderWidth="2px"> borderColor="linear-gradient(360deg, rgba(55, 231, 255, 0.3), rgba(55, 231, 255, 0))" borderWidth="2px">
<div class="left"> <div class="left">
<img :src="(cardData.pictures ? cardData.pictures[0] : null) || require(`./test.png` )"> <img :src="(cardData.pictures ? cardData.pictures[0] : null) || require(`./test.png`)">
<!-- <img :src="require(`./test.png`)"> --> <!-- <img :src="require(`./test.png`)"> -->
</div> </div>
<div class="right"> <div class="right">
@ -15,10 +15,10 @@
<div class="controls"> <div class="controls">
<Button :style="{ background: firstBtnColor, width: '50%' }" <Button :style="{ background: firstBtnColor, width: '50%' }"
@click.native="$emit('firstBtnClick', cardData.id)">{{ @click.native="$emit('firstBtnClick', cardData.id)">{{
firstBtnText getFirstBtnText(cardData.state)
}}</Button> }}</Button>
<Button v-if="cardData.state != 3" :style="{ background: lastBtnColor, width: '50%' }" <Button v-if="cardData.state == 4" :style="{ background: lastBtnColor, width: '50%' }"
@click.native="$emit('lastBtnClick', cardData.id)">{{ lastBtnText @click.native="$emit('lastBtnClick', cardData.id)">{{ getLastBtnText(cardData.state)
}}</Button> }}</Button>
</div> </div>
</div> </div>
@ -82,7 +82,7 @@ export default {
]) ])
} }
}, },
data(){ data() {
return { return {
picUrl: './test.png' picUrl: './test.png'
} }
@ -94,6 +94,19 @@ export default {
}, },
created() { created() {
this.statusMap = statusMap; this.statusMap = statusMap;
},
methods: {
getFirstBtnText(state) {
let text = '详情';
if(state == 5) text = '去确认'
if(state == 4) text = '详情'
if(state == 3) text = '处置记录'
return text;
},
getLastBtnText(state) {
let text = '去处置';
return text;
},
} }
} }
</script> </script>

6
ruoyi-ui/src/views/JiHeExpressway/components/Video/index.vue

@ -1,6 +1,6 @@
<template> <template>
<div class="video-container"> <div class="video-container">
<div class="header"> <div class="header" v-if="showHeader">
<div class="left"> <div class="left">
<div class="radio"> <div class="radio">
<span @click="active = 'img'" :class="{ active: active === 'img' }">图像</span> <span @click="active = 'img'" :class="{ active: active === 'img' }">图像</span>
@ -46,6 +46,10 @@ export default {
rangeIndex: { rangeIndex: {
type: Number, type: Number,
default: 0 default: 0
},
showHeader: {
type: Boolean,
default: true
} }
}, },
data() { data() {

72
ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/HomeFilter/index.vue

@ -28,7 +28,7 @@
<script> <script>
import Button from '@screen/components/Buttons/Button.vue'; import Button from '@screen/components/Buttons/Button.vue';
import Form from '@screen/components/FormConfig'; import Form from '@screen/components/FormConfig';
import * as PresetFormItems from "@screen/pages/control/event/event/FormEvent/PresetFormItems.js"; import * as PresetFormItems from "@screen/common/PresetFormItems.js";
import { merge, cloneDeep } from "lodash" import { merge, cloneDeep } from "lodash"
import request from "@/utils/request"; import request from "@/utils/request";
@ -42,74 +42,8 @@ export default {
return { return {
activeIcon: null, activeIcon: null,
formList: [ formList: [
merge(cloneDeep(PresetFormItems.station), { PresetFormItems.startStation,
required: false, PresetFormItems.endStation,
label: "起始桩号:",
options: {
options: [
{
rules: [
{
message: "请补全桩号",
callback(value, data) {
if (!value?.trim() && data.startStakeMark[1]?.trim())
return false;
else return true;
},
},
],
key: "startStakeMark[0]",
},
{
rules: [
{
message: "请补全桩号",
callback(value, data) {
if (!value?.trim() && data.startStakeMark[0]?.trim())
return false;
else return true;
},
},
],
key: "startStakeMark[1]",
},
],
},
}),
merge(cloneDeep(PresetFormItems.station), {
required: false,
label: "结束桩号:",
options: {
options: [
{
rules: [
{
message: "请补全桩号",
callback(value, data) {
if (!value?.trim() && data.endStakeMark[1]?.trim())
return false;
else return true;
},
},
],
key: "endStakeMark[0]",
},
{
rules: [
{
message: "请补全桩号",
callback(value, data) {
if (!value?.trim() && data.endStakeMark[0]?.trim())
return false;
else return true;
},
},
],
key: "endStakeMark[1]",
},
],
},
}),
{ {
label: "设备类型:", label: "设备类型:",
key: "deviceType", key: "deviceType",

9
ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/HomeFrame/index.vue

@ -12,8 +12,8 @@
</div> </div>
<!-- <Form labelWidth="90px" column="1" class="form" ref="FormConfigRef" :formList="formList" /> --> <!-- <Form labelWidth="90px" column="1" class="form" ref="FormConfigRef" :formList="formList" /> -->
<img class="image" src="@screen/images/home-Frame/logoMean.jpg"> <img class="image" src="@screen/images/home-Frame/logoMean.jpg">
<div class="footer"> <!-- <div class="footer">
</div> </div> -->
</div> </div>
</ElPopover> </ElPopover>
</div> </div>
@ -56,6 +56,7 @@ div.el-popper.global-input-search-popover {
position: relative; position: relative;
padding-top: 36px; padding-top: 36px;
transform: translateY(24px); transform: translateY(24px);
margin-top: 3vh;
.body { .body {
.title { .title {
@ -72,8 +73,8 @@ div.el-popper.global-input-search-popover {
</style> </style>
<style lang='scss' scoped> <style lang='scss' scoped>
.image { .image {
width: 1440px; width: 45vw;
height: 900px; height: 65vh;
} }
.HomeFrame { .HomeFrame {

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

@ -9,7 +9,7 @@
刷新 刷新
</ButtonGradient> </ButtonGradient>
<InputSearch style="width: 402px;" /> <InputSearch style="width: 402px;" :formConfigOptions="{ labelWidth: '82px' }" :formList="searchFormList" @handleSearch="handleSearch" />
</div> </div>
<!-- 内容 --> <!-- 内容 -->
@ -30,6 +30,8 @@ import InputSearch from '@screen/components/InputSearch/index.vue';
import Card from './components/Card/index.vue'; import Card from './components/Card/index.vue';
import ButtonGradient from '@screen/components/Buttons/ButtonGradient.vue'; import ButtonGradient from '@screen/components/Buttons/ButtonGradient.vue';
import { searchFormList } from "./data";
export default { export default {
name: 'CoordinateSchedulingRecords', name: 'CoordinateSchedulingRecords',
components: { components: {
@ -40,6 +42,7 @@ export default {
}, },
data() { data() {
return { return {
searchFormList,
eventDetailDialogVisible: false eventDetailDialogVisible: false
} }
}, },

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

@ -29,8 +29,8 @@ export default {
pictures: { pictures: {
type: Array, type: Array,
default: () => [ default: () => [
"https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg", // "https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg",
"https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg", // "https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg",
// "require('@screen/images/shareWith/message-active.svg')", // "require('@screen/images/shareWith/message-active.svg')",
// "require('@screen/images/shareWith/message.svg')", // "require('@screen/images/shareWith/message.svg')",
// "require('@screen/images/shareWith/website-active.svg')", // "require('@screen/images/shareWith/website-active.svg')",

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

@ -1,21 +1,23 @@
<template> <template>
<Dialog v-model="modelVisible" title="事件详情"> <Dialog v-model="modelVisible" title="事件详情">
<div class="EventDetail"> <div class="EventDetail" :style="{ height: (activeName == '-1' || activeName == '0') ? '380px' : '768px'}">
<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%;" /> <Video style="height: 100%;" :showHeader="activeName != '-1'"/>
<Video v-if="activeName != '-1'" style="height: 100%;" />
<Carousel style="flex: 1" :pictures="formData.pictures"/> <Carousel v-else style="flex: 1" :pictures="formData.pictures"/>
</div> </div>
<TimeLine1 :data="timeLine1List" /> <TimeLine1 v-if="activeName == '1' || activeName == '2'" :data="timeLine1List" />
<TimeLine2 :data="timeLine2List" style="flex: 1;" /> <TimeLine2 v-if="activeName == '1' || activeName == '2'" :data="timeLine2List" style="flex: 1;" />
</div> </div>
<template #footer> <template #footer>
<Button style="padding: 0 24px;" @click.native="modelVisible = false">确认</Button> <Button v-if="activeName == '-1' || activeName == '0'" style="padding: 0 24px;" @click.native="modelVisible = false">误报</Button>
<Button :style="{ backgroundColor: '#C9C9C9', padding: '0 24px' }" @click.native="modelVisible = false"> 取消</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="modelVisible = false">确认</Button>
</template> </template>
</Dialog> </Dialog>
</template> </template>
@ -50,6 +52,7 @@ export default {
}, },
props: { props: {
visible: Boolean, visible: Boolean,
activeName: String,
formData: { formData: {
type: Object, type: Object,
default: () => { } default: () => { }
@ -89,6 +92,11 @@ export default {
}, },
methods: { methods: {
getProcess() { getProcess() {
if(this.activeName == '-1' || this.activeName == '0'){
this.timeLine1List = [];
this.timeLine2List = [];
return;
}
let directionFlg = true; let directionFlg = true;
@ -146,13 +154,14 @@ export default {
display: flex; display: flex;
gap: 9px; gap: 9px;
width: 836px; width: 836px;
height: 768px; // height: 768px;
flex-direction: column; flex-direction: column;
.video-pic { .video-pic {
display: flex; display: flex;
height: 150px; height: 190px;
gap: 15px gap: 15px;
justify-content: space-around;
} }
} }
</style> </style>

20
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/PresetFormItems.js

@ -716,7 +716,13 @@ export const locationMode = {
}, },
ons: { ons: {
change(value, ...args) { change(value, ...args) {
const { formList } = args.slice(-1)[0]; const { data, formList } = args.slice(-1)[0];
if(data.dcEventAccident) {
data.dcEventAccident.facilityId = null;
}
if(data.dcEventVehicleAccident) {
data.dcEventVehicleAccident.facilityId = null;
}
let facilityType = 1; let facilityType = 1;
if (value == 2) { if (value == 2) {
@ -744,7 +750,7 @@ export const locationMode = {
}).catch((err) => { }).catch((err) => {
console.log('err',err) console.log('err',err)
Message.error("查询失败", err); Message.error("查询失败1", err);
}) })
} }
@ -1129,9 +1135,9 @@ export const congestionCause = {
}, },
ons: { ons: {
input(value, ...args) { input(value, ...args) {
console.log(value); // console.log(value);
const { formList } = args.slice(-1)[0]; const { formList } = args.slice(-1)[0];
const config = formList.find((it) => it.key == "xxyy"); const config = formList.find((it) => it.key == "detailedReasons");
let ad = { let ad = {
1: [ 1: [
{ {
@ -1181,4 +1187,10 @@ export const congestionCause = {
config.options.options = value != 1 ? ad[1] : ad[2]; config.options.options = value != 1 ? ad[1] : ad[2];
}, },
}, },
visible: (data) => {
if (data?.eventSubclass != '4-1') {
return false;
}
return true;
},
}; };

1233
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/data.js

File diff suppressed because it is too large

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

@ -88,7 +88,7 @@ export default {
this.roads.push({ key: it.id, label: it.roadName }) this.roads.push({ key: it.id, label: it.roadName })
}) })
}).catch((err) => { }).catch((err) => {
Message.error("查询失败", err); Message.error("查询失败4", err);
}), }),
// //
request({ request({
@ -100,7 +100,7 @@ export default {
this.direction.push({ key: it.dictValue, label: it.dictLabel }) this.direction.push({ key: it.dictValue, label: it.dictLabel })
}) })
}).catch((err) => { }).catch((err) => {
Message.error("查询失败", err); Message.error("查询失败5", err);
}), }),
// 1 2 3 4 5 6 // 1 2 3 4 5 6
request({ request({
@ -108,9 +108,10 @@ export default {
method: "get" method: "get"
}).then((result) => { }).then((result) => {
if (result.code != 200) return Message.error(result?.msg); if (result.code != 200) return Message.error(result?.msg);
result.data.forEach(it => this.lwss.push({ key: it.id, label: it.facilityName, type: facilityType })) result.data.forEach(it => this.lwss.push({ key: it.id, label: it.facilityName, type: it.facilityType }))
}).catch((err) => { }).catch((err) => {
Message.error("查询失败", err); console.log('err', err)
Message.error("查询失败6", err);
}) })
]) ])
@ -148,9 +149,15 @@ export default {
if (this.index == 0 || this.index == 1) { if (this.index == 0 || this.index == 1) {
formData.lang = formData.lang.join(',') formData.lang = formData.lang.join(',')
} }
if (this.index == 9) { if (formData.endStakeMark) {
let endStakeMark = formData.endStakeMark; let endStakeMark = formData.endStakeMark;
formData.dcEventAbnormalWeather.endStakeMark = (endStakeMark && endStakeMark.length > 0) ? ('K' + endStakeMark[0] + '+' + endStakeMark[1]) : ''; let strMark = (endStakeMark && endStakeMark.length > 0) ? ('K' + endStakeMark[0] + '+' + endStakeMark[1]) : '';
if (this.index == 3) {
formData.dcEventTrafficCongestion.endStakeMark = strMark;
}
if (this.index == 9) {
formData.dcEventAbnormalWeather.endStakeMark = strMark;
}
formData.endStakeMark = ''; formData.endStakeMark = '';
} }
// console.log('formData',formData) // console.log('formData',formData)
@ -163,15 +170,13 @@ export default {
data: { data: {
...formData, ...formData,
eventType: Number(this.index) + 1, eventType: Number(this.index) + 1,
stakeMark: (stakeMark && stakeMark.length > 0) ? ('K' + stakeMark[0] + '+' + stakeMark[1]) : '', stakeMark: stakeMark ? ((stakeMark && stakeMark.length > 0) ? ('K' + stakeMark[0] + '+' + stakeMark[1]) : '') : '',
} }
}) }).then((result) => {
.then((result) => {
if (result.code != 200) return Message.error(result?.msg); if (result.code != 200) return Message.error(result?.msg);
Message.success("提交成功"); Message.success("提交成功");
this.modelVisible = false; this.modelVisible = false;
}) }).catch(() => {
.catch(() => {
Message.error("提交失败"); Message.error("提交失败");
}).finally(() => { }).finally(() => {
this.submitting = false; this.submitting = false;

2
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/data.js

@ -109,7 +109,7 @@ export const gjSearchFormList = [
required: false, required: false,
type: "datePicker", type: "datePicker",
options: { options: {
type: "daterange", type: "datetimerange",
format: "yyyy-MM-dd HH:mm:ss", format: "yyyy-MM-dd HH:mm:ss",
valueFormat: "yyyy-MM-dd HH:mm:ss", valueFormat: "yyyy-MM-dd HH:mm:ss",
}, },

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

@ -43,7 +43,7 @@
</div> </div>
<!-- "详情"弹出框 --> <!-- "详情"弹出框 -->
<EventDetailDialog :visible="eventDetailDialogVisible" :formData="detailDialogFormData" @update:value="handleClose" /> <EventDetailDialog :visible="eventDetailDialogVisible" :formData="detailDialogFormData" :activeName="activeName" @update:value="handleClose" />
<!-- "新增"弹出框 --> <!-- "新增"弹出框 -->
<FormEvent :visible="isShowAddNew" @close="onCloseAddNew" /> <FormEvent :visible="isShowAddNew" @close="onCloseAddNew" />
</div> </div>
@ -87,6 +87,11 @@ const directionMapping = {
'2': '中', '2': '中',
'3': '下行' '3': '下行'
} }
const gzDirectionMapping = {
'1': '菏泽方向',
'2': '双向',
'3': '济南方向'
}
const warningStateMapping = { const warningStateMapping = {
1: '上报', 1: '上报',
2: '已完成', 2: '已完成',
@ -184,7 +189,7 @@ export default {
}).then((result) => { }).then((result) => {
if (result.code != 200) return Message.error(result?.msg); if (result.code != 200) return Message.error(result?.msg);
result.rows.forEach(it => { result.rows.forEach(it => {
it.stringEventSource = warningSourceMapping[it.warningSource]; it.stringEventSource = it?.warningSource ? warningSourceMapping[it?.warningSource] : '';
it.stringDirection = directionMapping[it.direction] || it.direction; it.stringDirection = directionMapping[it.direction] || it.direction;
it.startTime = it.warningTime; it.startTime = it.warningTime;
@ -205,6 +210,13 @@ export default {
params: this.searchData, params: this.searchData,
}).then((result) => { }).then((result) => {
if (result.code != 200) return Message.error(result?.msg); if (result.code != 200) return Message.error(result?.msg);
result.rows.forEach(it => {
it.stringDirection = gzDirectionMapping[it.direction] || it.direction;
// if (it.otherConfig) {
// let otherConfig = JSON.parse(it.otherConfig);
// it.pictures = otherConfig.pictures || [];
// }
})
this.data = result.rows; this.data = result.rows;
this.total = result.total; this.total = result.total;
}); });
@ -290,7 +302,7 @@ export default {
if (result.code != 200) return Message.error(result?.msg); if (result.code != 200) return Message.error(result?.msg);
let data = result.data; let data = result.data;
data.stringEventSource = warningSourceMapping[data.warningSource]; data.stringEventSource = data?.warningSource ? warningSourceMapping[data.warningSource] : '';
data.direction = directionMapping[data.direction] || data.direction; data.direction = directionMapping[data.direction] || data.direction;
data.startTime = data.warningTime; data.startTime = data.warningTime;
data.stringEventState = warningStateMapping[data.warningState]; data.stringEventState = warningStateMapping[data.warningState];
@ -341,7 +353,7 @@ export default {
...this.searchData, ...this.searchData,
eventType: data.eventType, eventType: data.eventType,
eventSources: data.eventSources, eventSources: data.eventSources,
warningSource: data.warningSource, warningSource: data?.warningSource || '',
direction: data.direction, direction: data.direction,
startTime: daterange && daterange.length > 0 ? daterange[0] : "", startTime: daterange && daterange.length > 0 ? daterange[0] : "",
endTime: daterange && daterange.length > 0 ? daterange[1] : "", endTime: daterange && daterange.length > 0 ? daterange[1] : "",

4
ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/dailyDisposal/assets/charts.js

@ -66,7 +66,7 @@ var options = {
{ {
name: "", name: "",
type: "pie", type: "pie",
radius: "120px", radius: "60px",
width: "200px", width: "200px",
center: ["130px", "50%"], center: ["130px", "50%"],
roseType: "radius", roseType: "radius",
@ -111,7 +111,7 @@ var options = {
{ {
name: "", name: "",
type: "pie", type: "pie",
radius: "130px", radius: "70px",
hoverAnimation: false, hoverAnimation: false,
emphasis: { scale: false }, emphasis: { scale: false },
center: ["130px", "50%"], center: ["130px", "50%"],

9
ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/dailyDisposal/index.vue

@ -66,6 +66,7 @@ export default {
for (let i = 0; i < data.length; i++) { for (let i = 0; i < data.length; i++) {
let it = data[i]; let it = data[i];
if (it.warningState == 1) { if (it.warningState == 1) {
// it.number = 86;
echartsData.push({ echartsData.push({
name: "上报", name: "上报",
value: it.number value: it.number
@ -141,10 +142,10 @@ export default {
context.lineWidth = 1; // 线 context.lineWidth = 1; // 线
// //
drawRoundRect(context, 242, 36, 180, 24, 12, gr) drawRoundRect(context, 230, 36, 180, 24, 12, gr)
drawRoundRect(context, 242, 63, 180, 24, 12, gr) drawRoundRect(context, 230, 63, 180, 24, 12, gr)
drawRoundRect(context, 242, 90, 180, 24, 12, gr) drawRoundRect(context, 230, 90, 180, 24, 12, gr)
drawRoundRect(context, 242, 117, 180, 24, 12, gr) drawRoundRect(context, 230, 117, 180, 24, 12, gr)
}); });
}); });
}, },

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

@ -437,7 +437,7 @@ export default {
getRoadSectionList().then(res => { getRoadSectionList().then(res => {
console.log(res); console.log(res);
if (res.code == 200) { if (res.code == 200) {
let rows = res.rows; let rows = res.data;
this.dataList = []; this.dataList = [];
rows.forEach(it => { rows.forEach(it => {
this.dataList.push({ this.dataList.push({

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

@ -554,7 +554,7 @@ export default {
getRoadSectionList().then((res) => { getRoadSectionList().then((res) => {
console.log(res); console.log(res);
if (res.code == 200) { if (res.code == 200) {
let rows = res.rows; let rows = res.data;
this.dataList = []; this.dataList = [];
rows.forEach((it) => { rows.forEach((it) => {
this.dataList.push({ this.dataList.push({

144
ruoyi-ui/src/views/JiHeExpressway/pages/service/PublishingChannelManagement/components/AddNEditDialog.vue

@ -0,0 +1,144 @@
<template>
<Dialog v-model="modelVisible" :title="data ? '修改' : '新增'">
<div class='AddNEditDialog'>
<Form v-model="formData" class="form" ref="FormConfigRef" :formList="formList" column="1" labelWidth="90px" />
</div>
<template #footer>
<Button style="background-color: rgba(0, 179, 204, .3);" @click.native="modelVisible = false, submitting = false">
取消
</Button>
<Button @click.native="handleSubmit" :loading="submitting">
确定
</Button>
</template>
</Dialog>
</template>
<script>
import Dialog from "@screen/components/Dialog/index.vue";
import Button from "@screen/components/Buttons/Button.vue"
import Form from '@screen/components/FormConfig';
import request from "@/utils/request";
import { getSelectOptionsStation } from "@screen/pages/control/event/businessDataManagement/utils.js";
import { Message } from "element-ui";
import * as PresetFormItems from "@screen/common/PresetFormItems.js";
export default {
name: 'AddNEditDialog',
components: {
Dialog,
Button,
Form
},
model: {
prop: 'visible',
event: "update:value"
},
props: {
visible: Boolean,
data: Object
},
inject: ['setCurrentPage'],
data() {
return {
submitting: false,
formData: {},
formList: [
{
label: "信息级别:",
key: "level",
type: "RadioGroup",
isAlone: true,
options: {
activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
options: [
{
key: "1",
label: "影响通行",
},
{
key: "2",
label: "不影响通行",
},
],
},
},
PresetFormItems.releaseChannel,
{
label: "审核方式:",
key: "level",
type: "RadioGroup",
isAlone: true,
options: {
activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
options: [
{
key: "1",
label: "单人审核",
},
{
key: "2",
label: "双人审核",
},
],
},
},
{
label: "启用日期:",
key: "startDate",
type: "DatePicker",
required: true
}
]
}
},
computed: {
modelVisible: {
get() {
return this.visible
},
set(val) {
this.$emit('update:value', val)
}
}
},
watch: {
modelVisible: {
immediate: true,
handler(bool) {
if (!bool) return;
this.formData = {
...this.data
}
this.getOptions();
}
}
},
methods: {
getOptions() {
},
handleSubmit() {
}
},
}
</script>
<style lang='scss' scoped>
.AddNEditDialog {
width: 450px;
height: 200px;
display: flex;
flex-direction: column;
gap: 15px;
.tips {
font-size: 12px;
}
}
</style>

6
ruoyi-ui/src/views/JiHeExpressway/pages/service/PublishingChannelManagement/components/Card.vue

@ -16,7 +16,10 @@
<Descriptions :list="list" style="gap: 15px; flex: 1; margin-top: 9px;" column="1" /> <Descriptions :list="list" style="gap: 15px; flex: 1; margin-top: 9px;" column="1" />
<div class="footer"> <div class="footer">
<Button>修改</Button> <Button @click.native="() => handleOpenDialogAddEdit(item)">修改</Button>
<Button style="background-color: #FF5F5F;" @click.native="handleDelete(item)">
删除
</Button>
</div> </div>
</div> </div>
</template> </template>
@ -96,6 +99,7 @@ export default {
width: 100%; width: 100%;
align-items: center; align-items: center;
justify-content: flex-end; justify-content: flex-end;
gap: 6px;
} }
} }
</style> </style>

56
ruoyi-ui/src/views/JiHeExpressway/pages/service/PublishingChannelManagement/data.js

@ -0,0 +1,56 @@
import * as PresetFormItems from "@screen/common/PresetFormItems.js";
import { merge, cloneDeep } from "lodash";
export const searchFormList = [
{
label: "启用日期:",
key: "daterange",
required: false,
type: "datePicker",
options: {
type: "daterange",
format: "yyyy-MM-dd HH:mm:ss",
valueFormat: "yyyy-MM-dd HH:mm:ss",
},
},
PresetFormItems.eventType,
PresetFormItems.releaseChannel,
{
label: "信息级别:",
key: "level",
type: "RadioGroup",
isAlone: true,
options: {
activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
options: [
{
key: "1",
label: "影响通行",
},
{
key: "2",
label: "不影响通行",
},
],
},
},
{
label: "启用状态:",
key: "status",
type: "RadioGroup",
isAlone: true,
options: {
activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
options: [
{
key: "1",
label: "启用",
},
{
key: "2",
label: "停用",
},
],
},
},
];

42
ruoyi-ui/src/views/JiHeExpressway/pages/service/PublishingChannelManagement/index.vue

@ -2,14 +2,22 @@
<div class='PublishingChannelManagement'> <div class='PublishingChannelManagement'>
<!-- 搜索栏 --> <!-- 搜索栏 -->
<div class="filter"> <div class="filter">
<div>
<ButtonGradient @click.native="handleOpenDialogAddEdit()">
<template #prefix>
<img src="@screen/images/insert.svg" />
</template>
新增
</ButtonGradient>
<ButtonGradient> <ButtonGradient>
<template #prefix> <template #prefix>
<img src="@screen/images/refresh.svg" /> <img src="@screen/images/refresh.svg" />
</template> </template>
刷新 刷新
</ButtonGradient> </ButtonGradient>
</div>
<InputSearch style="width: 402px;" /> <InputSearch style="width: 402px;" :formList="searchFormList" @handleSearch="handleSearch" />
</div> </div>
<!-- 内容 --> <!-- 内容 -->
@ -21,6 +29,9 @@
<div class="footer"> <div class="footer">
<Pagination :total="90" /> <Pagination :total="90" />
</div> </div>
<!-- 新增编辑弹窗 -->
<AddNEditDialog v-model="addNEditDialogVisible" :data="dialogData" />
</div> </div>
</template> </template>
@ -29,6 +40,9 @@ import Pagination from '@screen/components/Pagination.vue';
import InputSearch from '@screen/components/InputSearch/index.vue'; import InputSearch from '@screen/components/InputSearch/index.vue';
import Card from './components/Card'; import Card from './components/Card';
import ButtonGradient from '@screen/components/Buttons/ButtonGradient.vue'; import ButtonGradient from '@screen/components/Buttons/ButtonGradient.vue';
import AddNEditDialog from "./components/AddNEditDialog.vue";
import { searchFormList } from './data';
export default { export default {
name: 'PublishingChannelManagement', name: 'PublishingChannelManagement',
@ -36,8 +50,28 @@ export default {
Pagination, Pagination,
InputSearch, InputSearch,
Card, Card,
ButtonGradient ButtonGradient,
AddNEditDialog
}, },
data() {
return {
searchFormList,
data: [],
addNEditDialogVisible: false,
dialogData: null
}
},
methods: {
handleOpenDialogAddEdit(data) {
console.log('data', data);
this.addNEditDialogVisible = true;
this.dialogData = data;
},
handleSearch(data) {
// this.searchData = data;
// this.getData();
},
}
} }
</script> </script>
@ -56,6 +90,10 @@ export default {
height: 60px; height: 60px;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
div {
display: flex;
gap: 6px;
}
} }
.body { .body {

Loading…
Cancel
Save