Commit 34845289 authored by liqiuyu's avatar liqiuyu

Merge remote-tracking branch 'remotes/origin/AR/dcTom_myDone_202505' into dev

parents 8bfae5f3 d8c650b5
......@@ -2,18 +2,8 @@
<div class="my-agency">
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item label="事件名称:">
<el-select v-model="formInline.eventNameId"
placeholder="请选择"
style="width: 280px"
>
<el-option
v-for="(item, index) in basicConfiguration.ticketEventName"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
<el-input v-model="formInline.eventName">
</el-input>
</el-form-item>
<el-form-item label="发生位置:">
<el-input v-model="formInline.keyword" placeholder="请输入"></el-input>
......@@ -39,8 +29,8 @@
<el-option
v-for="(item, index) in basicConfiguration.deviceList"
index="item.id"
:label="item.name"
:value="item.id"
:label="item.desc"
:value="item.code"
>
</el-option>
</el-select>
......@@ -389,14 +379,14 @@
<div class="demo-image__preview">
<div
class="image-preview"
v-for="(item, index) in alarmImags"
v-for="(item, index) in alarmImg"
:key="index"
>
<el-image
style="width: 100px; height: 100px"
:lazy="true"
:src="item"
:preview-src-list="alarmImags"
:preview-src-list="alarmImg"
></el-image>
</div>
</div>
......@@ -614,7 +604,7 @@ import { storeToRefs } from 'pinia'
import { useUsersStore } from "@/pinia/user.js";
const { functionAuthority } = storeToRefs(useUsersStore());
const formInline = ref({
eventNameId: '',
eventName: '',
keyword: '',
warnType: '',
branchFactoryIds: '',
......@@ -779,7 +769,7 @@ const onSearch = ()=> {
const onReset =()=> {
currentPage.value = 1;
pageSize.value = 20;
formInline.value.eventNameId = '';
formInline.value.eventName = '';
formInline.value.keyword = '';
formInline.value.branchFactoryIds = '';
formInline.value.deviceType = '';
......@@ -974,13 +964,19 @@ const getWarnAndTicketConfigMap = ()=> {
}
getDataFun(url,params).then(res => {
if (res && res.code === 1) {
const { ticketEventName, deviceType} = res.data;
const { ticketEventName } = res.data;
basicConfiguration.ticketEventName = basicConfiguration.ticketEventName.concat(ticketEventName);
basicConfiguration.deviceList = deviceType;
}
});
};
const getDeviceType =() => {
const url = '/alarm/getDeviceType';
getData(url).then(res=>{
basicConfiguration.deviceList = res.data;
});
}
let realBtn = '';
const searchData =()=> {
......@@ -1004,7 +1000,7 @@ const searchData =()=> {
const getTableData = ()=> {
let keyWord = formInline.value.keyword?.replace(/#/g, '%23');
const params = {
eventNameId: formInline.value.eventNameId,
eventName: formInline.value.eventName,
warnType: formInline.value.warnType,
createStartTime: formInline.value.createTime[0],
createEndTime: formInline.value.createTime[1],
......@@ -1014,6 +1010,7 @@ const getTableData = ()=> {
pageSize: pageSize.value,
handleState: 1,
belongTo: 1,
isDctom: 1,
deviceType: formInline.value.deviceType
}
tableData.value = [];
......@@ -1071,7 +1068,7 @@ const srcList = ref([]);
const dialogReason = ref('');
const dialogMeasure = ref('');
const imgUrlList = ref([]);
const alarmImags = ref([]);
const alarmImg = ref([]);
const disposeWorkSheetDetail = (obj)=> {
const {
reason,
......@@ -1085,6 +1082,8 @@ const disposeWorkSheetDetail = (obj)=> {
if (forwards.length > 0) {
let receiveUserItem = forwards.slice(-1)[0];
}
dialogMeasure.value = '';
dialogMeasure.value = '';
srcList.value = [];
imgUrlList.value = [];
......@@ -1096,7 +1095,7 @@ const disposeWorkSheetDetail = (obj)=> {
}
if (alarmImags && alarmImags.length) {
for (let item of alarmImags) {
alarmImags.push(item.imageUrl);
alarmImg.value.push(item.imageUrl);
}
}
if (imgUrl) {
......@@ -1107,6 +1106,7 @@ const disposeWorkSheetDetail = (obj)=> {
onMounted(()=>{
getBranchTypeList();
getWarnAndTicketConfigMap();
getDeviceType();
searchData();
});
......@@ -1264,6 +1264,267 @@ const handlePaginationChange = (pagination) => {
height: auto;
}
}
.improve-situation {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 50px;
.improve-situation-item {
width: 310px;
height: 71px;
border-radius: 2px;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 28px;
font-size: 24px;
font-weight: 500;
color: #ffffff;
line-height: 33px;
&:first-child {
background: linear-gradient(
225deg,
rgba(255, 133, 128, 0.65) 0%,
rgba(255, 58, 71, 0.61) 100%,
#0049fa 100%
);
}
&:last-child {
background: linear-gradient(
225deg,
rgba(128, 255, 178, 0.65) 0%,
rgba(58, 120, 255, 0.61) 100%,
#0049fa 100%
);
}
.road-cleanliness-index {
display: flex;
flex-direction: column;
align-content: center;
justify-content: center;
.name {
font-size: 14px;
}
}
.star {
display: flex;
align-items: center;
justify-content: center;
span {
margin-right: 5px;
}
}
.value {
padding-right: 30px;
span {
font-size: 14px;
font-weight: 400;
}
}
}
}
.tips-content {
display: flex;
align-items: center;
flex-wrap: wrap;
padding: 0px 50px;
.content-item {
width: 50%;
font-size: 14px;
font-weight: 400;
color: #3b3b3b;
line-height: 19px;
min-height: 34px;
display: flex;
.value {
color: #ff7373;
font-size: 15px;
}
}
}
.leged-bg {
position: fixed;
left: 0;
right: 0;
width: 100%;
height: 600px;
background-color: rgba(0, 0, 0, 0.3);
.leged-wrap {
width: 300px;
height: 300px;
background-color: #fff;
}
}
.processing-records {
display: flex;
align-items: center;
// justify-content: space-between;
padding: 0 40px;
position: relative;
&::before {
content: "";
// width: calc(100% - 220px);
height: 6px;
background: #076d4e;
position: absolute;
left: 50%;
top: 48px;
transform: translate(-50%, -50%);
box-sizing: border-box;
}
.processing-records-item {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
.handler {
min-width: 80px;
// max-width: 110px;
padding: 0 5px;
height: 26px;
text-align: center;
background: #bbeedf;
box-shadow: 0px 10px 5px -7px rgba(33, 179, 134, 0.5);
border: 1px solid #0b5a68;
border-radius: 2px;
line-height: 25px;
font-size: 14px;
font-weight: 400;
color: #0b5a68;
position: relative;
margin-bottom: 10px;
text-overflow: ellipsis;
// overflow: hidden;
white-space: nowrap;
&::before {
content: "";
width: 8px;
height: 8px;
background: #bbeedf;
border-left: 1px solid #0b5a68;
border-bottom: 1px solid #0b5a68;
// transform: rotate3d(90deg);
position: absolute;
left: 50%;
transform: rotate(-45deg) translateX(-50%);
bottom: -2px;
}
}
.circle {
width: 22px;
height: 22px;
background: #ffffff;
box-shadow: 0px 2px 4px 0px rgba(33, 176, 179, 0.43);
border: 1px solid #076d4e;
position: relative;
border-radius: 50%;
&::before {
content: "";
width: 8px;
height: 8px;
background: #0b5a68;
border-radius: 4px;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
}
.header {
width: 50%;
height: 6px;
background: #076d4e;
position: absolute;
box-sizing: border-box;
}
.footer {
width: 50%;
height: 6px;
left: 50%;
background: #076d4e;
position: absolute;
box-sizing: border-box;
}
.steps-line {
top: 45px;
width: 100%;
position: relative;
}
.step-name {
font-size: 12px;
font-weight: 400;
color: #0b5a68;
line-height: 12px;
margin-top: 8px;
font-weight: 500;
}
.partment {
font-size: 14px;
font-weight: 400;
line-height: 12px;
margin-top: 8px;
}
.handler-time {
text-align: center;
font-size: 12px;
font-weight: 400;
color: #606060;
line-height: 14px;
margin-top: 5px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
padding-left: 10px;
padding-right: 10px;
width: 180px;
}
.led-btn {
color: #fff;
}
}
.mb-20 {
margin-bottom: 20px;
}
}
.label-title-content {
width: 90%;
padding-left: 30px;
margin-bottom: 10px;
}
.deal-line-wrap {
overflow: auto;
width: 100%;
}
.qusetion-records {
padding: 5px 20px;
.qusetion-records-item {
text-indent: 10px;
}
}
.demo-image__preview {
margin: 0 50px;
display: flex;
flex-wrap: wrap;
.image-preview {
margin-right: 10px;
margin-bottom: 10px;
}
}
:deep(.el-row) {
margin-bottom: 28px;
}
}
.input-style {
padding-left: 50px;
}
.input-style-text {
padding: 0 50px;
font-size: 14px;
font-weight: 400;
color: #3b3b3b;
line-height: 24px;
}
.default-btn {
......
......@@ -2,18 +2,8 @@
<div class="my-agency">
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item label="事件名称:">
<el-select v-model="formInline.eventNameId"
placeholder="请选择"
style="width: 280px"
>
<el-option
v-for="(item, index) in basicConfiguration.ticketEventName"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
<el-input v-model="formInline.eventName">
</el-input>
</el-form-item>
<el-form-item label="发生位置:">
<el-input v-model="formInline.keyword" placeholder="请输入"></el-input>
......@@ -39,8 +29,8 @@
<el-option
v-for="(item, index) in basicConfiguration.deviceList"
index="item.id"
:label="item.name"
:value="item.id"
:label="item.desc"
:value="item.code"
>
</el-option>
</el-select>
......@@ -371,14 +361,14 @@
<div class="demo-image__preview">
<div
class="image-preview"
v-for="(item, index) in alarmImags"
v-for="(item, index) in alarmImg"
:key="index"
>
<el-image
style="width: 100px; height: 100px"
:lazy="true"
:src="item"
:preview-src-list="alarmImags"
:preview-src-list="alarmImg"
></el-image>
</div>
</div>
......@@ -685,6 +675,7 @@
<common-dialog
:show-dialog="rejectDialog.show"
:title="rejectDialog.title"
:width="rejectDialog.width"
@handleBtn="saveReject"
@close:showDialog="rejectDialog.show = false"
>
......@@ -700,7 +691,7 @@
</el-select>
</el-form-item>
<el-row>
<el-col :span="21">
<el-col :span="24">
<el-input type="textarea" v-model="rejectReason" :autosize="{ minRows: 2, maxRows: 12 }" placeholder="请输入内容">
</el-input>
</el-col>
......@@ -714,12 +705,12 @@
import { ref, reactive, onMounted, onBeforeUnmount,computed } from 'vue'
import CommonTable from "@/components/commonTable/index.vue";
import commonDialog from "./components/dialog.vue";
import { getDataFun, postDataJSON } from '@/request/method.js';
import { getData, getDataFun, postDataJSON } from '@/request/method.js';
import moment from 'moment';
import { getToken } from '@/utils/auth.js';
import { ElMessage } from 'element-plus';
const formInline = ref({
eventNameId: '',
eventName: '',
keyword: '',
warnType: '',
branchFactoryIds: '',
......@@ -737,7 +728,7 @@ const formModel = ref({
const viewDialog = ref({
title: '闭环控制分派',
show: false,
width: '50%',
width: '45%',
});
const viewData = {
......@@ -780,7 +771,7 @@ const warnValueFilter = computed(()=> {
});
const imgUrlList = ref([]);
const alarmImags = ref([]);
const alarmImg = ref([]);
const srcList = ref([]);
const workTicketNo = ref('');
......@@ -791,6 +782,7 @@ const rejectReason = ref('');
const rejectDialog = ref({
title: '驳回申请',
show: false,
width: '35%',
btnGroup: [
{
attrKey: 'save',
......@@ -830,7 +822,7 @@ const onSearch = ()=> {
const onReset =()=> {
currentPage.value = 1;
pageSize.value = 20;
formInline.value.eventNameId = '';
formInline.value.eventName = '';
formInline.value.keyword = '';
formInline.value.branchFactoryIds = '';
formInline.value.deviceType = '';
......@@ -840,11 +832,11 @@ const onReset =()=> {
]
searchData();
}
const personTag = ref([]);
const handleView = async (data) => {
viewDialog.value.title = data.eventName;
let res = await getDetail(data.workTicketNo);
viewDialog.value.show = true;
/*let res = await getDetail(data.workTicketNo);
personTag.value = [];
if (res.handleUsers && res.handleUsers.length > 0) {
res.handleUsers.forEach(item => {
......@@ -856,10 +848,11 @@ const handleView = async (data) => {
});
});
}
disposeWorkSheetDetail(res);*/
disposeWorkSheetDetail(res);
}
const dialogReason = ref('');
const dialogMeasure = ref('');
const disposeWorkSheetDetail = (obj)=> {
const {
reason,
......@@ -873,6 +866,8 @@ const disposeWorkSheetDetail = (obj)=> {
if (forwards.length > 0) {
let receiveUserItem = forwards.slice(-1)[0];
}
dialogMeasure.value = '';
dialogMeasure.value = '';
srcList.value = [];
imgUrlList.value = [];
......@@ -884,7 +879,7 @@ const disposeWorkSheetDetail = (obj)=> {
}
if (alarmImags && alarmImags.length) {
for (let item of alarmImags) {
alarmImags.push(item.imageUrl);
alarmImg.value.push(item.imageUrl);
}
}
if (imgUrl) {
......@@ -1019,9 +1014,8 @@ const getWarnAndTicketConfigMap = ()=> {
}
getDataFun(url,params).then(res => {
if (res && res.code === 1) {
const { ticketEventName, deviceType } = res.data;
const { ticketEventName } = res.data;
basicConfiguration.ticketEventName = basicConfiguration.ticketEventName.concat(ticketEventName);
basicConfiguration.deviceList = deviceType;
}
});
};
......@@ -1049,7 +1043,7 @@ const searchData = ()=>{
const getTableData = ()=> {
let keyWord = formInline.value.keyword?.replace(/#/g, '%23');
const params = {
eventNameId: formInline.value.eventNameId,
eventName: formInline.value.eventName,
warnType: formInline.value.warnType,
createStartTime: formInline.value.createTime[0],
createEndTime: formInline.value.createTime[1],
......@@ -1059,6 +1053,7 @@ const getTableData = ()=> {
pageSize: pageSize.value,
handleState: 2,
belongTo: 1,
isDctom: 1,
deviceType: formInline.value.deviceType
}
tableData.value = [];
......@@ -1111,9 +1106,17 @@ const disposeType = (list)=> {
}
}
const getDeviceType =() => {
const url = '/alarm/getDeviceType';
getData(url).then(res=>{
basicConfiguration.deviceList = res.data;
});
}
onMounted(() => {
getBranchTypeList();
getWarnAndTicketConfigMap();
getDeviceType();
searchData();
});
......@@ -1189,10 +1192,440 @@ const handlePaginationChange = (pagination) => {
top: 6px;
}
}
.improve-situation {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 50px;
.improve-situation-item {
width: 310px;
height: 71px;
border-radius: 2px;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 28px;
font-size: 24px;
font-weight: 500;
color: #ffffff;
line-height: 33px;
&:first-child {
background: linear-gradient(
225deg,
rgba(255, 133, 128, 0.65) 0%,
rgba(255, 58, 71, 0.61) 100%,
#0049fa 100%
);
}
&:last-child {
background: linear-gradient(
225deg,
rgba(128, 255, 178, 0.65) 0%,
rgba(58, 120, 255, 0.61) 100%,
#0049fa 100%
);
}
.road-cleanliness-index {
display: flex;
flex-direction: column;
align-content: center;
justify-content: center;
.name {
font-size: 14px;
}
}
.star {
display: flex;
align-items: center;
justify-content: center;
span {
margin-right: 5px;
}
}
.value {
padding-right: 30px;
span {
font-size: 14px;
font-weight: 400;
}
}
}
}
.tips-content {
display: flex;
align-items: center;
flex-wrap: wrap;
padding: 0px 50px;
.content-item {
width: 50%;
font-size: 14px;
font-weight: 400;
color: #3b3b3b;
line-height: 19px;
min-height: 34px;
display: flex;
.value {
color: #ff7373;
font-size: 15px;
}
}
}
.leged-bg {
position: fixed;
left: 0;
right: 0;
width: 100%;
height: 600px;
background-color: rgba(0, 0, 0, 0.3);
.leged-wrap {
width: 300px;
height: 300px;
background-color: #fff;
}
}
.view-btn {
margin-right: 8px;
cursor: pointer;
}
.form-box {
height: 60vh;
overflow-y: auto;
overflow-x: hidden;
.label-title {
position: relative;
padding-left: 14px;
margin-bottom: 20px;
font-weight: 700;
font-size: 19px;
overflow: hidden;
&::before {
content: "";
width: 4px;
height: 4px;
border-radius: 50%;
background: #1890ff;
position: absolute;
left: 0px;
top: 50%;
transform: translateY(-50%);
}
&::after {
content: "";
width: 100%;
height: 0px;
position: absolute;
border-bottom: dashed 1px rgb(209, 209, 209);
left: 130px;
top: 50%;
transform: translateY(-50%);
}
}
.alarm-content {
display: flex;
align-items: center;
flex-wrap: wrap;
padding: 0px 35px;
.content-item {
width: 50%;
font-size: 14px;
font-weight: 500;
color: #3b3b3b;
line-height: 19px;
min-height: 34px;
display: flex;
.name {
text-align: right;
width: 140px;
margin-right: 10px;
}
.change-style {
width: auto;
}
.value {
color: #000000;
flex: 1;
}
.alarm-value {
color: #ff7373;
}
.cur-alarm-value {
color: #086635;
}
.work-status {
color: #e1971d;
}
}
.new-content-item-style {
width: 100%;
height: auto;
}
}
.improve-situation {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 50px;
.improve-situation-item {
width: 310px;
height: 71px;
border-radius: 2px;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 28px;
font-size: 24px;
font-weight: 500;
color: #ffffff;
line-height: 33px;
&:first-child {
background: linear-gradient(
225deg,
rgba(255, 133, 128, 0.65) 0%,
rgba(255, 58, 71, 0.61) 100%,
#0049fa 100%
);
}
&:last-child {
background: linear-gradient(
225deg,
rgba(128, 255, 178, 0.65) 0%,
rgba(58, 120, 255, 0.61) 100%,
#0049fa 100%
);
}
.road-cleanliness-index {
display: flex;
flex-direction: column;
align-content: center;
justify-content: center;
.name {
font-size: 14px;
}
}
.star {
display: flex;
align-items: center;
justify-content: center;
span {
margin-right: 5px;
}
}
.value {
padding-right: 30px;
span {
font-size: 14px;
font-weight: 400;
}
}
}
}
.tips-content {
display: flex;
align-items: center;
flex-wrap: wrap;
padding: 0px 50px;
.content-item {
width: 50%;
font-size: 14px;
font-weight: 400;
color: #3b3b3b;
line-height: 19px;
min-height: 34px;
display: flex;
.value {
color: #ff7373;
font-size: 15px;
}
}
}
.leged-bg {
position: fixed;
left: 0;
right: 0;
width: 100%;
height: 600px;
background-color: rgba(0, 0, 0, 0.3);
.leged-wrap {
width: 300px;
height: 300px;
background-color: #fff;
}
}
.processing-records {
display: flex;
align-items: center;
// justify-content: space-between;
padding: 0 40px;
position: relative;
&::before {
content: "";
// width: calc(100% - 220px);
height: 6px;
background: #076d4e;
position: absolute;
left: 50%;
top: 48px;
transform: translate(-50%, -50%);
box-sizing: border-box;
}
.processing-records-item {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
.handler {
min-width: 80px;
// max-width: 110px;
padding: 0 5px;
height: 26px;
text-align: center;
background: #bbeedf;
box-shadow: 0px 10px 5px -7px rgba(33, 179, 134, 0.5);
border: 1px solid #0b5a68;
border-radius: 2px;
line-height: 25px;
font-size: 14px;
font-weight: 400;
color: #0b5a68;
position: relative;
margin-bottom: 10px;
text-overflow: ellipsis;
// overflow: hidden;
white-space: nowrap;
&::before {
content: "";
width: 8px;
height: 8px;
background: #bbeedf;
border-left: 1px solid #0b5a68;
border-bottom: 1px solid #0b5a68;
// transform: rotate3d(90deg);
position: absolute;
left: 50%;
transform: rotate(-45deg) translateX(-50%);
bottom: -2px;
}
}
.circle {
width: 22px;
height: 22px;
background: #ffffff;
box-shadow: 0px 2px 4px 0px rgba(33, 176, 179, 0.43);
border: 1px solid #076d4e;
position: relative;
border-radius: 50%;
&::before {
content: "";
width: 8px;
height: 8px;
background: #0b5a68;
border-radius: 4px;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
}
.header {
width: 50%;
height: 6px;
background: #076d4e;
position: absolute;
box-sizing: border-box;
}
.footer {
width: 50%;
height: 6px;
left: 50%;
background: #076d4e;
position: absolute;
box-sizing: border-box;
}
.steps-line {
top: 45px;
width: 100%;
position: relative;
}
.step-name {
font-size: 12px;
font-weight: 400;
color: #0b5a68;
line-height: 12px;
margin-top: 8px;
font-weight: 500;
}
.partment {
font-size: 14px;
font-weight: 400;
line-height: 12px;
margin-top: 8px;
}
.handler-time {
text-align: center;
font-size: 12px;
font-weight: 400;
color: #606060;
line-height: 14px;
margin-top: 5px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
padding-left: 10px;
padding-right: 10px;
width: 180px;
}
.led-btn {
color: #fff;
}
}
.mb-20 {
margin-bottom: 20px;
}
}
.label-title-content {
width: 90%;
padding-left: 30px;
margin-bottom: 10px;
}
.deal-line-wrap {
overflow: auto;
width: 100%;
}
.qusetion-records {
padding: 5px 20px;
.qusetion-records-item {
text-indent: 10px;
}
}
.demo-image__preview {
margin: 0 50px;
display: flex;
flex-wrap: wrap;
.image-preview {
margin-right: 10px;
margin-bottom: 10px;
}
}
:deep(.el-row) {
margin-bottom: 28px;
}
}
:deep(.el-tag) {
margin-right: 10px;
}
.input-style {
padding-left: 50px;
}
.input-style-text {
padding: 0 50px;
font-size: 14px;
font-weight: 400;
color: #3b3b3b;
line-height: 24px;
}
.default-btn {
width: 85px;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment