养护 更改

master
lion 4 years ago
parent 0a9a429b50
commit b5cd8b6a78

@ -259,7 +259,8 @@
.split(",") : []
for (var m of askArr) {
that.askContentArr.push(parseInt(m))
}
}
that.roaddisabled = true
that.roadName = result.rain_equipment_info.road ? result.rain_equipment_info.road.name : ""
that.mapform = [result.rain_equipment_info.longitude, result.rain_equipment_info.latitude, result

@ -156,7 +156,10 @@
storebuilding,
savebuilding,
getbuilding
} from '../../../../api/rain/inspection.js'
} from '../../../../api/rain/inspection.js'
import {
getToken
} from '@/utils/auth'
import {
getparameteritem
} from '../../../../api/system/dictionary.js'
@ -255,7 +258,8 @@
this.initload()
},
methods: {
initload() {
initload() {
this.uploadOther.token = getToken()
getparameteritem('siteType').then(res => {
this.siteType = res.detail
})

@ -269,7 +269,7 @@
end_type: 0,
end_time: "",
remark: "",
maintain_type:0
// maintain_type:""
},
rules: {}
@ -286,7 +286,7 @@
if(val){
this.formdetail.remark = ""
this.formdetail.end_time = ""
this.formdetail.maintain_type = 0
// this.formdetail.maintain_type = ""
}
}
},

@ -298,7 +298,7 @@
content: "",
end_time: "",
remark: "",
maintain_type:0,
// maintain_type:"",
end_type:0
},
rules: {}
@ -317,7 +317,7 @@
if(val){
this.formdetail.remark = ""
this.formdetail.end_time = ""
this.formdetail.maintain_type = 0
// this.formdetail.maintain_type = ""
}
}
},

File diff suppressed because it is too large Load Diff

@ -16,6 +16,10 @@
<el-select class="vm10" filterable v-model="searchFields.area_id" placeholder="请选择所属片区">
<el-option v-for="item in selects.areasList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
<el-select class="vm10" filterable v-model="searchFields.maintain_id" placeholder="请选择所属养护单位">
<el-option v-for="item in selects.maintainList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
<el-select class="vm10" filterable v-model="searchFields.status" placeholder="请选择状态">
<el-option v-for="item in selects.statusList" :key="item.id" :label="item.name" :value="item.id">
@ -91,23 +95,19 @@
<div v-else-if="column.type=='audit_status' && scope.row['status']==2">
<el-tag v-if="scope.row[column.field]==0">待复核</el-tag>
<el-tag type="success" v-if="scope.row[column.field]==1">已复核</el-tag>
<!-- <el-tag type="warning" v-if="scope.row[column.field]==2">未通过</el-tag> -->
</div>
<div v-else-if="column.type=='audit_status' && scope.row['status']!=2">
无
</div>
<div v-else-if="column.type=='format'">
{{scope.row[column.field]?scope.row[column.field].name:""}}
<!-- <div v-if="column.field=='ask_content_detail'">{{scope.row[column.field]?scope.row[column.field].value:""}}</div>
<div v-else></div> -->
</div>
<div v-else-if="column.type=='admin'">
{{getUserName(scope.row)}}
</div>
<div v-else-if="column.type=='maintain'">
{{getMaintinName(scope.row)}}
</div>
<!-- <div v-else-if="column.type=='end_type'">
<el-tag v-if="scope.row[column.field]==0">无</el-tag>
<el-tag type="danger" v-if="scope.row[column.field]==1" >违法转办</el-tag>
</div> -->
<div v-else>{{scope.row[column.field]}}</div>
</template>
</el-table-column>
@ -190,7 +190,10 @@
} from '../../../api/system/dictionary.js'
import {
listarea
} from '../../../api/basic/area.js'
} from '../../../api/basic/area.js'
import {
listmaintain
} from '../../../api/basic/unit.js'
import {
listroad
} from '../../../api/basic/road.js'
@ -223,7 +226,8 @@
},
searchFields: {
is_export: 0
is_export: 0,
is_auth:1
},
datesearch: "",
roadsList: [],
@ -277,7 +281,11 @@
sequiementList: [{
id: "",
value: "所有"
}],
}],
maintainList: [{
id:"",
name:"所有"
}]
},
reviewFormVisible: false,
@ -312,6 +320,13 @@
type: "format",
align: "center",
width: 180
},
{
field: "maintain",
title: "所属养护单位",
type: "maintain",
align: "center",
width: 180
},
{
field: "askName",
@ -425,6 +440,17 @@
})
}
})
listmaintain({
page: 1,
page_size: 999,
}).then(response => {
for(var m of response.data){
this.selects.maintainList.push(m)
}
}).catch(error => {
console.log(error)
reject(error)
});
},
load(is_export) {
// return
@ -590,7 +616,18 @@
} else {
return "未知";
}
},
getMaintinName(row) {
if (row.user) {
if(row.user.maintain){
return row.user.maintain.name;
}else{
return "";
}
} else {
return "";
}
},
remoteRoad() {
this.roadsList = []

@ -1,980 +0,0 @@
<template>
<div class="container">
<div style="padding: 0px 20px">
<div ref="lxHeader">
<LxHeader icon="md-apps" text="雨管巡查管理" style="margin-bottom: 10px; border: 0px; margin-top: 15px">
<div slot="content"></div>
<slot>
<div>
<Input class="vm10" style="width: 200px; margin-right: 10px" v-model="searchFields.keyword"
placeholder="关键字搜索" />
<el-select class="vm10" v-model="searchFields.road_id" filterable remote reserve-keyword clearable
@focus="remoteRoad" placeholder="请输入关键词查找道路" :remote-method="remoteMethod" :loading="roadloading">
<el-option v-for="item in roadsList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
<el-select class="vm10" filterable v-model="searchFields.area_id" placeholder="请选择所属片区">
<el-option v-for="item in selects.areasList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
<el-select class="vm10" filterable v-model="searchFields.status_id" placeholder="请选择状态">
<el-option v-for="item in selects.statusList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
<el-select class="vm10" filterable v-model="searchFields.type_id" placeholder="请选择类型">
<el-option v-for="item in selects.typeList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
<el-select class="vm10" filterable v-model="searchFields.ask_content_id" placeholder="请选择巡查内容">
<el-option v-for="item in sequiementList" :key="item.id" :label="item.value" :value="item.id">
</el-option>
</el-select>
<el-date-picker class="vm10" v-model="datesearch" type="daterange" range-separator="至"
start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd">
</el-date-picker>
<Button type="primary" @click="load" style="margin-left: 10px">查询</Button>
</div>
</slot>
</LxHeader>
</div>
<div ref="lxTable">
<el-table :data="tableData" class="v-table" :height="tableHeight" style="width: 100%">
<el-table-column type="index" width="50" fixed label="序号" align="center"> </el-table-column>
<el-table-column :prop="column.field" :align="column.align" v-for="(column,index) in columns"
:label="column.title" :width="column.width" :fixed="column.fixed">
<template slot-scope="scope">
<div v-if="column.type=='opt'">
<Button v-if="scope.row['status']==2||scope.row['status']==3" ghost size="small"
@click="show(scope.row)" type="primary" style="margin-left: 10px;">查看</Button>
<Button v-if="scope.row['status']==1&&scope.row['end_type']==2" ghost size="small"
@click="show(scope.row)" type="primary" style="margin-left: 10px;">办结</Button>
<Button ghost size="small"
@click="goorder" type="primary" style="margin-left: 10px;">新建工单</Button>
<Button ghost size="small" @click="del(scope.row)" type="error" style="margin-left: 10px;">删除</Button>
</div>
<div v-else-if="column.type=='type'">
<el-tag v-if="scope.row[column.field]==1">日常雨水设施</el-tag>
<el-tag v-if="scope.row[column.field]==2">在建工地巡查</el-tag>
</div>
<div v-else-if="column.type=='end_type'">
<el-tag v-if="scope.row[column.field]==2" type="warning">有</el-tag>
<el-tag v-else>无</el-tag>
</div>
<div v-else-if="column.type=='status'">
<el-tag v-if="scope.row[column.field]==0">待审核</el-tag>
<el-tag type="success" v-if="scope.row[column.field]==1">已审核</el-tag>
<el-tag type="warning" v-if="scope.row[column.field]==2">已办结</el-tag>
<el-tag type="info" v-if="scope.row[column.field]==3">已退回</el-tag>
</div>
<div v-else-if="column.type=='format'">
{{scope.row[column.field]?scope.row[column.field].name:""}}
<!-- <div v-if="column.field=='ask_content_detail'">{{scope.row[column.field]?scope.row[column.field].value:""}}</div>
<div v-else></div> -->
</div>
<div v-else-if="column.type=='admin'">
{{getUserName(scope.row)}}
</div>
<!-- <div v-else-if="column.type=='end_type'">
<el-tag v-if="scope.row[column.field]==0">无</el-tag>
<el-tag type="danger" v-if="scope.row[column.field]==1" >违法转办</el-tag>
</div> -->
<div v-else>{{scope.row[column.field]}}</div>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination @current-change="handleCurrentChange" :current-page="paginations.page"
:page-size="paginations.page_size" background layout="prev, pager, next" :total="paginations.total">
</el-pagination>
</div>
</div>
<!-- 审核 -->
<el-dialog class="common-dialog" :title="rainTitle" :visible.sync="dialogFormDetailVisible" width="60%">
<div class="dialogConcent">
<el-scrollbar style="flex: 1">
<!-- 日常雨水设施 -->
<el-form v-if="rainType==1" :model="formdetail" :rules="{}" ref="formdetail" label-position="right"
:label-width="formLabelWidth">
<el-row>
<el-col :span="24">
<el-form-item label="所属道路" prop="road_id">
{{roadName}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="巡查内容" prop="ask_content_id">
<div v-for="item in equiementList">
<div v-if="item.id==form.ask_content_id">
{{item.value}}
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="覆盖范围" prop="scope">
{{form.scope}}米
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="所在点位" prop="point_name">
{{form.point_name}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="所在位置" prop="address">
{{form.address}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="经度" prop="longitude">
{{form.longitude}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="纬度" prop="latitude">
{{form.latitude}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="描述" prop="content">
{{form.content}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="现场照片" prop="files_list" class="files_check">
<el-upload multiple action="/api/admin/upload-file" list-type="picture-card" :file-list="filesList"
ref="pictureUploads">
<div slot="file" slot-scope="{file}">
<img class="el-upload-list__item-thumbnail" :src="file.url" alt="">
<span class="el-upload-list__item-actions">
<span class="el-upload-list__item-preview" @click="handlePictureCardPreview(file)">
<i class="el-icon-zoom-in"></i>
</span>
</span>
</div>
</el-upload>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="是否异常" prop="is_unusual">
<el-tag v-if="form.is_unusual==0">否</el-tag>
<el-tag type="warning" v-if="form.is_unusual==1">丢失</el-tag>
<el-tag type="success" v-if="form.is_unusual==2">破损</el-tag>
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.is_unusual!=0">
<el-form-item label="异常处置建议" prop="tip">
{{form.tip}}
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="是否现场处理" prop="is_scene">
<el-tag v-if="form.is_scene==0">否</el-tag>
<el-tag type="success" v-if="form.is_scene==1">丢失</el-tag>
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.is_scene==1">
<el-form-item label="现场处理结果" prop="result">
{{form.result}}
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.is_scene==1">
<el-form-item label="处理后照片" prop="files_end_list" class="files_check">
<el-upload multiple action="/api/admin/upload-file" list-type="picture-card"
:file-list="dealFilesList" ref="pictureUploads">
<div slot="file" slot-scope="{file}">
<img class="el-upload-list__item-thumbnail" :src="file.url" alt="">
<span class="el-upload-list__item-actions">
<span class="el-upload-list__item-preview" @click="handlePictureCardPreview(file)">
<i class="el-icon-zoom-in"></i>
</span>
</span>
</div>
</el-upload>
</el-form-item>
</el-col>
<el-col :span="24" v-if="nowstatus==1">
<el-form-item label="备注" prop="content">
<el-input type="textarea" v-model="formdetail.content" placeholder="请填写备注"></el-input>
</el-form-item>
</el-col>
<el-col :span="24" v-if="nowstatus==1">
<el-form-item label="转办类型" prop="end_type">
<el-radio-group v-model="formdetail.end_type">
<el-radio :label="0">无</el-radio>
<el-radio :label="1">养护转办</el-radio>
<el-radio :label="2">违法转办</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24" v-if="nowstatus==2||nowstatus==3">
<el-form-item label="转办类型">
<el-tag v-if="end_types==0">无</el-tag>
<el-tag type="warning" v-if="end_types==1">养护转办</el-tag>
<el-tag type="warning" v-if="end_types==2">违法转办</el-tag>
</el-form-item>
</el-col>
<el-col :span="24" v-if="nowstatus==1 && formdetail.end_type==1">
<el-form-item label="要求完成时间" prop="end_time">
<el-date-picker style="width:100%" v-model="formdetail.end_time" type="datetime" placeholder="选择时间"
value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24" v-if="nowstatus==1 && formdetail.end_type==1">
<el-form-item label="备注" prop="remark">
<el-input type="textarea" v-model="formdetail.remark" placeholder="请填写备注" autocomplete="off">
</el-input>
</el-form-item>
</el-col>
<el-col :span="24" v-if="nowstatus==2||nowstatus==3">
<el-form-item label="处理日志" prop="">
</el-form-item>
<el-table :data="rainMaintainLogs" style="width: 90%;margin: 0 auto;">
<el-table-column prop="created_at" label="日期" width="180">
</el-table-column>
<el-table-column prop="content" label="内容">
</el-table-column>
<!-- <el-table-column
prop="end_type"
label="有无违法转办"
>
</el-table-column> -->
<el-table-column prop="type_name" label="操作结果">
</el-table-column>
<el-table-column prop="adminName" label="操作人" width="180">
</el-table-column>
</el-table>
</el-col>
</el-row>
</el-form>
<!-- 在建工地 -->
<el-form v-if="rainType==2" :model="formdetail" :rules="{}" ref="formdetail" label-position="right"
:label-width="formLabelWidth">
<el-row>
<el-col :span="24">
<el-form-item label="所属道路" prop="road_id">
{{roadName}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="工地名称" prop="name">
{{form.name}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="所在位置" prop="address">
{{form.address}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="经度" prop="longitude">
{{form.longitude}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="纬度" prop="address">
{{form.latitude}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="工地编号" prop="number">
{{form.number}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="工地类型" prop="type">
<div v-for="item in siteType">
<div v-if="item.id==form.type">
{{item.value}}
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="工地状态" prop="status">
<div v-for="item in siteStatus">
<el-tag v-if="item.id==form.status">{{item.value}}</el-tag>
</div>
</el-form-item>
</el-col>
<!-- <el-col :span="24">
<el-form-item label="工地类型" prop="type">
<el-input v-model="form.type" placeholder="工地类型" autocomplete="off"></el-input>
</el-form-item>
</el-col> -->
<el-col :span="24">
<el-form-item label="备注" prop="remark">
{{form.remark}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="描述" prop="content">
{{form.content}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="现场照片" prop="files_list" class="files_check">
<el-upload multiple action="/api/admin/upload-file" list-type="picture-card" :file-list="filesList"
ref="pictureUploads">
<div slot="file" slot-scope="{file}">
<img class="el-upload-list__item-thumbnail" :src="file.url" alt="">
<span class="el-upload-list__item-actions">
<span class="el-upload-list__item-preview" @click="handlePictureCardPreview(file)">
<i class="el-icon-zoom-in"></i>
</span>
</span>
</div>
</el-upload>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="是否违法" prop="is_law">
<el-tag v-if="form.is_law==0">否</el-tag>
<el-tag v-if="form.is_law==1">是</el-tag>
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.is_law==1">
<el-form-item label="违规内容" prop="break_id">
<div v-for=" item in siteLaw">
<div v-if="item.id==form.break_id">
{{item.value}}
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="content">
<el-input type="textarea" v-model="formdetail.content" placeholder="请填写备注"></el-input>
</el-form-item>
</el-col>
<el-col :span="24" v-if="nowstatus==1">
<el-form-item label="有无违法转办" prop="end_type">
<el-radio-group v-model="formdetail.end_type">
<el-radio :label="0">无</el-radio>
<el-radio :label="1">养护转办</el-radio>
<el-radio :label="2">违法转办</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24" v-if="nowstatus==1 && formdetail.end_type==1">
<el-form-item label="要求完成时间" prop="complete_date">
<el-date-picker style="width:100%" v-model="formdetail.end_time" type="datetime" placeholder="选择时间"
value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24" v-if="nowstatus==1 && formdetail.end_type==1">
<el-form-item label="备注" prop="remark">
<el-input type="textarea" v-model="formdetail.remark" placeholder="请填写备注" autocomplete="off">
</el-input>
</el-form-item>
</el-col>
<el-col :span="24" v-if="nowstatus==2||nowstatus==3">
<el-form-item label="有无违法转办">
<el-tag v-if="end_types==0">无</el-tag>
<el-tag type="warning" v-if="end_types==1">养护转办</el-tag>
<el-tag type="warning" v-if="end_types==2">违法转办</el-tag>
</el-form-item>
</el-col>
<el-col :span="24" v-if="nowstatus==2||nowstatus==3">
<el-form-item label="处理日志" prop="">
</el-form-item>
<el-table :data="rainMaintainLogs" style="width: 90%;margin: 0 auto;">
<el-table-column prop="created_at" label="日期" width="180">
</el-table-column>
<el-table-column prop="content" label="内容">
</el-table-column>
<el-table-column prop="type_name" label="操作结果">
</el-table-column>
<el-table-column prop="adminName" label="操作人" width="180">
</el-table-column>
</el-table>
</el-col>
</el-row>
</el-form>
</el-scrollbar>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="resetFormDetail('formdetail')">取 消</el-button>
<el-button v-if="nowstatus==1" type="primary" v-preventReClick @click="submitFormDetail('formdetail','2')">办结
</el-button>
<el-button v-if="nowstatus==1" type="danger" v-preventReClick @click="submitFormDetail('formdetail','3')">退回
</el-button>
</div>
</el-dialog>
<el-dialog class="common-dialog" :visible.sync="dialogVisible">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
</div>
</div>
</template>
<script>
import {
listall,
get,
del,
update,
} from '../../../api/rain/inspection.js'
import {
storeclue
} from '../../../api/assess/clue.js'
import {
getToken
} from '@/utils/auth'
import {
getparameteritem
} from '../../../api/system/dictionary.js'
import {
listarea
} from '../../../api/basic/area.js'
import {
listroad
} from '../../../api/basic/road.js'
import LxHeader from "@/components/LxHeader/index.vue";
export default {
components: {
LxHeader
},
data() {
return {
datesearch: "",
tableHeight: 0,
rainTypeVisible: false,
rainType: "1",
dialogFormVisible: false,
dialogFormDetailVisible: false,
formLabelWidth: "120px",
dialogImageUrl: "",
dialogVisible: false,
rainTitle: "日常雨水设施",
tableData: [],
mapparams: {
zoom: 11,
},
mapform: [],
tableHeight: 0,
searchFields: {
end_type: 2,
is_export:0
},
selects: {
areasList: [{
id: "",
name: "所有"
}],
typeList: [{
id: "",
name: "所有"
}, {
id: "1",
name: "日常雨水设施"
}, {
id: "2",
name: "在建工地"
}],
statusList: [{
id: "",
name: "所有"
}, {
id: "1",
name: "未审核"
}, {
id: "2",
name: "已审核"
}, {
id: "3",
name: "已办结"
}],
},
paginations: {
page: 1,
page_size: 15,
total: 0
},
filesList: [],
dealFilesList: [],
rainMaintainLogs: [],
end_types: 0,
disabled: false,
uploadOther: {
token: ""
},
idname: "",
nowstatus: 0,
buildList: [],
siteType: [],
siteLaw: [],
equiementList: [],
sequiementList: [{
id: "",
value: "所有"
}],
siteStatus: [{
id: 1,
value: "在建"
}, {
id: 2,
value: "完工"
}],
form: {
content: "",
ask_content_id: "",
is_unusual: 0,
is_scene: 0,
point_name: "",
scope: "",
result: "",
tip: "",
longitude: "",
latitude: "",
address: "",
files_list: [],
files_end_list: [],
building_site_id: "",
name: "",
number: "",
type: "",
status: 0,
remark: "",
is_law: 0,
break_id: "",
road_id: ""
},
roadloading: false,
roadsList: [],
roadName: "",
roaddisabled: false,
formdetail: {
status: 0,
end_type: 0,
content: ""
},
formclue: {
type: 5,
rain_inspection_id: "",
},
columns: [{
field: "address",
title: "地址",
type: "string",
align: "left",
width: 360
},
{
field: "area_info",
title: "所属片区",
type: "format",
align: "center",
width: 180
},
{
field: "askName",
title: "巡查内容",
type: "string",
align: "center",
width: 180
},
{
field: "type",
title: "类型",
type: "type",
align: "center",
width: 180
},
{
field: "end_type",
title: "是否违法转办",
type: "end_type",
align: "center",
width: 180
},
{
field: "status",
title: "状态",
type: "status",
align: "center",
width: 180
},
{
field: "userName",
title: "提交人",
type: "admin",
align: "center",
width: 180
},
{
field: "created_at",
title: "提交日期",
type: "string",
align: "center",
width: 180
},
{
field: "操作",
title: "操作",
width: 220,
type: "opt",
fixed: "right"
}
],
}
},
created() {
this.initLoad();
this.load();
},
watch: {
datesearch(newVal, oldVal) {
console.log(newVal)
if (newVal) {
this.searchFields.start_date = newVal[0]
this.searchFields.end_date = newVal[1]
} else {
this.searchFields.start_date = ""
this.searchFields.end_date = ""
}
}
},
methods: {
getUserName(row) {
if (row.admin) {
return row.admin.name;
} else if (row.user) {
return row.user.name;
} else {
return "未知";
}
},
goorder(){
this.$router.push({path:'/rain/order/order',query:{isnew:true}});
},
initLoad() {
var that = this;
var clientHeight = document.documentElement.clientHeight
var lxHeader_height = 96.5; //查询 头部
var paginationHeight = 37; //分页的高度
var topHeight = 50; //页面 头部
let tableHeight = clientHeight - lxHeader_height - topHeight - paginationHeight - 20;
that.tableHeight = tableHeight;
getparameteritem('siteType').then(res => {
that.siteType = res.detail
})
getparameteritem('siteLaw').then(res => {
that.siteLaw = res.detail
})
getparameteritem('equiementList').then(res => {
that.equiementList = res.detail
for (var m of res.detail) {
that.sequiementList.push(m)
}
})
listarea({
page: 1,
page_size: 99
}).then(res => {
for (var m of res.data) {
that.selects.areasList.push({
id: m.id,
name: m.name
})
}
})
},
handleCurrentChange(page) {
this.paginations.page = page;
this.load();
},
load() {
listall({
page: this.paginations.page,
page_size: this.paginations.page_size,
...this.searchFields
}).then(response => {
for (var m of response.data) {
if (m.rain_equipment_info) {
m.askName = m.rain_equipment_info.ask_content_detail ? m.rain_equipment_info.ask_content_detail
.value : ""
}
}
this.tableData = response.data;
this.paginations.total = response.total;
}).catch(error => {
console.log(error)
reject(error)
});
},
remoteRoad() {
this.roadsList = []
},
remoteMethod(query) {
if (query != '') {
this.roadloading = true
listroad({
name: query
}).then(res => {
this.roadloading = false
this.roadsList = res.data
})
} else {
this.roadsList = []
}
},
info(obj) {
var that = this;
get(obj.id).then(res => {
let result = Object.assign(that.form, res);
// this.$set(that.form,res)
that.rainType = result.type;
that.nowstatus = result.status;
that.formclue.rain_inspection_id = result.id
if (result.rain_inspection_logs) {
for (var k of result.rain_inspection_logs) {
k.adminName = k.admin ? k.admin.name : ""
}
}
that.rainMaintainLogs = result.rain_inspection_logs;
that.end_types = result.end_type
if (that.rainType == 1) {
that.rainTitle = "日常雨水设施"
} else if (that.rainType == 2) {
that.rainTitle = "在建工地"
}
switch (result.type) {
case 1:
that.form = result.rain_equipment_info;
that.form.rain_equipment_id = result.rain_equipment_id;
that.roaddisabled = true
that.roadName = result.rain_equipment_info.road ? result.rain_equipment_info.road.name : ""
that.idname = "rain_equipment_id"
that.mapform = [result.rain_equipment_info.longitude, result.rain_equipment_info.latitude, result
.rain_equipment_info.address
]
let _files = [];
let clue_files = []
for (var mod of result.rain_equipment_info.rain_equipment_files) {
let m = Object.assign({}, mod);
m.url = mod.files.url;
m.id = mod.files.id;
m.photoType = "before";
_files.push(m);
clue_files.push({
upload_id: mod.files.id
})
}
that.filesList = _files;
let _filesafter = [];
for (var mod of result.rain_equipment_info.rain_equipment_end_files) {
let m = Object.assign({}, mod);
m.url = mod.files.url;
m.id = mod.files.id;
m.photoType = "after";
_filesafter.push(m);
}
that.dealFilesList = _filesafter;
that.formclue.area_id = result.area_id
that.formclue.content = result.rain_equipment_info.content
that.formclue.files_list = clue_files
that.formclue.date = result.created_at
that.formclue.longitude = result.rain_equipment_info.longitude
that.formclue.latitude = result.rain_equipment_info.latitude
that.formclue.address = result.rain_equipment_info.address
break;
case 2:
that.form = result.building_site_info;
that.roadName = result.building_site_info.road ? result.building_site_info.road.name : ""
let building_site = result.building_site_info.building_site
that.form.building_site_id = building_site.id
that.form.address = building_site.address
that.form.latitude = building_site.latitude
that.form.longitude = building_site.longitude
that.form.name = building_site.name
that.form.number = building_site.number
that.form.remark = building_site.remark
that.form.status = building_site.status
that.form.type = parseInt(building_site.type)
that.form.building_site_id = building_site.id
that.form.building_site_content_id = result.building_site_content_id;
that.idname = "building_site_content_id"
that.mapform = [building_site.longitude, building_site.latitude, building_site.address]
let discharge_files = [];
let build_files = [];
for (var mod of result.building_site_info.building_site_content_files) {
let m = Object.assign({}, mod);
m.url = mod.files.url;
m.id = mod.files.id;
m.photoType = "before";
discharge_files.push(m);
build_files.push({
upload_id: mod.files.id
})
}
that.filesList = discharge_files;
that.formclue.area_id = result.area_id
that.formclue.content = result.building_site_info.content
that.formclue.files_list = build_files
that.formclue.date = result.created_at
that.formclue.address = building_site.address
that.formclue.latitude = building_site.latitude
that.formclue.longitude = building_site.longitude
break;
}
that.formdetail.id = result.id
that.formdetail.end_type = result.end_type
}).catch(error => {
//reject(error)
})
},
show(obj) {
this.dialogFormDetailVisible = true;
this.info(obj)
},
del(obj) {
var that = this;
if (obj) {
this.$Modal.confirm({
title: '确认要删除数据?',
onOk: () => {
del(obj.id).then(response => {
this.$Message.success('操作成功');
that.load();
}).catch(error => {
console.log(error)
reject(error)
})
},
onCancel: () => {
//this.$Message.info('Clicked cancel');
}
});
}
},
submitFormDetail(formName, status) {
var that = this;
that.formdetail.status = status
console.log(that.formdetail);
if (that.formdetail.end_type == 2 && that.formdetail.status == 2) {
storeclue(that.formclue).then(response => {
this.$Message.success('新增线索处办成功');
}).catch(error => {
//reject(error)
})
}
update(that.formdetail).then(response => {
this.$Message.success('操作成功');
that.load();
that.dialogFormDetailVisible = false;
}).catch(error => {
//reject(error)
})
},
resetFormDetail(formName) {
var that = this;
that.filesList = [];
that.dealFilesList = [];
that.form = {};
that.rainMaintainLogs = []
that.end_types = 0;
that.formdetail = {
status: 0,
end_type: 0,
content: ""
}
that.dialogFormDetailVisible = false;
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url;
this.dialogVisible = true;
}
}
}
</script>
<style>
.dialogConcent {
overflow-y: auto;
}
.width100 {
width: 100%;
}
.files_check .el-upload.el-upload--picture-card {
display: none;
}
.vm10{
margin-right:10px;
margin-bottom:10px;
height: 32px;
vertical-align: bottom;
}
.vm10 input {
height: 32px;
vertical-align: middle;
}
.vm10 .el-select__caret.el-input__icon.el-icon-arrow-up {
line-height: 30px;
}
.vm10 .el-input__icon.el-range__icon.el-icon-date,.vm10 .el-range-separator{
line-height: 25px;
}
.selerchcontent button{
vertical-align: top;
}
</style>

@ -16,6 +16,10 @@
<el-select class="vm10" filterable v-model="searchFields.area_id" placeholder="请选择所属片区">
<el-option v-for="item in selects.areasList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
<el-select class="vm10" filterable v-model="searchFields.maintain_id" placeholder="请选择所属养护单位">
<el-option v-for="item in selects.maintainList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
<el-select class="vm10" filterable v-model="searchFields.status" placeholder="请选择状态">
<el-option v-for="item in selects.statusList" :key="item.id" :label="item.name" :value="item.id">
@ -42,7 +46,7 @@
<el-date-picker class="vm10" v-model="datesearch" type="daterange" range-separator="至"
start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd">
</el-date-picker>
<Button type="primary" @click="load" style="margin-left: 10px">查询</Button>
<Button type="primary" @click="load(false)" style="margin-left: 10px">查询</Button>
</div>
</slot>
</LxHeader>
@ -80,23 +84,19 @@
<div v-else-if="column.type=='audit_status' && scope.row['status']==2">
<el-tag v-if="scope.row[column.field]==0">待复核</el-tag>
<el-tag type="success" v-if="scope.row[column.field]==1">已复核</el-tag>
<!-- <el-tag type="warning" v-if="scope.row[column.field]==2">未通过</el-tag> -->
</div>
<div v-else-if="column.type=='audit_status' && scope.row['status']!=2">
无
</div>
<div v-else-if="column.type=='format'">
{{scope.row[column.field]?scope.row[column.field].name:""}}
<!-- <div v-if="column.field=='ask_content_detail'">{{scope.row[column.field]?scope.row[column.field].value:""}}</div>
<div v-else></div> -->
</div>
<div v-else-if="column.type=='admin'">
{{getUserName(scope.row)}}
</div>
<div v-else-if="column.type=='maintain'">
{{getMaintinName(scope.row)}}
</div>
<!-- <div v-else-if="column.type=='end_type'">
<el-tag v-if="scope.row[column.field]==0">无</el-tag>
<el-tag type="danger" v-if="scope.row[column.field]==1" >违法转办</el-tag>
</div> -->
<div v-else>{{scope.row[column.field]}}</div>
</template>
</el-table-column>
@ -179,7 +179,10 @@
} from '../../../api/system/dictionary.js'
import {
listarea
} from '../../../api/basic/area.js'
} from '../../../api/basic/area.js'
import {
listmaintain
} from '../../../api/basic/unit.js'
import {
listroad
} from '../../../api/basic/road.js'
@ -267,7 +270,11 @@
sequiementList: [{
id: "",
value: "所有"
}],
}],
maintainList: [{
id:"",
name:"所有"
}]
},
reviewFormVisible: false,
@ -302,6 +309,13 @@
type: "format",
align: "center",
width: 180
},
{
field: "maintain",
title: "所属养护单位",
type: "maintain",
align: "center",
width: 180
},
{
field: "askName",
@ -415,6 +429,17 @@
})
}
})
listmaintain({
page: 1,
page_size: 999,
}).then(response => {
for(var m of response.data){
this.selects.maintainList.push(m)
}
}).catch(error => {
console.log(error)
reject(error)
});
},
load(is_export) {
// return
@ -538,6 +563,18 @@
return "未知";
}
},
getMaintinName(row) {
if (row.user) {
if(row.user.maintain){
return row.user.maintain.name;
}else{
return "";
}
} else {
return "";
}
},
remoteRoad() {
this.roadsList = []

@ -0,0 +1,530 @@
<template>
<div>
<!-- 疏通1 疏挖2 专项处理6 维修7 出水口5 汛期助排 3 -->
<dialogShow :title="title" :is-show.sync="isShow" :width="width">
<template v-slot:content>
<el-form :model="form" :rules="rules" ref="form" label-position="right" :label-width="labelwidth">
<el-row>
<el-col :span="12">
<el-form-item label="所属道路" prop="road_id">
<el-select class="width100" v-model="roadName" filterable remote @change="chooseRoad"
:disabled="roaddisabled" clearable @focus="remoteRoad" reserve-keyword placeholder="请输入关键词查找道路信息"
:remote-method="remoteMethod" :loading="roadloading">
<el-option v-for="item in roadsList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="养护内容" prop="title_id">
<el-select multiple class="width100" v-model="titleArr" placeholder="请选择养护内容">
<el-option v-for="item in maintaninList['maintainContent_' + rainType]" :key="item.id"
:label="item.value" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" v-if="rainType==5">
<el-form-item label="出水口编号" prop="number">
<el-input v-model="form.number" placeholder="请填写出水口编号" autocomplete="off"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="所在位置" prop="address">
<avue-input-map :params="mapparams" placeholder="请选择地图" v-model="mapform"></avue-input-map>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="经度" prop="longitude">
<el-input disabled="" v-model="form.longitude" placeholder="经度" autocomplete="off"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="纬度" prop="address">
<el-input disabled="" v-model="form.latitude" placeholder="纬度" autocomplete="off"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="描述" prop="content">
<el-input type="textarea" v-model="form.content" placeholder="请填写描述" autocomplete="off"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="现场照片" prop="files_list">
<el-upload multiple action="/api/admin/upload-file" list-type="picture-card" :file-list="filesList"
ref="pictureUpload" :auto-upload="true" :data="uploadOther" :on-error="handleError"
:on-success="function(responsose,file,fileList) {return handlesuccess(responsose,file,fileList,1)}">
<i slot="default" class="el-icon-plus"></i>
<div slot="file" slot-scope="{file}">
<img class="el-upload-list__item-thumbnail" :src="file.url" alt="">
<span class="el-upload-list__item-actions">
<span class="el-upload-list__item-preview" @click="handlePictureCardPreview(file)">
<i class="el-icon-zoom-in"></i>
</span>
<span v-if="!disabled" class="el-upload-list__item-delete" @click="handleRemove(file)">
<i class="el-icon-delete"></i>
</span>
</span>
</div>
</el-upload>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="是否解决" prop="is_solve">
<el-radio-group v-model="form.is_solve">
<el-radio :label="0">否</el-radio>
<el-radio :label="1">是</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="10" v-if="rainType!=3">
<el-form-item label="是否违法" prop="is_law">
<el-radio-group v-model="form.is_law">
<el-radio :label="0">否</el-radio>
<el-radio :label="1">是</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="临时处理办法" prop="deal_content">
<el-input type="textarea" v-model="form.deal_content" placeholder="请填写临时处理办法" autocomplete="off">
</el-input>
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.is_solve==1">
<el-form-item label="处理结果" prop="deal_result">
<el-input type="textarea" v-model="form.deal_result" placeholder="请填写处理结果" autocomplete="off">
</el-input>
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.is_solve==1">
<el-form-item label="处理后照片" prop="files_deal_list">
<el-upload multiple action="/api/admin/upload-file" list-type="picture-card" :on-error="handleError"
:file-list="dealFilesList" ref="pictureUploads" :limit="3" :auto-upload="true" :data="uploadOther"
:on-success="function(responsose,file,fileList) {return handlesuccess(responsose,file,fileList,2)}">
<i slot="default" class="el-icon-plus"></i>
<div slot="file" slot-scope="{file}">
<img class="el-upload-list__item-thumbnail" :src="file.url" alt="">
<span class="el-upload-list__item-actions">
<span class="el-upload-list__item-preview" @click="handlePictureCardPreview(file)">
<i class="el-icon-zoom-in"></i>
</span>
<span v-if="!disabled" class="el-upload-list__item-delete" @click="handleRemove(file)">
<i class="el-icon-delete"></i>
</span>
</span>
</div>
</el-upload>
</el-form-item>
</el-col>
</el-row>
</el-form>
</template>
<template v-slot:footerbtn>
<el-button type="primary" v-preventReClick @click="submitForm('form')">保存</el-button>
</template>
</dialogShow>
<div>
<el-dialog class="common-dialog" :visible.sync="dialogVisible">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
</div>
</div>
</template>
<script>
import {
get,
storecirculation,
savecirculation,
storewater,
savewater,
storedischarge,
savedischarge,
} from '../../../../api/rain/maintain.js'
import {
getparameteritem
} from '../../../../api/system/dictionary.js'
import {
listroad
} from '../../../../api/basic/road.js'
import dialogShow from '@/components/dialogShow'
export default {
components: {
dialogShow
},
data() {
return {
formType: "showform", // 审核:auditform 办结 endform 查看 showform
title: "雨管养护",
rainType: 1, //新增哪个
width: "60%",
labelwidth: "120px",
isShow: false,
infoId: "",
dialogImageUrl: "",
dialogVisible: false,
disabled: false,
uploadOther: {
token: ""
},
mapparams: {
zoom: 11,
},
mapform: [],
roadsList: [],
roadName: "",
roaddisabled: false,
roadloading: false,
titleArr: [],
maintaninList: {},
filesList: [],
dealFilesList: [],
// 区分 排水
formName: "circulation_info",
formFile: "circulation_files",
formEndFile: "circulation_deal_files",
formId: "circulation_id",
yhtypeList: [{
id: 1,
name: "雨水管道疏挖"
}, {
id: 2,
name: "雨水管道疏通"
}, {
id: 3,
name: "汛期助排"
}, {
id: 4,
name: "污泥外运"
}, {
id: 5,
name: "出水口排查"
}, {
id: 6,
name: "专项处理"
}, {
id: 7,
name: "维修"
}],
form: {
is_law: 0,
is_solve: 0
},
rules: {}
}
},
watch: {
infoId(val) {
this.infoId = val
},
rainType(val) {
var that = this
this.rainType = val
this.form.type = val
},
mapform(newVal, oldVal) {
this.form.longitude = newVal[0];
this.form.latitude = newVal[1];
// if(this.rainType!=4){
this.form.address = newVal[2];
// }
},
},
created() {
// this.initload()
this.getMaintaninList(1)
this.getMaintaninList(2)
this.getMaintaninList(3)
this.getMaintaninList(5)
this.getMaintaninList(6)
this.getMaintaninList(7)
},
methods: {
initload() {
var that = this
},
getMaintaninList(type){
var that = this
getparameteritem('maintainContent_' + type).then(res => {
that.maintaninList['maintainContent_' + type] = res.detail
})
},
getInfo(id) {
var that = this;
this.resetForm()
// that.mainList = that.maintaninList['maintainContent_' + this.rainType]
if (id) {
that.form = {}
get(id).then(res => {
let result = Object.assign(that.form, res);
that.roadName = ""
that.roaddisabled = true
for (var m of that.yhtypeList) {
if (m.id == result.old_type) {
that.title = m.name
}
}
if (result.old_type == 5) {
that.formName = "out_water_info"
that.formFile = "out_water_files"
that.formEndFile = "out_water_deal_files"
that.formId = "out_water_id"
}else if(result.old_type == 3){
that.formName = "help_discharge_info"
that.formFile = "help_discharge_files"
that.formEndFile = "help_discharge_deal_files"
that.formId = "help_discharge_id"
} else {
that.formName = "circulation_info"
that.formFile = "circulation_files"
that.formEndFile = "circulation_deal_files"
that.formId = "circulation_id"
}
that.form = result[that.formName];
that.form[that.formId] = result[that.formId];
that.roadName = that.form.road ? that.form.road.name : ""
that.mapform = [that.form.longitude, that.form.latitude, that.form.address
]
that.form.old_type = result.old_type
that.form.type = result.old_type
if(that.form.title_id){
let getTitle = Object.prototype.toString.call(that.form.title_id)
if(getTitle === "[object Number]"){
that.titleArr.push(that.form.title_id)
}else{
let cir_arrs = that.form.title_id!="" ? that.form.title_id.split(",") : []
for (var m of cir_arrs) {
that.titleArr.push(parseInt(m))
}
}
}
let _files = [];
for (var mod of that.form[that.formFile]) {
let m = Object.assign({}, mod);
m.url = mod.files.url;
m.id = mod.files.id;
m.photoType = "before";
_files.push(m);
}
that.filesList = _files;
let _filesafter = [];
for (var mod of that.form[that.formEndFile]) {
let m = Object.assign({}, mod);
m.url = mod.files.url;
m.id = mod.files.id;
m.photoType = "after";
_filesafter.push(m);
}
that.dealFilesList = _filesafter;
}).catch(error => {
//reject(error)
})
}
},
submitForm(formName) {
var that = this;
var listUrlbefore = []
for (var m of this.filesList) {
m.photoType = "before";
if (m.response)
listUrlbefore.push({
"upload_id": m.response.id
});
else
listUrlbefore.push({
"upload_id": m.id
});
}
this.form.files_list = listUrlbefore;
let listUrlafter = [];
for (var m of this.dealFilesList) {
if (m.response)
listUrlafter.push({
"upload_id": m.response.id
});
else
listUrlafter.push({
"upload_id": m.upload_id
});
}
this.form.files_deal_list = listUrlafter
that.form.title_id = this.returnTitleId(that.titleArr)
console.log("that.form", that.form)
// return
this.$refs[formName].validate((valid) => {
if (valid) {
this.submitType(this.rainType)
} else {
this.$Message.error('数据校验失败');
console.log('error submit!!');
return false;
}
});
},
submitType(type){
var that = this
if(type==5){
if (that.infoId) {
savewater(that.form).then(response => {
this.$Message.success('操作成功');
this.$emit('auditSuccess')
that.isShow = false;
}).catch(error => {
//reject(error)
})
} else {
storewater(that.form).then(response => {
this.$Message.success('操作成功');
this.$emit('auditSuccess')
that.isShow = false;
}).catch(error => {
//reject(error)
})
}
}else if (type==3){
if (that.infoId) {
savedischarge(that.form).then(response => {
this.$Message.success('操作成功');
this.$emit('auditSuccess')
that.isShow = false;
}).catch(error => {
//reject(error)
})
} else {
storedischarge(that.form).then(response => {
this.$Message.success('操作成功');
this.$emit('auditSuccess')
that.isShow = false;
}).catch(error => {
//reject(error)
})
}
}else{
if (that.infoId) {
savecirculation(that.form).then(response => {
this.$Message.success('操作成功');
this.$emit('auditSuccess')
that.isShow = false;
}).catch(error => {
//reject(error)
})
} else {
storecirculation(that.form).then(response => {
this.$Message.success('操作成功');
this.$emit('auditSuccess')
that.isShow = false;
}).catch(error => {
//reject(error)
})
}
}
},
resetForm(formName) {
var that = this;
that.filesList = [];
that.dealFilesList = [];
that.titleArr = []
that.roadName = ""
that.roaddisabled = false
that.mapform = ['', '', ''];
this.form = {
is_law: 0,
is_solve: 0
}
},
chooseRoad(val) {
this.form.road_id = val
},
remoteRoad() {
this.roadsList = []
},
remoteMethod(query) {
if (query != '') {
this.roadloading = true
listroad({
name: query
}).then(res => {
this.roadloading = false
this.roadsList = res.data
})
} else {
this.roadsList = []
}
},
handleRemove(file) {
if (file.photoType == "before") {
for (var i = 0; i < this.filesList.length; i++) {
if (this.filesList[i].url == file.url) {
this.filesList.splice(i, 1)
}
}
} else if (file.photoType == "after") {
for (var i = 0; i < this.dealFilesList.length; i++) {
if (this.dealFilesList[i].url == file.url) {
this.dealFilesList.splice(i, 1)
}
}
}
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url;
this.dialogVisible = true;
},
handlesuccess(response, file, fileList, index) {
if (index == 1) {
file.photoType = "before"
this.filesList = fileList;
// this.form.files_list = listUrl;
} else {
file.photoType = "after"
this.dealFilesList = fileList
}
this.$message({
message: '上传成功',
type: 'success'
});
},
handleError(err, file, fileList) {
this.$message.error('上传失败,重新上传');
},
returnTitleId(arr) {
if (arr.length == 0) {
return
}
let getArr = ""
for (var m of arr) {
getArr += m + ","
}
getArr = getArr.substring(0, getArr.length - 1)
return getArr
}
}
}
</script>
<style>
</style>

@ -0,0 +1,287 @@
<template>
<div>
<!--污泥外运 4 -->
<dialogShow :title="title" :is-show.sync="isShow" :width="width">
<template v-slot:content>
<el-form :model="form" :rules="rules" ref="form" label-position="right"
:label-width="labelwidth">
<el-row>
<el-col :span="12">
<el-form-item label="所属道路" prop="road_id">
<el-select class="width100" v-model="roadName" filterable remote @change="chooseRoad"
:disabled="roaddisabled" clearable @focus="remoteRoad" reserve-keyword placeholder="请输入关键词查找道路信息"
:remote-method="remoteMethod" :loading="roadloading">
<el-option v-for="item in roadsList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="外运时间" prop="date">
<el-date-picker class="width100" v-model="form.date" type="datetime" placeholder="选择日期时间"
value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备用排放点" prop="address">
<el-input type="text" v-model="form.address" placeholder="请填写备用排放点" autocomplete="off"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="描述" prop="content">
<el-input type="textarea" v-model="form.content" placeholder="请填写描述" autocomplete="off"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="附件" prop="files_list">
<el-upload multiple action="/api/admin/upload-file" list-type="picture-card" :file-list="filesList"
ref="pictureUpload" :auto-upload="true" :data="uploadOther" :on-error="handleError"
:on-success="function(responsose,file,fileList) {return handlesuccess(responsose,file,fileList,1)}">
<i slot="default" class="el-icon-plus"></i>
<div slot="file" slot-scope="{file}">
<img class="el-upload-list__item-thumbnail" :src="file.url" alt="">
<span class="el-upload-list__item-actions">
<span class="el-upload-list__item-preview" @click="handlePictureCardPreview(file)">
<i class="el-icon-zoom-in"></i>
</span>
<span v-if="!disabled" class="el-upload-list__item-delete" @click="handleRemove(file)">
<i class="el-icon-delete"></i>
</span>
</span>
</div>
</el-upload>
</el-form-item>
</el-col>
</el-row>
</el-form>
</template>
<template v-slot:footerbtn>
<el-button type="primary" v-preventReClick @click="submitForm('form')">保存</el-button>
</template>
</dialogShow>
<div>
<el-dialog class="common-dialog" :visible.sync="dialogVisible">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
</div>
</div>
</template>
<script>
import {
get,
storemire,
savemire,
} from '../../../../api/rain/maintain.js'
import {
getparameteritem
} from '../../../../api/system/dictionary.js'
import {
listroad
} from '../../../../api/basic/road.js'
import dialogShow from '@/components/dialogShow'
export default {
components: {
dialogShow
},
data() {
return {
formType: "showform", // 审核:auditform 办结 endform 查看 showform
title: "污泥外运",
width: "60%",
labelwidth: "120px",
isShow: false,
infoId: "",
dialogImageUrl: "",
dialogVisible: false,
disabled: false,
uploadOther: {
token: ""
},
mapparams: {
zoom: 11,
},
mapform: [],
roadsList: [],
roadName: "",
roaddisabled: false,
roadloading: false,
filesList: [],
// 区分 排水
form: {
},
rules: {}
}
},
watch: {
infoId(val) {
this.infoId = val
},
mapform(newVal, oldVal) {
this.form.longitude = newVal[0];
this.form.latitude = newVal[1];
// if(this.rainType!=4){
this.form.address = newVal[2];
// }
},
},
created() {
},
methods: {
initload() {
},
getInfo(id) {
var that = this;
this.resetForm()
// that.mainList = that.maintaninList['maintainContent_' + this.rainType]
if (id) {
that.form = {}
get(id).then(res => {
let result = Object.assign(that.form, res);
that.roadName = ""
that.roaddisabled = true
that.form = result['mire_info'];
that.form['mire_id'] = result['mire_id'];
that.roadName = that.form.road ? that.form.road.name : ""
that.mapform = [that.form.longitude, that.form.latitude, that.form.address
]
that.form.old_type = result.old_type
that.form.type = result.old_type
let _files = [];
for (var mod of that.form['mire_files']) {
let m = Object.assign({}, mod);
m.url = mod.files.url;
m.id = mod.files.id;
m.photoType = "before";
_files.push(m);
}
that.filesList = _files;
}).catch(error => {
//reject(error)
})
}
},
submitForm(formName) {
var that = this;
var listUrlbefore = []
for (var m of this.filesList) {
m.photoType = "before";
if (m.response)
listUrlbefore.push({
"upload_id": m.response.id
});
else
listUrlbefore.push({
"upload_id": m.id
});
}
this.form.files_list = listUrlbefore;
console.log("that.form", that.form)
// return
this.$refs[formName].validate((valid) => {
if (valid) {
if (that.infoId) {
savemire(that.form).then(response => {
this.$Message.success('操作成功');
this.$emit('auditSuccess')
that.isShow = false;
}).catch(error => {
//reject(error)
})
} else {
storemire(that.form).then(response => {
this.$Message.success('操作成功');
this.$emit('auditSuccess')
that.isShow = false;
}).catch(error => {
//reject(error)
})
}
} else {
this.$Message.error('数据校验失败');
console.log('error submit!!');
return false;
}
});
},
resetForm(formName) {
var that = this;
that.filesList = [];
that.roadName = ""
that.roaddisabled = false
that.mapform = ['', '', ''];
this.form = {
}
},
chooseRoad(val) {
this.form.road_id = val
},
remoteRoad() {
this.roadsList = []
},
remoteMethod(query) {
if (query != '') {
this.roadloading = true
listroad({
name: query
}).then(res => {
this.roadloading = false
this.roadsList = res.data
})
} else {
this.roadsList = []
}
},
handleRemove(file) {
for (var i = 0; i < this.filesList.length; i++) {
if (this.filesList[i].url == file.url) {
this.filesList.splice(i, 1)
}
}
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url;
this.dialogVisible = true;
},
handlesuccess(response, file, fileList, index) {
if (index == 1) {
file.photoType = "before"
this.filesList = fileList;
// this.form.files_list = listUrl;
} else {
file.photoType = "after"
this.dealFilesList = fileList
}
this.$message({
message: '上传成功',
type: 'success'
});
},
handleError(err, file, fileList) {
this.$message.error('上传失败,重新上传');
}
}
}
</script>
<style>
</style>

@ -1,32 +1,230 @@
<template>
<!-- 工地巡查 -->
<dialogShow :title="title" :is-show.sync="isShow" :width="width">
<template v-slot:content>
<el-form :model="form" :rules="{}" ref="formdetail" label-position="right"
:label-width="labelwidth">
<template>
<div>
<!-- 疏通1 疏挖2 专项处理6 维修7 出水口5-->
<dialogShow :title="title" :is-show.sync="isShow" :width="width">
<template v-slot:content>
<el-form :model="formdetail"
:rules="{}" ref="formdetail" label-position="right" :label-width="labelwidth">
<el-row>
<el-col :span="24">
<el-form-item label="所属道路" prop="road_id">
{{form.roadName}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="养护内容" prop="title_id">
{{form.title_detail}}
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.old_type==5">
<el-form-item label="出水口编号" prop="number">
{{form.number}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="所在位置" prop="address">
{{form.address}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="经度" prop="longitude">
{{form.longitude}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="纬度" prop="latitude">
{{form.latitude}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="描述" prop="content">
{{form.content}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="现场照片" prop="files_list" class="files_check">
<el-upload multiple action="/api/admin/upload-file" list-type="picture-card" :file-list="filesList"
ref="pictureUploads">
<div slot="file" slot-scope="{file}">
<img class="el-upload-list__item-thumbnail" :src="file.url" alt="">
<span class="el-upload-list__item-actions">
<span class="el-upload-list__item-preview" @click="handlePictureCardPreview(file)">
<i class="el-icon-zoom-in"></i>
</span>
</span>
</div>
</el-upload>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="是否解决" prop="is_solve">
<el-tag v-if="form.is_solve==0">否</el-tag>
<el-tag type="success" v-if="form.is_solve==1">是</el-tag>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="是否违法" prop="is_law">
<el-tag v-if="form.is_law==0">否</el-tag>
<el-tag type="success" v-if="form.is_law==1">是</el-tag>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="临时处理办法" prop="deal_content">
{{form.deal_content}}
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.is_solve==1">
<el-form-item label="处理结果" prop="deal_result">
{{form.deal_result}}
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.is_solve==1">
<el-form-item label="处理后照片" prop="files_deal_list" class="files_check">
<el-upload multiple action="/api/admin/upload-file" list-type="picture-card"
:file-list="dealFilesList" ref="pictureUploads">
<div slot="file" slot-scope="{file}">
<img class="el-upload-list__item-thumbnail" :src="file.url" alt="">
<span class="el-upload-list__item-actions">
<span class="el-upload-list__item-preview" @click="handlePictureCardPreview(file)">
<i class="el-icon-zoom-in"></i>
</span>
</span>
</div>
</el-upload>
</el-form-item>
</el-col>
<!-- 查看 -->
<div v-if="formType=='showform'">
<el-col :span="24">
<el-form-item label="有无违法转办">
<el-tag v-if="form.end_type==0">无</el-tag>
<el-tag type="warning" v-if="form.end_type==1">违法转办</el-tag>
<el-tag type="warning" v-if="form.end_type==2">养护转办</el-tag>
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.end_type==2">
<el-form-item label="养护转办类型" prop="type">
<div v-for="item in yhtypeList">
<div v-if="form.type==item.id">
{{item.name}}
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.end_type==2">
<el-form-item label="要求完成时间" prop="end_time">
{{form.end_time}}
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.end_type==2">
<el-form-item label="备注" prop="remark">
{{form.remark}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="处理日志" prop="">
</el-form-item>
<el-table :data="form.rainMaintainLogs" style="width: 90%;margin: 0 auto;">
<el-table-column prop="created_at" label="日期" width="180">
</el-table-column>
<el-table-column prop="content" label="内容">
</el-table-column>
<el-table-column prop="type_name" label="操作结果">
</el-table-column>
<el-table-column prop="adminName" label="操作人" width="180">
</el-table-column>
</el-table>
</el-col>
</div>
<!-- 审核 auditform 办结-->
<div v-if="formType!='showform'">
<el-col :span="24">
<el-form-item label="备注" prop="content">
<el-input type="textarea" v-model="formdetail.content" placeholder="请填写备注"></el-input>
</el-form-item>
</el-col>
</div>
<div v-if="formType=='endform'">
<el-col :span="24">
<el-form-item label="有无违法转办" prop="end_type">
<el-radio-group v-model="formdetail.end_type">
<el-radio :label="0">无</el-radio>
<el-radio :label="2">养护转办</el-radio>
<el-radio :label="1">违法转办</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24" v-if="formdetail.end_type==2">
<el-form-item label="养护转办类型" prop="type">
<el-select class="width100" v-model="formdetail.type" placeholder="请选择养护转办类型">
<el-option v-for="item in yhtypeList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24" v-if="formdetail.end_type==2">
<el-form-item label="要求完成时间" prop="end_time">
<el-date-picker style="width:100%" v-model="formdetail.end_time" type="datetime" placeholder="选择时间"
value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="remark" v-if="formdetail.end_type==2">
<el-input type="textarea" v-model="formdetail.remark" placeholder="请填写备注"></el-input>
</el-form-item>
</el-col>
</div>
</el-row>
</el-form>
</template>
<!-- <template v-slot:footerbtn>
123
</template> -->
</template>
<template v-slot:footerbtn>
<el-button v-if="formType=='auditform'" type="primary" v-preventReClick @click="auditForm('formdetail','1')">审核</el-button>
<div v-if="formType=='endform'" style="display: inline-block;margin-left:10px">
<el-button v-if="formdetail.end_type!=1" type="primary" v-preventReClick
@click="auditForm('formdetail','2')">办结
</el-button>
<el-button v-if="formdetail.end_type!=1" type="warning" v-preventReClick
@click="auditForm('formdetail','4')">缺陷办结
</el-button>
<el-button v-if="formdetail.end_type==1" type="primary" v-preventReClick
@click="auditForm('formdetail','1')">保存
</el-button>
<el-button v-if="formdetail.end_type!=1" type="danger" v-preventReClick
@click="auditForm('formdetail','3')">退回</el-button>
</div>
</template>
</dialogShow>
<div>
<el-dialog class="common-dialog" :visible.sync="dialogVisible">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
</div>
</div>
</dialogShow>
</template>
<script>
import {
get
} from '../../../../api/rain/maintain.js'
import {
getparameteritem
get,
update
} from '../../../../api/rain/maintain.js'
import {
getparameteritem
} from '../../../../api/system/dictionary.js'
import dialogShow from '@/components/dialogShow'
export default {
@ -35,12 +233,21 @@
},
data() {
return {
title: "雨水管道疏挖",
width: "60%",
labelwidth:"120px",
formType: "showform", // 审核:auditform 办结 endform 查看 showform
title: "雨管养护",
width: "60%",
labelwidth: "120px",
isShow: false,
infoId: "",
dialogImageUrl: "",
dialogVisible: false,
filesList: [],
dealFilesList: [],
// 区分 排水
formName:"circulation_info",
formFile:"circulation_files",
formEndFile:"circulation_deal_files",
yhtypeList: [{
id: 1,
name: "雨水管道疏挖"
@ -65,34 +272,122 @@
}],
form: {
},
formdetail: {
content: "",
end_time: "",
remark: "",
type:0,
end_type:0
},
rules: {}
}
},
created(){
this.initload()
watch: {
infoId(val) {
this.infoId = val
},
formType(val) {
this.formType = val
},
'formdetail.end_type':function(val){
this.formdetail.remark = ""
this.formdetail.end_time = ""
this.formdetail.type = 0
if(val==2){
this.formdetail.type = ""
}
}
},
methods: {
initload(){
created() {
this.initload()
},
methods: {
initload() {
},
getSiteInfo(id) {
getInfo(id) {
if (id) {
var that = this;
that.form = {}
get(id).then(res => {
let result = Object.assign(that.form, res);
if(result.old_type==5){
that.formName = "out_water_info"
that.formFile="out_water_files"
that.formEndFile="out_water_deal_files"
}else{
that.formName = "circulation_info"
that.formFile="circulation_files"
that.formEndFile="circulation_deal_files"
}
for(var m of that.yhtypeList){
if(m.id==result.old_type){
that.title = m.name
}
}
that.form = result[that.formName];
if (result.rain_maintain_logs) {
for (var k of result.rain_maintain_logs) {
k.adminName = k.admin ? k.admin.name : ""
}
}
that.form.rainMaintainLogs = result.rain_maintain_logs
// that.form.circulation_id = result.circulation_id;
that.form.roadName = that.form.road ? that.form.road.name : ""
that.form.end_type = result.end_type
that.form.end_time = result.end_time
that.form.remark = result.remark
that.form.type = result.type
that.form.old_type = result.old_type
// that.formdetail.type = that.form.old_type
let _files = [];
for (var mod of that.form[that.formFile]) {
let m = Object.assign({}, mod);
m.url = mod.files.url;
m.id = mod.files.id;
m.photoType = "before";
_files.push(m);
}
that.filesList = _files;
let _filesafter = [];
for (var mod of that.form[that.formEndFile]) {
let m = Object.assign({}, mod);
m.url = mod.files.url;
m.id = mod.files.id;
m.photoType = "after";
_filesafter.push(m);
}
that.dealFilesList = _filesafter;
}).catch(error => {
//reject(error)
})
}
},
auditForm(formname,status) {
var that = this
this.formdetail.status = status
this.formdetail.id = this.infoId
console.log("that.formdetail",that.formdetail)
// return
update(that.formdetail).then(response => {
this.$Message.success('操作成功');
this.$emit("auditSuccess")
that.isShow = false;
this.$refs['formdetail'].resetFields()
// that.load();
}
}).catch(error => {
//reject(error)
})
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url;
this.dialogVisible = true;
},
}
}

@ -0,0 +1,363 @@
<template>
<div>
<!-- 汛期助排 3-->
<dialogShow :title="title" :is-show.sync="isShow" :width="width">
<template v-slot:content>
<el-form :model="formdetail" :rules="{}" ref="formdetail" label-position="right"
:label-width="labelwidth">
<el-row>
<el-col :span="24">
<el-form-item label="所属道路" prop="road_id">
{{form.roadName}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="所在位置" prop="address">
{{form.address}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="经度" prop="longitude">
{{form.longitude}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="纬度" prop="latitude">
{{form.latitude}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="描述" prop="content">
{{form.content}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="现场照片" prop="files_list" class="files_check">
<el-upload multiple action="/api/admin/upload-file" list-type="picture-card" :file-list="filesList"
ref="pictureUploads">
<div slot="file" slot-scope="{file}">
<img class="el-upload-list__item-thumbnail" :src="file.url" alt="">
<span class="el-upload-list__item-actions">
<span class="el-upload-list__item-preview" @click="handlePictureCardPreview(file)">
<i class="el-icon-zoom-in"></i>
</span>
</span>
</div>
</el-upload>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="是否解决" prop="is_solve">
<el-tag v-if="form.is_solve==0">否</el-tag>
<el-tag type="success" v-if="form.is_solve==1">是</el-tag>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="临时处理办法" prop="deal_content">
{{form.deal_content}}
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.is_solve==1">
<el-form-item label="处理结果" prop="deal_result">
{{form.deal_result}}
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.is_solve==1">
<el-form-item label="处理后照片" prop="files_deal_list" class="files_check">
<el-upload multiple action="/api/admin/upload-file" list-type="picture-card"
:file-list="dealFilesList" ref="pictureUploads">
<div slot="file" slot-scope="{file}">
<img class="el-upload-list__item-thumbnail" :src="file.url" alt="">
<span class="el-upload-list__item-actions">
<span class="el-upload-list__item-preview" @click="handlePictureCardPreview(file)">
<i class="el-icon-zoom-in"></i>
</span>
</span>
</div>
</el-upload>
</el-form-item>
</el-col>
<!-- 查看 -->
<div v-if="formType=='showform'">
<el-col :span="24">
<el-form-item label="有无违法转办">
<el-tag v-if="form.end_type==0">无</el-tag>
<el-tag type="warning" v-if="form.end_type==1">违法转办</el-tag>
<el-tag type="warning" v-if="form.end_type==2">养护转办</el-tag>
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.end_type==2">
<el-form-item label="养护转办类型" prop="type">
<div v-for="item in yhtypeList">
<div v-if="form.type==item.id">
{{item.name}}
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.end_type==2">
<el-form-item label="要求完成时间" prop="end_time">
{{form.end_time}}
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.end_type==2">
<el-form-item label="备注" prop="remark">
{{form.remark}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="处理日志" prop="">
</el-form-item>
<el-table :data="form.rainMaintainLogs" style="width: 90%;margin: 0 auto;">
<el-table-column prop="created_at" label="日期" width="180">
</el-table-column>
<el-table-column prop="content" label="内容">
</el-table-column>
<el-table-column prop="type_name" label="操作结果">
</el-table-column>
<el-table-column prop="adminName" label="操作人" width="180">
</el-table-column>
</el-table>
</el-col>
</div>
<!-- 审核 auditform 办结-->
<div v-if="formType!='showform'">
<el-col :span="24">
<el-form-item label="备注" prop="content">
<el-input type="textarea" v-model="formdetail.content" placeholder="请填写备注"></el-input>
</el-form-item>
</el-col>
</div>
<div v-if="formType=='endform'">
<el-col :span="24">
<el-form-item label="有无违法转办" prop="end_type">
<el-radio-group v-model="formdetail.end_type">
<el-radio :label="0">无</el-radio>
<el-radio :label="2">养护转办</el-radio>
<el-radio :label="1">违法转办</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24" v-if="formdetail.end_type==2">
<el-form-item label="养护转办类型" prop="type">
<el-select class="width100" v-model="formdetail.type" placeholder="请选择养护转办类型">
<el-option v-for="item in yhtypeList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24" v-if="formdetail.end_type==2">
<el-form-item label="要求完成时间" prop="end_time">
<el-date-picker style="width:100%" v-model="formdetail.end_time" type="datetime" placeholder="选择时间"
value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="remark" v-if="formdetail.end_type==2">
<el-input type="textarea" v-model="formdetail.remark" placeholder="请填写备注"></el-input>
</el-form-item>
</el-col>
</div>
</el-row>
</el-form>
</template>
<template v-slot:footerbtn>
<el-button v-if="formType=='auditform'" type="primary" v-preventReClick @click="auditForm('formdetail','1')">审核</el-button>
<div v-if="formType=='endform'" style="display: inline-block;margin-left:10px">
<el-button v-if="formdetail.end_type!=1" type="primary" v-preventReClick
@click="auditForm('formdetail','2')">办结
</el-button>
<el-button v-if="formdetail.end_type!=1" type="warning" v-preventReClick
@click="auditForm('formdetail','4')">缺陷办结
</el-button>
<el-button v-if="formdetail.end_type==1" type="primary" v-preventReClick
@click="auditForm('formdetail','1')">保存
</el-button>
<el-button v-if="formdetail.end_type!=1" type="danger" v-preventReClick
@click="auditForm('formdetail','3')">退回</el-button>
</div>
</template>
</dialogShow>
<div>
<el-dialog class="common-dialog" :visible.sync="dialogVisible">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
</div>
</div>
</template>
<script>
import {
get,
update
} from '../../../../api/rain/maintain.js'
import {
getparameteritem
} from '../../../../api/system/dictionary.js'
import dialogShow from '@/components/dialogShow'
export default {
components: {
dialogShow
},
data() {
return {
formType: "showform", // 审核:auditform 办结 endform 查看 showform
title: "汛期助排",
width: "60%",
labelwidth: "120px",
isShow: false,
infoId: "",
dialogImageUrl: "",
dialogVisible: false,
filesList: [],
dealFilesList: [],
yhtypeList: [{
id: 1,
name: "雨水管道疏挖"
}, {
id: 2,
name: "雨水管道疏通"
}, {
id: 3,
name: "汛期助排"
}, {
id: 4,
name: "污泥外运"
}, {
id: 5,
name: "出水口排查"
}, {
id: 6,
name: "专项处理"
}, {
id: 7,
name: "维修"
}],
form: {
},
formdetail: {
content: "",
end_time: "",
remark: "",
type:0,
end_type:0
},
rules: {}
}
},
watch: {
infoId(val) {
this.infoId = val
},
formType(val) {
this.formType = val
},
'formdetail.end_type':function(val){
this.formdetail.remark = ""
this.formdetail.end_time = ""
this.formdetail.type = 0
if(val==2){
this.formdetail.type = ""
}
}
},
created() {
this.initload()
},
methods: {
initload() {
},
getInfo(id) {
if (id) {
var that = this;
that.form = {}
get(id).then(res => {
let result = Object.assign(that.form, res);
that.form = result['help_discharge_info'];
if (result.rain_maintain_logs) {
for (var k of result.rain_maintain_logs) {
k.adminName = k.admin ? k.admin.name : ""
}
}
that.form.rainMaintainLogs = result.rain_maintain_logs
that.form.roadName = that.form.road ? that.form.road.name : ""
that.form.end_type = result.end_type
that.form.end_time = result.end_time
that.form.remark = result.remark
that.form.type = result.type
that.form.old_type = result.old_type
// that.formdetail.type = that.form.old_type
let _files = [];
for (var mod of that.form['help_discharge_files']) {
let m = Object.assign({}, mod);
m.url = mod.files.url;
m.id = mod.files.id;
m.photoType = "before";
_files.push(m);
}
that.filesList = _files;
let _filesafter = [];
for (var mod of that.form['help_discharge_deal_files']) {
let m = Object.assign({}, mod);
m.url = mod.files.url;
m.id = mod.files.id;
m.photoType = "after";
_filesafter.push(m);
}
that.dealFilesList = _filesafter;
}).catch(error => {
//reject(error)
})
}
},
auditForm(formname,status) {
var that = this
this.formdetail.status = status
this.formdetail.id = this.infoId
console.log("that.formdetail",that.formdetail)
// return
update(that.formdetail).then(response => {
this.$Message.success('操作成功');
this.$emit("auditSuccess")
that.isShow = false;
this.$refs['formdetail'].resetFields()
// that.load();
}).catch(error => {
//reject(error)
})
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url;
this.dialogVisible = true;
},
}
}
</script>
<style>
</style>

@ -0,0 +1,319 @@
<template>
<div>
<!-- 污泥外运 4 -->
<dialogShow :title="title" :is-show.sync="isShow" :width="width">
<template v-slot:content>
<el-form :model="formdetail" :rules="{}" ref="formdetail" label-position="right"
:label-width="labelwidth">
<el-row>
<el-col :span="24">
<el-form-item label="所属道路" prop="road_id">
{{form.roadName}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="外运时间" prop="date">
{{form.date}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备用排放点" prop="address">
{{form.address}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="描述" prop="content">
{{form.content}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="现场照片" prop="files_list" class="files_check">
<el-upload multiple action="/api/admin/upload-file" list-type="picture-card" :file-list="filesList"
ref="pictureUploads">
<div slot="file" slot-scope="{file}">
<img class="el-upload-list__item-thumbnail" :src="file.url" alt="">
<span class="el-upload-list__item-actions">
<span class="el-upload-list__item-preview" @click="handlePictureCardPreview(file)">
<i class="el-icon-zoom-in"></i>
</span>
</span>
</div>
</el-upload>
</el-form-item>
</el-col>
<!-- 查看 -->
<div v-if="formType=='showform'">
<el-col :span="24">
<el-form-item label="有无违法转办">
<el-tag v-if="form.end_type==0">无</el-tag>
<el-tag type="warning" v-if="form.end_type==1">违法转办</el-tag>
<el-tag type="warning" v-if="form.end_type==2">养护转办</el-tag>
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.end_type==2">
<el-form-item label="养护转办类型" prop="type">
<div v-for="item in yhtypeList">
<div v-if="form.type==item.id">
{{item.name}}
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.end_type==2">
<el-form-item label="要求完成时间" prop="end_time">
{{form.end_time}}
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.end_type==2">
<el-form-item label="备注" prop="remark">
{{form.remark}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="处理日志" prop="">
</el-form-item>
<el-table :data="form.rainMaintainLogs" style="width: 90%;margin: 0 auto;">
<el-table-column prop="created_at" label="日期" width="180">
</el-table-column>
<el-table-column prop="content" label="内容">
</el-table-column>
<el-table-column prop="type_name" label="操作结果">
</el-table-column>
<el-table-column prop="adminName" label="操作人" width="180">
</el-table-column>
</el-table>
</el-col>
</div>
<!-- 审核 auditform 办结-->
<div v-if="formType!='showform'">
<el-col :span="24">
<el-form-item label="备注" prop="content">
<el-input type="textarea" v-model="formdetail.content" placeholder="请填写备注"></el-input>
</el-form-item>
</el-col>
</div>
<div v-if="formType=='endform'">
<el-col :span="24">
<el-form-item label="有无违法转办" prop="end_type">
<el-radio-group v-model="formdetail.end_type">
<el-radio :label="0">无</el-radio>
<el-radio :label="2">养护转办</el-radio>
<el-radio :label="1">违法转办</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24" v-if="formdetail.end_type==2">
<el-form-item label="养护转办类型" prop="type">
<el-select class="width100" v-model="formdetail.type" placeholder="请选择养护转办类型">
<el-option v-for="item in yhtypeList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24" v-if="formdetail.end_type==2">
<el-form-item label="要求完成时间" prop="end_time">
<el-date-picker style="width:100%" v-model="formdetail.end_time" type="datetime" placeholder="选择时间"
value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="remark" v-if="formdetail.end_type==2">
<el-input type="textarea" v-model="formdetail.remark" placeholder="请填写备注"></el-input>
</el-form-item>
</el-col>
</div>
</el-row>
</el-form>
</template>
<template v-slot:footerbtn>
<el-button v-if="formType=='auditform'" type="primary" v-preventReClick @click="auditForm('formdetail','1')">审核</el-button>
<div v-if="formType=='endform'" style="display: inline-block;margin-left:10px">
<el-button v-if="formdetail.end_type!=1" type="primary" v-preventReClick
@click="auditForm('formdetail','2')">办结
</el-button>
<el-button v-if="formdetail.end_type!=1" type="warning" v-preventReClick
@click="auditForm('formdetail','4')">缺陷办结
</el-button>
<el-button v-if="formdetail.end_type==1" type="primary" v-preventReClick
@click="auditForm('formdetail','1')">保存
</el-button>
<el-button v-if="formdetail.end_type!=1" type="danger" v-preventReClick
@click="auditForm('formdetail','3')">退回</el-button>
</div>
</template>
</dialogShow>
<div>
<el-dialog class="common-dialog" :visible.sync="dialogVisible">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
</div>
</div>
</template>
<script>
import {
get,
update
} from '../../../../api/rain/maintain.js'
import {
getparameteritem
} from '../../../../api/system/dictionary.js'
import dialogShow from '@/components/dialogShow'
export default {
components: {
dialogShow
},
data() {
return {
formType: "showform", // 审核:auditform 办结 endform 查看 showform
title: "污泥外运",
width: "60%",
labelwidth: "120px",
isShow: false,
infoId: "",
dialogImageUrl: "",
dialogVisible: false,
filesList: [],
dealFilesList: [],
// 区分 排水
yhtypeList: [{
id: 1,
name: "雨水管道疏挖"
}, {
id: 2,
name: "雨水管道疏通"
}, {
id: 3,
name: "汛期助排"
}, {
id: 4,
name: "污泥外运"
}, {
id: 5,
name: "出水口排查"
}, {
id: 6,
name: "专项处理"
}, {
id: 7,
name: "维修"
}],
form: {
},
formdetail: {
content: "",
end_time: "",
remark: "",
type:0,
end_type:0
},
rules: {}
}
},
watch: {
infoId(val) {
this.infoId = val
},
formType(val) {
this.formType = val
},
'formdetail.end_type':function(val){
this.formdetail.remark = ""
this.formdetail.end_time = ""
this.formdetail.type = 0
if(val==2){
this.formdetail.type = ""
}
}
},
created() {
this.initload()
},
methods: {
initload() {
},
getInfo(id) {
if (id) {
var that = this;
that.form = {}
get(id).then(res => {
let result = Object.assign(that.form, res);
that.form = result['mire_info'];
if (result.rain_maintain_logs) {
for (var k of result.rain_maintain_logs) {
k.adminName = k.admin ? k.admin.name : ""
}
}
that.form.rainMaintainLogs = result.rain_maintain_logs
that.form.roadName = that.form.road ? that.form.road.name : ""
that.form.end_type = result.end_type
that.form.end_time = result.end_time
that.form.remark = result.remark
that.form.type = result.type
that.form.old_type = result.old_type
// that.formdetail.type = that.form.old_type
let _files = [];
for (var mod of that.form['mire_files']) {
let m = Object.assign({}, mod);
m.url = mod.files.url;
m.id = mod.files.id;
m.photoType = "before";
_files.push(m);
}
that.filesList = _files;
}).catch(error => {
//reject(error)
})
}
},
auditForm(formname,status) {
var that = this
this.formdetail.status = status
this.formdetail.id = this.infoId
console.log("that.formdetail",that.formdetail)
// return
update(that.formdetail).then(response => {
this.$Message.success('操作成功');
this.$emit("auditSuccess")
that.isShow = false;
this.$refs['formdetail'].resetFields()
// that.load();
}).catch(error => {
//reject(error)
})
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url;
this.dialogVisible = true;
},
}
}
</script>
<style>
</style>

@ -16,6 +16,10 @@
<el-select class="vm10" filterable v-model="searchFields.area_id" placeholder="请选择所属片区">
<el-option v-for="item in selects.areasList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
<el-select class="vm10" filterable v-model="searchFields.maintain_id" placeholder="请选择所属养护单位">
<el-option v-for="item in selects.maintaingroupList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
<el-select class="vm10" filterable v-model="searchFields.status" placeholder="请选择状态">
<el-option v-for="item in selects.statusList" :key="item.id" :label="item.name" :value="item.id">
@ -35,7 +39,7 @@
start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd">
</el-date-picker>
<!-- <Input style="width: 200px; margin-right: 10px" v-model="searchFields.KeyWord" placeholder="关键字搜索" /> -->
<Button type="primary" @click="load" style="margin-left: 10px">查询</Button>
<Button type="primary" @click="load(false)" style="margin-left: 10px">查询</Button>
</div>
</slot>
</LxHeader>
@ -58,12 +62,14 @@
<el-tag v-if="scope.row[column.field]==1" type="warning">有</el-tag>
<el-tag v-else>无</el-tag>
</div>
<div v-else-if="column.type=='type'">
<div v-else-if="column.type=='old_type'">
<el-tag v-if="scope.row[column.field]==1">雨水管道疏挖</el-tag>
<el-tag v-if="scope.row[column.field]==2">雨水管道疏通</el-tag>
<el-tag v-if="scope.row[column.field]==3">汛期助排</el-tag>
<el-tag v-if="scope.row[column.field]==4">污泥外运</el-tag>
<el-tag v-if="scope.row[column.field]==5">出水口排查</el-tag>
<el-tag v-if="scope.row[column.field]==5">出水口排查</el-tag>
<el-tag v-if="scope.row[column.field]==6">专项处理</el-tag>
<el-tag v-if="scope.row[column.field]==7">维修</el-tag>
</div>
<div v-else-if="column.type=='status'">
<el-tag v-if="scope.row[column.field]==0">待审核</el-tag>
@ -78,11 +84,10 @@
</div>
<div v-else-if="column.type=='admin'">
{{getUserName(scope.row)}}
</div>
<div v-else-if="column.type=='maintain'">
{{getMaintinName(scope.row)}}
</div>
<!-- <div v-else-if="column.type=='end_type'">
<el-tag v-if="scope.row[column.field]==0">无</el-tag>
<el-tag type="danger" v-if="scope.row[column.field]==1" >违法转办</el-tag>
</div> -->
<div v-else>{{scope.row[column.field]}}</div>
</template>
</el-table-column>
@ -99,7 +104,7 @@
<div class="dialogConcent">
<el-scrollbar style="flex: 1">
<!-- 疏通疏挖 -->
<el-form v-if="rainType==1||rainType==2||rainType==5" :model="formdetail" :rules="{}" ref="formdetail"
<el-form v-if="rainType==1||rainType==2||rainType==5||rainType==6||rainType==7" :model="formdetail" :rules="{}" ref="formdetail"
label-position="right" :label-width="formLabelWidth">
<el-row>
<el-col :span="24">
@ -493,7 +498,10 @@
} from '../../../api/basic/area.js'
import {
listroad
} from '../../../api/basic/road.js'
} from '../../../api/basic/road.js'
import {
listmaintain
} from '../../../api/basic/unit.js'
import {
storeclue
} from '../../../api/assess/clue.js'
@ -560,7 +568,7 @@
id: "3",
name: "已退回"
}],
maintaninList: [{
maintaingroupList: [{
id: "",
value: "所有"
}]
@ -632,6 +640,13 @@
type: "format",
align: "center",
width: 180
},
{
field: "maintain",
title: "所属养护单位",
type: "maintain",
align: "center",
width: 180
},
{
field: "end_type",
@ -641,9 +656,9 @@
width: 180
},
{
field: "type",
field: "old_type",
title: "类型",
type: "type",
type: "old_type",
align: "center",
width: 180
},
@ -727,6 +742,18 @@
return "未知";
}
},
getMaintinName(row) {
if (row.user) {
if(row.user.maintain){
return row.user.maintain.name;
}else{
return "";
}
} else {
return "";
}
},
goorder() {
this.$router.push({
@ -773,7 +800,18 @@
})
}
})
})
listmaintain({
page: 1,
page_size: 999,
}).then(response => {
for(var m of response.data){
this.selects.maintaingroupList.push(m)
}
}).catch(error => {
console.log(error)
reject(error)
});
},
handleCurrentChange(page) {

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save