页面数据添加菜单

根据数据的前端测试

<!-- 新增的故障代码  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>

猜你喜欢

转载自blog.csdn.net/m0_60375943/article/details/125907364