| | |
| | | placeholder="请输入事件处理详情" |
| | | :rows="4" |
| | | :maxlength="200" |
| | | show-word-limit |
| | | show-word-limit |
| | | style="width: 100%; margin-bottom: 10px" |
| | | :disabled="!isCurrentUserAssigned" |
| | | /> |
| | |
| | | import { ElMessage} from 'element-plus'; |
| | | const store = useStore() |
| | | const userInfo = computed(() => store.state.user.userInfo) |
| | | const isLoading = ref(false); |
| | | // console.log('userInfo',userInfo.value); |
| | | // 定义props |
| | | const props = defineProps({ |
| | |
| | | () => props.currentDetail, |
| | | (newVal) => { |
| | | if (newVal && dialogVisible.value) { |
| | | loadStepInfo(); |
| | | initMap(); |
| | | isLoading.value = true; |
| | | setTimeout(() => { |
| | | loadStepInfo(); |
| | | initMap(); |
| | | isLoading.value = false; |
| | | }, 50); |
| | | |
| | | } |
| | | }, |
| | | { deep: true } |
| | |
| | | const handleComplete = async () => { |
| | | if (completeLoading.value) return; |
| | | completeLoading.value = true; |
| | | |
| | | try { |
| | | if (!props.currentDetail.processingDetail) { |
| | | ElMessage.warning('请先填写事件处理详情'); |
| | | completeLoading.value = false; |
| | | return; |
| | | } |
| | | |
| | |
| | | completeLoading.value = false; |
| | | return; |
| | | } |
| | | |
| | | try { |
| | | const data = { |
| | | id: props.currentDetail.id, |
| | | status: props.currentDetail.status, |
| | | processingDetails: props.currentDetail.processingDetail, |
| | | eventNum: props.currentDetail.orderNumber, |
| | | }; |
| | | |
| | | const file = props.currentDetail.photos?.[0]?.raw || null; |
| | | |
| | | const response = await flowEvent(data, file); |
| | | |
| | | if (response.data.code === 0) { |
| | | ElMessage.success('工单已完成'); |
| | | emit('detail-success'); |
| | |
| | | |
| | | <style lang="scss"> |
| | | .custom-dialog { |
| | | max-height: 96vh; |
| | | transition: max-height 0.3s ease-out; |
| | | height: 96vh; |
| | | .el-dialog__body { |
| | | border-top: 0.1rem solid #f0f0f0; |
| | | overflow: hidden; |
| | |
| | | |
| | | .step-timer { |
| | | position: absolute; |
| | | right: 80%; |
| | | right: 92%; |
| | | top: 50%; |
| | | transform: translateY(-50%); |
| | | width: 100px; |
| | | margin-left: 4px; |
| | | min-width: 100px; |
| | | |
| | | color: #666; |
| | | font-size: 12px; |
| | | white-space: nowrap; |
| | | } |
| | | |
| | | .event-total-time { |
| | |
| | | } |
| | | |
| | | .PopUpTableScrolls { |
| | | max-height: calc(100vh - 380px); |
| | | max-height: calc(100vh - 370px); |
| | | min-height: 200px; |
| | | overflow-y: auto; |
| | | overflow-x: hidden; |
| | | padding-bottom: 30px; |
| | | scrollbar-width: thin; |
| | | // scrollbar-width: thin; |
| | | } |
| | | .media-box { |
| | | width: 100%; |