zoukankan      html  css  js  c++  java
  • Web SQL Database 离线数据下载

    
    

    //新建数据库
    // databasename:数据库名;
    // version:数据库版本号,可不填;
    // description:数据库描述;
    // size:给数据库分配的空间大小;

    var db = openDatabase('digital_inspection', '1.0.0', '离线数据库', 204800);

    var confirm_id = "";
    var confirm_enterprise_abbreviation = "";
    var confirm_enterprise_id = "";
    var confirm_unit_id = "";
    //加载整改列表
    function loadRectify(thepage, init) {
    //var list = document.getElementById("item2");
    var pageSize = 10; //每页显示记录条数
    var data = [];
    db.transaction(function(tx) {
    //查询所有任务记录 
    tx.executeSql(
    'select * from ry_rectify_confirm limit ?,?',
    [(thepage - 1) * pageSize, pageSize],
    function(tx, rs) {
    flag2 = rs.rows.length == 0 || rs.rows.length < 10;
    if (flag2 == false) {
    page2++;
    }
    mui('#item2mobile .mui-scroll').pullToRefresh().endPullUpToRefresh(flag2);
    if (rs.rows.length > 0) {
    for (var i = 0; i < rs.rows.length; i++) {
    var row = rs.rows.item(i);
    var obj = {
    id: row.id,
    unit_id: row.unit_id,
    enterprise_id: row.enterprise_id,
    enterprise_abbreviation: row.enterprise_abbreviation,
    }
    data.push(obj);
    }
    if (thepage == 1) {
    $("#rectify_content").find('ul').empty();
    }
    var html = template('enterprise', data);
    if (init == 0) {
    $("#rectify_content").find('ul').empty();
    page2 = 1;
    }
    $("#rectify_content").find('.mui-pull-bottom-tips').before(html);
    } else {
    $("#rectify_content").find('ul').empty();
    page2 = 1;
    }
    });
    });
    }
    
    mui(".item2").on('tap', '.download', function() {
    var obj = $(this).find("img");
    db.transaction(function(tx) {
    //整改主表 
    tx.executeSql(
    'create table if not exists ry_rectify_confirm (id text,unit_id text,enterprise_id text,enterprise_abbreviation text)'
    );
    //整改措施表
    tx.executeSql(
    "create table if not exists ry_confirm_item (id text,confirm_id text,report_item_id text,is_conform INTEGER,item_id text,item_type text,detail_content text,report_id text,rectify_item_id text,measure_name text)"
    );
    //整改记录表
    tx.executeSql(
    'create table if not exists ry_rectify_confirm_record (id text,confirm_id text,item_id text,is_conform INTEGER,content text)'
    );
    //图片表
    tx.executeSql(
    'create table if not exists im_file (id text,business_id text,business_type text,item_id text,file_type text,create_user text,create_date INTEGER,str_image text)'
    );
    
    //    executeSql方法有四个参数,作用分别如下:
    //    sqlQuery:需要具体执行的sql语句,可以是create、select、update、delete;
    //    [value1,value2..]:sql语句中所有使用到的参数的数组,在executeSql方法中,将sql语句中所要使用的参数先用“?”代替,然后依次将这些参数组成数组放在第二个参数中;
    //    dataHandler:执行成功是调用的回调函数,通过该函数可以获得查询结果集;
    //    errorHandler:执行失败时调用的回调函数;
    var li = $(obj).parents(".li-content");
    confirm_id = $(li).children('.mui-navigate-right').attr("data-confirm");
    confirm_enterprise_abbreviation = $(li).children('.mui-navigate-right').attr("data-enter");
    confirm_enterprise_id = $(li).children('.mui-navigate-right').attr("data-enterid");
    confirm_unit_id = $(li).children('.mui-navigate-right').attr("data-unit_id");
    //先判断此任务是否已经下载
    // 这里需要显示的将传入的参数userno转变为字符串类型 
    tx.executeSql('select * from ry_rectify_confirm where id=?', [String(confirm_id)], rectifyIsExit);
    });
    });
    //是否已下载
    function rectifyIsExit(tx, rs) {
    if (rs.rows.length > 0) {
    isload = true;
    mui.alert("此任务已下载");
    } else {
    //添加任务主表
    tx.executeSql('insert into ry_rectify_confirm values(?,?,?,?)', [
    confirm_id,
    confirm_unit_id,
    confirm_enterprise_id,
    confirm_enterprise_abbreviation
    ], rectifymainSuccess);
    }
    }
    //主表sql语句执行成功后执行的回调函数 
    function rectifymainSuccess(tx, rs) {
    //添加检查项表
    var itemArray = getConfirmItem(confirm_id);
    for (var i = 0; i < itemArray.length; i++) {
    for (var j = 0; j < itemArray[i].measure_data.length; j++) {
    //console.log(itemArray[i].measure_data[j]);
    tx.executeSql('insert into ry_confirm_item values(?,?,?,?,?,?,?,?,?,?)', [
    itemArray[i].measure_data[j].id,
    confirm_id,
    itemArray[i].measure_data[j].report_item_id,
    itemArray[i].measure_data[j].is_conform,
    itemArray[i].item_id,
    itemArray[i].item_type,
    itemArray[i].detail_content,
    itemArray[i].report_id,
    itemArray[i].rectify_item_id,
    itemArray[i].measure_data[j].measure_name
    ], rectifySuccess);
    }
    }
    mui.alert("下载成功");
    }
    
    function rectifySuccess(tx, rs) {
    // tx.executeSql('select * from ry_confirm_item ', [], function(tx, rs) {
    // if (rs.rows.length > 0) {
    // console.log(rs.rows)
    // }
    // });
    }
    //获取检查项信息
    function getConfirmItem(confirm_id) {
    var itemArray;
    $.ajax({
    type: "get",
    contentType: "application/json;charset=utf-8",
    url: ServerIp + '/api/rectify/OffConfirmView',
    data: {
    confirm_id: confirm_id
    },
    async: false,
    dataType: "json",
    success: function(data) {
    if (data != null && data != undefined) {
    itemArray = data;
    }
    },
    error: function(result, status) {
    mui.alert("获取数据失败");
    }
    });
    return itemArray;
    }
  • 相关阅读:
    关于git
    关于 素材,设计
    utiles
    sqlite
    蓝牙
    一个简单的Maven小案例
    【日志卡住不动】Registering current configuration as safe fallback point
    一分钟部署nacos
    生产日志文件太大NotePad++无法打开
    idea 安装 codota 插件
  • 原文地址:https://www.cnblogs.com/yyjspace/p/11599236.html
Copyright © 2011-2022 走看看