<template>
|
<div class="app-container">
|
<el-form
|
ref="form"
|
:inline="true"
|
class="inquire"
|
:model="listQuery.form"
|
label-width="100px"
|
>
|
<el-form-item label="地点">
|
<el-input v-model="listQuery.form.ADDRESS" style="width: 202px" placeholder="请输入内容"></el-input>
|
</el-form-item>
|
<el-form-item label="主持人">
|
<el-input v-model="listQuery.form.HOST" style="width: 202px" placeholder="请输入内容"></el-input>
|
</el-form-item>
|
<el-form-item label="召开时间">
|
<el-col :span="11">
|
<el-date-picker type="date" placeholder="选择日期" v-model="listQuery.form.Conference_TimeStart" style="width: 100%" value-format="yyyy-MM-dd"></el-date-picker>
|
</el-col>
|
<el-col style="text-align: center" :span="2">-</el-col>
|
<el-col :span="11">
|
<el-date-picker type="date" placeholder="选择日期" v-model="listQuery.form.Conference_TimeEnd" style="width: 100%" value-format="yyyy-MM-dd"></el-date-picker>
|
</el-col>
|
</el-form-item>
|
<el-form-item style="text-align: center; padding: 0 50px">
|
<el-button type="primary" class="btns" size="small" icon="el-icon-search" @click="getPageList()">查询</el-button>
|
<el-button type="primary" class="btns" size="small" icon="el-icon-refresh-right" @click="reset()">重置</el-button>
|
</el-form-item>
|
</el-form>
|
<el-row class="title-center">
|
<el-col :span="10">
|
<el-radio-group v-model="listQuery.type" @change="typeChange">
|
<el-radio-button label="0">未上报</el-radio-button>
|
<el-radio-button label="1">已上报</el-radio-button>
|
<el-radio-button label="2">上级公司会议</el-radio-button>
|
</el-radio-group>
|
</el-col>
|
<div v-if="listQuery.type==0">
|
<el-col :span="10">
|
<el-row>
|
<el-col :span="7" :offset="7" style="text-align: right;">
|
<span style="line-height: 36px; font-size: 14px; color: #606266;margin-right:10px;font-weight: bold;">请选择上报方式</span>
|
</el-col>
|
<el-col :span="10">
|
<el-select v-model="listQuery.form.check_main_branch" placeholder="请选择" @change="changeUpType">
|
<el-option v-for="item in upTypeList" :key="item.value" :label="item.label" :value="item.value">
|
</el-option>
|
</el-select>
|
<el-col :span="11">
|
<el-date-picker type="date" placeholder="选择日期" v-model="listQuery.form.Conference_TimeStart" style="width: 100%" value-format="yyyy-MM-dd"></el-date-picker>
|
</el-col>
|
<el-col style="text-align: center" :span="2">至</el-col>
|
<el-col :span="11">
|
<el-date-picker type="date" placeholder="选择日期" v-model="listQuery.form.Conference_TimeEnd" style="width: 100%" value-format="yyyy-MM-dd"></el-date-picker>
|
</el-col>
|
<el-button type="primary" class="btns" size="small">上报</el-button>
|
</el-col>
|
</el-row>
|
</el-col>
|
<el-col :span="4" style="text-align: right">
|
<el-button class="btns" type="primary" size="small" icon="el-icon-plus">添加</el-button>
|
<el-button class="btns" type="primary" size="small" icon="el-icon-close" @click="sendBath()">批量删除</el-button>
|
</el-col>
|
</div>
|
<div v-if="listQuery.type==1">
|
<el-col :span="14" style="text-align: right">
|
<el-button
|
class="btns"
|
type="primary"
|
size="small"
|
>撤销</el-button
|
>
|
</el-col>
|
</div>
|
</el-row>
|
<el-row class="title-center">
|
<el-col :span="10">
|
<el-radio-group v-model="radio1">
|
<el-radio-button label="0">全部</el-radio-button>
|
<el-radio-button label="1">综合</el-radio-button>
|
<el-radio-button label="2">生产</el-radio-button>
|
<el-radio-button label="3">设备</el-radio-button>
|
<el-radio-button label="4">电器</el-radio-button>
|
<el-radio-button label="5">仪表</el-radio-button>
|
<el-radio-button label="6">消防</el-radio-button>
|
<el-radio-button label="7">安全管理</el-radio-button>
|
<el-radio-button label="8">其他</el-radio-button>
|
</el-radio-group>
|
</el-col>
|
</el-row>
|
<el-table :data="tableData" style="width: 100%" @selection-change="changeBox">
|
<el-table-column type="selection" width="55" align="center"></el-table-column>
|
<el-table-column v-if="listQuery.type==2" prop="communityname" label="会议单位" align="center" width="120"></el-table-column>
|
<el-table-column prop="CONFERENCE_TIME" label="召开时间" :formatter="formatColumnDate" align="center" width="120"></el-table-column>
|
<el-table-column prop="ADDRESS" label="地点" align="center" width="120"></el-table-column>
|
<el-table-column prop="HOST" label="主持人" align="center" width="120"></el-table-column>
|
<el-table-column prop="CONFERENCE_PROFESSIONAL" label="会议专业" align="center"></el-table-column>
|
<el-table-column prop="meeting_content" label="会议摘要" align="center"></el-table-column>
|
<el-table-column prop="realFileName" label="会议纪要" align="center">
|
<template slot-scope="scope" >
|
<el-upload
|
class="upload-demo"
|
ref="upload"
|
v-if="listQuery.type==0"
|
:http-request="uploadSectionFile"
|
:on-preview="handlePreview"
|
:on-remove="handleRemove"
|
:file-list="fileList"
|
:before-upload="beforeUpload"
|
:auto-upload="true">
|
<el-button slot="trigger" size="small" type="primary" class="btns">上传附件</el-button>
|
</el-upload>
|
<div v-else
|
v-for="item in scope.row.realFileName">
|
<el-link type="primary">
|
{{item}}
|
</el-link>
|
</div>
|
</template>
|
</el-table-column>
|
<el-table-column prop="date" v-if="listQuery.type==0" label="基本操作" align="center">
|
<template slot-scope="scope">
|
<el-button @click="updateClick(scope.row)" type="text" size="small">编辑</el-button>
|
<el-button @click="updateClick(scope.row)" type="text" size="small">保存</el-button>
|
<el-button @click="deleteClick(scope.row)" type="text" size="small">删除</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
<div style="text-align: right">
|
<el-pagination
|
v-show="recordTotal > 0"
|
@size-change="handleSizeChange"
|
@current-change="handleCurrentChange"
|
:current-page="currentPage"
|
:page-sizes="[10, 20, 30, 50]"
|
:page-size="pageSize"
|
layout="total, sizes, prev, pager, next, jumper"
|
:total="recordTotal"
|
>
|
</el-pagination>
|
</div>
|
</div>
|
</template>
|
<script>
|
import {getPageList, } from "@/api/sgyhpczl/troubleshooting";
|
|
import {
|
initYHLX,
|
} from "@/api/sgyhpczl/initSelect";
|
|
export default {
|
data() {
|
return {
|
listQuery: {
|
page: 1,
|
limit: 10,
|
type: 0,//type=0 待上报 type=1 已上报 type=2 上级公司会议
|
form: {},
|
},
|
radio1: 0,
|
table1: true,
|
table2: false,
|
|
currentPage: 1,
|
pageSize: 10,
|
recordTotal: 0,
|
YHLXList:[],
|
tableData: [],
|
selectedList: [],
|
listLoading: false,
|
fileList:[],
|
upTypeList:[{label:"按勾选上报",value:0},{label:"按时间上报",value:1}],
|
upTimeShow: false,
|
};
|
},
|
mounted() {
|
this.getPageList();
|
this.initYHLX();
|
},
|
methods: {
|
sendBath() {
|
this.$router.push({
|
path: "/existN",
|
});
|
},
|
handleClick(data, val) {
|
if (val == "存在") {
|
this.$router.push({
|
path: "/exist",
|
});
|
}
|
},
|
handoff(index) {
|
if (index == 1) {
|
this.table1 = false;
|
this.table2 = true;
|
this.listQuery.type = 2;
|
console.log(this.listQuery.type);
|
this.getPageList();
|
} else {
|
this.table1 = true;
|
this.table2 = false;
|
}
|
},
|
initYHLX(){
|
initYHLX().then(res=>{
|
if (res.data.ok==1){
|
this.YHLXList=res.data.data
|
} else{
|
this.$message({type:'error', message:res.data.msg, duration:3000})
|
}
|
})
|
},
|
changeUpType(val){
|
if (val == 1){
|
this.upTimeShow = true
|
}
|
} ,
|
checkTime() {
|
if (
|
this.listQuery.form.check_dateStart != null &&
|
this.listQuery.form.check_dateStart != ""
|
) {
|
if (
|
this.listQuery.form.check_dateEnd != null &&
|
this.listQuery.form.check_dateEnd != ""
|
) {
|
} else {
|
this.$message({
|
type: "error",
|
message: "请选择检查结束时间",
|
duration: 3000,
|
});
|
return;
|
}
|
}
|
if (
|
this.listQuery.form.check_dateEnd != null &&
|
this.listQuery.form.check_dateEnd != ""
|
) {
|
if (
|
this.listQuery.form.check_dateStart != null &&
|
this.listQuery.form.check_dateStart != ""
|
) {
|
} else {
|
this.$message({
|
type: "error",
|
message: "请选择检查开始时间",
|
duration: 3000,
|
});
|
return;
|
}
|
}
|
},
|
//搜索
|
getPageList() {
|
this.listQuery.page = 1;
|
this.checkTime();
|
getPageList(this.listQuery).then((res) => {
|
if (res.data.ok == 1) {
|
this.tableData = res.data.data.items;
|
this.recordTotal = res.data.data.total;
|
} else {
|
this.$message({
|
type: "error",
|
message: res.data.msg,
|
duration: 3000,
|
});
|
}
|
});
|
},
|
//重置
|
reset() {
|
this.listQuery.form = {};
|
this.getPageList();
|
},
|
handleSizeChange(val) {
|
this.listQuery.limit = val;
|
this.getPageListForPagination();
|
},
|
handleCurrentChange(val) {
|
this.listQuery.page = val;
|
this.getPageListForPagination();
|
},
|
getPageListForPagination() {
|
this.checkTime();
|
getPageList(this.listQuery).then((res) => {
|
if (res.data.ok == 1) {
|
this.tableData = res.data.data.items;
|
this.recordTotal = res.data.data.total;
|
} else {
|
this.$message({
|
type: "error",
|
message: res.data.msg,
|
duration: 3000,
|
});
|
}
|
});
|
},
|
typeChange(val) {
|
this.listQuery.type = val;
|
this.getPageList();
|
},
|
handleSelectionChange(val) {
|
this.selectedList = [];
|
val.forEach((item) => {
|
this.selectedList.push(item);
|
});
|
},
|
uploadSectionFile(param) {
|
let form = new FormData();
|
var that = this;
|
form.append('file', param.file);
|
//隐患延期申请附件
|
form.append('type', "0");
|
uploadFile(form).then(res => {
|
var data = res.data;
|
if (data.ok) {
|
var fileName = data.data.fileName[0];
|
if (!fileName.endsWith("a62b")) {
|
fileName = fileName + param.file.realFileName;
|
}
|
that.ruleForm.realFileName = that.ruleForm.realFileName + "," + fileName;
|
}
|
}).error(res => {
|
this.$message({
|
type: 'error',
|
message: '附件上传失败,请重试!'
|
});
|
})
|
},
|
subFile(fileName){
|
fileName.substring(fileName.indexOf("fileName="))
|
},
|
handleRemove(file, fileList) {
|
console.log(file, fileList)
|
},
|
handlePreview(file) {
|
console.log(file)
|
},
|
beforeUpload(file) {
|
var FileExt = file.name.replace(/.+\./, "");
|
if (['jpg', 'png', 'bmp', 'gif', 'jpeg'].indexOf(FileExt.toLowerCase()) === -1) {
|
this.$message({
|
type: 'warning',
|
message: '请上传后缀名为jpg、png、bmp、gif、jpeg的图片!'
|
});
|
return false;
|
}
|
},
|
//日期格式转换
|
formatColumnDate(row, column) {
|
// 获取单元格数据
|
let data = row[column.property];
|
if (data == null) {
|
return null;
|
}
|
let dt = new Date(data);
|
return (
|
dt.getFullYear() + "-" + (dt.getMonth() + 1) + "-" + dt.getDate() + " "
|
);
|
},
|
},
|
};
|
</script>
|
<style scoped>
|
.inquire {
|
display: flex;
|
justify-content: left;
|
flex-wrap: wrap;
|
}
|
.inquire .el-form-item {
|
padding: 0 20px;
|
}
|
.title-center {
|
padding: 20px 0;
|
}
|
|
.btns {
|
background-color: #034ea2;
|
border: 1px solid #034ea2;
|
}
|
|
.title-center /deep/ .el-radio-button:first-child .el-radio-button__inner {
|
border: none;
|
}
|
|
.title-center /deep/ .el-radio-button__inner {
|
border: none;
|
border-radius: 0px;
|
}
|
|
.title-center
|
/deep/
|
.el-radio-button__orig-radio:checked
|
+ .el-radio-button__inner {
|
background-color: #034ea2;
|
background-color: #034ea2;
|
}
|
</style>
|