Merge branch 'dev2' of http://61.184.202.72:3000/wsnet/PDA-App into dev2
commit
5595689486
1
App.vue
1
App.vue
|
@ -16,6 +16,7 @@
|
|||
@import "/style/css/layout.css";
|
||||
@import "style/css/main.css";
|
||||
@import "style/css/flex-main.css";
|
||||
@import "/wxcomponents/vant/dist/common/index.css";
|
||||
|
||||
/deep/.uni-select {
|
||||
background-color: #fff;
|
||||
|
|
|
@ -0,0 +1,290 @@
|
|||
module.exports = {
|
||||
dbName: 'dianji_chat',
|
||||
dbPath: '_doc/dianji_chat.db',
|
||||
dbTable: 'dianji_chat',
|
||||
dbIsOpen: false,
|
||||
sqlData: [],
|
||||
|
||||
executeSqlCeshi(sql) {
|
||||
return new Promise((resolve, reject) => {
|
||||
// 打开数据库
|
||||
plus.sqlite.selectSql({
|
||||
name: this.dbName,
|
||||
sql: sql,
|
||||
success: function(e) {
|
||||
resolve(e); // 成功回调
|
||||
},
|
||||
fail: function(e) {
|
||||
console.log('selectSql failed: ' + JSON.stringify(e));
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
// 判断数据库是否打开
|
||||
isOpen() {
|
||||
// 数据库打开了就返回 true,否则返回 false
|
||||
var open = plus.sqlite.isOpenDatabase({
|
||||
name: this.dbName, // 数据库名称
|
||||
path: this.dbPath // 数据库地址
|
||||
})
|
||||
return open;
|
||||
},
|
||||
|
||||
// 创建数据库 或 有该数据库就打开
|
||||
openSqlite() {
|
||||
return new Promise((resolve, reject) => {
|
||||
// 打开数据库
|
||||
plus.sqlite.openDatabase({
|
||||
name: this.dbName,
|
||||
path: this.dbPath,
|
||||
success(e) {
|
||||
resolve(e); // 成功回调
|
||||
},
|
||||
fail(e) {
|
||||
reject(e); // 失败回调
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
// 关闭数据库
|
||||
closeSqlite() {
|
||||
return new Promise((resolve, reject) => {
|
||||
plus.sqlite.closeDatabase({
|
||||
name: this.dbName,
|
||||
success(e) {
|
||||
resolve(e);
|
||||
},
|
||||
fail(e) {
|
||||
reject(e);
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
// 数据库建表 sql:'CREATE TABLE IF NOT EXISTS dbTable("id" varchar(50),"name" TEXT)
|
||||
// 创建 CREATE TABLE IF NOT EXISTS 、 dbTable 是表名,不能用数字开头、括号里是表格的表头
|
||||
createTable(dbTable, data) {
|
||||
return new Promise((resolve, reject) => {
|
||||
// executeSql: 执行增删改等操作的SQL语句
|
||||
plus.sqlite.executeSql({
|
||||
name: this.dbName,
|
||||
name: "gather",
|
||||
sql: `CREATE TABLE IF NOT EXISTS ${dbTable}(${data})`,
|
||||
success(e) {
|
||||
resolve(e);
|
||||
},
|
||||
fail(e) {
|
||||
reject(e);
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
// 数据库删表 sql:'DROP TABLE dbTable'
|
||||
dropTable(dbTable) {
|
||||
return new Promise((resolve, reject) => {
|
||||
plus.sqlite.executeSql({
|
||||
name: this.dbName,
|
||||
sql: `DROP TABLE ${dbTable}`,
|
||||
success(e) {
|
||||
resolve(e);
|
||||
},
|
||||
fail(e) {
|
||||
reject(e);
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
// 向表格里添加数据 sql:'INSERT INTO dbTable VALUES('x','x','x')' 对应新增
|
||||
// 或者 sql:'INSERT INTO dbTable ('x','x','x') VALUES('x','x','x')' 具体新增
|
||||
// 插入 INSERT INTO 、 dbTable 是表名、根据表头列名插入列值
|
||||
insertTableData(dbTable, data, condition) {
|
||||
// 判断有没有传参
|
||||
if (dbTable !== undefined && data !== undefined) {
|
||||
// 判断传的参是否有值
|
||||
var bol = (JSON.stringify(data) == "{}");
|
||||
if (!bol) {
|
||||
if (condition == undefined) {
|
||||
var sql = `INSERT INTO ${dbTable} VALUES('${data}')`;
|
||||
} else {
|
||||
var sql = `INSERT INTO ${dbTable} (${condition}) VALUES(${data})`;
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
// 表格添加数据
|
||||
plus.sqlite.executeSql({
|
||||
name: this.dbName,
|
||||
sql: sql,
|
||||
success(e) {
|
||||
resolve(e);
|
||||
},
|
||||
fail(e) {
|
||||
reject(e);
|
||||
}
|
||||
})
|
||||
})
|
||||
} else {
|
||||
return new Promise((resolve, reject) => {
|
||||
reject("错误添加")
|
||||
})
|
||||
}
|
||||
} else {
|
||||
return new Promise((resolve, reject) => {
|
||||
reject("错误添加")
|
||||
})
|
||||
}
|
||||
},
|
||||
// 根据条件向表格里添加数据 有数据更新、无数据插入
|
||||
// (建表时需要设置主键) 例如 --- "roomid" varchar(50) PRIMARY KEY
|
||||
insertOrReplaceData(dbTable, data, condition) {
|
||||
// 判断有没有传参
|
||||
if (dbTable !== undefined && data !== undefined) {
|
||||
if (condition == undefined) {
|
||||
var sql = `INSERT OR REPLACE INTO ${dbTable} VALUES('${data}')`;
|
||||
} else {
|
||||
var sql = `INSERT OR REPLACE INTO ${dbTable} (${condition}) VALUES(${data})`;
|
||||
}
|
||||
// console.log(sql);
|
||||
return new Promise((resolve, reject) => {
|
||||
// 表格添加数据
|
||||
plus.sqlite.executeSql({
|
||||
name: this.dbName,
|
||||
sql: sql,
|
||||
success(e) {
|
||||
resolve(e);
|
||||
},
|
||||
fail(e) {
|
||||
reject(e);
|
||||
}
|
||||
})
|
||||
})
|
||||
} else {
|
||||
return new Promise((resolve, reject) => {
|
||||
reject("错误添加")
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
// 查询获取数据库里的数据 sql:'SELECT * FROM dbTable WHERE lname = 'lvalue''
|
||||
// 查询 SELECT * FROM 、 dbTable 是表名、 WHERE 查找条件 lname,lvalue 是查询条件的列名和列值
|
||||
// selectTableData(dbTable, uname, namevalue, upass, passvalue,urrn,rrnvalue) {
|
||||
selectTableData(dbTable, uname, namevalue) {
|
||||
if (dbTable !== undefined) {
|
||||
// // 第一个是表单名称,后两个参数是列表名,用来检索
|
||||
// if (uname !== undefined && upass !== undefined && urrn!==undefined) {
|
||||
// // 三个检索条件
|
||||
// var sql = `SELECT * FROM ${dbTable} WHERE ${uname} = '${namevalue}' AND ${upass} = '${passvalue}' AND ${urrn}='${rrnvalue}'`;
|
||||
// }
|
||||
// if (uname !== undefined && upass !== undefined &&urrn==undefined) {
|
||||
// // 两个检索条件
|
||||
// var sql = `SELECT * FROM ${dbTable} WHERE ${uname} = '${namevalue}' AND ${upass} = '${passvalue}'`;
|
||||
// }
|
||||
if (uname !== undefined) {
|
||||
// 一个检索条件
|
||||
var sql = `SELECT * FROM ${dbTable} WHERE ${uname} = '${namevalue}'`;
|
||||
// console.log(sql);
|
||||
}
|
||||
if (uname == undefined) {
|
||||
var sql = `SELECT * FROM ${dbTable}`;
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
// 表格查询数据 执行查询的SQL语句
|
||||
plus.sqlite.selectSql({
|
||||
name: this.dbName,
|
||||
sql: sql,
|
||||
success(e) {
|
||||
resolve(e);
|
||||
},
|
||||
fail(e) {
|
||||
reject(e);
|
||||
}
|
||||
})
|
||||
})
|
||||
} else {
|
||||
return new Promise((resolve, reject) => {
|
||||
reject("错误查询")
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// 删除表里的数据 sql:'DELETE FROM dbTable WHERE lname = 'lvalue''
|
||||
// 删除 DELETE FROM 、 dbTable 是表名、 WHERE 查找条件 lname,lvalue 是查询条件的列名和列值
|
||||
// deleteTableData(dbTable, lname, lvalue, ww, ee) {
|
||||
deleteTableData(dbTable, lname, lvalue) {
|
||||
console.log("lname:" + lname + "," + "lvalue" + lvalue);
|
||||
if (dbTable !== undefined) {
|
||||
if (lname == undefined) {
|
||||
var sql = `DELETE FROM ${dbTable}`;
|
||||
} else {
|
||||
// if (ww !== undefined) {
|
||||
// // 两个检索条件
|
||||
// var sql = `DELETE FROM ${dbTable} WHERE ${lname} = '${lvalue}' AND ${ww} = '${ee}'`;
|
||||
// } else {
|
||||
// 一个检索条件
|
||||
var sql = `DELETE FROM ${dbTable} WHERE ${lname} = '${lvalue}'`;
|
||||
// }
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
// 删除表数据
|
||||
plus.sqlite.executeSql({
|
||||
name: this.dbName,
|
||||
sql: sql,
|
||||
success(e) {
|
||||
resolve(e);
|
||||
},
|
||||
fail(e) {
|
||||
reject(e);
|
||||
}
|
||||
})
|
||||
})
|
||||
} else {
|
||||
return new Promise((resolve, reject) => {
|
||||
reject("错误删除")
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// 修改数据表里的数据 sql:"UPDATE dbTable SET 列名 = '列值',列名 = '列值' WHERE lname = 'lvalue'"
|
||||
// 修改 UPDATE 、 dbTable 是表名, data: 要修改的列名=修改后列值, lname,lvalue 是查询条件的列名和列值
|
||||
updateTableData(dbTable, data, lname, lvalue) {
|
||||
if (lname == undefined) {
|
||||
var sql = `UPDATE ${dbTable} SET ${data}`;
|
||||
} else {
|
||||
var sql = `UPDATE ${dbTable} SET ${data} WHERE ${lname} = '${lvalue}'`;
|
||||
}
|
||||
// WHERE 前面是要修改的列名、列值,后面是条件的列名、列值
|
||||
return new Promise((resolve, reject) => {
|
||||
// 修改表数据
|
||||
plus.sqlite.executeSql({
|
||||
name: this.dbName,
|
||||
sql: sql,
|
||||
success(e) {
|
||||
resolve(e);
|
||||
},
|
||||
fail(e) {
|
||||
reject(e);
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
// 获取指定数据条数 sql:"SELECT * FROM dbTable ORDER BY 'id' DESC LIMIT 15 OFFSET 'num'"
|
||||
// dbTable 表名, ORDER BY 代表排序默认正序, id 是排序的条件 DESC 代表倒序,从最后一条数据开始拿
|
||||
// LIMIT 15 OFFSET '${num}',这句的意思是跳过 num 条拿 15 条数据, num 为跳过多少条数据是动态值
|
||||
// 例 初始num设为0,就从最后的数据开始拿15条,下次不拿刚获取的数据,所以可以让num为15,这样就能一步一步的拿完所有的数据
|
||||
pullSQL(dbTable, id, num) {
|
||||
return new Promise((resolve, reject) => {
|
||||
plus.sqlite.selectSql({
|
||||
name: this.dbName,
|
||||
sql: `SELECT * FROM ${dbTable} ORDER BY '${id}' DESC LIMIT 15 OFFSET '${num}'`,
|
||||
success(e) {
|
||||
resolve(e);
|
||||
},
|
||||
fail(e) {
|
||||
reject(e);
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
}
|
|
@ -23,6 +23,11 @@
|
|||
场位监控
|
||||
</view>
|
||||
</navigator>
|
||||
<navigator url="/pages/test/ceshi" open-type="redirect">
|
||||
<view class="item" :class="path==5?'active':''">
|
||||
测试
|
||||
</view>
|
||||
</navigator>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
|
|
|
@ -83,7 +83,6 @@
|
|||
"style": {
|
||||
"navigationBarTitleText": "杂项作业(工班信息)",
|
||||
"usingComponents": {
|
||||
"van-icon": "/wxcomponents/vant/dist/icon/index",
|
||||
"van-button": "/wxcomponents/vant/dist/button/index"
|
||||
}
|
||||
}
|
||||
|
@ -260,6 +259,12 @@
|
|||
"van-button": "/wxcomponents/vant/dist/button/index"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/test/ceshi",
|
||||
"style": {
|
||||
"navigationBarTitleText": "测试"
|
||||
}
|
||||
}
|
||||
],
|
||||
"tabBar": {
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
<view class="formTitle">
|
||||
基本信息
|
||||
</view>
|
||||
|
||||
<view class="ul">
|
||||
<view class="li">
|
||||
<p class="liTitle"><text class="required">*</text>资损发生环节</p>
|
||||
|
@ -17,6 +18,7 @@
|
|||
</radio-group>
|
||||
</view>
|
||||
<view class="li">
|
||||
|
||||
<p class="liTitle">板车照片</p>
|
||||
<van-uploader>
|
||||
<van-button icon="plus" type="info">图片上传</van-button>
|
||||
|
|
|
@ -0,0 +1,177 @@
|
|||
<template>
|
||||
<view class="">
|
||||
<!-- <div>{{odb}}</div> -->
|
||||
<div>
|
||||
<button type="default" @click="isOpenDatabase">判断数据库是否打开</button>
|
||||
<button type="default" @click="openDatabase">打开数据库</button>
|
||||
<button type="default" @click="closeDatabase">关闭数据库</button>
|
||||
<button type="default" @click="createChatTable">创建表</button>
|
||||
<button type="default" @click="dropTable">删除表</button>
|
||||
<button type="default" @click="transaction">执行事务</button>
|
||||
<button type="default" @click="insertChatRow">新增数据</button>
|
||||
<button type="default" @click="insertListChatRow">批量新增数据</button>
|
||||
<button type="default" @click="deleteChatRow">删除所有数据</button>
|
||||
<button type="default" @click="selectSql">查询数据</button>
|
||||
</div>
|
||||
<div v-for="item in sqlData" :key="item.id">
|
||||
<text>{{item.id}}</text>
|
||||
<text>{{item.content}}</text>
|
||||
</div>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Sqlite from "../../common/sqlite.js"
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
dbName: 'dianji_chat',
|
||||
dbPath: '_doc/dianji_chat.db',
|
||||
dbTable: 'dianji_chat',
|
||||
dbIsOpen: false,
|
||||
sqlData: [],
|
||||
chatText: {
|
||||
id: 1,
|
||||
fromId: '123',
|
||||
toId: '321',
|
||||
content: '你好!',
|
||||
flag: 1
|
||||
},
|
||||
chatText1: [{
|
||||
id: 11,
|
||||
fromId: '123',
|
||||
toId: '321',
|
||||
content: '你好!',
|
||||
flag: 1
|
||||
},
|
||||
{
|
||||
id: 12,
|
||||
fromId: '123',
|
||||
toId: '321',
|
||||
content: '你好!',
|
||||
flag: 1
|
||||
}
|
||||
],
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
// console.log('Sqlite:',Sqlite)
|
||||
// this.open();
|
||||
},
|
||||
methods: {
|
||||
// async open(){
|
||||
// let odb=await Sqlite.openSqlite();
|
||||
// this.odb=odb;
|
||||
// console.log('打开数据库成功:',odb)
|
||||
// },
|
||||
createChatTable() {
|
||||
let sql = 'CREATE TABLE if not exists ' + this.dbTable +
|
||||
' ( "id" varchar(32) NOT NULL,"content" varchar(1024),"fromId" varchar(32), "toId" varchar(32), "flag" varchar(2), PRIMARY KEY ("id"));'
|
||||
this.executeSql(sql)
|
||||
},
|
||||
openDatabase() {
|
||||
plus.sqlite.openDatabase({
|
||||
name: this.dbName,
|
||||
path: this.dbPath,
|
||||
success: function(e) {
|
||||
console.log('打开数据库成功')
|
||||
},
|
||||
fail: function(e) {
|
||||
console.log(e, '打开数据库失败')
|
||||
}
|
||||
});
|
||||
},
|
||||
isOpenDatabase() {
|
||||
let res = plus.sqlite.isOpenDatabase({
|
||||
name: this.dbName,
|
||||
path: this.dbPath
|
||||
});
|
||||
if (res) {
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: '数据库已打开'
|
||||
});
|
||||
return;
|
||||
} else {
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: '数据库未打开'
|
||||
});
|
||||
return;
|
||||
}
|
||||
},
|
||||
closeDatabase() {
|
||||
plus.sqlite.closeDatabase({
|
||||
name: this.dbName,
|
||||
success: function(e) {
|
||||
console.log(JSON.stringify(e), 'closeDatabase dianji_chat success!');
|
||||
},
|
||||
fail: function(e) {
|
||||
console.log('closeDatabase failed: ' + JSON.stringify(e));
|
||||
}
|
||||
});
|
||||
},
|
||||
insertChatRow() {
|
||||
let data = this.chatText
|
||||
data.id++
|
||||
let sql = "insert into " + this.dbTable + " values('" + data.id + "','" + data.content +
|
||||
"','" + data.fromId + "','" + data.toId + "'," + data.flag + ")";
|
||||
this.executeSql(sql)
|
||||
},
|
||||
insertListChatRow() {
|
||||
let data = this.chatText1
|
||||
let sql = '';
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
sql = "insert into " + this.dbTable + " values('" + data[i].id + "','" + data[i].content +
|
||||
"','" + data[i].fromId + "','" + data[i].toId + "'," + data[i].flag + ")";
|
||||
this.executeSql(sql)
|
||||
}
|
||||
},
|
||||
deleteChatRow() {
|
||||
let sql = "delete from " + this.dbTable;
|
||||
this.executeSql(sql)
|
||||
},
|
||||
selectSql() {
|
||||
let curPage = 1
|
||||
let pageSize = 20
|
||||
let fromId = '123'
|
||||
let sql = 'select * from ' + this.dbTable + ' where fromId=' + fromId +
|
||||
' limit ' + pageSize + ' offset ' + (curPage - 1) * pageSize;
|
||||
this.executeSql(sql)
|
||||
},
|
||||
dropTable() {
|
||||
let sql = 'DROP TABLE ' + this.dbTable + ';'
|
||||
plus.sqlite.executeSql({
|
||||
name: this.dbName,
|
||||
sql: sql,
|
||||
success: function(e) {
|
||||
console.log("删除数据表成功");
|
||||
},
|
||||
fail: function(e) {
|
||||
console.log('executeSql failed: ' + JSON.stringify(e));
|
||||
}
|
||||
})
|
||||
},
|
||||
transaction() {
|
||||
plus.sqlite.transaction({
|
||||
name: this.dbName,
|
||||
operation: 'begin',
|
||||
success: function(e) {
|
||||
console.log('transaction success!');
|
||||
},
|
||||
fail: function(e) {
|
||||
console.log('transaction failed: ' + JSON.stringify(e));
|
||||
}
|
||||
});
|
||||
},
|
||||
executeSql(sql) {
|
||||
let a = Sqlite.executeSqlCeshi(sql)
|
||||
console.log(a);
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
Loading…
Reference in New Issue