123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- // dependency : newCommon
- var RedRankTable = new Module("#table-rank", "fcBiWorkerDaily");
- RedRankTable.slideLen = 16;
- RedRankTable.slides = 0;
- RedRankTable.parts = 4;
- RedRankTable.partLen = 4;
- RedRankTable.curSlide = 0;
- RedRankTable.drawData = function (data) {
- // showSlide
- this.showSlide(this.curSlide, data);
- };
- RedRankTable.showSlide = function (slide, data) {
- for(var part = 0; part < this.parts; part++){
- this.showPart(slide, part, data);
- }
- };
- RedRankTable.showPart = function(slide, part, data){
- var lpos = slide * this.slideLen + (part * this.partLen);
- var rpos = slide * this.slideLen + ((part+1) * this.partLen);
- var partList = [];
- for (var i = lpos; i < rpos; i++) {
- var one = data.getSorted(i);
- if(one == null || one == undefined) {
- partList[partList.length] = {passNum : 0, failNum: 0, failRate: 0, workerId: 0, fcDay: new Date().toLocaleDateString()};
- } else {
- partList[partList.length] = one.jsonObj;
- partList[partList.length].failRate = partList[partList.length].failRate/100.0;
- }
- partList[partList.length - 1].workerName = getUserName(partList[partList.length - 1].workerId);
- if("[用户:"+0+"]" == partList[partList.length - 1].workerName){
- partList[partList.length - 1].workerName = "-";
- }
- partList[partList.length - 1].color = true;
- }
- let k = newRedrankvue.parting[part].length;
- for(let i = 0; i < k; i++){
- newRedrankvue.parting[part].pop();
- }
- for(let i = 0; i < partList.length; i++){
- newRedrankvue.parting[part].push(partList[i]);
- }
- };
- RedRankTable.tickInterval = 1000;
- RedRankTable.tick = function(){
- var totalDataLen = this.activeData != null ? this.activeData.len() : 0;
- if(this.slides != Math.ceil(totalDataLen / this.slideLen)){
- this.slides = Math.ceil(totalDataLen / this.slideLen);
- this.curSlide = 0;
- } else {
- this.curSlide = (this.curSlide + 1) % this.slides;
- }
- };
- RedRankTable.init();
- var newRedrankvue = new Vue({
- el: '#redrank',
- data: {
- parting:[[{},{},{},{}], [{},{},{},{}], [{},{},{},{}], [{},{},{},{}]],
- title: '本厂今日生产能手榜'
- },
- methods: {
- clicktitle: function () {
- alert("Hello! This is Title");
- }
- }
- });
- var RedRankTablePlugin = new (function() {
- this.workerDailyService = new DataObjectService("fcBiWorkerDaily", ONDEMAND | AUTO | FAST, "?type=1");
- this.tick = function(obj){
- RedRankTable.setData(obj.workerDailyService.getList());
- };
- this.setup = function(obj){
- setInterval(obj.tick, 1000, obj);
- };
- this.setup(this);
- })();
- (function() {
- setInterval(RedRankTablePlugin.tick, 1000);
- })();
|