|
@ -80,11 +80,7 @@ |
|
|
<a-col :span="24"> |
|
|
<a-col :span="24"> |
|
|
<div |
|
|
<div |
|
|
><span class="titleLabel">故障图片:</span> |
|
|
><span class="titleLabel">故障图片:</span> |
|
|
<a-upload |
|
|
<a-upload v-model:file-list="fileLists" disabled> </a-upload> |
|
|
v-model:file-list="fileLists" |
|
|
|
|
|
disabled |
|
|
|
|
|
> |
|
|
|
|
|
</a-upload> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</a-col> |
|
|
</a-col> |
|
|
</a-row> |
|
|
</a-row> |
|
@ -122,11 +118,7 @@ |
|
|
<a-col :span="24"> |
|
|
<a-col :span="24"> |
|
|
<div |
|
|
<div |
|
|
><span class="titleLabel">处理图片:</span> |
|
|
><span class="titleLabel">处理图片:</span> |
|
|
<a-upload |
|
|
<a-upload v-model:file-list="fileLists1" disabled> </a-upload> |
|
|
v-model:file-list="fileLists1" |
|
|
|
|
|
disabled |
|
|
|
|
|
> |
|
|
|
|
|
</a-upload> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</a-col> |
|
|
</a-col> |
|
|
</a-row> |
|
|
</a-row> |
|
@ -135,23 +127,25 @@ |
|
|
<div style="margin-left: 20px"> |
|
|
<div style="margin-left: 20px"> |
|
|
<a-timeline> |
|
|
<a-timeline> |
|
|
<a-timeline-item v-for="(item, index) in progress" :key="index"> |
|
|
<a-timeline-item v-for="(item, index) in progress" :key="index"> |
|
|
<template #dot><span class="stage">{{ item.stage }}</span></template> |
|
|
<template #dot |
|
|
|
|
|
><span class="stage">{{ item.stage }}</span></template |
|
|
|
|
|
> |
|
|
<div class="timeText" |
|
|
<div class="timeText" |
|
|
><span class="person">{{ item.operator }}</span |
|
|
><span class="person">{{ item.operator }}</span |
|
|
>{{ item.description }}</div |
|
|
>{{ item.description }}</div |
|
|
> |
|
|
> |
|
|
<div class="timeText">{{ item.feedback }}</div> |
|
|
<div class="timeText">{{ item.feedback }}</div> |
|
|
<div class="operationTime">{{ item.operationTime }}</div> |
|
|
<div class="operationTime">{{ item.operationTime }}</div> |
|
|
<div class="duration" v-if="item.duration"> <Icon icon="ant-design:dashboard-outlined" />用时{{item.duration}}</div> |
|
|
<div class="duration" v-if="item.duration"> |
|
|
|
|
|
<Icon icon="ant-design:dashboard-outlined" />用时{{ item.duration }}</div |
|
|
|
|
|
> |
|
|
<a-divider></a-divider> |
|
|
<a-divider></a-divider> |
|
|
</a-timeline-item> |
|
|
</a-timeline-item> |
|
|
|
|
|
|
|
|
</a-timeline> |
|
|
</a-timeline> |
|
|
</div> |
|
|
</div> |
|
|
</a-tab-pane> |
|
|
</a-tab-pane> |
|
|
<a-tab-pane key="4" tab="历史信息"> |
|
|
<a-tab-pane key="4" tab="历史信息"> |
|
|
<a-table :dataSource="progress" :columns="historyColumns" bordered> |
|
|
<a-table :dataSource="progress" :columns="historyColumns" bordered> </a-table> |
|
|
</a-table> |
|
|
|
|
|
</a-tab-pane> |
|
|
</a-tab-pane> |
|
|
<a-tab-pane key="5" tab="延期信息"> |
|
|
<a-tab-pane key="5" tab="延期信息"> |
|
|
<a-table :dataSource="delayInfo" :columns="delayColumns" bordered> |
|
|
<a-table :dataSource="delayInfo" :columns="delayColumns" bordered> |
|
@ -203,8 +197,8 @@ |
|
|
cost: '', |
|
|
cost: '', |
|
|
attachments: '', |
|
|
attachments: '', |
|
|
}); |
|
|
}); |
|
|
const fileLists = ref([]) |
|
|
const fileLists = ref([]); |
|
|
const fileLists1 = ref([]) |
|
|
const fileLists1 = ref([]); |
|
|
const progress = ref([]); |
|
|
const progress = ref([]); |
|
|
const statusOptions = [ |
|
|
const statusOptions = [ |
|
|
{ |
|
|
{ |
|
@ -227,6 +221,14 @@ |
|
|
label: '作废', |
|
|
label: '作废', |
|
|
value: 8, |
|
|
value: 8, |
|
|
}, |
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
label: '待接单(派遣)', |
|
|
|
|
|
value: 9, |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
label: '待接单(转派)', |
|
|
|
|
|
value: 10, |
|
|
|
|
|
}, |
|
|
{ |
|
|
{ |
|
|
label: '运维单位处理时回退至派遣', |
|
|
label: '运维单位处理时回退至派遣', |
|
|
value: 3, |
|
|
value: 3, |
|
@ -299,8 +301,8 @@ |
|
|
const visible = ref(false); |
|
|
const visible = ref(false); |
|
|
const showDrawer = async (id) => { |
|
|
const showDrawer = async (id) => { |
|
|
visible.value = true; |
|
|
visible.value = true; |
|
|
fileLists.value= [] |
|
|
fileLists.value = []; |
|
|
fileLists1.value= [] |
|
|
fileLists1.value = []; |
|
|
const data = await getInfo(id); |
|
|
const data = await getInfo(id); |
|
|
for (let i in detail) { |
|
|
for (let i in detail) { |
|
|
detail[i] = data[i]; |
|
|
detail[i] = data[i]; |
|
@ -343,7 +345,7 @@ |
|
|
const onClose = () => { |
|
|
const onClose = () => { |
|
|
visible.value = false; |
|
|
visible.value = false; |
|
|
for (let i in dealDetail) { |
|
|
for (let i in dealDetail) { |
|
|
dealDetail[i] = '' |
|
|
dealDetail[i] = ''; |
|
|
} |
|
|
} |
|
|
map.value?.destroy(); |
|
|
map.value?.destroy(); |
|
|
}; |
|
|
}; |
|
@ -389,7 +391,7 @@ |
|
|
statusText, |
|
|
statusText, |
|
|
progress, |
|
|
progress, |
|
|
fileLists, |
|
|
fileLists, |
|
|
fileLists1 |
|
|
fileLists1, |
|
|
}; |
|
|
}; |
|
|
}, |
|
|
}, |
|
|
}); |
|
|
}); |
|
@ -420,7 +422,7 @@ |
|
|
.operationTime { |
|
|
.operationTime { |
|
|
color: gray; |
|
|
color: gray; |
|
|
font-weight: 550; |
|
|
font-weight: 550; |
|
|
margin-left:80% |
|
|
margin-left: 80%; |
|
|
} |
|
|
} |
|
|
.duration { |
|
|
.duration { |
|
|
color: #00bbff; |
|
|
color: #00bbff; |
|
|