Browse Source

处置过程完善

wangqin
zhangzhang 7 months ago
parent
commit
a21fc864e3
  1. 9
      ruoyi-ui/src/api/commandDispatch/index.js
  2. 48
      ruoyi-ui/src/router/routerCreater.js
  3. 5
      ruoyi-ui/src/views/JiHeExpressway/components/TimeLine/TimeLine1/index.vue
  4. 38
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/DispatchLiaison/StatsDialogVisible/index.vue
  5. 139
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/DispatchLiaison/index.vue
  6. 356
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/DisposalProcess/DialogVisible/index.vue
  7. 12
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/DisposalProcess/index.vue
  8. 2
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/mixin.js
  9. 125
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/EventDetailDialog/index.vue
  10. 4
      ruoyi-ui/vue.config.js

9
ruoyi-ui/src/api/commandDispatch/index.js

@ -21,6 +21,15 @@ export function postCommandDispatch(data) {
});
}
// 提交智能调度
export function postUpdateSource(data) {
return request({
url: "/business/warning/updateSource",
method: "post",
data,
});
}
// 处置过程节点
export function getProcessNode(eventId) {
return request({

48
ruoyi-ui/src/router/routerCreater.js

@ -9,32 +9,31 @@ Vue.use(Router);
import menuData from "@/common/menuData";
// 公共路由
import {constantRoutes} from "./index.js";
import { constantRoutes } from "./index.js";
let ids = []; //层级id列表,每级菜单记录一个id,供菜单回显使用
let ids = []; //层级id列表,每级菜单记录一个id,供菜单回显使用
let prev = ""; //前缀,用来区分左右侧菜单
let level = 0; //当前正在处理的菜单层级
let deltaLvl = 1; //已递归进入的菜单层级,用于编辑完当前菜单后返回时使用
let counter = {} //记录左右侧菜单的下一个可用索引
let counter = {}; //记录左右侧菜单的下一个可用索引
function processNode(node) {
let arr = [];
node.forEach((item, index) => {
if(level == 0 ){ //处理顶级菜单,加前缀、按照前缀分别计算下一个可用索引记录到counter中
if (level == 0) {
//处理顶级菜单,加前缀、按照前缀分别计算下一个可用索引记录到counter中
prev = item.position.substring(0, 1); //取到前缀
counter[prev] == undefined ? counter[prev] = 0 : "";
counter[prev] == undefined ? (counter[prev] = 0) : "";
ids = [counter[prev]];
counter[prev] ++;
}else{
ids[level] = index; //如果不是顶级菜单,直接将“下一个可用索引”存到ids列表里
counter[prev]++;
} else {
ids[level] = index; //如果不是顶级菜单,直接将“下一个可用索引”存到ids列表里
}
let temp = {
path: item.path || "",
title: item.title,
name: item.name,
meta: { menuId : prev + "_" + ids.join("-"), title : item.title}
meta: { menuId: prev + "_" + ids.join("-"), title: item.title },
};
if (item.redirect) {
@ -45,20 +44,23 @@ function processNode(node) {
if (!item.component) {
temp.component = compX;
} else {
console.log(item.component);
temp.component = (resolve) =>
require(["@/views/JiHeExpressway/pages/" + item.component], resolve); //views/visualization/pages/${item.component}
}
if (item.children && item.children.length > 0) {
level ++;
if (index == (node.length - 1)){ //处理最后一项菜单还有children、无法返回上一层的情况
deltaLvl ++; //记录的是“最后一项有children”的层级的累计数量
level++;
if (index == node.length - 1) {
//处理最后一项菜单还有children、无法返回上一层的情况
deltaLvl++; //记录的是“最后一项有children”的层级的累计数量
}
temp.children = processNode(item.children);
} else if (index == (node.length - 1)) { //当前层级已处理到最后一项、且最后一项无children时返回
} else if (index == node.length - 1) {
//当前层级已处理到最后一项、且最后一项无children时返回
level -= deltaLvl;
ids.splice(deltaLvl*-1, deltaLvl); //返回后,摘出ids里对应数量的层级数
deltaLvl = 1
ids.splice(deltaLvl * -1, deltaLvl); //返回后,摘出ids里对应数量的层级数
deltaLvl = 1;
}
arr.push(temp);
});
@ -70,8 +72,8 @@ let routes = [
{
path: "/index",
name: "index",
redirect:{
path:"/home"
redirect: {
path: "/home",
},
component: () => import("@/views/JiHeExpressway/index"),
// children: childrenRoutes
@ -80,11 +82,11 @@ let routes = [
{
path: "/",
name: "root",
redirect:{
path:"/home"
}
redirect: {
path: "/home",
},
},
...constantRoutes
...constantRoutes,
];
export default new Router({
base: "/",

5
ruoyi-ui/src/views/JiHeExpressway/components/TimeLine/TimeLine1/index.vue

@ -230,7 +230,8 @@ div.auto-size {
.top-label {
line-height: 12px;
height: 20px;
height: 60px;
font-size: 12px;
text-align: center;
}
@ -240,7 +241,7 @@ div.auto-size {
justify-content: center;
gap: 6px;
position: relative;
margin-top: 5px;
// margin-top: 5px;
.circle {
border: 1px solid var(--active-color, #39d5bf);

38
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/DispatchLiaison/StatsDialogVisible/index.vue

@ -22,11 +22,13 @@
</el-table-column>
<el-table-column label="人员" align="center">
<template slot-scope="scope">
<el-checkbox-group v-model="form.personnel">
<el-checkbox-group v-model="form.employees">
<el-checkbox
v-for="item in scope.row.shiftsMap"
:label="item.shiftsName"
></el-checkbox>
v-for="item in scope.row.employeesMap"
:key="item.id"
:label="item.id"
>{{ item.name }}</el-checkbox
>
</el-checkbox-group>
<!-- <span v-for="item in scope.row.shiftsMap">
{{ item.shiftsName }}</span
@ -38,8 +40,10 @@
<el-checkbox-group v-model="form.vehicle">
<el-checkbox
v-for="item in scope.row.vehiclesMap"
:label="item.vehiclePlate + ' -' + item.vehicleText"
></el-checkbox>
:key="item.id"
:label="item.id"
>{{ item.vehiclePlate + item.vehicleText }}</el-checkbox
>
</el-checkbox-group>
<!-- <span v-for="item in scope.row.vehiclesMap">
{{ item.vehiclePlate }}</span
@ -57,7 +61,7 @@
>
取消
</Button>
<Button @click.native="handleSubmit" :loading="submitting"> 确定 </Button>
<Button @click.native="handleSubmit" :loading="submitting"> 确定</Button>
</template>
</Dialog>
</template>
@ -66,9 +70,8 @@
import Dialog from "@screen/components/Dialog/index";
import InputSearch from "@screen/components/InputSearch/index.vue";
import Table from "@screen/components/Table.vue";
import { selectTollStation } from "@/api/event/governanceAnalysis";
import request from "@/utils/request";
import Button from "@screen/components/Buttons/Button.vue";
import { postUpdateSource } from "@/api/commandDispatch";
export default {
name: "StatsDetail",
components: {
@ -84,10 +87,18 @@ export default {
props: {
visible: Boolean,
data: Array,
employees: Array,
vehicle: Array,
id: Number,
},
data() {
return {
form: { personnel: [], vehicle: [] },
form: {
dispatchId: this.id,
employees: this.employees,
vehicle: this.vehicle,
},
submitting: false,
};
},
computed: {
@ -102,7 +113,12 @@ export default {
},
methods: {
handleSubmit() {},
handleSubmit() {
this.form.dispatchId = this.id;
postUpdateSource(this.form).then((res) => {
this.$emit("handleRefresh");
});
},
},
mounted() {},
};

139
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/DispatchLiaison/index.vue

@ -8,58 +8,49 @@
<div class="dispatch-content">
<div class="dispatch-item">
<span class="label">业务单位</span>
<span class="value">{{
dispatchData.deptName ? dispatchData.deptName : "-"
}}</span>
<div class="value">
{{ dispatchData.deptName ? dispatchData.deptName : "-" }}
</div>
</div>
<div class="dispatch-item">
<span class="label">值班领导</span>
<span class="value" v-for="item in dispatchData.shifts">
姓名{{ item.shiftsName ? item.shiftsName : "-" }} 电话{{
item.shiftsNumber ? item.shiftsNumber : "-"
}}</span
>
<!-- <div>
<span class="label">手机号</span>
<span class="value">{{
dispatchData.shiftsNumber ? dispatchData.shiftsNumber : "-"
}}</span>
</div> -->
</div>
<div class="dispatch-item">
<span class="label">调度人员</span>
<span class="value" v-for="item in dispatchData.shiftsMap">{{
dispatchData.shiftsMap.length > 0 ? item.shiftsName : "-"
}}</span>
<div class="value">
<div v-for="item in dispatchData.shifts" class="value-item">
<span class="shiftsName">{{ item.shiftsName }}</span>
<span class="shiftsNumber">{{ item.shiftsNumber }}</span>
<span class="scheduling">
{{ item.scheduling == 1 ? "白班" : "夜班" }}</span
>
</div>
</div>
</div>
<div class="dispatch-item">
<div>
<span class="label">路管人员</span>
<span class="value">{{
dispatchData.name ? dispatchData.name : "-"
}}</span>
</div>
<div>
<span class="label">手机号</span>
<span class="value">{{
dispatchData.contactNumber ? dispatchData.contactNumber : "-"
}}</span>
<span class="label">路管人员</span>
<div class="value">
<div v-for="item in staff" class="value-item">
<span class="shiftsName">{{ item.resourceName }}</span>
<span class="shiftsNumber">{{ item.resourceValue }}</span>
</div>
</div>
</div>
<div class="dispatch-item">
<span class="label">救援车辆 </span>
<span class="value" v-for="item in dispatchData.vehiclesMap">{{
dispatchData.vehiclesMap.length > 0
? item.vehiclePlate + item.vehicleText
: "-"
}}</span>
<span class="label">救援车辆</span>
<div class="value">
<div v-for="item in vehicle" class="value-item">
<span class="shiftsName">{{ item.resourceValue }}</span>
<span class="shiftsNumber">{{ item.vehicleText }}</span>
</div>
</div>
</div>
</div>
<StatsDialogVisible
:visible="statsDialogVisible"
:data="dispatchList"
:employees="employeesChoice"
:vehicle="vehiclesChoice"
:id="dispatchData.id"
@update:value="handleClose"
@handleRefresh="getCommandDispatch"
/>
</Card>
</template>
@ -87,12 +78,15 @@ export default {
dispatchData: [],
dispatchList: [],
vehicleTypeList: [],
staff: [],
vehicle: [],
statsDialogVisible: false,
employeesChoice: [],
vehiclesChoice: [],
};
},
methods: {
handleClick() {
console.log("-------");
this.statsDialogVisible = true;
},
handleClose() {
@ -104,20 +98,39 @@ export default {
id: "96b9918efc01488cb22fa1d9d3236dfd",
};
postCommandDispatch(data).then((res) => {
// res.data.forEach((element) => {
// if (element.vehiclesMap.length > 0) {
// element.vehiclesMap.forEach((item) => {
// this.vehicleTypeList.forEach((i) => {
// if (item.vehicleType == i.dictValue) {
// item.vehicleText = "" + i.dictLabel + "";
// }
// });
// });
// }
// });
// this.dispatchList = res.data;
res.data.listData?.forEach((element) => {
if (element.vehiclesMap.length > 0) {
element.vehiclesMap.forEach((item) => {
this.vehicleTypeList.forEach((i) => {
if (item.vehicleType == i.dictValue) {
item.vehicleText = "(" + i.dictLabel + ")";
}
});
});
}
});
this.dispatchList = res.data.listData;
this.dispatchData = res.data.resource;
console.log(" this.dispatchData", this.dispatchData);
res.data.resource.resource.forEach((element) => {
if (element.dispatchType == 1) {
this.staff.push(element);
} else {
this.vehicle.push(element);
}
});
this.vehicleTypeList.forEach((i) => {
this.vehicle.forEach((item) => {
if (item.resourceName == i.dictValue) {
item.vehicleText = "(" + i.dictLabel + ")";
}
});
});
res.data.employeesChoice.forEach((element) => {
this.employeesChoice.push(element.id);
});
res.data.vehiclesChoice.forEach((element) => {
this.vehiclesChoice.push(element.id);
});
});
},
getVehicleTypeList() {
@ -157,16 +170,28 @@ export default {
width: 100%;
align-items: flex-start;
margin: 15px 0;
div {
width: 50%;
}
.label {
font-size: 14px;
font-size: 13px;
color: #38d2e7;
}
.value {
font-size: 14px;
width: 85%;
font-size: 13px;
color: #fff;
display: flex;
flex-wrap: wrap;
.value-item {
width: 50%;
margin-bottom: 5px;
.scheduling {
margin-left: 5px;
}
// display: flex;
// .name {
// width: 50px;
// }
}
}
}
}

356
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/DisposalProcess/DialogVisible/index.vue

@ -1,356 +0,0 @@
<template>
<Dialog v-model="modelVisible" title="收费站管制统计" style="width: 100%">
</Dialog>
</template>
<script>
import Dialog from "@screen/components/Dialog/index";
import InputSearch from "@screen/components/InputSearch/index.vue";
import Table from "@screen/components/Table.vue";
import { selectTollStation } from "@/api/event/governanceAnalysis";
import request from "@/utils/request";
export default {
name: "StatsDetail",
components: {
Dialog,
InputSearch,
Table,
},
model: {
prop: "visible",
event: "update:value",
},
props: {
visible: Boolean,
},
data() {
return {
num: 0,
tableData: [],
weatherNum: [],
startTime: "",
endTime: "",
pickerOptions: {
disabledDate(time) {
return time.getTime() > Date.now();
},
},
searchType: 1,
controlType: 1,
facilityIds: [],
facilityTableData: [],
searchFormList: [
{
label: "查询条件:",
key: "searchType",
required: true,
isAlone: true,
type: "RadioGroup",
default: 1,
options: {
type: "circle",
options: [
{
key: 1,
label: "站点",
},
{
key: 2,
label: "原因",
},
],
},
},
{
label: "事件类型:",
key: "controlType",
required: true,
isAlone: true,
type: "RadioGroup",
visible: (data) => {
if (data.searchType == 2) {
return true;
}
},
default: 1,
options: {
type: "circle",
options: [
{
key: 1,
label: "收费站封闭",
},
{
key: 2,
label: "收费站限行",
},
],
},
},
{
label: "选择站点:",
key: "facilityId",
required: true,
type: "Select",
options: {
multiple: true,
options: [],
},
default: [],
visible: (data) => {
if (data.searchType == 1) {
return true;
}
},
},
{
label: "日期:",
key: "date",
required: true,
type: "datePicker",
default: "",
options: {
pickerOptions: {
disabledDate(time) {
return time.getTime() > Date.now();
},
},
valueFormat: "yyyy-MM-dd",
type: "daterange",
},
},
],
queryParams: {},
};
},
computed: {
modelVisible: {
get() {
return this.visible;
},
set(val) {
this.$emit("update:value", val);
},
},
},
methods: {
getFacilityList() {
Promise.allSettled([
//
request({
url: `/business/facility/query`,
method: "get",
}),
]).then((res) => {
if (res[0].status === "fulfilled" && res[0].value.code == 200) {
// this.searchFormList[2].options.options = res[0].value.data.map(
// (item) => ({
// key: item.id,
// label: item.facilityName,
// })
// );
let dataList = [];
res[0].value.data.forEach((item) => {
if (item.facilityType == 1) {
dataList.push({
key: item.id,
label: item.facilityName,
});
}
});
this.searchFormList[2].options.options = dataList;
this.facilityIds = res[0].value.data.map((item) => item.id);
this.searchFormList[2].default = dataList.map((item) => item.key);
console.log(56, this.searchFormList[2].default);
let currentMonth = moment().format("YYYY-MM");
let currentDate = moment().format("YYYY-MM-DD");
this.queryParams = {
searchType: 1,
facilityId: this.facilityIds,
date: [currentMonth + "-01", currentDate],
};
this.searchFormList[3].default = [currentMonth + "-01", currentDate];
this.getSelectTollStation(this.queryParams);
}
});
},
// handleResetForm(data) {
// this.getSelectTollStation(data);
// },
handleSearch(data, value) {
console.log(888, data, value);
if (value == "reset") {
data = this.queryParams;
}
this.getSelectTollStation(data);
},
arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (this.searchType == 2) {
if (!row.causeTypeName) {
if (columnIndex === 0) {
return [1, 2];
} else if (columnIndex === 1) {
return [0, 0];
}
}
if (row.controlCauseName === "恶劣天气") {
if (columnIndex === 0) {
console.log(this.weatherNum.length);
if (rowIndex === 0) {
return [this.weatherNum.length, 1];
} else if (rowIndex <= this.weatherNum.length) {
return [0, 0];
}
// if (rowIndex === 2) {
// return [7, 1];
// }
// else if (rowIndex === 3) {
// return [0, 0];
// } else if (rowIndex === 4) {
// return [0, 0];
// }
// else if (rowIndex === 5) {
// return [0, 0];
// }
// else if (rowIndex === 6) {
// return [0, 0];
// }
// else if (rowIndex === 7) {
// return [0, 0];
// }
// else if (rowIndex === 8) {
// return [0, 0];
// }
}
// this.weatherNum = 0
}
}
},
getSelectTollStation(data) {
let startTime = "";
let endTime = "";
if (data) {
startTime = data.date[0] + " 00:00:00";
endTime = data.date[1] + " 23:59:59";
} else {
startTime = new Date("2024-01-01 11:12:21");
startTime = new Date("2024-01-26 11:12:36");
}
var formData = new FormData();
this.searchType = data.searchType;
this.controlType = data.controlType;
if (data.searchType == 1) {
formData.append("facilityId", data.facilityId);
} else {
formData.append("controlType", data.controlType);
}
formData.append("searchType", data.searchType);
formData.append("startTime", startTime);
formData.append("endTime", endTime);
let weatherData = [];
let otherData = [];
selectTollStation(formData).then((res) => {
if (data.searchType == 2) {
this.weatherNum = [];
res.data.forEach((item) => {
if (item.causeTypeName) {
this.weatherNum.push(item.causeTypeName);
weatherData.push(item);
} else {
otherData.push(item);
}
});
this.tableData = weatherData.concat(otherData);
} else {
res.data.forEach((item) => {
item.total =
item.facilityClose +
item.facilityRestriction +
item.facilityInterval;
});
this.facilityTableData = res.data;
}
});
},
},
mounted() {
this.getFacilityList();
},
};
</script>
<style lang="scss" scoped>
.dialog {
min-height: 800px;
}
.search {
display: flex;
flex-direction: row-reverse;
}
::v-deep .is-scrolling-none {
background: #0b6581;
}
::v-deep .el-table__empty-text {
color: #3ae0f8;
}
.StatsDetail {
// height: 770px;
margin: 20px 0;
width: 100%;
display: flex;
gap: 5px;
}
.el-table {
border: 1px solid #07aec6;
background: #0b6581;
}
::v-deep .el-table .el-table__header-wrapper th,
.el-table .el-table__fixed-header-wrapper th {
background: #0b6581;
border: 1px solid #07aec6;
}
::v-deep .el-table th.el-table__cell > .cell {
color: #3de8ff;
}
::v-deep .el-table thead.is-group th.el-table__cell {
background: #0b6581;
border: 1px solid #07aec6;
}
// ::v-deep .el-table th.el-table__cell.is-leaf,
::v-deep .el-table td.el-table__cell {
border: 1px solid #07aec6;
background: #1b586d;
color: #fff;
}
::v-deep .el-table tr {
border: 1px solid #07aec6;
background-color: #0b6581;
}
::v-deep
.el-table--enable-row-hover
.el-table__body
tr:hover
> td.el-table__cell {
background: #1b586d;
border: 1px solid #07aec6;
}
::v-deep .el-table::before,
.el-table--group::after,
.el-table--border::after {
background: none;
}
</style>

12
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/DisposalProcess/index.vue

@ -75,11 +75,11 @@
</ButtonGradient> -->
</div>
</Card>
<DialogVisible
<!-- <DialogVisible
:visible="dialogVisible"
:data="dispatchList"
@update:value="handleClose"
/>
/> -->
</template>
<script>
@ -89,7 +89,7 @@ import RadioGroup from "@screen/components/FormConfig/components/RadioGroup/inde
import { getToken } from "@/utils/auth";
import TimeLine1 from "@screen/components/TimeLine/TimeLine1/index";
import TimeLine2 from "@screen/components/TimeLine/TimeLine2/index";
import DialogVisible from "./DialogVisible/index.vue";
// import DialogVisible from "./DialogVisible/index.vue";
import {
getProcessNode,
getProcessList,
@ -112,7 +112,7 @@ export default {
TimeLine1,
TimeLine2,
RadioGroup,
DialogVisible,
// DialogVisible,
},
emit: ["fullHeight"],
data() {
@ -217,7 +217,7 @@ export default {
postProcess(data).then((result) => {
if (result.code != 200) return [];
this.getProcess();
this.detailChange(this.eventId);
// this.detailChange(this.eventId);
});
} else {
this.$message.warning("调度指令不能为空");
@ -252,7 +252,7 @@ export default {
},
async mounted() {
this.getProcess();
await this.detailChange(this.eventId);
// await this.detailChange(this.eventId);
},
};
</script>

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

@ -11,7 +11,7 @@ export const provideMixin = {
if (!data) return;
this.detailData = data;
this.detailChange?.(data);
this.detailChange?.(data.eventId);
},
immediate: true,
},

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

@ -1,46 +1,109 @@
<template>
<Dialog v-model="modelVisible" title="事件详情" width="890px" top="11%">
<div class="EventDetail" :style="{
height: activeName == '-1' || activeName == '0' ? '380px' : '598px',
}">
<div
class="EventDetail"
:style="{
height: activeName == '-1' || activeName == '0' ? '380px' : '598px',
}"
>
<Form :formList="formList" :dFormData="formData" label-width="100px" />
<div class="video-pic" :style="{ height: formData.component === 'VideoMulti' ? '220px' : undefined }">
<div
class="video-pic"
:style="{
height: formData.component === 'VideoMulti' ? '220px' : undefined,
}"
>
<component
:is="formData.component"
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"
/>
<component :is="formData.component" 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" />
<component :is="formData.component" 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="[]" />
<component
:is="formData.component"
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>{{ formData.videoList[0] }}</div> -->
<TimeLine1 v-if="activeName == '1' || activeName == '2'" :data="timeLine1List" />
<TimeLine2 v-if="activeName == '1' || activeName == '2'" :data="timeLine2List" style="flex: 1" />
<TimeLine1
v-if="activeName == '1' || activeName == '2'"
:data="timeLine1List"
/>
<TimeLine2
v-if="activeName == '1' || activeName == '2'"
:data="timeLine2List"
style="flex: 1"
/>
</div>
<!-- 确认弹窗 -->
<EventPlanDialog :visible="isShowDialog" :info="info" :eventFormData="formData" :activeName="activeName"
@reInitData="() => {
this.$emit('update:value', false);
this.$emit('queryData', true);
}
" @close="onCloseAddNew" />
<EventPlanDialog
:visible="isShowDialog"
:info="info"
:eventFormData="formData"
:activeName="activeName"
@reInitData="
() => {
this.$emit('update:value', false);
this.$emit('queryData', true);
}
"
@close="onCloseAddNew"
/>
<template #footer>
<Button v-if="activeName == '-1' || activeName == '0'" style="padding: 0 24px"
@click.native="onDelete">误报</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>
<Button
v-if="activeName == '-1' || activeName == '0'"
style="padding: 0 24px"
@click.native="onDelete"
>误报</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>
</Dialog>
</template>
@ -83,7 +146,7 @@ export default {
activeName: String,
formData: {
type: Object,
default: () => { },
default: () => {},
},
},
data() {

4
ruoyi-ui/vue.config.js

@ -52,8 +52,8 @@ module.exports = {
// target: `http://10.0.81.204:8087`, //现场后台 刘文阁
// target: `http://10.168.69.255:8087`, //正晨后台 连现场物联 刘文阁
// target: `http://10.168.78.135:8087`, //王钦
// target: `http://10.168.66.196:8087`, //正晨后台 连现场物联 刘文阁2
target: `http://10.168.68.42:8087`, //王思祥
target: `http://10.168.66.196:8087`, //正晨后台 连现场物联 刘文阁2
// target: `http://10.168.68.42:8087`, //王思祥
// target: `http://10.168.65.194:8087`, //赵祥龙
// target: `http://10.168.65.156:8097`, //孟
// target: `http://10.168.56.165:8087`, //王家宝

Loading…
Cancel
Save