zoukankan      html  css  js  c++  java
  • Web SQL Database离线数据查看

    function GetConfirmItem() {
    var data = [];
    db.transaction(function(tx) {
    //查询所有整改项
    tx.executeSql(
    'select * from ry_confirm_item where confirm_id =? ',
    [String(confirm_id)],
    function(tx, rs) {
    if (rs.rows.length > 0) {
    data = merge(rs.rows);
    }
    //console.log(data)
    var html = template('confirm-item', data);
    $(".item").html(html);
    mui('#scroll1').pullRefresh().endPullupToRefresh(true);
    });
    });
    };
    
    function merge(oldData) {
    let list = Array.from(oldData);
    // 把源数据先变成目标数据的规则
    var oldDataRule = [];
    
    list.forEach(el => {
    var oldObj = {
    item_id: el.item_id,
    item_type: el.item_type,
    detail_content: el.detail_content,
    report_id: el.report_id,
    rectify_item_id: el.rectify_item_id,
    measure_data: [],
    }
    var measureObj = {
    id: el.id,
    confirm_id: el.confirm_id,
    report_item_id: el.report_item_id,
    is_conform: el.is_conform,
    measure_name: el.measure_name
    }
    oldObj.measure_data.push(measureObj);
    oldDataRule.push(oldObj);
    });
    
    /**
    * 先去重,后合并
    * 1、源数据去重
    * 2、把去重后的数据和源数据中相同name的数据合并citys
    */
    var newData = []
    var newObj = {}
    oldDataRule.forEach((el, i) => {
    if (!newObj[el.item_id]) {
    newData.push(el);
    newObj[el.item_id] = true;
    } else {
    newData.forEach(el => {
    if (el.item_id === oldDataRule[i].item_id) {
    el.measure_data = el.measure_data.concat(oldDataRule[i].measure_data);
    }
    })
    }
    
    });
    return newData;
    
    }
  • 相关阅读:
    android创建自定义对话框
    激光裁剪的商务名片
    60个响应式的Web设计教程–能够手机访问!
    前端性能优化:使用Data URI代替图片SRC
    40个最好的Tumblr主题
    40个超酷的jQuery动画效果教程
    15个最好的jQuery timeline插件
    60+富有创意的宣传册设计
    Eclipse安装SVN
    EXPLAIN 关键字可以 查看 sql执行 的详细过程
  • 原文地址:https://www.cnblogs.com/yyjspace/p/11599256.html
Copyright © 2011-2022 走看看