通用巡查状态

master
lion 4 years ago
parent db3561c7e9
commit 3f4c5e2d71

@ -59,7 +59,7 @@
<el-col :span="24"> <el-col :span="24">
<el-form-item label="现场照片" prop="files_list"> <el-form-item label="现场照片" prop="files_list">
<el-upload action="/api/admin/upload-file" list-type="picture-card" :file-list="filesList" ref="pictureUpload" <el-upload action="/api/admin/upload-file" list-type="picture-card" :file-list="filesList" ref="pictureUpload"
:limit="1" :auto-upload="true" :data="uploadOther" :auto-upload="true" :data="uploadOther"
:on-success="function(responsose,file,fileList) {return handlesuccess(responsose,file,fileList,1)}"> :on-success="function(responsose,file,fileList) {return handlesuccess(responsose,file,fileList,1)}">
<i slot="default" class="el-icon-plus"></i> <i slot="default" class="el-icon-plus"></i>
<div slot="file" slot-scope="{file}"> <div slot="file" slot-scope="{file}">
@ -468,6 +468,7 @@ import AvueMap from 'avue-plugin-map'
this.dialogVisible = true; this.dialogVisible = true;
}, },
handlesuccess(response, file, fileList, index) { handlesuccess(response, file, fileList, index) {
if (index == 1) { if (index == 1) {
// var listUrl=[] // var listUrl=[]
// for (var m of fileList) { // for (var m of fileList) {
@ -481,11 +482,12 @@ import AvueMap from 'avue-plugin-map'
// "upload_id": m.id // "upload_id": m.id
// }); // });
// } // }
file.photoType = "before"
this.filesList = fileList; this.filesList = fileList;
// this.form.files_list = listUrl; // this.form.files_list = listUrl;
} else { } else {
let listUrl = [];
file.photoType = "after"
// for (var m of fileList) { // for (var m of fileList) {
// m.photoType = "after"; // m.photoType = "after";
// if (m.response) // if (m.response)

@ -19,7 +19,7 @@
:label="column.title" :width="column.width"> :label="column.title" :width="column.width">
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="column.type=='opt'"> <div v-if="column.type=='opt'">
<Button ghost size="small" @click="view(scope.row)" type="primary" <Button ghost size="small" @click="edit(scope.row)" type="primary"
style="margin-left: 10px;" v-if="scope.row['status']==3">查看</Button> style="margin-left: 10px;" v-if="scope.row['status']==3">查看</Button>
<Button v-if="scope.row['status']==1" ghost size="small" @click="show(scope.row)" type="primary" <Button v-if="scope.row['status']==1" ghost size="small" @click="show(scope.row)" type="primary"
@ -153,102 +153,131 @@
<el-dialog title="通用巡查编辑" :visible.sync="dialogFormVisible" width="60%"> <el-dialog :title="detailtitle" :visible.sync="dialogFormVisible" width="60%">
<div class="dialogConcent" :style="{height:clientHeight+'px'}"> <div class="dialogConcent" :style="{height:clientHeight+'px'}">
<el-scrollbar style="flex: 1"> <el-scrollbar style="flex: 1">
<el-form :model="formdetail" :rules="rules" ref="formdetail" label-position="right" :label-width="formLabelWidth"> <el-form :model="formdetail" :rules="rules" ref="formdetail" label-position="right" :label-width="formLabelWidth">
<el-row> <el-row>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="类型" prop="ask_type_id"> <el-form-item label="类型" prop="ask_type_id">
{{formdetail.ask_type_detail.value}} <div v-if="form.ask_type_detail">
<!-- <el-select @change="showAskContent" class="width100" v-model="form.ask_type_id" placeholder="请选择类型"> {{form.ask_type_detail.value}}
<el-option v-for="item in selects.ask_types" :key="item.id" :label="item.value" </div>
:value="item.id">
</el-option>
</el-select> -->
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10" :offset="4"> <el-col :span="10" :offset="4">
<el-form-item label="内容" prop="ask_content_id"> <el-form-item label="内容" prop="ask_content_id">
{{formdetail.ask_content_detail.value}} <div v-if="form.ask_content_detail">
<!-- <el-select class="width100" v-model="form.ask_content_id" placeholder="请选择内容"> {{form.ask_content_detail.value}}
<el-option v-for="item in selects.ask_content" :key="item.id" :label="item.value" </div>
:value="item.id"> <!-- {{form.ask_content_detail.value?form.ask_content_detail.value:""}} -->
</el-option>
</el-select> -->
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="地址" prop="address"> <el-form-item label="地址" prop="address">
<avue-input-map :params="mapparams" placeholder="请选择地图" v-model="mapform" ></avue-input-map> <avue-input-map :disabled="mapdisabled" :params="mapparams" placeholder="请选择地图" v-model="mapform" ></avue-input-map>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="经度" prop="longitude"> <el-form-item label="经度" prop="longitude">
<el-input disabled="" v-model="formdetail.longitude" placeholder="经度" autocomplete="off"></el-input> <el-input disabled="" v-model="form.longitude" placeholder="经度" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="纬度" prop="address"> <el-form-item label="纬度" prop="latitude">
<el-input disabled="" v-model="formdetail.latitude" placeholder="纬度" autocomplete="off"></el-input> <el-input disabled="" v-model="form.latitude" placeholder="纬度" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="详情" prop="content"> <el-form-item label="详情" prop="content">
{{formdetail.content}} {{form.content}}
<!-- <el-input type="textarea" v-model="formdetail.content" placeholder="请填写详情" autocomplete="off"></el-input> -->
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="附件" prop="common_inspection_files"> <el-form-item label="附件" class="common_inspection_files_check" prop="common_inspection_files_check">
<img v-if="commonInspectionFiles.length>0" v-for="item in commonInspectionFiles" :src="item.files.url" alt=""> <!-- <img v-if="commonInspectionFilesCheck.length>0" v-for="item in commonInspectionFilesCheck" :src="item.files.url" alt=""> -->
<!-- <el-input type="textarea" v-model="formdetail.content" placeholder="请填写详情" autocomplete="off"></el-input> -->
</el-form-item>
</el-col>
<el-upload action="/api/admin/upload-file" list-type="picture-card" :file-list="commonInspectionFilesCheck"
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="form.status==1"> <el-col :span="24" v-if="form.status!=3">
<el-form-item label="备注" prop="type_id"> <el-form-item label="备注" prop="type_id">
<el-input type="textarea" v-model="form.author" placeholder="请填写备注" autocomplete="off"></el-input> <el-input type="textarea" v-model="formdetail.content" placeholder="请填写备注" autocomplete="off"></el-input>
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.status==1">
<el-form-item label="反馈科室" prop="feedback_department_id">
<el-select class="width100" v-model="formdetail.feedback_department_id" placeholder="请选择反馈科室">
<el-option v-for="item in selects.departments" :key="item.id" :label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" v-if="form.status==2"> <el-col :span="24" v-if="form.status==2">
<el-form-item label="附件" prop="files_list"> <el-form-item label="附件" prop="files_list">
<el-upload class="upload-demo" :on-success="handlesuccess" :data="uploadOther" <el-upload class="upload-demo" :on-success="handlefilesuccess" :data="uploadOther"
action="/api/admin/upload-file" :on-remove="handleRemove" :before-remove="beforeRemove" action="/api/admin/upload-file" :on-remove="handlefileRemove" :before-remove="beforefileRemove"
:on-exceed="handleExceed" :file-list="fileList"> :on-exceed="handlefileExceed" :file-list="filesList">
<el-button size="small" type="primary">点击上传</el-button> <el-button size="small" type="primary">点击上传</el-button>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8" v-if="form.status==3"> <el-col :span="24" v-if="form.status==3">
<el-form-item label="反馈科室" prop="type_id"> <el-form-item label="处理日志" prop="">
<el-select class="width100" v-model="form.type_id" placeholder="请选择反馈科室">
<!-- <el-option v-for="item in selects.activityType" :key="item.id" :label="item.value"
:value="item.id">
</el-option> -->
</el-select>
</el-form-item> </el-form-item>
</el-col> <el-table
:data="form.common_inspection_logs"
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="admin_id"
label="操作人"
width="180">
</el-table-column>
</el-table>
</el-col>
</el-row>
</el-row>
</el-form> </el-form>
</el-scrollbar> </el-scrollbar>
</div> </div>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer" v-if="form.status!=3">
<el-button @click="resetForm('form')"> </el-button> <el-button @click="resetForm('formdetail')"> </el-button>
<el-button type="primary" v-preventReClick @click="submitForm('form', '2')">审核</el-button> <el-button v-if="form.status==1" type="primary" v-preventReClick @click="submitForm('formdetail','2')"></el-button>
<el-button v-if="form.status==2" type="primary" v-preventReClick @click="submitForm('formdetail','3')"></el-button>
</div> </div>
</el-dialog> </el-dialog>
@ -306,18 +335,22 @@
departments:[] departments:[]
}, },
mapparams:{ mapparams:{
zoom: 11, zoom: 11
}, },
mapform:[] , mapform:[] ,
mapdisabled:false,
commonInspectionFiles:[], commonInspectionFiles:[],
commonInspectionFilesCheck:[],
dialogImageUrl:"", dialogImageUrl:"",
dialogVisible: false, dialogVisible: false,
disabled: false, disabled: false,
filesList:[],
detailtitle:"通用巡查",
formdetail:{ formdetail:{
ask_type_detail:"", feedback_department_id:"",
ask_content_detail:"",
content:"", content:"",
common_inspection_files:[], files_list:[],
type:"",
}, },
form: { form: {
feedback_department_id:"", feedback_department_id:"",
@ -327,7 +360,8 @@
longitude:"", longitude:"",
latitude:"", latitude:"",
address:"", address:"",
status:"" status:"",
files_list:[]
}, },
rules: { rules: {
@ -469,6 +503,7 @@
m.username = m.user.name m.username = m.user.name
} }
} }
this.tableData = response.data; this.tableData = response.data;
this.paginations.total = response.total; this.paginations.total = response.total;
}).catch(error => { }).catch(error => {
@ -481,6 +516,8 @@
this.clientHeight = document.documentElement.clientHeight - 84 - 110; this.clientHeight = document.documentElement.clientHeight - 84 - 110;
this.dialogViewVisible = false; this.dialogViewVisible = false;
this.showdialogFormVisible = true; this.showdialogFormVisible = true;
this.mapdisabled = false;
this.formdetail.content = "";
this.info(obj); this.info(obj);
}, },
info(obj) { info(obj) {
@ -489,6 +526,12 @@
let result = Object.assign(that.form, res); let result = Object.assign(that.form, res);
// this.$set(that.form,res); // this.$set(that.form,res);
that.showAskContent(result.ask_type_id); that.showAskContent(result.ask_type_id);
if(result.status==2){
this.detailtitle = '通用巡查办结'
}
if(result.status==1){
this.detailtitle = '通用巡查审核'
}
// that.form = result; // that.form = result;
that.mapform = [result.longitude,result.latitude,result.address] that.mapform = [result.longitude,result.latitude,result.address]
@ -501,8 +544,12 @@
_files.push(m); _files.push(m);
} }
that.commonInspectionFiles = _files; that.commonInspectionFiles = _files;
that.formdetail = result; that.commonInspectionFilesCheck = _files;
// that.formdetail = result;
that.form = result that.form = result
that.formdetail.id = result.id;
console.log(that.formdetail); console.log(that.formdetail);
console.log(that.commonInspectionFiles); console.log(that.commonInspectionFiles);
@ -514,11 +561,14 @@
edit(obj, isnew) { edit(obj, isnew) {
this.form = this.$options.data().form; this.form = this.$options.data().form;
this.clientHeight = document.documentElement.clientHeight - 84 - 110; this.clientHeight = document.documentElement.clientHeight - 84 - 110;
this.dialogFormVisible = true;
this.showdialogFormVisible = false;
this.mapdisabled = true;
if(obj){ if(obj){
this.info(obj); this.info(obj);
} }
this.dialogFormVisible = true;
}, },
del(obj) { del(obj) {
@ -544,11 +594,12 @@
submitForm(formName, status) { submitForm(formName, status) {
var that = this; var that = this;
this.$refs[formName].validate((valid) => {
if (valid) {
if (status == "2") { if (status == "2") {
that.form.status = status; that.formdetail.type = status;
submitsave(that.form).then(response => { // console.log(that.formdetail);
// return;
update(that.formdetail).then(response => {
//console.log(response) //console.log(response)
this.$Message.success('操作成功'); this.$Message.success('操作成功');
that.load(); that.load();
@ -557,7 +608,21 @@
//reject(error) //reject(error)
}) })
} else { } else {
save(that.form).then(response => { that.formdetail.type = status;
var _files = [];
for(var m of this.filesList){
if(m.response){
this.formdetail.files_list.push({
upload_id:m.response.id
})
}else{
this.formdetail.files_list.push({
upload_id:m.upload_id
})
}
}
console.log(that.formdetail)
update(that.formdetail).then(response => {
//console.log(response) //console.log(response)
this.$Message.success('操作成功'); this.$Message.success('操作成功');
that.load(); that.load();
@ -566,32 +631,39 @@
//reject(error) //reject(error)
}) })
} }
that.fileList = [];
} else {
this.$Message.error('数据校验失败');
console.log('error submit!!');
return false;
}
});
}, },
resetForm(formName) { resetForm(formName) {
var that = this; var that = this;
// that.fileList = []; // that.fileList = [];
// this.$refs[formName].resetFields(); this.$refs[formName].resetFields();
this.filesList=[];
this.commonInspectionFilesCheck = [];
that.dialogFormVisible = false; that.dialogFormVisible = false;
that.dialogShowViewVisible = false; that.dialogShowViewVisible = false;
}, },
submitEditForm(formName){ submitEditForm(formName){
var that = this; var that = this;
// files_list
var _files = [];
console.log(this.commonInspectionFiles);
for(var m of this.commonInspectionFiles){
if(m.response){
this.form.files_list.push({
upload_id:m.response.id
})
}else{
this.form.files_list.push({
upload_id:m.files.id
})
}
}
this.$refs[formName].validate((valid) => { this.$refs[formName].validate((valid) => {
if (valid) { if (valid) {
console.log(that.form);
return
save(that.form).then(response => { save(that.form).then(response => {
//console.log(response) //console.log(response)
this.$Message.success('操作成功'); this.$Message.success('操作成功');
that.load(); that.load();
that.dialogFormVisible = false;
that.showdialogFormVisible = false; that.showdialogFormVisible = false;
}).catch(error => { }).catch(error => {
//reject(error) //reject(error)
@ -608,9 +680,9 @@
// that.fileList = []; // that.fileList = [];
this.$refs[formName].resetFields(); this.$refs[formName].resetFields();
that.mapform = []; that.mapform = [];
this.commonInspectionFiles=[];
that.dialogFormVisible = false; that.dialogFormVisible = false;
that.showdialogFormVisible = false; that.showdialogFormVisible = false;
}, },
showAskContent(val){ showAskContent(val){
getparameter({ getparameter({
@ -629,39 +701,66 @@
}, },
handleRemove(file) { handleRemove(file) {
console.log(file); console.log(file);
for (var i = 0; i < this.commonInspectionFiles.length; i++) {
if (this.commonInspectionFiles[i].url == file.url) {
this.commonInspectionFiles.splice(i, 1)
}
}
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url;
console.log(file);
this.dialogVisible = true;
},
handlesuccess(response, file, fileList) {
console.log(fileList);
this.commonInspectionFiles = fileList;
},
handlefileRemove(file, fileList) {
let listUrl = []; let listUrl = [];
for (var m of file) { console.log(fileList)
for (var m of fileList) {
if (m.response) if (m.response)
listUrl.push({ listUrl.push({
upload_id:m.response.id "upload_id":m.response.id,
'name':m.name
}); });
else else
listUrl.push({ listUrl.push({
upload_id:m.id "upload_id":m.response.id,
'name':m.name
}); });
} }
this.form.file_list = listUrl; this.filesList = listUrl;
}, },
handlePictureCardPreview(file) { handlefileExceed(files, fileList) {},
this.dialogImageUrl = file.url; beforefileRemove(file, fileList) {
this.dialogVisible = true; return this.$confirm(`确定移除 ${ file.name }`);
}, },
handlesuccess(response, file, fileList) { handlefilesuccess(response, file, fileList) {
console.log(fileList);
let listUrl = []; let listUrl = [];
console.log(fileList)
for (var m of fileList) { for (var m of fileList) {
if (m.response) if (m.response)
listUrl.push({ listUrl.push({
upload_id:m.response.id "upload_id":m.response.id,
'name':m.name
}); });
else else
listUrl.push({ listUrl.push({
upload_id:m.upload_id "upload_id":m.response.id,
'name':m.name
}); });
} }
this.commonInspectionFiles = listUrl; this.filesList = listUrl;
}, },
} }
} }
</script> </script>
@ -673,4 +772,7 @@
.width100{ .width100{
width:100%; width:100%;
} }
.common_inspection_files_check .el-upload.el-upload--picture-card{
display: none;
}
</style> </style>

Loading…
Cancel
Save