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; }