提交 4781a716 authored 作者: 刘守彩's avatar 刘守彩

fix: bugs

上级 a4ebaaec
import SqlliteDbUtil from '@/utils/sqllitedb' import SqlliteDbUtil from '@/utils/sqllitedb'
import table from './sqllite/table.js' import table from './sqllite/table.js'
import { import {
fixNullVal fixNullVal
} from "@/utils/common"; } from "@/utils/common";
// 用户 // 用户
export default { export default {
async selectList() { async selectList() {
let sqllitedb = await SqlliteDbUtil.initSqlliteDB() let sqllitedb = await SqlliteDbUtil.initSqlliteDB()
try { try {
let rs = await sqllitedb.selectSQL(`select * from ${table.logListName}`) let rs = await sqllitedb.selectSQL(`select * from ${table.logListName}`)
return rs return rs
} catch (e) { } catch (e) {
console.log(e.message) console.log(e.message)
} finally { } finally {
await sqllitedb.closeDB(); await sqllitedb.closeDB();
} }
}, },
async pageSelect(data){ // async pageSelect(data){
let sqllitedb = await SqlliteDbUtil.initSqlliteDB() // let sqllitedb = await SqlliteDbUtil.initSqlliteDB()
let pre = (data.page -1) * data.size // let pre = (data.page -1) * data.size
let nxt = data.size // let nxt = data.size
try { // try {
let count = await sqllitedb.selectSQL(`select count(*) as total from ${table.logListName} limit 1 `) // let count = await sqllitedb.selectSQL(`select count(*) as total from ${table.logListName} limit 1 `)
let sql = `select * from ${table.logListName} ORDER BY time desc limit ${nxt} offset ${pre} ` // let sql = `select * from ${table.logListName} ORDER BY time desc limit ${nxt} offset ${pre} `
let rs = await sqllitedb.selectSQL(sql) // let rs = await sqllitedb.selectSQL(sql)
console.log('sql',sql) // console.log('sql',sql, rs)
return { // return {
data:rs || [], // data:rs || [],
total:count[0].total || 0 // total:count[0].total || 0
} // }
} catch (e) { // } catch (e) {
console.log(e.message) // console.log(e.message)
} finally { // } finally {
await sqllitedb.closeDB(); // await sqllitedb.closeDB();
} // }
}, // },
async addlog(data) { async pageSelect(data) {
let sqllitedb = await SqlliteDbUtil.initSqlliteDB() let sqllitedb = await SqlliteDbUtil.initSqlliteDB()
try { let pre = (data.page - 1) * data.size
const values = `( let nxt = data.size
'${data.LastSynchronizationTime || ""}',
'${data.avatar || ""}', // 拼接时间范围条件
'${data.detail || ""}', let whereClause = "1=1"
'${data.isAdmin}',
'${data.level}', if (data.startTime && data.endTime) {
'${data.module}', whereClause += ` AND time BETWEEN '${data.startTime} 00:00:00' AND '${data.endTime} 23:59:59'`
'${data.passWord}', }
'${data.roleName}',
'${data.time}', try {
'${data.type}', // 获取总数
'${data.unitName}', let countSql = `SELECT count(*) as total FROM ${table.logListName} WHERE ${whereClause} LIMIT 1`
'${data.user}', let count = await sqllitedb.selectSQL(countSql)
'${data.userId}',
${data.userType === null ? 'NULL' : `'${data.userType}'` } // 获取分页数据
)` let sql =
const sql = `INSERT INTO ${table.logListName} ( `SELECT * FROM ${table.logListName} WHERE ${whereClause} ORDER BY time DESC LIMIT ${nxt} OFFSET ${pre}`
LastSynchronizationTime, let rs = await sqllitedb.selectSQL(sql)
avatar,
detail, console.log('sql', sql, rs)
isAdmin,
level, return {
module, data: rs || [],
passWord, total: count[0]?.total || 0
roleName, }
time, } catch (e) {
type, console.log(e.message)
unitName, } finally {
user, await sqllitedb.closeDB()
userId, }
userType },
) VALUES ${values}`; async addlog(data) {
let rs = await sqllitedb.selectSQL(sql) let sqllitedb = await SqlliteDbUtil.initSqlliteDB()
return rs try {
} catch (e) { const values = `(
console.log(e.message) '${data.LastSynchronizationTime || ""}',
} finally { '${data.avatar || ""}',
await sqllitedb.closeDB(); '${data.detail || ""}',
} '${data.isAdmin}',
}, '${data.level}',
'${data.module}',
async remove(id) { '${data.passWord}',
let sqllitedb = await SqlliteDbUtil.initSqlliteDB() '${data.roleName}',
try { '${data.time}',
if (!id) { '${data.type}',
return '${data.unitName}',
} '${data.user}',
let sql = `delete from ${table.logListName} where id = '${id}'`; '${data.userId}',
await sqllitedb.executeSQL(sql); ${data.userType === null ? 'NULL' : `'${data.userType}'` }
} catch (e) { )`
console.log(e.message) const sql = `INSERT INTO ${table.logListName} (
} finally { LastSynchronizationTime,
// await sqllitedb.closeDB(); avatar,
} detail,
}, isAdmin,
async info(id) { level,
let sqllitedb = await SqlliteDbUtil.initSqlliteDB() module,
let sql = `select * from ${table.logListName} where id = '${id}'`; passWord,
let res = await sqllitedb.selectSQL(sql); roleName,
if (res && res.length > 0) { time,
return res[0] type,
} unitName,
}, user,
userId,
userType
async saveBatch(list) { ) VALUES ${values}`;
if (list.length === 0) { let rs = await sqllitedb.selectSQL(sql)
return; return rs
} } catch (e) {
console.log('开始保存用户信息....' + list.length) console.log(e.message)
let sqllitedb = await SqlliteDbUtil.initSqlliteDB() } finally {
try { await sqllitedb.closeDB();
for (let data of list) { }
let column = '' },
let values = ''
let idx = 0 async remove(id) {
for (let attr in data) { let sqllitedb = await SqlliteDbUtil.initSqlliteDB()
let dataField = table['user'].find(v => { try {
if (v.field === attr) { if (!id) {
return v return
} }
}) let sql = `delete from ${table.logListName} where id = '${id}'`;
if (!dataField) { await sqllitedb.executeSQL(sql);
continue } catch (e) {
} console.log(e.message)
column += dataField.field + ',' } finally {
values += "'" + fixNullVal(data[attr]) + "'," // await sqllitedb.closeDB();
idx++ }
} },
async info(id) {
column = column.endsWith(',') ? column.substring(0, column.length - 1) : column let sqllitedb = await SqlliteDbUtil.initSqlliteDB()
values = values.endsWith(',') ? values.substring(0, values.length - 1) : values let sql = `select * from ${table.logListName} where id = '${id}'`;
let res = await sqllitedb.selectSQL(sql);
let sql = `insert into ${table.logListName}(${column}) values(${values})` if (res && res.length > 0) {
let has = await this.info(data.id) return res[0]
if (has && has.id) { }
await this.remove(data.id) },
}
await sqllitedb.executeSQL(sql)
} async saveBatch(list) {
} catch (e) { if (list.length === 0) {
console.log(e.message) return;
} finally { }
await sqllitedb.closeDB(); console.log('开始保存用户信息....' + list.length)
} let sqllitedb = await SqlliteDbUtil.initSqlliteDB()
console.log('导入完成...') try {
} for (let data of list) {
let column = ''
let values = ''
let idx = 0
for (let attr in data) {
let dataField = table['user'].find(v => {
if (v.field === attr) {
return v
}
})
if (!dataField) {
continue
}
column += dataField.field + ','
values += "'" + fixNullVal(data[attr]) + "',"
idx++
}
column = column.endsWith(',') ? column.substring(0, column.length - 1) : column
values = values.endsWith(',') ? values.substring(0, values.length - 1) : values
let sql = `insert into ${table.logListName}(${column}) values(${values})`
let has = await this.info(data.id)
if (has && has.id) {
await this.remove(data.id)
}
await sqllitedb.executeSQL(sql)
}
} catch (e) {
console.log(e.message)
} finally {
await sqllitedb.closeDB();
}
console.log('导入完成...')
}
} }
\ No newline at end of file
...@@ -113,7 +113,11 @@ module.exports = { ...@@ -113,7 +113,11 @@ module.exports = {
{ {
field: "signImg", field: "signImg",
format: "TEXT", format: "TEXT",
}, },
{
field: "dataSource",
format: "INTEGER DEFAULT 1"
}
], ],
// 机房、井道信息表 // 机房、井道信息表
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<view class="container"> <view class="container">
<!-- 第一个模块 --> <!-- 第一个模块 -->
<view class="header"> <view class="header">
<view class="title">杭州内网监管在线-运维在线</view> <view class="title">杭州内网监管在线-山南数据中心运维在线</view>
<view class="header-buttons"> <view class="header-buttons">
<view class="log-button" @click="lookLog" v-if="isAdmin">操作日志</view> <view class="log-button" @click="lookLog" v-if="isAdmin">操作日志</view>
<div class="exit-button" @click="logOut"> <div class="exit-button" @click="logOut">
...@@ -188,12 +188,13 @@ export default { ...@@ -188,12 +188,13 @@ export default {
left: 50%; left: 50%;
transform: translateX(-50%); transform: translateX(-50%);
ont-family: PingFangSC-Medium; ont-family: PingFangSC-Medium;
font-size: 32px; font-size: 30px;
color: #000000; color: #000000;
text-align: center; text-align: center;
line-height: 40px; line-height: 40px;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.16); text-shadow: 0 2px 4px rgba(0, 0, 0, 0.16);
font-weight: 500; font-weight: 500;
white-space: nowrap;
} }
.header-buttons { .header-buttons {
......
...@@ -16,8 +16,8 @@ ...@@ -16,8 +16,8 @@
<!-- 搜索区域 --> <!-- 搜索区域 -->
<view class="search-com"> <view class="search-com">
<view class="search-com-left"> <view class="search-com-left">
<uni-data-select class="uni-search-item" v-model="searchFrom.type" :localdata="typeList" <!-- <uni-data-select class="uni-search-item" v-model="searchFrom.type" :localdata="typeList"
@change="change" placeholder="操作类型:全部" :key="new Date().getTime()"></uni-data-select> @change="change" placeholder="操作类型:全部" :key="new Date().getTime()"></uni-data-select> -->
<view class="search-com-right"> <view class="search-com-right">
<uni-datetime-picker class="uni-datetime-picker" type="daterange" <uni-datetime-picker class="uni-datetime-picker" type="daterange"
...@@ -148,13 +148,8 @@ ...@@ -148,13 +148,8 @@
}, },
timeChange(val) { timeChange(val) {
let temp = [...val]; this.searchForm.startTime = val[0] || "";
if (val.length && val[0] == val[1]) { this.searchForm.endTime = val[1] || "";
temp[1] = `${temp[1]} 23:59:59`;
}
this.searchForm.startTime = temp[0] || "";
this.searchForm.endTime = temp[1] || "";
this.getData(); this.getData();
}, },
...@@ -173,11 +168,13 @@ ...@@ -173,11 +168,13 @@
} = this.searchForm; } = this.searchForm;
let data = { let data = {
page: 2, page: 2,
size: 10 size: 10,
} }
let res = await this.$logApi.pageSelect({ let res = await this.$logApi.pageSelect({
page: this.pageCurrent, page: this.pageCurrent,
size: this.pageSize size: this.pageSize,
startTime,
endTime
}) })
if (res) { if (res) {
this.total = res.total this.total = res.total
......
...@@ -140,7 +140,7 @@ export default { ...@@ -140,7 +140,7 @@ export default {
conclusion: "", conclusion: "",
settingLabel: "设定电池电压", settingLabel: "设定电池电压",
settingLabelShow: "设定电压", settingLabelShow: "设定电压",
setting: this.jfType === "3" ? "2V-2.35V" : "2V-2.35V", //设定温度值 setting: "10V-15V", //设定温度值
// value: "", //输入温度 // value: "", //输入温度
unit: "V", //单位 unit: "V", //单位
photos: [], photos: [],
...@@ -155,7 +155,7 @@ export default { ...@@ -155,7 +155,7 @@ export default {
conclusion: "", conclusion: "",
settingLabel: "设定电池温度", settingLabel: "设定电池温度",
settingLabelShow: "设定温度", settingLabelShow: "设定温度",
setting: "10℃-40℃", //设定湿度值 setting: "10℃-35℃", //设定湿度值
// value: "", //输入湿度 // value: "", //输入湿度
unit: "℃", //单位 unit: "℃", //单位
photos: [], photos: [],
...@@ -170,7 +170,7 @@ export default { ...@@ -170,7 +170,7 @@ export default {
conclusion: "", conclusion: "",
settingLabel: "设定电池内阻", settingLabel: "设定电池内阻",
settingLabelShow: "设定内阻", settingLabelShow: "设定内阻",
setting: this.jfType === "3" ? "<50mΩ" : "<50mΩ", //设定湿度值 setting: this.jfType === "3" ? "<10mΩ" : "<10mΩ", //设定湿度值
// value: "", //输入湿度 // value: "", //输入湿度
unit: "mΩ", //单位 unit: "mΩ", //单位
photos: [], photos: [],
......
...@@ -282,7 +282,7 @@ export default { ...@@ -282,7 +282,7 @@ export default {
options: {}, //存储数据 options: {}, //存储数据
backValue: "", backValue: "",
all_data: [], //所有数据 all_data: [], //所有数据
jfType: "0", //机房类型 jfType: "2", //机房类型
allIsSubmitOne: false, allIsSubmitOne: false,
startDialogData: { startDialogData: {
text: [], text: [],
...@@ -547,7 +547,7 @@ export default { ...@@ -547,7 +547,7 @@ export default {
} }
console.log("this.detailsItem", this.detailsItem); console.log("this.detailsItem", this.detailsItem);
}, },
startDialogBtn(name = "山南UPS间", jfType = "0", value = "1") { startDialogBtn(name = "山南UPS间", jfType = "2", value = "1") {
let item = this.findTargetObject(this.listData); let item = this.findTargetObject(this.listData);
console.log("即将操作的机房", item); console.log("即将操作的机房", item);
...@@ -563,7 +563,7 @@ export default { ...@@ -563,7 +563,7 @@ export default {
this.value = value; this.value = value;
this.$refs.startDialog.open(); this.$refs.startDialog.open();
}, },
startDialog(name = "山南UPS间", jfType = "0", value = "1") { startDialog(name = "山南UPS间", jfType = "2", value = "1") {
this.name = name; this.name = name;
this.jfType = jfType; this.jfType = jfType;
this.value = value; this.value = value;
......
...@@ -210,7 +210,7 @@ export default { ...@@ -210,7 +210,7 @@ export default {
}, //弹窗文案 }, //弹窗文案
listData: [], listData: [],
name: "", name: "",
jfType: "0", jfType: "2",
value: "1", value: "1",
paramsObjFirst: {}, paramsObjFirst: {},
all_data: [], all_data: [],
......
...@@ -34,6 +34,7 @@ export function dataToSql(data) { ...@@ -34,6 +34,7 @@ export function dataToSql(data) {
createTime: data.id ? data.createTime : `${new Date().getTime()}`, createTime: data.id ? data.createTime : `${new Date().getTime()}`,
updateTime: `${new Date().getTime()}`, updateTime: `${new Date().getTime()}`,
inspectionData: data.originData, inspectionData: data.originData,
dataSource: data.dataSource
}; };
console.log("dataToSql", send); console.log("dataToSql", send);
return send; return send;
...@@ -85,6 +86,7 @@ export function sqlToData(sqlData) { ...@@ -85,6 +86,7 @@ export function sqlToData(sqlData) {
inspectionNumber, // 已巡检数量 inspectionNumber, // 已巡检数量
allIsSubmitOne, // 是否全部填写完成 allIsSubmitOne, // 是否全部填写完成
isSign: !!sqlData.signImg, // 是否有签名 isSign: !!sqlData.signImg, // 是否有签名
dataSource: sqlData.dataSource
}; };
return ret; return ret;
......
差异被折叠。
<template> <template>
<view class="sampleTable"> <view class="sampleTable">
<uni-nav-bar <uni-nav-bar :fixed="true" background-color="rgba(214, 240, 255, 0.0)" status-bar rightWidth="300">
:fixed="true" <block slot="left">
background-color="rgba(214, 240, 255, 0.0)" <view class="" @click="back">
status-bar <text class="iconfont icon-fanhui"></text>
rightWidth="300" </view>
> </block>
<block slot="left"> </uni-nav-bar>
<view class="" @click="back">
<text class="iconfont icon-fanhui"></text <view class="main">
></view> <!-- 占位---不可删除 -->
</block> <view class="seize-seat"> </view>
</uni-nav-bar>
<view class="container box-shaow-box">
<view class="main"> <view v-if="isJF" class="image-item top-image">
<!-- 占位---不可删除 --> <image src="@/static/img/add-img/jf_table_new.png" mode="widthFix"></image>
<view class="seize-seat"> </view> </view>
<view class="container box-shaow-box"> <view v-else class="image-item top-image">
<view v-if="isJF" class="image-item top-image"> <image src="@/static/img/add-img/jd_table.png" mode="widthFix"></image>
<image </view>
src="@/static/img/add-img/jf_table.png" </view>
mode="widthFix" </view>
></image> </view>
</view> </template>
<view v-else class="image-item top-image"> <script>
<image export default {
src="@/static/img/add-img/jd_table.png" data() {
mode="widthFix" return {
></image> isJF: false,
</view> };
</view> },
</view> onNavigationBarButtonTap(val) {
</view> uni.navigateBack();
</template> },
onLoad(options) {
<script> this.isJF = options.isJF == 1;
export default { },
data() { methods: {
return { checkImage(val) {
isJF: false, let res = "";
}; res = `/static/img/report-table/report${val + 1}.png`;
}, return res;
onNavigationBarButtonTap(val) { },
uni.navigateBack(); back() {
}, uni.navigateBack();
onLoad(options) { },
this.isJF = options.isJF == 1; },
}, };
methods: { </script>
checkImage(val) {
let res = ""; <style lang="less" scoped>
res = `/static/img/report-table/report${val + 1}.png`; .sampleTable {
return res; width: 100%;
}, height: 100%;
back() { background-image: linear-gradient(90deg,
uni.navigateBack(); #e9f7fe 0%,
}, #dceffe 40%,
}, #d5ebfd 66%,
}; #c9e8fe 100%);
</script>
.main {
<style lang="less" scoped> margin-top: -44px;
.sampleTable { width: 100%;
width: 100%;
height: 100%; background-size: 100% 40rpx;
background-image: linear-gradient( background-repeat: no-repeat;
90deg,
#e9f7fe 0%, .container {
#dceffe 40%, margin: 0 auto;
#d5ebfd 66%, height: calc(100vh - 44px - var(--status-bar-height) - 20px);
#c9e8fe 100% padding: 23.53rpx 17.65rpx;
); padding-bottom: 0;
.main { overflow: auto;
margin-top: -44px; display: flex;
width: 100%; flex-wrap: wrap;
justify-sampletable: space-between;
background-size: 100% 40rpx;
background-repeat: no-repeat; .image-item {
text-align: center;
.container { width: 80%;
margin: 0 auto; height: 100%;
width: 730rpx; background-color: #ffffff;
height: calc(100vh - 44px - var(--status-bar-height) - 20px); border-radius: 4px;
padding: 23.53rpx 17.65rpx; margin: 0 auto;
padding-bottom: 0; }
// width: 341.18rpx;
.top-image {
overflow: auto; height: 288.24rpx;
display: flex; }
flex-wrap: wrap;
justify-sampletable: space-between; image {
width: 100%;
.image-item { box-shadow: 0px 0px 9.41rpx 0px rgba(84, 116, 232, 0.2);
text-align: center; }
width: 60%; }
height: 100%; }
background-color: #ffffff;
border-radius: 4px; .seize-seat {
margin: 0 auto; height: 50px;
} width: 100%;
background-image: linear-gradient(90deg,
.top-image { #e9f7fe 0%,
height: 288.24rpx; #dceffe 40%,
} #d5ebfd 66%,
#c9e8fe 100%);
image { }
width: 100%;
box-shadow: 0px 0px 9.41rpx 0px rgba(84, 116, 232, 0.2); // 导航栏样式
// object-fit: contain; .uni-nav-bar-text {
} height: 36px;
} width: 36px;
} background: #ffffff;
border: 0.4px solid rgba(224, 224, 224, 1);
.seize-seat { border-radius: 18px;
height: 50px; border-radius: 50%;
width: 100%; color: #333;
background-image: linear-gradient( text-align: center;
90deg,
#e9f7fe 0%, .iconfont {
#dceffe 40%, font-size: 20px;
#d5ebfd 66%, line-height: 36px;
#c9e8fe 100% }
); }
} }
// 导航栏样式 </style>
.uni-nav-bar-text { \ No newline at end of file
height: 36px;
width: 36px;
background: #ffffff;
border: 0.4px solid rgba(224, 224, 224, 1);
border-radius: 18px;
border-radius: 50%;
color: #333;
text-align: center;
.iconfont {
font-size: 20px;
line-height: 36px;
}
}
}
</style>
zI7Z5z3b 别名:__uni__a11bfd5
\ No newline at end of file 密码:zI7Z5z3b
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论