Newer
Older
smart-economy / src / components / economic / management / yjManage.vue
StephanieGitHub on 26 Jan 2021 9 KB first commit
<template>
  <div class="full-box" style="overflow: hidden">
    <div class="" style="width: 100%;height:100%;">
      <div class="top-tip-box t-title">当前位置:预警管理</div>

      <div class="table-info-box"  v-if="!showDetail" >
        <div class="table-search-box onerow">
          <div class="search-info-box">
            <div class="search-item">
              <div class="search-item-label">预警指标</div>
              <el-select v-model="filter.name" filterable clearable placeholder="请选择" style="width: 150px;">
                <el-option label="全部" value=""></el-option>
                <el-option  v-for="item in zbTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option>
              </el-select>
            </div>
            <div class="search-item">
              <div class="search-item-label">告警时间</div>
              <el-date-picker
                type="date"
                v-model="filter.startDate"
                placeholder="开始日期"
                value-format="yyyy-MM-dd"
                style="width:150px;float: left;">
              </el-date-picker>
            </div>
            <div class="search-item" style="margin-left: 10px;">
              <div class="search-item-label">至</div>
              <el-date-picker
                type="date"
                v-model="filter.endDate"
                placeholder="开始日期"
                value-format="yyyy-MM-dd"
                style="width:150px;float: left;">
              </el-date-picker>
            </div>
            <el-button class="search-btn" type="primary" @click="searchResult">查询</el-button>
            <el-button class="search-btn" type="primary" @click="reset">重置</el-button>
          </div>
          <div class="search-border-box">
            <div class="sbb-line"></div>
            <div class="sbb-role"></div>
          </div>
        </div>
        <div class="table-result-boxx">
          <div class="table-container-style">
            <el-table :data="tableData.list" height="200">
              <el-table-column type="index" align="center" label="编号" width="80"></el-table-column>
              <el-table-column prop="name" align="center" label="预警指标" ></el-table-column>
              <el-table-column prop="threshold" align="center" label="指标值"></el-table-column>
              <el-table-column prop="value" align="center" label="发生值"></el-table-column>
              <el-table-column prop="content" align="left" label="企业名称" min-width="180" ></el-table-column>
              <el-table-column prop="detail" align="left" label="预警内容"  show-overflow-tooltip min-width="260"></el-table-column>
              <el-table-column prop="createTime" align="center" label="告警时间" width="120"></el-table-column>
              <el-table-column align="center" label="操作">
                <template slot-scope="scope">
                  <div class="table-edit-btn" @click="operateData(scope.row)">详情</div>
                </template>
              </el-table-column>
            </el-table>
            <el-pagination @current-change="handlePageChange" background layout="total, prev, pager, next" :total="tableData.total" :current-page="tableData.pageNum" :page-size="tableData.pageSize" :page-count="tableData.pages" style="text-align: right;"></el-pagination>
          </div>
        </div>
      </div>
      <transition name="el-zoom-in-bottom">
        <div class="table-info-box"  v-if="showDetail">
          <div class="operate-box">
            <div class="operate-btn operate-back" @click="backList"><i class="el-icon-back"></i>返回</div>
            <div class="operate-btn operate-down" v-if="false"><i class="el-icon-download"></i>下载</div>
          </div>
          <div class="table-result-boxx" style='height: calc(100% - 45px)'>
            <div class="table-container-style">
              <el-table :data="detailTableData.list" height="200">
                <el-table-column type="index" align="center" label="序号" width="80"></el-table-column>
                <el-table-column prop="dataTime" align="center" label="数据日期"></el-table-column>
                <el-table-column prop="companyCode" align="center" label="组织机构代码"></el-table-column>
                <el-table-column prop="companyName" align="center" label="企业名称" min-width="180"></el-table-column>
                <el-table-column prop="plat" align="center" label="所属板块"></el-table-column>
                <el-table-column prop="industryName" align="center" label="所属行业"></el-table-column>
                <el-table-column prop="czLj" align="center" label="工业总产值" ></el-table-column>
                <el-table-column prop="czbytb" align="center" label="产值增幅%" ></el-table-column>
                <el-table-column prop="srLj" align="center" label="主营业务收入" ></el-table-column>
                <el-table-column prop="sjLj" align="center" label="利税总额" ></el-table-column>
                <el-table-column prop="lrLj " align="center" label="利润总额" ></el-table-column>
              </el-table>
              <el-pagination @current-change="detailhandlePageChange" background layout="total, prev, pager, next" :total="detailTableData.total" :current-page="detailTableData.pageNum" :page-size="detailTableData.pageSize" :page-count="detailTableData.pages" style="text-align: right;"></el-pagination>
            </div>
          </div>
        </div>
      </transition>
    </div>

  </div>
</template>

<script>
  let month = new Date().getMonth()+1;
  let year = month<10?new Date().getFullYear()+"-0"+month :new Date().getFullYear()+"-"+month;
  export default {
    name: 'yjManage',
    data () {
      return {
        showDetail:false,
        zbTypeList:[],
        timeFilter:[new Date().format("yyyy-")+"01-01",new Date().format("yyyy-MM-dd")],
        filter:{
          name:'',
          startDate:new Date().format("yyyy-")+"01-01",
          endDate:new Date().format("yyyy-MM-dd")
        },
        tableData:{
          list: [],
          pageNum: 1,
          pageSize: 10,
          pages: 0,
          total: 0,
        },
        detailTableData:{
          list: [],
          pageNum: 1,
          pageSize: 10,
          pages: 0,
          total: 0,
        },
        detailTableRowData:{},
      }
    },
    mounted (){ },
    created(){
      this.getZbList();
      this.getDataList();
    },
    watch:{},
    methods:{
      searchResult(){
        this.getDataList(1)
      },
      getZbList(pageNum){
        let vm = this;
        let pageNums = vm.$Util.isEmpty(pageNum) ? vm.tableData.pageNum : pageNum;
        vm.$http.get('/dx-economy-api/target').then(function (resp) {
          let _data = resp.data;
          if (_data.code === 200 && !vm.$Util.isEmpty(_data.data)) {
            vm.zbTypeList = _data.data
          }
        })
      },
      reset(){
        this.filter = {
          name:'',
          startDate:new Date().format("yyyy-")+"01-01",
          endDate:new Date().format("yyyy-MM-dd")
        }
      },
      getDataList(pageNum){
        let vm = this;
        vm.$http.get('/dx-economy-api/warning/page',{params:$.extend({pageNum:vm.tableData.pageNum,pageSize:vm.tableData.pageSize},vm.filter)}).then(function (resp) {
          let _data = resp.data;
          if (_data.code === 200 && !vm.$Util.isEmpty(_data.data)) {
            vm.tableData.list = _data.data.list;
            vm.tableData.pageNum = resp.data.data.pageNum;
            vm.tableData.total = resp.data.data.total;
          }
        })
      },
      operateData(rowData){
        let vm = this
        vm.detailTableName = rowData.companyName;
        vm.detailTableRowData = rowData;
        this.getDetailList();
        /*vm.$http.get('/dx-economy-api/warning/'+rowData.id).then(function (resp) {
          let _data = resp.data;
          if (_data.code === 200 && !vm.$Util.isEmpty(_data.data)) {
            vm.tableData.list = _data.data.list;
            vm.tableData.pageNum = resp.data.data.pageNum;
            vm.tableData.total = resp.data.data.total;
          }
        })*/
      },
      handlePageChange(currentPage){
        this.getDataList(null,currentPage)
      },
      /*优化内容 -数据moredetail*/
      detailhandlePageChange(pager){
        this.getDetailList(pager);
      },
      getDetailList(pager){
        let vm = this;
        vm.detailTableData.pageNum = vm.$Util.isEmpty(pager) ? vm.detailTableData.pageNum : pager;
        let params = {
          companyName : vm.detailTableRowData.content,
          pageNum: vm.detailTableData.pageNum,
          pageSize: vm.detailTableData.pageSize
        }
        vm.$http.get('/dx-economy-api/dataService/detail', {params:params}).then(function (resp) {
          vm.showDetail = true;
          let _data = resp.data.data;
          vm.detailTableData.list = _data.list;
          vm.detailTableData.pageNum = _data.pageNum;
          vm.detailTableData.pageSize = _data.pageSize;
          vm.detailTableData.pages = _data.pages;
          vm.detailTableData.total = _data.total;
        })
      },
      backList(){
        let vm =this;
        vm.showDetail = false;
        vm.detailTableData={
          list: [],
            pageNum: 1,
            pageSize: 10,
            pages: 0,
            total: 0,
        };
      },


    }
  }
</script>
<style></style>
<style scoped>
  .aaa{}
</style>