Vue 中使用vue2-highcharts实现曲线数据展示的方法


Posted in Javascript onMarch 05, 2018

1、要实现的效果如下图:

Vue 中使用vue2-highcharts实现曲线数据展示的方法

2、vue前端页面如下:

<template>
 <div>
  <div>
  <div>
    <img src="../assets/index/back.png" class="rank-head-back" @click="routerBack"/>
    <span >历史曲线</span>
  </div>
  </div>
  <div >
   <div >
    <span >{{$route.params.monitorName}}({{$route.params.meterId}})</span>
   </div>
  </div>
  <div >
   <div >
    <yesterdaypicker v-on:startPicked="startPicked" style="margin-left:10px;"></yesterdaypicker>
   </div>
    <div >
    <daypicker v-on:endPicked="endPicked" style="margin-left:10px;"></daypicker>
    </div>
  </div>
  <div >
   <div >
     <vchooser :selections="periodList" @on-change="onParamChange('versions', $event)"></vchooser>
   </div>
  </div>
  <div >
   <div class="charts" >
     <vue-highcharts :options="options" ref="lineCharts" ></vue-highcharts>
   </div>
  </div>
 </div>
</template>
<script>
 import vchooser from '../components/chooser.vue'
 import VueHighcharts from 'vue2-highcharts'
 import daypicker from '../components/daypicker.vue'
 import yesterdaypicker from '../components/yesterdaypicker.vue'
 export default {
 data() {
  return{
   startDay:'',
   endDay:'',
   setIntervalNum:0,
   itemStatus:0,
   itemTitle:'功率因数',
   itemType:this.$route.params.meterType,
   periodList:[
    {
    label: '功率因数',
    value: 0
    },
    {
    label: '电流',
    value: 1
    },{
    label: '电压',
    value: 2
    },{
    label: '有功功率',
    value: 3
    },{
    label: '无功功率',
    value: 4
    }/*,{
    label: '视在功率',
    value: 5
    }*/,{
    label: '有功电量',
    value: 6
    },
   ],
   ownerFreeData: [],
   options: {
   global: {
    useUTC: false
   },
   chart: {
    type: 'spline'
   },
   title: {
    text: '功率因素'
    //text: ' '
   },
   subtitle: {
    text: ''
   },
   xAxis: {
    type: 'category'
   },
   yAxis: {
    title: {
    text: '功率因素(%)'
    //text: ' '
    },
    labels: {
    formatter: function () {
     return this.value;
    }
    }
   },
   tooltip: {
    crosshairs: true,
    shared: true
   },
   credits: {
    enabled: false
   },
   plotOptions: {
    spline: {
    marker: {
     radius: 4,
     lineColor: '#666666',
     lineWidth: 1
    }
    }
   },
   series: []
   }
  }
 },
  methods: {
  startPicked(year, month, date) {
   //this.ownerFreeData = []
   if(this.$refs.lineCharts != null){
    this.$refs.lineCharts.removeSeries();
   }
   var monthStr = '';
   var dayStr = '';
   if(month < 10){
    monthStr = `0${month}`;
   }else{
    monthStr = `${month}`;
   }
   if(date < 10){
    dayStr = `0${date}`;
   }else{
    dayStr = `${date}`;
   }
   this.startDay = `${year}-` + monthStr + '-' + dayStr;
   if(this.$refs.lineCharts != null){
    this.getList();
   }
  },
  endPicked(year, month, date) {
   //this.ownerFreeData = []
   if(this.$refs.lineCharts != null){
    this.$refs.lineCharts.removeSeries();
   }
   var monthStr = '';
   var dayStr = '';
   if(month < 10){
    monthStr = `0${month}`;
   }else{
    monthStr = `${month}`;
   }
   if(date < 10){
    dayStr = `0${date}`;
   }else{
    dayStr = `${date}`;
   }
   this.endDay = `${year}-` + monthStr + '-' + dayStr;
   if(this.$refs.lineCharts != null){
    this.getList();
   }
  },
  onParamChange (attr, val) {
   this.itemStatus = val.value;
   if(this.$refs.lineCharts != null){
    this.$refs.lineCharts.removeSeries();
   }
   if(this.$refs.lineCharts != null){
    this.getList();
   }
  },
  routerBack(){
   //let lineCharts = this.$refs.lineCharts;
   //lineCharts.getChart().destroy();
   //this.$router.go(-1);
   var mid = this.$route.params.id;
   var mname = this.$route.params.name;
   var mpname = this.$route.params.pname;
   this.$router.push({name: 'timeSortPoint', params: {id: mid,name:mname,pname:mpname}});
  },
  setType(){
   var title = '';
   let lineCharts = this.$refs.lineCharts;
   if(this.itemStatus == 0){
    title = '功率因素';
    lineCharts.getChart().title.update({ text: '功率因素' });
    lineCharts.getChart().yAxis[0].setTitle({text:'功率因素(%)'});
    if(this.itemType == 0){
     lineCharts.addSeries({name: this.startDay + ' 功率因素',data: []});
     lineCharts.addSeries({name: this.endDay + ' 功率因素',data: []});
    }else if(this.itemType == 1){
     lineCharts.addSeries({name: this.startDay + ' 总功率因素',data: []});
     lineCharts.addSeries({name: this.startDay + ' A相功率因素',data: []});
     lineCharts.addSeries({name: this.startDay + ' B相功率因素',data: []});
     lineCharts.addSeries({name: this.startDay + ' C相功率因素',data: []});
     lineCharts.addSeries({name: this.endDay + ' 总功率因素',data: []});
     lineCharts.addSeries({name: this.endDay + ' A相功率因素',data: []});
     lineCharts.addSeries({name: this.endDay + ' B相功率因素',data: []});
     lineCharts.addSeries({name: this.endDay + ' C相功率因素',data: []});
    }
   }else if(this.itemStatus == 1){
    title = '电流';
    lineCharts.getChart().title.update({ text: '电流' });
    lineCharts.getChart().yAxis[0].setTitle({text:'电流(A)'});
    if(this.itemType == 0){
     lineCharts.addSeries({name: this.startDay + ' 电流',data: []});
     lineCharts.addSeries({name: this.endDay + '电流',data: []});
    }else if(this.itemType == 1){
     lineCharts.addSeries({name: this.startDay + ' Ia 相电流',data: []});
     lineCharts.addSeries({name: this.startDay + ' Ib 相电流',data: []});
     lineCharts.addSeries({name: this.startDay + ' Ic 相电流',data: []});
     lineCharts.addSeries({name: this.startDay + ' 零序电流',data: []});
     lineCharts.addSeries({name: this.endDay + ' Ia 相电流',data: []});
     lineCharts.addSeries({name: this.endDay + ' Ib 相电流',data: []});
     lineCharts.addSeries({name: this.endDay + ' Ic 相电流',data: []});
     lineCharts.addSeries({name: this.endDay + ' 零序电流',data: []});
    }
   }else if(this.itemStatus == 2){
    title = '电压';
    lineCharts.getChart().title.update({ text: '电压' });
    lineCharts.getChart().yAxis[0].setTitle({text:'电压(V)'});
    if(this.itemType == 0){
     lineCharts.addSeries({name: this.startDay + ' 电压',data: []});
     lineCharts.addSeries({name: this.endDay + ' 电压',data: []});
    }else if(this.itemType == 1){
     lineCharts.addSeries({name: this.startDay + ' A相电压',data: []});
     lineCharts.addSeries({name: this.startDay + ' B相电压',data: []});
     lineCharts.addSeries({name: this.startDay + ' C相电压',data: []});
     lineCharts.addSeries({name: this.endDay + ' A相电压',data: []});
     lineCharts.addSeries({name: this.endDay + ' B相电压',data: []});
     lineCharts.addSeries({name: this.endDay + ' C相电压',data: []});
    }
   }else if(this.itemStatus == 3){
    title = '有功功率';
    lineCharts.getChart().title.update({ text: '有功功率' });
    lineCharts.getChart().yAxis[0].setTitle({text:'有功功率(KVA)'});
    if(this.itemType == 0){
     lineCharts.addSeries({name: this.startDay + ' 有功功率',data: []});
     lineCharts.addSeries({name: this.endDay + ' 有功功率',data: []});
    }else if(this.itemType == 1){
     lineCharts.addSeries({name: this.startDay + ' 总有功功率',data: []});
     lineCharts.addSeries({name: this.startDay + ' A相有功功率',data: []});
     lineCharts.addSeries({name: this.startDay + ' B相有功功率',data: []});
     lineCharts.addSeries({name: this.startDay + ' C相有功功率',data: []});
     lineCharts.addSeries({name: this.endDay + ' 总有功功率',data: []});
     lineCharts.addSeries({name: this.endDay + ' A相有功功率',data: []});
     lineCharts.addSeries({name: this.endDay + ' B相有功功率',data: []});
     lineCharts.addSeries({name: this.endDay + ' C相有功功率',data: []});
    }
   }else if(this.itemStatus == 4){
    title = '无功功率';
    lineCharts.getChart().title.update({ text: '无功功率' });
    lineCharts.getChart().yAxis[0].setTitle({text:'有功功率(KVA)'});
    if(this.itemType == 0){
     lineCharts.addSeries({name: this.startDay + ' 无功功率',data: []});
     lineCharts.addSeries({name: this.endDay + ' 无功功率',data: []});
    }else if(this.itemType == 1){
     lineCharts.addSeries({name: this.startDay + ' 总无功功率',data: []});
     lineCharts.addSeries({name: this.startDay + ' A相无功功率',data: []});
     lineCharts.addSeries({name: this.startDay + ' B相无功功率',data: []});
     lineCharts.addSeries({name: this.startDay + ' C相无功功率',data: []});
     lineCharts.addSeries({name: this.endDay + ' 总无功功率',data: []});
     lineCharts.addSeries({name: this.endDay + ' A相无功功率',data: []});
     lineCharts.addSeries({name: this.endDay + ' B相无功功率',data: []});
     lineCharts.addSeries({name: this.endDay + ' C相无功功率',data: []});
    }
   }else if(this.itemStatus == 5){
   }else if(this.itemStatus == 6){
    title = '总有功电量';
    lineCharts.getChart().title.update({ text: '总有功电量' });
    lineCharts.getChart().yAxis[0].setTitle({text:'总有功电量(KWH)'});
    lineCharts.addSeries({name: this.startDay + ' 总有功电量',data: []});
    lineCharts.addSeries({name: this.endDay + '总有功电量',data: []});
   }
  },
  getList(){
   var title = '';
   let lineCharts = this.$refs.lineCharts;
   var meterId = this.$route.params.meterId;
   this.setType();
   this.$http.post(this.URLINFO + '/mobile/electricity/getElectricityApp.do',{meterId:meterId,startDay:this.startDay,endDay:this.endDay})
   .then(function (res) {
    for(var i = 0;i < res.data.ls1.length; i++) {
     if(this.itemStatus == 0){
      if(this.itemType == 0){
       lineCharts.getChart().series[0].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].totalnum],false,false);
      }else if(this.itemType == 1){
       lineCharts.getChart().series[0].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].totalnum],false,false);
       lineCharts.getChart().series[1].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].numa],false,false);
       lineCharts.getChart().series[2].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].numb],false,false);
       lineCharts.getChart().series[3].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].numc],false,false);
      }
     }else if(this.itemStatus == 1){
      if(this.itemType == 0){
       lineCharts.getChart().series[0].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ia[i].ia],false,false);
      }else if(this.itemType == 1){
       lineCharts.getChart().series[0].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].ia],false,false);
       lineCharts.getChart().series[1].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].ib],false,false);
       lineCharts.getChart().series[2].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].ic],false,false);
       lineCharts.getChart().series[3].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].zeroi],false,false);
      }
     }else if(this.itemStatus == 2){
      if(this.itemType == 0){
       lineCharts.getChart().series[0].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ia[i].ua],false,false);
      }else if(this.itemType == 1){
       lineCharts.getChart().series[0].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].ua],false,false);
       lineCharts.getChart().series[1].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].ua],false,false);
       lineCharts.getChart().series[2].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].uc],false,false);
      }
     }else if(this.itemStatus == 3){
      if(this.itemType == 0){
       lineCharts.getChart().series[0].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ia[i].totalp],false,false);
      }else if(this.itemType == 1){
       lineCharts.getChart().series[0].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].pa],false,false);
       lineCharts.getChart().series[1].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].pb],false,false);
       lineCharts.getChart().series[2].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].pc],false,false);
      }
     }else if(this.itemStatus == 4){
      if(this.itemType == 0){
       lineCharts.getChart().series[0].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ia[i].reactivep],false,false);
      }else if(this.itemType == 1){
       lineCharts.getChart().series[0].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ia[i].reactivep],false,false);
       lineCharts.getChart().series[1].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].reactivepa],false,false);
       lineCharts.getChart().series[2].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].reactivepb],false,false);
       lineCharts.getChart().series[3].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ls1[i].reactivepc],false,false);
      }
     }else if(this.itemStatus == 6){
      lineCharts.getChart().series[0].addPoint([getTimeStr(res.data.ls1[i].transtime),res.data.ia[i].readNum],false,false);
     }
    }
    for(var i = 0;i < res.data.ls2.length; i++) {
     if(this.itemStatus == 0){
      if(this.itemType == 0){
       lineCharts.getChart().series[1].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].totalnum],false,false);
      }else if(this.itemType == 1){
       lineCharts.getChart().series[4].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].totalnum],false,false);
       lineCharts.getChart().series[5].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].numa],false,false);
       lineCharts.getChart().series[6].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].numb],false,false);
       lineCharts.getChart().series[7].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].numc],false,false);
      }
     }else if(this.itemStatus == 1){
      if(this.itemType == 0){
       lineCharts.getChart().series[1].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].ia],false,false);
      }else if(this.itemType == 1){
       lineCharts.getChart().series[4].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].ia],false,false);
       lineCharts.getChart().series[5].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].ib],false,false);
       lineCharts.getChart().series[6].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].ic],false,false);
       lineCharts.getChart().series[7].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].zeroi],false,false);
      }
     }else if(this.itemStatus == 2){
      if(this.itemType == 0){
       lineCharts.getChart().series[1].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].ua],false,false);
      }else if(this.itemType == 1){
       lineCharts.getChart().series[3].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].ua],false,false);
       lineCharts.getChart().series[4].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].ub],false,false);
       lineCharts.getChart().series[5].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].uc],false,false);
      }
     }else if(this.itemStatus == 3){
      if(this.itemType == 0){
       lineCharts.getChart().series[1].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].totalp],false,false);
      }else if(this.itemType == 1){
       lineCharts.getChart().series[4].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].totalp],false,false);
       lineCharts.getChart().series[5].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].pa],false,false);
       lineCharts.getChart().series[6].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].pb],false,false);
       lineCharts.getChart().series[7].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].pc],false,false);
      }
     }else if(this.itemStatus == 4){
      if(this.itemType == 0){
       lineCharts.getChart().series[1].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].reactivep],false,false);
      }else if(this.itemType == 1){
       lineCharts.getChart().series[4].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].reactivep],false,false);
       lineCharts.getChart().series[5].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].reactivepa],false,false);
       lineCharts.getChart().series[6].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].reactivepb],false,false);
       lineCharts.getChart().series[7].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].reactivepc],false,false);
      }
     }else if(this.itemStatus == 6){
      lineCharts.getChart().series[1].addPoint([getTimeStr(res.data.ls2[i].transtime),res.data.ls2[i].readNum],false,false);
     }
    }
    lineCharts.getChart().redraw();
   })
   .catch(function (error) {
    console.log(error)
    this.$toast('查询业主电费异常');
   });
  }
  },
  components: {
   vchooser,
  VueHighcharts,
  daypicker,
  yesterdaypicker
  },
 mounted () {
  this.getList()
 }
 }
 function getCurrentTime(){
 var date = new Date();
 var hour = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
 var minute = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
 var second = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
 return hour + ':' + minute + ':' + second;
 }
 function getTime(nS){
  return new Date(parseInt(nS) * 1000).toLocaleString().substr(0,17)
 }
 function formatDate(now) {
  var year=now.getYear();
  var month=now.getMonth()+1;
  var date=now.getDate();
  var hour=now.getHours();
  var minute=now.getMinutes();
  var second=now.getSeconds();
  //return year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second;
  return hour+":"+minute+":"+second;
 }
 function getTimeStr(ns){
  var d=new Date(ns);
  return formatDate(d);
 }
</script>
<style>
*{margin:0;padding:0; list-style:none }
h1,h2,h3,h4,h5,h6{font-size:16px; font-weight:normal;}
.rank-head{
  width: 100%;
  height: 40px;
  position:fixed;
  background: -webkit-linear-gradient(top,rgba(0,0,0,.6),rgba(0,0,0,0));
  z-index: 999;
  color: #fff;
  font-size: 16px;
  text-align: center;
  line-height: 40px;
}
.container{
  width: 100%;
  overflow: hidden
}
.rank-head-back{
  display: block;
  float: left;
  width: 40px;
  height: 40px;
  background: url("../assets/index/back.png") no-repeat center center;
  background-size: 100% 100%;
}
</style>

以上这篇Vue 中使用vue2-highcharts实现曲线数据展示的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery实现图片左右间隔滚动特效(可自动播放)
May 08 Javascript
JS命名空间的另一种实现
Aug 09 Javascript
使用jQuery和PHP实现类似360功能开关效果
Feb 12 Javascript
Node.js检测端口(port)是否被占用的简单示例
Sep 29 Javascript
Bootstrap基本样式学习笔记之表单(3)
Dec 07 Javascript
canvas实现图像放大镜
Feb 06 Javascript
微信小程序wepy框架笔记小结
Aug 08 Javascript
微信小程序开发之点击按钮退出小程序的实现方法
Apr 26 Javascript
微信小程序websocket实现即时聊天功能
May 21 Javascript
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
Jul 10 jQuery
Vue学习笔记之计算属性与侦听器用法
Dec 07 Javascript
利用node.js开发cli的完整步骤
Dec 29 Javascript
vue项目中引入noVNC远程桌面的方法
Mar 05 #Javascript
vue项目中使用ueditor的实例讲解
Mar 05 #Javascript
快速处理vue渲染前的显示问题
Mar 05 #Javascript
Node.js爬取豆瓣数据实例分析
Mar 05 #Javascript
基于Vue渲染与插件的加载顺序的问题详解
Mar 05 #Javascript
AjaxUpLoad.js实现文件上传
Mar 05 #Javascript
JsChart组件使用详解
Mar 04 #Javascript
You might like
日本十大最佳动漫,全都是二次元的神级作品
2019/10/05 日漫
基于mysql的bbs设计(一)
2006/10/09 PHP
解析使用substr截取UTF-8中文字符串出现乱码的问题
2013/06/20 PHP
thinkPHP删除前弹出确认框的简单实现方法
2016/05/16 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
2017/04/09 PHP
PHP使用PHPExcel实现批量上传到数据库的方法
2017/06/08 PHP
PHP实现负载均衡session共享redis缓存操作示例
2018/08/22 PHP
PHP命名空间定义与用法实例分析
2019/08/14 PHP
javascript 一个自定义长度的文本自动换行的函数
2007/08/19 Javascript
js的回调函数详解
2015/01/05 Javascript
jquery实现全选、反选、获得所有选中的checkbox
2020/09/13 Javascript
Javascript的this用法
2017/01/16 Javascript
vuejs父子组件之间数据交互详解
2017/08/09 Javascript
react 父组件与子组件之间的值传递的方法
2017/09/14 Javascript
jQuery实现简单复制json对象和json对象集合操作示例
2018/07/09 jQuery
vue实现条件判断动态绑定样式的方法
2018/09/29 Javascript
JSON生成Form表单的方法示例
2018/11/21 Javascript
vue router 跳转时打开新页面的示例方法
2019/07/28 Javascript
微信小程序 scroll-view 实现锚点跳转功能
2019/12/12 Javascript
JS箭头函数和常规函数之间的区别实例分析【 5 个区别】
2020/05/27 Javascript
JS中作用域以及变量范围分析
2020/07/18 Javascript
[33:28]完美世界DOTA2联赛PWL S3 PXG vs GXR 第三场 12.19
2020/12/24 DOTA
Python中decorator使用实例
2015/04/14 Python
Python cookbook(数据结构与算法)对切片命名清除索引的方法
2018/03/13 Python
python socket 聊天室实例代码详解
2019/11/14 Python
jupyter notebook插入本地图片的实现
2020/04/13 Python
Python 列表中的修改、添加和删除元素的实现
2020/06/11 Python
python程序需要编译吗
2020/06/19 Python
python字典按照value排序方法
2020/12/28 Python
创立科技Java面试题
2015/11/29 面试题
shell变量的作用空间是什么
2013/08/17 面试题
毕业生文员求职信
2013/11/03 职场文书
现役军人家属慰问信
2015/03/24 职场文书
MySQL 如何设计统计数据表
2021/06/15 MySQL
python基础之类属性和实例属性
2021/10/24 Python
MySQL中的 inner join 和 left join的区别解析(小结果集驱动大结果集)
2023/05/08 MySQL