通用巡查状态

master
lion 4 years ago
parent db3561c7e9
commit 3f4c5e2d71

@ -59,7 +59,7 @@
<el-col :span="24">
<el-form-item label="现场照片" prop="files_list">
<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)}">
<i slot="default" class="el-icon-plus"></i>
<div slot="file" slot-scope="{file}">
@ -468,6 +468,7 @@ import AvueMap from 'avue-plugin-map'
this.dialogVisible = true;
},
handlesuccess(response, file, fileList, index) {
if (index == 1) {
// var listUrl=[]
// for (var m of fileList) {
@ -481,11 +482,12 @@ import AvueMap from 'avue-plugin-map'
// "upload_id": m.id
// });
// }
file.photoType = "before"
this.filesList = fileList;
// this.form.files_list = listUrl;
} else {
let listUrl = [];
file.photoType = "after"
// for (var m of fileList) {
// m.photoType = "after";
// if (m.response)

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

Loading…
Cancel
Save