From 500ddf6571e656f33ef7fe10c570f6345344c989 Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Thu, 01 Feb 2024 15:47:38 +0800
Subject: [PATCH] fix:断线监控
---
src/views/toCarryOutLegislativeReforms/reform/index.vue | 589 +++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 472 insertions(+), 117 deletions(-)
diff --git a/src/views/toCarryOutLegislativeReforms/reform/index.vue b/src/views/toCarryOutLegislativeReforms/reform/index.vue
index f87d627..2019831 100644
--- a/src/views/toCarryOutLegislativeReforms/reform/index.vue
+++ b/src/views/toCarryOutLegislativeReforms/reform/index.vue
@@ -1,36 +1,90 @@
<template>
- <div class="main" v-loading="loading">
+ <div
+ v-loading="loading"
+ class="main"
+ >
<div>
- <searchBar v-if="searchType" :search-type="'reform'" @handleSearch="handleSearchBut" @handleAdd="handleOpenDialog(null, 'add')" />
- <newWorkOrder v-if="centerDialogVisible" ref="newWorkOrder" :parent-form-data="parentFormData" :title="title" :page-state="pageState" :visible.sync="centerDialogVisible" @handleSubmit="newHandleSubmit" />
+ <searchBar
+ v-if="searchType"
+ :search-type="'reform'"
+ @handleSearch="handleSearchBut"
+ @handleAdd="handleOpenDialog(null, 'add')"
+ />
+ <newWorkOrder
+ v-if="centerDialogVisible"
+ ref="newWorkOrder"
+ :is-to-map.sync="isToMap"
+ :parent-form-data="parentFormData"
+ :title="title"
+ :page-state="pageState"
+ :visible.sync="centerDialogVisible"
+ @handleSubmit="newHandleSubmit"
+ />
<!-- <el-divider></el-divider> -->
<div class="tab">
<div class="exportBox">
<div>������������</div>
<div>
- <el-button type="primary" size="mini" @click="handleOpenDialog(null, 'add')">������</el-button>
- <el-button :disabled="!(selectionRows.length>0)" type="info" size="mini" @click="exportData">������</el-button>
+ <el-button
+ type="primary"
+ size="mini"
+ @click="handleOpenDialog(null, 'add')"
+ >
+ ������
+ </el-button>
+ <el-button
+ :disabled="!(selectionRows.length>0)"
+ type="info"
+ size="mini"
+ @click="isNowDonw"
+ >
+ ������
+ </el-button>
</div>
</div>
<div style="position: relative;">
<div>
<div v-if="sealList.length>0">
- <div v-for="(item,index) in sealList" :key="index" :style="{'height':item.styleHeight}">
- <div class="yingzhang" v-if="item.isInvalid===1">
- <div class="seal-red"> ��������� </div>
+ <div
+ v-for="(item,index) in sealList"
+ :key="index"
+ :style="{'height':item.styleHeight}"
+ >
+ <div
+ v-if="item.isInvalid===1"
+ class="yingzhang"
+ >
+ <div class="seal-red">
+ ���������
+ </div>
</div>
</div>
</div>
</div>
<div style="position: absolute;top:0;width: 100%;">
- <el-table size="mini" :data="tableData" border max-height="680" style="width: 100%" @selection-change="handleSelectionChange" :header-cell-style="{
- color: '#101111',
- fontSize: '16px'
- }">
- <el-table-column type="selection" width="40" align="center">
- </el-table-column>
- <el-table-column type="index" label="������" width="60px" align="center" />
+ <el-table
+ size="mini"
+ :data="tableData"
+ border
+ style="width: 100%"
+ :header-cell-style="{
+ color: '#101111',
+ fontSize: '16px'
+ }"
+ @selection-change="handleSelectionChange"
+ >
+ <el-table-column
+ type="selection"
+ width="40"
+ align="center"
+ />
+ <el-table-column
+ type="index"
+ label="������"
+ width="60px"
+ align="center"
+ />
<el-table-column align="center">
<template slot="header">
<div>������</div>
@@ -41,8 +95,20 @@
<div>{{ scope.row.escalationTime }}</div>
</template>
</el-table-column>
- <el-table-column align="center" prop="unitId" label="������������" width="150px" :formatter="unitIdFormatter" />
- <el-table-column align="center" prop="polluteType" label="������������" width="120px" :formatter="polluteTypeFormatter" />
+ <el-table-column
+ align="center"
+ prop="unitId"
+ label="������������"
+ width="150px"
+ :formatter="unitIdFormatter"
+ />
+ <el-table-column
+ align="center"
+ prop="polluteType"
+ label="������������"
+ width="120px"
+ :formatter="polluteTypeFormatter"
+ />
<el-table-column align="center">
<template slot="header">
<div>������������</div>
@@ -50,7 +116,10 @@
</template>
<template slot-scope="scope">
<div>{{ dictObj.changeEnum[scope.row.changeType] }}</div>
- <div v-show="scope.row.changeType && scope.row.changeType === 2" :class="[Number(scope.row.residueDay) < 0 ? errorClass : '']">
+ <div
+ v-show="scope.row.changeType && scope.row.changeType === 2"
+ :class="[Number(scope.row.residueDay) < 0 ? errorClass : '']"
+ >
<span v-if="Number(scope.row.residueDay) < 0">
������ {{ Math.abs(scope.row.residueDay) }}���
</span>
@@ -58,31 +127,63 @@
</div>
</template>
</el-table-column>
- <el-table-column align="center" prop="investigationType" label="������������" width="100px" :formatter="investigationTypeFormatter" />
- <el-table-column align="center" prop="state" width="100px" label="������������">
+ <el-table-column
+ align="center"
+ prop="investigationType"
+ label="������������"
+ width="100px"
+ :formatter="investigationTypeFormatter"
+ />
+ <el-table-column
+ align="center"
+ prop="state"
+ width="100px"
+ label="������������"
+ >
<template slot-scope="scope">
- <el-tag v-if="scope.row.state === 40" type="success">
+ <el-tag
+ v-if="scope.row.state === 40"
+ type="success"
+ >
{{ stateFormatter(scope.row) }}
</el-tag>
- <el-tag v-if="scope.row.state === 50" type="danger">
+ <el-tag
+ v-if="scope.row.state === 50"
+ type="danger"
+ >
{{ stateFormatter(scope.row) }}
</el-tag>
- <el-tag v-if="scope.row.state === 9" type="info">
+ <el-tag
+ v-if="scope.row.state === 9"
+ type="info"
+ >
{{ stateFormatter(scope.row) }}
</el-tag>
- <el-tag v-if="scope.row.state === 20" type="warning">
+ <el-tag
+ v-if="scope.row.state === 20"
+ type="warning"
+ >
{{ stateFormatter(scope.row) }}
</el-tag>
- <el-tag v-if="scope.row.state === 10" type="warning">
+ <el-tag
+ v-if="scope.row.state === 10"
+ type="warning"
+ >
{{ stateFormatter(scope.row) }}
</el-tag>
- <el-tag v-if="scope.row.state === 30" type="warning">
+ <el-tag
+ v-if="scope.row.state === 30"
+ type="warning"
+ >
{{ stateFormatter(scope.row) }}
</el-tag>
</template>
</el-table-column>
<!-- <el-table-column align="center" prop="isInvalid" label="������������" width="60px" :formatter="isInvalidFormatter" /> -->
- <el-table-column align="center" width="150px">
+ <el-table-column
+ align="center"
+ width="150px"
+ >
<template slot="header">
<div>������������</div>
<div>���������</div>
@@ -102,32 +203,66 @@
<div>{{ scope.row.updateTime }}</div>
</template>
</el-table-column>
- <el-table-column align="center" prop="createTime" min-width="100px" label="������">
+ <el-table-column
+ align="center"
+ prop="createTime"
+ min-width="100px"
+ label="������"
+ >
<template slot-scope="scope">
-
- <el-button type="text" size="medium" @click="openWorkOrdinDialog(scope.row, 'detail')">
+ <el-button
+ type="text"
+ size="medium"
+ @click="openWorkOrdinDialog(scope.row, 'detail')"
+ >
������
</el-button>
- <el-button type="text" v-if="scope.row.isCode==='1'" size="medium" @click="openEditDialog(scope.row)">
+ <el-button
+ v-if="scope.row.isCode==='1'"
+ type="text"
+ size="medium"
+ @click="openEditDialog(scope.row)"
+ >
������������
</el-button>
- <el-button v-if="scope.row.state === 9" type="text" size="medium" @click="handleOpenDialog(scope.row, 'edit')">
+ <el-button
+ v-if="scope.row.state === 9"
+ type="text"
+ size="medium"
+ @click="handleOpenDialog(scope.row, 'edit')"
+ >
������
</el-button>
- <el-button v-if="scope.row.state > 30 && scope.row.isInvalid === 0" type="text" size="medium" @click="handleCancel(scope.row)">
+ <el-button
+ v-if="scope.row.state > 30 && scope.row.isInvalid === 0"
+ type="text"
+ size="medium"
+ @click="handleCancel(scope.row)"
+ >
������
</el-button>
- <el-button v-if="scope.row.state === 20" type="text" size="medium" @click="openWorkOrdinDialog(scope.row, 'work')">
+ <el-button
+ v-if="scope.row.state === 20"
+ type="text"
+ size="medium"
+ @click="openWorkOrdinDialog(scope.row, 'work')"
+ >
������
</el-button>
- <el-button v-if="scope.row.state === 30 && scope.row.isApprove === 1" type="text" size="medium" @click="openWorkOrdinDialog(scope.row, 'approve')">
+ <el-button
+ v-if="scope.row.state === 30 && scope.row.isApprove === 1"
+ type="text"
+ size="medium"
+ @click="openWorkOrdinDialog(scope.row, 'approve')"
+ >
������
</el-button>
- <el-button v-if="
- scope.row.state === 20 &&
- scope.row.changeType === 2 &&
- scope.row.applyState === 0
- " type="text" size="medium" @click="openWorkOrdinDialog(scope.row, 'delay')">
+ <el-button
+ v-if="scope.row.state === 20 && scope.row.changeType === 2 &&scope.row.applyState === 0"
+ type="text"
+ size="medium"
+ @click="openWorkOrdinDialog(scope.row, 'delay')"
+ >
������������
</el-button>
</template>
@@ -137,94 +272,233 @@
</div>
</div>
<div class="pagina">
- <el-pagination background :current-page="pagination.currentPage" :page-sizes="pagination.pageSizes" :page-size="pagination.pageSize" :total="pagination.totalCount" layout="total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange" @current-change="handleCurrentChange" />
+ <el-pagination
+ background
+ :current-page="pagination.currentPage"
+ :page-sizes="pagination.pageSizes"
+ :page-size="pagination.pageSize"
+ :total="pagination.totalCount"
+ layout="total, sizes, prev, pager, next, jumper"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
</div>
</div>
- <workOrderInformation v-if="workOrdinDialogVisible" :dialog-data="dialogData" :visible.sync="workOrdinDialogVisible" @handeleSumit="handeleSumit" />
- <el-dialog title="������" :visible.sync="dialogVisible" width="600px" :before-close="handleClose" center>
+ <workOrderInformation
+ v-if="workOrdinDialogVisible"
+ :dialog-data="dialogData"
+ :is-to-map.sync="isToMap"
+ :visible.sync="workOrdinDialogVisible"
+ @handeleSumit="handeleSumit"
+ />
+ <el-dialog
+ title="������"
+ :visible.sync="dialogVisible"
+ width="600px"
+ :before-close="handleClose"
+ center
+ >
<div>
<el-form label-width="100px">
- <el-form-item label="���������������" style="margin-right: 30px">
- <el-input v-model="invalidReason" type="textarea" :autosize="{ minRows: 2, maxRows: 10 }" placeholder="���������������" />
+ <el-form-item
+ label="���������������"
+ style="margin-right: 30px"
+ >
+ <el-input
+ v-model="invalidReason"
+ type="textarea"
+ :autosize="{ minRows: 2, maxRows: 10 }"
+ placeholder="���������������"
+ />
</el-form-item>
</el-form>
</div>
- <span slot="footer" class="dialog-footer">
+ <span
+ slot="footer"
+ class="dialog-footer"
+ >
<el-button @click="handleClose">��� ���</el-button>
- <el-button type="primary" @click="handleInvalid">��� ���</el-button>
+ <el-button
+ type="primary"
+ @click="handleInvalid"
+ >��� ���</el-button>
</span>
</el-dialog>
- <el-dialog title="������" v-if="dialogEditVisible" :visible.sync="dialogEditVisible" width="800px" top='5vh' :before-close="handleClose" center>
+ <el-dialog
+ v-if="dialogEditVisible"
+ title="������"
+ :visible.sync="dialogEditVisible"
+ width="800px"
+ top="5vh"
+ :before-close="handleClose"
+ center
+ >
<el-descriptions title="������������">
<template slot="extra">
<div>
- {{ editEscalationUnitData.allocationNum}}
+ {{ editEscalationUnitData.allocationNum }}
</div>
</template>
- <el-descriptions-item label="������������" label-class-name="itemSpan">{{ editEscalationUnitData.escalationTime }}</el-descriptions-item>
- <el-descriptions-item label="������������" label-class-name="itemSpan">{{ updataUnitIdFormatter }}</el-descriptions-item>
- <el-descriptions-item label="������������" label-class-name="itemSpan">{{ polluteTypeeDITFormatter }}</el-descriptions-item>
- <el-descriptions-item label="������������" label-class-name="itemSpan">{{ dictObj.changeEnum[editEscalationUnitData.changeType] }}</el-descriptions-item>
- <el-descriptions-item label="������������" label-class-name="itemSpan">{{ editEscalationUnitData.changeDay || 0}} ���</el-descriptions-item>
- <el-descriptions-item label="������������" label-class-name="itemSpan">{{ updataEscalationUnitIdFormatter }}</el-descriptions-item>
- <el-descriptions-item label="���������" label-class-name="itemSpan">{{ editEscalationUnitData.escalationName }}</el-descriptions-item>
- <el-descriptions-item label="������������" label-class-name="itemSpan">{{ editEscalationUnitData.pollutePosition }}</el-descriptions-item>
+ <el-descriptions-item
+ label="������������"
+ label-class-name="itemSpan"
+ >
+ {{ editEscalationUnitData.escalationTime }}
+ </el-descriptions-item>
+ <el-descriptions-item
+ label="������������"
+ label-class-name="itemSpan"
+ >
+ {{ updataUnitIdFormatter }}
+ </el-descriptions-item>
+ <el-descriptions-item
+ label="������������"
+ label-class-name="itemSpan"
+ >
+ {{ polluteTypeeDITFormatter }}
+ </el-descriptions-item>
+ <el-descriptions-item
+ label="������������"
+ label-class-name="itemSpan"
+ >
+ {{ dictObj.changeEnum[editEscalationUnitData.changeType] }}
+ </el-descriptions-item>
+ <el-descriptions-item
+ label="������������"
+ label-class-name="itemSpan"
+ >
+ {{ editEscalationUnitData.changeDay || 0 }} ���
+ </el-descriptions-item>
+ <el-descriptions-item
+ label="������������"
+ label-class-name="itemSpan"
+ >
+ {{ updataEscalationUnitIdFormatter }}
+ </el-descriptions-item>
+ <el-descriptions-item
+ label="���������"
+ label-class-name="itemSpan"
+ >
+ {{ editEscalationUnitData.escalationName }}
+ </el-descriptions-item>
+ <el-descriptions-item
+ label="������������"
+ label-class-name="itemSpan"
+ >
+ {{ editEscalationUnitData.pollutePosition }}
+ </el-descriptions-item>
</el-descriptions>
- <el-divider></el-divider>
+ <el-divider />
<div>
- <p class="editTile">������������</p>
- <el-form :inline="true" class="demo-form-inline">
+ <p class="editTile">
+ ������������
+ </p>
+ <el-form
+ :inline="true"
+ class="demo-form-inline"
+ >
<el-form-item label="������������:">
- <el-select v-model="formInEdit.unitId" size="small" clearable placeholder="���������">
- <el-option v-for="item in unitList" :key="item.unitId" :label="item.unitName" :value="item.unitId" />
+ <el-select
+ v-model="formInEdit.unitId"
+ size="small"
+ clearable
+ placeholder="���������"
+ >
+ <el-option
+ v-for="item in unitList"
+ :key="item.unitId"
+ :label="item.unitName"
+ :value="item.unitId"
+ />
</el-select>
</el-form-item>
<el-form-item label="������������:">
- <el-select v-model="formInEdit.polluteType" size="small" clearable placeholder="���������">
- <el-option v-for="item in polluteList" :key="item.dataKey" :label="item.dataValue" :value="item.dataKey" />
+ <el-select
+ v-model="formInEdit.polluteType"
+ size="small"
+ clearable
+ placeholder="���������"
+ >
+ <el-option
+ v-for="item in polluteList"
+ :key="item.dataKey"
+ :label="item.dataValue"
+ :value="item.dataKey"
+ />
</el-select>
</el-form-item>
</el-form>
</div>
<el-collapse>
- <el-collapse-item title="������������" name="1">
+ <el-collapse-item
+ title="������������"
+ name="1"
+ >
<div class="block">
<el-timeline>
- <el-timeline-item v-for="(activity, index) in operatingLog" :key="index" :color="'#0bbd87'" :timestamp="activity.createTime">
- <div v-if="activity.content"> ���������: {{activity.userName}}</div>
- <div v-if="activity.content"> ������������: {{activity.content}}</div>
- <div v-if="activity.polluteType"> ������������: {{activity.polluteType}}</div>
+ <el-timeline-item
+ v-for="(activity, index) in operatingLog"
+ :key="index"
+ :color="'#0bbd87'"
+ :timestamp="activity.createTime"
+ >
+ <div v-if="activity.content">
+ ���������: {{ activity.userName }}
+ </div>
+ <div v-if="activity.content">
+ ������������: {{ activity.content }}
+ </div>
+ <div v-if="activity.polluteType">
+ ������������: {{ activity.polluteType }}
+ </div>
</el-timeline-item>
</el-timeline>
</div>
</el-collapse-item>
</el-collapse>
- <span slot="footer" class="dialog-footer">
+ <span
+ slot="footer"
+ class="dialog-footer"
+ >
<el-button @click="handleClose">��� ���</el-button>
- <el-button type="primary" @click="handleEditChange">��� ���</el-button>
+ <el-button
+ type="primary"
+ @click="handleEditChange"
+ >��� ���</el-button>
</span>
</el-dialog>
+ <mapContainer
+ v-if="isToMap"
+ :visible.sync="isToMap"
+ @addressAndLnt="getaddressAndLnt"
+ />
</div>
</template>
<script>
+// import { mixins } from './downLoadNotice'
import axios from 'axios'
import _ from 'lodash'
import qs from 'qs'
import searchBar from '@/views/toCarryOutLegislativeReforms/components/queryForm'
+import mapContainer from '@/views/toCarryOutLegislativeReforms/components/locationMap'
import newWorkOrder from '@/views/toCarryOutLegislativeReforms/components/newWorkOrder'
import workOrderInformation from '@/views/toCarryOutLegislativeReforms/components/workOrderInformation'
export default {
components: {
searchBar,
newWorkOrder,
+ mapContainer,
workOrderInformation
},
- data() {
+ // mixins: [mixins],
+ data () {
return {
loading: false,
+ isToMap: false,
selectionRows: [],
+ position: [],
errorClass: 'errorClass',
searchType: 'reform',
pagination: {
@@ -254,7 +528,9 @@
dictObj: JSON.parse(localStorage.getItem('dictObj')),
parentFormData: {},
pageState: 'add',
+ mapType: 'edit',
invalidReason: '',
+ address: '',
slectRow: {},
title: '',
searchData: {
@@ -292,25 +568,64 @@
return data ? data.dataValue : ''
}
},
- created() {
+ watch: {
+ isToMap (newVal, oldVal) {
+ this.isToMap = newVal
+ }
+ },
+ created () {
this.handleSearch({ isInvalid: 0, state: [9, 20, 30] })
this.getUnitList()
this.getContaminateList()
},
methods: {
- handleSelectionChange(rows) {
+ getaddressAndLnt (position, address) {
+ if (this.mapType === 'edit') {
+ this.$refs.newWorkOrder.formData.pollutePosition = address
+ this.position = position
+ }
+ },
+ handleSelectionChange (rows) {
console.log(rows)
this.selectionRows = rows
},
- exportData() {
+ isNowDonw () {
+ this.$confirm('������������������������������?', '������', {
+ confirmButtonText: '������������',
+ cancelButtonText: '������������',
+ distinguishCancelAndClose: true,
+ type: 'warning'
+ })
+ .then(() => {
+ this.loading = true
+ this.exportData()
+ })
+ .catch(action => {
+ if (action === 'cancel') {
+ this.loading = false
+ this.exportData()
+ } else {
+ this.loading = false
+ }
+ })
+ },
+ exportData () {
+ // this.dowOrgFile('���������������.xlsx')
+ let that = this
const CancelToken = axios.CancelToken
let cancel
- let timer = setTimeout(() => {
- cancel()
- this.loading = false
- this.$message.error('���������������������������������������������')
- }, 30000)
- this.loading = true
+ let timer
+ const totalSize = this.selectionRows.length * 1024 * 1024
+ const uniSign = new Date().getTime() + '' // ���������������������������������������������������������������������������������������������
+ if (this.loading) {
+ timer = setTimeout(() => {
+ cancel()
+ this.loading = false
+ this.$message.error('���������������������������������������������')
+ }, 300000)
+ }
+
+ // this.loading = true
this.$request({
url: '/allocation/listExcel',
method: 'get',
@@ -318,9 +633,23 @@
params: {
id: this.selectionRows.map(item => item.allocationId)
},
- cancelToken: new CancelToken(function executor(c) {
+ cancelToken: new CancelToken(function executor (c) {
cancel = c
}),
+ onDownloadProgress (progress) {
+ console.log('onDownloadProgress', progress)
+ const loaded = progress.loaded
+ // progress������������loaded������������������������������total������������������������������������������
+ let downProgress = Math.round((loaded / totalSize) * 100)
+ console.log('downProgress', downProgress)
+ // ������������������������������������������������������������vuex������������
+ if (!that.loading) {
+ that.$store.commit('downLoadProgress/SET_PROGRESS', {
+ path: uniSign,
+ progress: downProgress
+ })
+ }
+ },
paramsSerializer: params => {
return qs.stringify(params, {
indices: false
@@ -333,36 +662,49 @@
if (res.code === -1) {
this.$message.error(res.message)
} else {
+ if (!that.loading) {
+ that.$store.commit('downLoadProgress/SET_PROGRESS', {
+ path: uniSign,
+ progress: 100
+ })
+ }
this.getOutExcel('���������������.xlsx', res)
}
})
.catch(err => {
clearTimeout(timer)
+ console.log('������������', err)
this.loading = false
})
},
- getOutExcel(fileName, res) {
- let blob = new Blob([res], { type: 'application/x-xls' })
+ getOutExcel (fileName, res) {
+ const blob = new Blob([res], { type: 'application/x-xls' })
if (window.navigator.msSaveOrOpenBlob) {
- //������ IE & EDGE
+ // ������ IE & EDGE
this.loading = false
navigator.msSaveBlob(blob, fileName)
} else {
- var link = document.createElement('a')
+ const link = document.createElement('a')
// ������������������������URL������
const url = window.URL || window.webkitURL || window.moxURL
// ������������������
link.href = url.createObjectURL(blob)
- //������������������
+ // ������������������
link.download = fileName
- //������������������
+ // ������������������
link.click()
- //������������������������
+ // ������������������������
url.revokeObjectURL(link.href)
+ this.$message({
+ showClose: true,
+ duration: 0,
+ message: '���������������',
+ type: 'success'
+ })
this.loading = false
}
},
- openEditDialog(row) {
+ openEditDialog (row) {
this.editEscalationUnitData = row
this.dialogEditVisible = true
this.$request({
@@ -376,20 +718,20 @@
this.operatingLog = res.data
})
.catch(err => {
- this.$message.error(res.message)
+ this.$message.error(err.message)
console.log('������Region������')
console.log(err)
})
},
- handleCancel(row) {
+ handleCancel (row) {
this.dialogVisible = true
this.slectRow = row
},
- handleClose() {
+ handleClose () {
this.dialogVisible = false
this.dialogEditVisible = false
},
- handleEditChange() {
+ handleEditChange () {
if (this.formInEdit.polluteType === '' && this.formInEdit.unitId === '') {
this.$message({
message: '���������������������',
@@ -420,12 +762,12 @@
}
})
.catch(err => {
- this.$message.error(res.message)
+ this.$message.error(err.message)
console.log('������Region������')
console.log(err)
})
},
- handleInvalid() {
+ handleInvalid () {
this.$request({
url: '/allocation/invalid',
method: 'get',
@@ -446,12 +788,13 @@
})
},
// ������
- handleOpenDialog(row, type) {
+ handleOpenDialog (row, type) {
this.pageState = type
this.parentFormData = {}
if (type === 'add') {
this.title = '���������������'
this.centerDialogVisible = true
+ this.mapType = 'edit'
} else {
this.title = '���������������'
this.$request({
@@ -467,35 +810,35 @@
})
}
},
- updatUnitIdFormatter(val) {
+ updatUnitIdFormatter (val) {
const data = this.unitList.find(
item => item && item.unitId === val.escalationUnitId
)
return data ? data.unitName : ''
},
- unitIdFormatter(val) {
+ unitIdFormatter (val) {
const data = this.unitList.find(
item => item && item.unitId === val.unitId
)
return data ? data.unitName : ''
},
- polluteTypeFormatter(val) {
+ polluteTypeFormatter (val) {
const data = this.polluteList.find(
item => item && parseInt(item.dataKey) === val.polluteType
)
return data ? data.dataValue : ''
},
- investigationTypeFormatter(val) {
+ investigationTypeFormatter (val) {
return this.dictObj.investigationEnum[val.investigationType]
},
- stateFormatter(val) {
+ stateFormatter (val) {
return this.dictObj.allocationApproveEnum[val.state]
},
- isInvalidFormatter(val) {
+ isInvalidFormatter (val) {
return this.dictObj.yesOrNo[val.isInvalid]
},
// ������������������list
- getUnitList() {
+ getUnitList () {
this.$request({
url: '/allocation/unit',
method: 'get'
@@ -507,7 +850,7 @@
}
})
},
- getContaminateList() {
+ getContaminateList () {
this.$request({
url: '/allocation/contaminate',
method: 'get'
@@ -519,11 +862,11 @@
}
})
},
- handeleSumit() {
+ handeleSumit () {
this.handleSearch()
},
// ������
- newHandleSubmit(obj) {
+ newHandleSubmit (obj) {
console.log(obj)
console.log(this.parentFormData)
let api = '/allocation/insert'
@@ -531,10 +874,18 @@
api = '/allocation/update'
// obj.fileBaseList = [...this.parentFormData.fileBaseList, ... obj.fileBaseList]
}
+ let latitude = ''
+ let longitude = ''
+ if (this.position.length > 0) {
+ latitude = this.position[1]
+ longitude = this.position[0]
+ }
this.$request({
url: api,
method: 'post',
data: {
+ 'latitude': latitude,
+ 'longitude': longitude,
...obj
}
}).then(res => {
@@ -547,7 +898,8 @@
}
})
},
- handleSearchBut(obj) {
+ handleSearchBut (obj) {
+ const pageSize = this.pagination.pageSize
this.pagination = {
currentPage: 1,
// ������������������������������������������(���������������������������)
@@ -555,11 +907,11 @@
// ������������������������������
pageSizes: [10, 30, 60, 100],
// ������������������������������������������
- pageSize: 10
+ pageSize: pageSize
}
this.handleSearch(obj)
},
- handleSearch(obj) {
+ handleSearch (obj) {
this.selectionRows = []
if (obj) {
this.searchData = obj
@@ -581,10 +933,10 @@
})
this.pagination.totalCount = res.data.page.totalNum
this.$nextTick(() => {
- var rows = this.$el.querySelectorAll('table tr')
- for (var i = 0; i < rows.length; i++) {
- var row = rows[i]
- var height = row.getBoundingClientRect().height
+ const rows = this.$el.querySelectorAll('table tr')
+ for (let i = 0; i < rows.length; i++) {
+ const row = rows[i]
+ const height = row.getBoundingClientRect().height
this.sealList[i]['styleHeight'] = height + 'px'
}
this.$forceUpdate()
@@ -596,7 +948,7 @@
},
// ������
// ���������������������
- handleSizeChange(val) {
+ handleSizeChange (val) {
// ���������������������������
console.log('345')
this.pagination.pageSize = val
@@ -605,14 +957,14 @@
this.handleSearch()
},
// ���������������
- handleCurrentChange(val) {
+ handleCurrentChange (val) {
// ���������������������
console.log('123')
this.pagination.currentPage = val
this.handleSearch()
// console.log(val)
},
- openWorkOrdinDialog(row, type) {
+ openWorkOrdinDialog (row, type) {
this.$request({
url: '/allocation/detail',
method: 'get',
@@ -639,6 +991,9 @@
sysCode: '1010203'
}
} else if (type === 'detail') {
+ this.mapType = 'view'
+ this.position = [res.data.longitude, res.data.latitude]
+ this.address = res.data.pollutePosition
this.dialogData = {
title: '���������������',
parentFormData: res.data,
--
Gitblit v1.8.0