<!-- 设备维修 -->
|
<template>
|
<div class="equipManteBox">
|
<el-card>
|
<div class="infoSearch">
|
<el-form :inline="true" :model="dataForm">
|
<el-form-item>
|
<el-input size="small" v-model="dataForm.key" placeholder="参数名" clearable></el-input>
|
</el-form-item>
|
</el-form>
|
<div>
|
<el-button plain size="small" @click="getDataList()">查询</el-button>
|
<el-button plain size="small" type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
<el-button plain size="small" @click="deleteHandleList" type="danger"
|
:disabled="dataListSelections.length <= 0">批量删除</el-button>
|
</div>
|
</div>
|
</el-card>
|
<el-card class="infoConTent">
|
<div class="infoTable">
|
<el-table :data="dataList" border height="calc(100% - 65px)" v-loading="dataListLoading"
|
@selection-change="selectionChangeHandle" style="width: 100%;">
|
<el-table-column type="selection" header-align="center" align="center" width="50">
|
</el-table-column>
|
<el-table-column align="center" type="index" label="序号" width="70px" />
|
<!-- <el-table-column prop="id" header-align="center" align="center" label="${column.comments}">
|
</el-table-column> -->
|
<el-table-column prop="c_name" header-align="center" align="center" label="客户名称">
|
</el-table-column>
|
<el-table-column prop="f_name" header-align="center" align="center" label="故障地点名称">
|
</el-table-column>
|
<el-table-column prop="f_location" header-align="center" align="center" label="故障地点经纬度">
|
</el-table-column>
|
<el-table-column prop="f_phone" header-align="center" align="center" label="联系电话">
|
</el-table-column>
|
<el-table-column prop="f_date" header-align="center" align="center" label="故障时间">
|
</el-table-column>
|
<el-table-column prop="f_type" header-align="center" align="center" label="报修方式">
|
</el-table-column>
|
<el-table-column prop="f_man" header-align="center" align="center" label="记录人">
|
</el-table-column>
|
<el-table-column prop="f_content" header-align="center" align="center" label="报修内容">
|
</el-table-column>
|
<el-table-column prop="r_date" header-align="center" align="center" label="到达现场时间">
|
</el-table-column>
|
<el-table-column prop="re_date" header-align="center" align="center" label="维修结束时间">
|
</el-table-column>
|
<el-table-column prop="re_position" header-align="center" align="center" label="维修轨迹">
|
</el-table-column>
|
<el-table-column prop="re_video" header-align="center" align="center" label="维修视频">
|
</el-table-column>
|
<el-table-column prop="re_evaluation" header-align="center" align="center" label="客户评价">
|
</el-table-column>
|
<el-table-column fixed="right" header-align="center" align="center" width="150" label="操作">
|
<template slot-scope="scope">
|
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row)">修改</el-button>
|
<el-button type="text" size="small" @click="deleteHandleRow(scope.row)">删除</el-button>
|
<el-button type="text" size="small" @click="showHandleRow(scope.row)">预览</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageIndex"
|
:limit.sync="queryParams.pageSize" @pagination="getDataList" />
|
</div>
|
</el-card>
|
<!-- 弹窗, 新增 / 修改 -->
|
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
|
<el-dialog width="30%" :title="showTitle" :visible.sync="innerVisible" append-to-body>
|
<div style="height: 540px">
|
<olMap v-if="innerVisible" :parentData="parentData"></olMap>
|
</div>
|
</el-dialog>
|
</div>
|
</template>
|
|
<script>
|
import { faultreport_query, faultreport_delete } from '@/api/mapView/peiwang.js';
|
import AddOrUpdate from './AddOrUpdate.vue';
|
import olMap from '@/components/mapOl/index.vue';
|
export default {
|
name: "equipMante",
|
components: {
|
AddOrUpdate,
|
olMap
|
},
|
data() {
|
return {
|
dataForm: {
|
key: ""
|
},
|
dataListSelections: [],
|
queryParams: {
|
pageIndex: 1,
|
pageSize: 10,
|
name: '',
|
srid: 4326,
|
},
|
dataListLoading: false,
|
dataList: [],
|
total: 0,
|
addOrUpdateVisible: false,
|
showData: null,
|
innerVisible: false,
|
parentData: null,
|
showTitle:null,
|
}
|
},
|
mounted() {
|
this.getDataList();
|
},
|
methods: {
|
showHandleRow(row) {
|
this.showData = { ...row }
|
const obj = {
|
val: this.showData,
|
type: 'line',
|
isShow: false,
|
}
|
this.showTitle= row['c_name']
|
this.parentData = JSON.stringify([obj])
|
this.innerVisible = true;
|
},
|
addOrUpdateHandle(res) {
|
this.addOrUpdateVisible = true
|
this.$nextTick(() => {
|
this.$refs.addOrUpdate.init(res)
|
})
|
},
|
|
selectionChangeHandle(res) {
|
this.dataListSelections = res;
|
},
|
getDataList() {
|
this.dataListLoading = true;
|
faultreport_query({
|
page: this.queryParams.pageIndex,
|
limit: this.queryParams.pageSize,
|
c_name: this.dataForm.key,
|
}).then(response => {
|
this.dataListLoading = false;
|
if (response.status != 200) return
|
const obj = response.data.page;
|
this.total = obj.totalCount;
|
this.dataList = obj.list;
|
})
|
},
|
|
deleteHandleRow(res) {
|
this.deleteHandle([res.id])
|
},
|
deleteHandleList() {
|
var ids = this.dataListSelections.map(item => {
|
return item.id
|
})
|
this.deleteHandle(ids)
|
},
|
deleteHandle(res) {
|
faultreport_delete(res).then(response => {
|
if (response.data.msg == 'success') {
|
this.$message({
|
message: '操作成功',
|
type: 'success',
|
duration: 1000,
|
|
})
|
} else {
|
this.$message({
|
message: '操作失败',
|
type: 'warning',
|
duration: 1000,
|
|
})
|
}
|
this.getDataList();
|
|
})
|
}
|
},
|
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
.equipManteBox {
|
width: calc(100% - 20px);
|
height: calc(100% - 20px);
|
position: absolute;
|
margin: 10px;
|
border-radius: 5px;
|
display: flex;
|
flex-direction: column;
|
|
.infoSearch {
|
display: flex;
|
justify-content: space-between;
|
align-items: center;
|
|
::v-deep.el-form-item {
|
margin: 0px;
|
}
|
}
|
|
.infoConTent {
|
margin-top: 10px;
|
flex: 1;
|
position: relative;
|
|
.infoTable {
|
width: calc(100% - 30px);
|
height: calc(100% - 36px);
|
position: absolute;
|
display: flex;
|
flex-direction: column;
|
}
|
}
|
|
::v-deep.el-card__body {
|
padding: 15px;
|
}
|
|
|
}
|
</style>
|