selleck - 分子库入库 instock-js

// Generated by CoffeeScript 1.10.0
var Model, model,
  bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };

model = null;

$(function() {
  var dropZone;
  model = new Model();
  ko.applyBindings(model);
  dropZone = document.getElementById(‘drop-zone‘);
  dropZone.addEventListener(‘dragenter‘, model.stopPropagation);
  dropZone.addEventListener(‘dragover‘, model.stopPropagation);
  return dropZone.addEventListener(‘drop‘, model.processDrop);
});

Model = (function() {
  function Model() {
    this.inStock = bind(this.inStock, this);
    this.processDrop = bind(this.processDrop, this);
  }

  Model.prototype.racks = ko.observableArray();

  Model.prototype.cat = ‘‘;

  Model.prototype.stopPropagation = function(e) {
    e.stopPropagation();
    return e.preventDefault();
  };

  Model.prototype.processDrop = function(e) {
    var file, reader;
    this.stopPropagation(e);
    file = e.dataTransfer.files[0];
    if (file.name.match(/^S\d{4}.*\.csv$/i)) {
      $(‘#fileInfo‘).text(file.name);
      this.cat = file.name.substring(0, 5).toUpperCase();
      reader = new FileReader();
      reader.onload = (function(_this) {
        return function() {
          var hasNoRead, i, j, len, len1, plate, plateRow, rack, ref;
          rack = new CodeLibRack();
          rack.loadFromCsv(reader.result);
          _this.racks.removeAll();
          _this.racks.push(rack);
          hasNoRead = false;
          ref = rack.plates;
          for (i = 0, len = ref.length; i < len; i++) {
            plateRow = ref[i];
            for (j = 0, len1 = plateRow.length; j < len1; j++) {
              plate = plateRow[j];
              if (‘No Read‘ === plate.code) {
                hasNoRead = true;
              }
            }
          }
          return $(‘#inStockButton‘).prop(‘disabled‘, hasNoRead);
        };
      })(this);
      return reader.readAsText(file);
    } else {
      $(‘#fileInfo‘).text(‘invalid file‘);
      $(‘#inStockButton‘).prop(‘disabled‘, true);
      return this.racks.removeAll();
    }
  };

  Model.prototype.inStock = function() {
    var codes, i, j, len, len1, plate, plateRow, racks, ref;
    codes = [];
    racks = ko.mapping.toJS(this.racks);
    if (racks.length) {
      ref = racks[0].plates;
      for (i = 0, len = ref.length; i < len; i++) {
        plateRow = ref[i];
        for (j = 0, len1 = plateRow.length; j < len1; j++) {
          plate = plateRow[j];
          if (plate.code.match(/^\d+$/)) {
            codes.push(plate.code);
          }
        }
      }
      return $.postJSON(‘doInStock.jhtml‘, {
        cat: this.cat,
        codes: codes
      }).done((function(_this) {
        return function(json) {
          if (json.error) {
            return alert(json.error);
          } else {
            return alert(‘上传成功‘);
          }
        };
      })(this));
    }
  };

  return Model;

})();
时间: 2024-08-13 19:22:49

selleck - 分子库入库 instock-js的相关文章

JavaScript加密库jQuery.md5.js

JavaScript简单的MD5加密库jQuery.md5.js,简单用法如下: //Create (hex-encoded) MD5 hash of a given string value: var md5 = $.md5('value'); //Create (hex-encoded) HMAC-MD5 hash of a given string value and key: var md5 = $.md5('value', 'key'); //Create raw MD5 hash o

★★★【卡法 常用js库】: js汇合 表单验证 cookie设置 日期格式 电话手机号码 email 整数 小数 金额 检查参数长度

[卡法 常用js库]: js汇合 表单验证  cookie设置  日期格式  电话手机号码  email  整数  小数  金额   检查参数长度 // +---------------------------------------------------------------------- // | sunqiang // +---------------------------------------------------------------------- // | Copyrig

实战大数据可视化库:D3.js

实战大数据可视化库:D3.js网盘地址:https://pan.baidu.com/s/1Sir6qnU7Hdz5l3IHNjdNEQ 提取码:vmdi D3.js 是一个 JavaScript 库,它主要用于对数据的动态图表展示.通过 HTML.SVG 以及 CSS,D3 可以让数据展现得更加鲜活.D3 使得数字的图形化展示变得异常单,可以说,它是当下最强大的基于网络的数据可视化技术. 本教程理论与实践结合,力图向读者全方位地展示 D3 大数据可视化技术,帮助读者快速利用 D3 创建可视化程序

认识JQuery,JQuery的优势、语法、多库冲突、JS原生对象和JQuery对象之间相互转换和DOM操作,常用的方法

(一)认识JQuery  JQuery是一个JavaScript库,它通过封装原生的JavaScript函数得到一套定义好的方法    JQuery的主旨:以更少的代码,实现更多的功能 (二)JQuery的优势 1)可以像CSS一样访问和操作DOM 2)修改CSS控制页面外观 3)简化JS代码操作 4)事件代理更加容易 5)动画效果使用方便 6) Ajax技术更加完美 7)大量的基于Jquery的插件 8)可以自定义扩展功能插件 (三)JQuery的语法 格式:$(selector).actio

oracle中的查询语句(关于出库入库信息表,明细表,把捆包箱表,单位信息表的集中查询)

--查出所有现金中心的单位IDwith AllUnitas(select t.ORGANIZATIONID orgid,t.parentidfrom CDMS_ORGANIZATION t where T.CATEGORY = 4start with t.organizationid = '05e85693-14b0-4582-8063-8fbde85371f0' connect by t.parentid = PRIOR t.organizationid), N_instockas(-- in

【译】深入理解python3.4中Asyncio库与Node.js的异步IO机制

转载自http://xidui.github.io/2015/10/29/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3python3-4-Asyncio%E5%BA%93%E4%B8%8ENode-js%E7%9A%84%E5%BC%82%E6%AD%A5IO%E6%9C%BA%E5%88%B6/ 译者:xidui原文: http://sahandsaba.com/understanding-asyncio-node-js-python-3-4.html 译者前言 如

可视化CSS3动画代码生成js库插件-Bounce.js

简要教程 Bounce.js是一款功能非常强大的可视化CSS3动画代码生成js库插件.该js库插件提供了一个在线APP,通过该APP可以在可视化的条件下编辑CSS3的各种动画效果,如移动.旋转.倾斜.easing等效果,编辑完成后可以直接获取该CSS3帧动画的代码,复制代码到你的页面中即可在你的页面上获得与该动画一样的效果.此外,你也可以单独使用Bounce.js,通过js代码来完成各种CSS3动画效果.Bounce.js能与jQuery完美结合. 查看演示     下载插件 安装 可以通过Bo

关于React库的纯JS DOM的单向可视化?

[技术讨论]React库据说是用JS模拟了DOM,其可视化是单向流向的,所以性能比DOM要好(DOM的getComputedStyle或者会触发reflow的style获取?),但这不是意味着这个JS DOM需要实现所有的影响layout的CSS属性设置操作? 如果真的实现了的话,岂不是JS完全重新实现了WebCore layout引擎了 其实DOM的本质也是单向的,并不存在一个单独的UI反馈设备,当设置了元素的CSS属性并经过layout排版后,元素的大小位置都是根据一个模型计算出来的,只不过

【JS库】URI.js

做前端的,应该有不少人都写过操作URL的代码,比如提取问号后面的参数.或者主机名什么的,比如这样: var url="http://jszai.com/foo?bar=baz", separator=url.indexOf('?') >-1?'&':'?'; url+=separator+encodeURIComponent("foo")+"="+encodeURIComponent("bar"); 这类代码写多