根据数据的前端测试
<!-- 新增的故障代码 7.19号-->
<p>{ {$t('liot_fault.fault_code')}}:{ {item.faultCode}}</p>
<!-- 新增的当前楼层 7.19号-->
<p>{ {$t('liot_lift.Current_floor')}}:{ {item.CurrentFloor}}</p>
<!-- 新增的运行方向 7.19号-->
<p>{ {$t('liot_lift.Running_direction')}}:{ {item.RunningDirection}}</p>
<!-- 新增的门状态 7.19号-->
<p>{ {$t('liot_lift.Door_status')}}:{ {item.DoorStatu}}</p><script>
return {
dataForm: {
key: this.$t('comm.filter_condition'),
queryParam: {},
checked: localStorage.getItem("auto@checked")=='true'?true:false,
t1: parseInt(localStorage.getItem("auto@t1")||'60'),
t2: parseInt(localStorage.getItem("auto@t2")||'30')
},
dataList: [],
pageIndex: 1,
pageSize: parseInt(localStorage.getItem("auto@barSize")||'12'),
totalPage: 0,
dataListLoading: false,
options: [],
liftSearchVisible: false,
timer1: null,
timer2: null
}// 获取数据列表
getDataList () {
this.dataListLoading = false
var params = this.dataForm.queryParam
params.page = this.pageIndex
params.limit = this.pageSize
params.liftStatusList = this.dataForm.liftStatusList.toString()
扫描二维码关注公众号,回复: 15308811 查看本文章params.monitor = 1
console.log(qs.stringify(params))
API.liotmyattention.listLift(params).then(({data}) => {
console.log(data,"181")
if (data && data.code === 0) {
this.dataList = data.page.list
//测试数据
var yi=new Date();
var d = yi.getFullYear()+"-"+(yi.getMonth()+1<10?"0"+(yi.getMonth()+1):yi.getMonth()+1)+"-"+(yi.getDate()<10?"0"+yi.getDate():yi.getDate())+" "+(yi.getHours()<10?"0"+yi.getHours():yi.getHours())+":"+(yi.getMinutes()<10?"0"+yi.getMinutes():yi.getMinutes())+":"+(yi.getSeconds()<10?"0"+yi.getSeconds():yi.getSeconds());
//测试数据7.21
for(let i=0;i<this.dataList.length;i++){
var r = Math.floor(Math.random()*100-1)+1;
this.dataList[i].faultCode='E'+r%10;
this.dataList[i].CurrentFloor=r;
this.dataList[i].RunningDirection=r%2==0?"上":"下";
this.dataList[i].DoorStatu=(r+1)%2==0?"开":"关";
}
</script>
<template>
<div id="maintenance_history" class="mod-config">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-row :gutter="20">
<el-col :span="8">
<el-form-item :label="$t('comm.filter_lift')" label-width="100px">
<!-- <el-input style="width:200px;" v-model="dataForm.key" placeholder="电梯过滤" clearable></el-input> -->
<el-input style="width:200px;" v-model="dataForm.key" @focus="openLiftSearch()"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('liot_fault.happen_time')" label-width="100px">
<el-date-picker
:clearable="false"
style="width:200px;"
v-model="dataForm.happenTime"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
:start-placeholder="$t('comm.timeStart')"
:end-placeholder="$t('comm.timeEnd')">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-button v-if="isAuth('ms:liotmaintenancerecord:list')" type="success" @click="getDataList()">{
{$t('button.query')}}</el-button>
<el-button v-if="isAuth('ms:liotmaintenancerecord:export')" type="primary" @click="downExcel()">{
{$t('button.download')}}</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table
:data="dataList"
height="500"
border
v-loading="dataListLoading"
style="width: 100%;">
<!--
@selection-change="selectionChangeHandle"
<el-table-column
type="selection"
header-align="center"
align="center"
width="50">
</el-table-column> -->
<el-table-column
header-align="center"
align="center"
:label="$t('liot_lift.erp_id')">
<template slot-scope="scope">
<el-button type="text" @click="showLiotDetail(scope.row.liftId)">{
{scope.row.erpId}}</el-button>
</template>
</el-table-column>
<el-table-column
prop="projectName"
header-align="center"
align="center"
:label="$t('liot_lift.project_name')">
</el-table-column>
<el-table-column
prop="projectAddress"
header-align="center"
align="center"
:label="$t('liot_lift.project_address')">
</el-table-column>
<el-table-column
prop="happenTimeStr"
header-align="center"
align="center"
:label="$t('liot_maintenance_record.happen_time')">
</el-table-column>
<el-table-column
prop="entTimeStr"
header-align="center"
align="center"
:label="$t('liot_maintenance_record.ent_time')">
</el-table-column>
<el-table-column
prop="maintenanceName"
header-align="center"
align="center"
:label="$t('liot_fault.maintenance_person')">
</el-table-column>
<el-table-column
prop="maintenancePhone"
header-align="center"
align="center"
:label="$t('liot_agent_person.phone')">
</el-table-column>
<el-table-column
prop="branchName"
header-align="center"
align="center"
:label="$t('liot_agent.branch_id')">
</el-table-column>
<el-table-column
prop="handleStatus"
header-align="center"
align="center"
:label="$t('liot_maintenance_record.status')">
<!-- <template scope="scope">
<el-tag :type="scope.row.status === 'HANDLE_STATUS_1' ? 'success' : scope.row.status === 'HANDLE_STATUS_0' ? 'danger' : 'gray'" close-transition>{
{scope.row.handleStatus}}</el-tag>
</template> -->
</el-table-column>
<el-table-column
fixed="right"
header-align="center"
align="center"
width="150"
:label="$t('comm.operate')">
<template slot-scope="scope">
<!-- <el-button type="primary" size="mini"><router-link :to="'/n/maintenance_info/'+scope.row.id+'/'+scope.row.liftId+''" style="color: #fff;">{
{$t('button.details')}}</router-link></el-button>
<el-button style="margin-top: 5px;" type="primary" size="mini"><router-link :to="'/n/liotfault_lm?liftid='+scope.row.liftId+'&t='+scope.row.happenTimeStr" style="color: #fff">{
{$t('button.lm_show')}}</router-link></el-button> -->
<el-button v-if="isAuth('ms:liotmaintenancerecord:detail')" type="primary" size="mini" @click="gotoDetail(scope.row.id, scope.row.liftId)">
{
{$t('button.details')}}
</el-button>
<el-button v-if="isAuth('ms:liotmaintenancerecord:show') && scope.row.navarModel=='CTRL70'" style="margin-top: 5px;margin-left: -6px;" type="primary" size="mini"
@click="gotoLm(scope.row.liftId, scope.row.happenTimeStr, scope.row.entTimeStr)">
{
{$t('button.lm_show')}}
</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="pageIndex"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
:total="totalPage"
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
<lift-search v-if="liftSearchVisible" ref="liftSearch" @setQueryParam="setQueryParam"></lift-search>
</div>
</template>
<script>
import API from '@/api'
import AddOrUpdate from './add-or-update'
import LiftSearch from '../liotlift/lift-search'
import Vue from 'vue'
import requestUrl from '@/api/requestUrl'
import qs from 'qs'
import moment from 'moment'
export default {
data() {
return {
liftSearchVisible: false,
dataForm: {
queryParam: {},
key: this.$t('comm.filter_condition'),
statusList:
[
{
value: 'HANDLE_STATUS_0',
label: this.$t('comm.handle_status_no')
},
{
value: 'HANDLE_STATUS_1',
label: this.$t('comm.handle_status_yes')
}
],
maintenanceName: '',
maintenancePhone: '',
value5: [],
status: [],
happenTime: [],
signTime: [],
entTime: []
},
dataList: [],
pageIndex: 1,
pageSize: 10,
totalPage: 0,
dataListLoading: false,
dataListSelections: [],
addOrUpdateVisible: false
}
},
components: {
AddOrUpdate,
LiftSearch
},
activated() {
if(this.dataForm.happenTime.length == 0){
var lastWeek = moment().add(-1, 'months');
this.dataForm.happenTime = [lastWeek.format("YYYY-MM-DD"), moment().format("YYYY-MM-DD")];
}
this.getDataList()
},
methods: {
// 获取数据列表
getDataList() {
this.dataListLoading = true
var signTime = ''
var happenTime = ''
var entTime = ''
if (this.dataForm.happenTime != null) {
happenTime = this.dataForm.happenTime.join(',')
}
if (this.dataForm.signTime != null) {
signTime = this.dataForm.signTime.join(',')
}
if (this.dataForm.entTime != null) {
entTime = this.dataForm.entTime.join(',')
}
var params = this.dataForm.queryParam
params.page = this.pageIndex
params.limit = this.pageSize
params.key = this.dataForm.key
params.maintenanceName = this.dataForm.maintenanceName
params.maintenancePhone = this.dataForm.maintenancePhone
params.status = this.dataForm.status.join(',')
params.happenTime = happenTime
params.signTime = signTime
params.entTime = entTime
params.language = this.$i18n.locale
console.log(params);
API.liotmaintenancerecord.list(params).then(({data}) => {
console.log(data);
if (data && data.code === 0) {
this.dataList = data.page.list
this.totalPage = data.page.totalCount
} else {
this.dataList = []
this.totalPage = 0
}
this.dataListLoading = false
})
},
downExcel() {
var signTime = ''
var happenTime = ''
var entTime = ''
if (this.dataForm.happenTime != null) {
happenTime = this.dataForm.happenTime.join(',')
}
if (this.dataForm.signTime != null) {
signTime = this.dataForm.signTime.join(',')
}
if (this.dataForm.entTime != null) {
entTime = this.dataForm.entTime.join(',')
}
var params = this.dataForm.queryParam
params.page = 1
params.limit = 100000
params.key = this.dataForm.key
params.maintenanceName = this.dataForm.maintenanceName
params.maintenancePhone = this.dataForm.maintenancePhone
params.status = this.dataForm.status.join(',')
params.happenTime = happenTime
params.signTime = signTime
params.entTime = entTime
params.language = this.$i18n.locale
params.token = Vue.cookie.get('token')
var url = requestUrl('/ms/liotmaintenancerecord/downExcel')
var pa = qs.stringify(params)
window.open(url + '?' + pa)
},
// 每页数
sizeChangeHandle(val) {
this.pageSize = val
this.pageIndex = 1
this.getDataList()
},
// 当前页
currentChangeHandle(val) {
this.pageIndex = val
this.getDataList()
},
// 多选
selectionChangeHandle(val) {
this.dataListSelections = val
},
// 新增 / 修改
addOrUpdateHandle(id) {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.init(id)
})
},
// 删除
deleteHandle(id) {
var ids = id ? [id] : this.dataListSelections.map(item => {
return item.id
})
this.$confirm(`${id ? this.$t('confirm.delete') : this.$t('confirm.batch_delete')}`, this.$t('confirm.prompt'), {
confirmButtonText: this.$t('button.confirm'),
cancelButtonText: this.$t('button.cancel'),
type: 'warning'
}).then(() => {
API.liotmaintenancerecord.del(ids).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: this.$t('confirm.success'),
type: 'success',
duration: 1500,
onClose: () => {
this.getDataList()
}
})
} else {
this.$message.error(data.msg)
}
})
})
},
openLiftSearch() {
this.liftSearchVisible = true
this.$nextTick(() => {
this.$refs.liftSearch.init()
})
},
// 设置电梯过滤参数
setQueryParam(param, isset) {
if (isset) {
this.dataForm.key = this.$t('comm.already_chosen')
} else {
this.dataForm.key = this.$t('comm.filter_condition')
}
this.dataForm.queryParam = param
},
showLiotDetail(liftId) {
this.$router.push({path: '/n/liotdetail/' + liftId})
},
gotoDetail(id, liftId) {
this.$router.push({name: 'maintenance_info_detail', params: {maintenanceId: id, liftId: liftId}})
},
gotoLm(liftId, ht, et) {
this.$router.push({name: 'liotfault_lm', params: {liftid: liftId, ht: ht, et: et}})
}
}
}
</script>
<style lang="scss">
</style>
<template>
<div id="maintenance_notice" class="mod-config">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-row :gutter="20">
<el-col :span="8">
<el-form-item :label="$t('comm.filter_lift')" label-width="100px">
<!-- <el-input style="width:200px;" v-model="dataForm.key" placeholder="电梯过滤" clearable></el-input> -->
<el-input style="width:200px;" v-model="dataForm.liftId" @focus="openLiftSearch()"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="8">
<el-form-item :label="$t('liot_fault.happen_time')" label-width="100px">
<el-date-picker
:clearable="false"
style="width:200px;"
v-model="dataForm.happenTime"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
:start-placeholder="$t('comm.timeStart')"
:end-placeholder="$t('comm.timeEnd')">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="60">
<el-form-item >
<el-button v-if="isAuth('ms:history:liotfault:list')" type="success" @click="getDataList()">{
{$t('button.query')}}</el-button>
<el-button v-if="isAuth('ms:history:liotfault:list')" type="success" @click="exportVoiceInfomation()">{
{$t('button.export')}}</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table
:data="dataList"
height="500"
border
v-loading="dataListLoading"
style="width: 100%;" >
<!--7.15添加维保通知查询-->
<el-table-column
header-align="center"
align="center"
:label="$t('liot_lift.register')">
<template slot-scope="scope">
<el-button type="text" @click="showLiotDetail(scope.row.liftId)">{
{scope.row.liftId}}</el-button>
</template>
</el-table-column>
<el-table-column
prop="liftId"
header-align="center"
align="center"
:label="$t('liot_lift.number')">
</el-table-column>
<el-table-column
prop="happenTime"
header-align="center"
align="center"
:label="$t('liot_lift.fault_time')">
</el-table-column>
<el-table-column
prop="callTime"
header-align="center"
align="center"
:label="$t('liot_lift.Call_time')">
</el-table-column>
<el-table-column
prop="stateDesc"
header-align="center"
align="center"
:label="$t('liot_lift.Answer_status')">
</el-table-column>
</el-table>
<el-pagination
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="pages.currentPage"
:page-sizes="[10, 20, 50, 100]"
:page-size="pages.pageSize"
:total="pages.totals"
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<el-dialog
:title="$t('confirm.prompt')"
:visible.sync="progressVisible"
:close-on-click-modal = false
width="30%"
class="my-dialog-top"
>
<!-- <span>这是一段信息</span>
<span slot="footer" class="dialog-footer">
<el-button @click="progressVisible = false">取 消</el-button>
<el-button type="primary" @click="progressVisible = false">确 定</el-button>
</span> -->
<el-progress :text-inside="true" :stroke-width="20" :percentage="exportPercent" ></el-progress>
</el-dialog>
<lift-search v-if="liftSearchVisible" ref="liftSearch" @setQueryParam="setQueryParam"></lift-search>
<!-- 弹窗, 新增 / 修改 -->
<!-- <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
<lift-search v-if="liftSearchVisible" ref="liftSearch" @setQueryParam="setQueryParam"></lift-search>
<fault-code v-if="faultCodeVisible" ref="faultCode"></fault-code>
<fault-level v-if="faultLevelVisible" ref="faultLevel"></fault-level>
<liotfault-extra v-if="faultExtraVisible" ref="liotfaultExtra"></liotfault-extra> -->
</div>
</template>
<script>
import API from '@/api'
export default {
data() {
return {
dataList: [],
liftSearchVisible:false,
dataListLoading:false,
dataForm:{
beginTime:null,
happenTime:null,
endTime:null
},
pages: {
currentPage: 1,
pageSize: 10,
totals: 0
}
}
},
created () {
this.getDataList()
},
methods:{
getDataList(){
let params = this.dataForm;
let dateArray = params.happenTime;
if(dateArray!=null){
params.beginTime = dateArray[0];
params.endTime = dateArray[1];
}
params.limit = this.pages.pageSize;
params.page = this.pages.currentPage;
console.log(params)
API.liotmaintenancerecord.getTableData(params).then(({data}) => {
console.log(data)
if (data && data.code === 0) {
this.dataList = data.page.list
this.pages.totals = data.page.totalCount
} else {
this.dataList = []
this.pages.totals = 0
}
this.dataListLoading = false
})
},
//分页
sizeChangeHandle (val) {
this.pages.pageSize = val
this.getDataList()
},
currentChangeHandle (val) {
this.pages.currentPage = val
this.getDataList()
},
openLiftSearch(){
this.liftSearchVisible = true
this.$nextTick(() => {
this.$refs.liftSearch.init()
})
},
// 设置电梯过滤参数
setQueryParam(param, isset) {
if (isset) {
this.dataForm.key = this.$t('comm.already_chosen')
} else {
this.dataForm.key = this.$t('comm.filter_condition')
}
this.dataForm.queryParam = param
},
showLiotDetail(liftId) {
this.$router.push({path: '/n/liotdetail/' + liftId})
},
gotoDetail(id, liftId) {
this.$router.push({name: 'maintenance_info_detail', params: {maintenanceId: id, liftId: liftId}})
},
gotoLm(liftId, ht, et) {
this.$router.push({name: 'liotfault_lm', params: {liftid: liftId, ht: ht, et: et}})
},
//7.18导出
exportVoiceInfomation(){
// this.dataForm.token=Vue.cookie.get('token');
API.liotmaintenancerecord.exportVoiceInfomation(this.dataForm);
},
gotoDetail (data) {
console.log(data)
}
}
}
</script>