Commit 8efdbe37 authored by xinzhedeai's avatar xinzhedeai

首页 数据导出

parent ee270356
unpackage/
import request from '@/common/request.js'
export function getExportData(data) { // 获取下拉列表数据
return request({
url: '/product/ryexport',
method: 'get',
data
})
}
export function getselectList4productName(data) { // 获取下拉列表数据
return request({
url: '/product/getList',
method: 'get',
data
})
}
export function getselectList4tester(data) { // 获取下拉列表数据
return request({
url: '/product/getList',
method: 'post',
data
})
}
export function getDict(data) { // 获取下拉列表数据
return request({
url: '/system/dict/data/type/'+data.type,
method: 'get',
})
}
......@@ -6,7 +6,7 @@
<h3>露天炮孔验收仪</h3>
<button @click="gosend">获取电量</button>
</view>
<view class="link-info-wrapper" @click="gosend('POWER')">
<view class="link-info-wrapper" @click="gosend('POWER')">
<div class="left">
<image :src="`/static/image/paokong/${connected?'linkY':'linkN'}.png`" mode=""></image>
<view class="link-status">
......@@ -20,7 +20,7 @@
</div>
</view>
<p class="list-item">
<image src="/static/image/home/icon1.png" alt="" />
<image src="/static/image/paokong/impexp.png" alt="" />
<span>炮孔设计数据导入</span>
<!-- <button size="mini" class="funcBtn" type="primary" @click="navTo('import')">导入导出</button> -->
</p>
......@@ -34,13 +34,13 @@
<span>设备测试</span>
<button size="mini" class="funcBtn" type="primary" @click="navTo('measureTest')">测量</button>
</p> -->
<p class="list-item" @click="navTo('measure')">
<p class="list-item" @click="navTo('measure')">
<image src="/static/image/paokong/measure.png" alt="" />
<span>炮孔测量</span>
<!-- <button size="mini" class="funcBtn" type="primary" @click="navTo('measure')">测量</button> -->
</p>
<p class="list-item">
<image src="/static/image/home/icon1.png" alt="" />
<p class="list-item" @click="exportExcel">
<image src="/static/image/paokong/impexp.png" alt="" />
<span>炮孔测量数据导出</span>
<!-- <button size="mini" class="funcBtn" type="primary" @click="navTo('export')">导出</button> -->
</p>
......@@ -65,31 +65,31 @@
</span>
</view>
</view>
</view>
</template>
<script>
import CustomNavbar from '@/pages/component/CustomNavbar.vue';
import {formatNumber,formatDateThis,getUnixTime} from "../../common/dateUtil.js"
import {stringToBytes, showCustomModal, showCustomToast, commonStateCodeDeal} from "../../common/util.js"
// import {
// blueToothMixin
// } from '../../common/mixin.js'
import {
formatNumber,
formatDateThis,
getUnixTime
} from "../../common/dateUtil.js"
import {
stringToBytes,
showCustomModal,
showCustomToast,
commonStateCodeDeal
} from "../../common/util.js"
import * as XLSX from '@/common/excel.js'
import {
getExportData,
} from '../../api/home.js'
export default {
// mixins: [blueToothMixin],
onBackPress(options) {
// showCustomToast({
// title: '当前页为最后一页,不能继续返回了'
// })
// return true
},
components: {
CustomNavbar,
},
data() {
return {
deviceInfo: {}
deviceInfo: {},
}
},
/**
......@@ -97,39 +97,59 @@
*/
onLoad: function(options) {
uni.hideLoading()
// if(uni.getStorageSync('connected')){
// this.gosend('POWER')
// }else{
// this.initLink()
// }'
},
onShow() {
uni.hideLoading()
},
// watch:{
// connected(newVal){
// if(newVal){ // 已连接
// this.gosend('POWER')
// }
// }
// },
mounted() {
const deviceInfo = uni.getStorageSync('deviceInfo')
if(deviceInfo){ // 获取蓝牙设备型号id
if (deviceInfo) { // 获取蓝牙设备型号id
this.deviceInfo = deviceInfo
}
uni.hideTabBar()
},
methods: {
gosend(){
async exportExcel() { // 导出excel
let res = await getExportData({
})
if (res) {
console.log('export', res)
const ExcelData = res; //列表数据
this.loading = false
const fileName='炮孔测量数据导出'
const header = ['productName', 'artilleryAreaName', 'cannonHoleArrayNum', 'cannonHoleNum', 'expectedDepth',
'remark'
];
const headerName = {
productName: '工程名称',
artilleryAreaName: '爆区名称',
cannonHoleArrayNum: '炮孔排号',
cannonHoleNum: '炮孔编号',
expectedDepth: '设计孔深',
remark: '备注'
};
showCustomToast({
title: "导出中,请稍后...",
duration: 3000,
})
XLSX.excel_exprot(ExcelData, header, headerName, fileName)
}else{
showCustomToast({
title: '暂无数据'
})
}
},
gosend() {
var strbuf = new Uint8Array(stringToBytes('POWER'));
var buffer1 = strbuf.buffer;
setTimeout(()=>{
setTimeout(() => {
uni.writeBLECharacteristicValue({
deviceId: 'C8:47:80:52:93:A2',
serviceId: '0000FFE0-0000-1000-8000-00805F9B34FB',
characteristicId:'0000FFE1-0000-1000-8000-00805F9B34FB',
characteristicId: '0000FFE1-0000-1000-8000-00805F9B34FB',
value: buffer1,
success: (res) => {
console.log('writeBLECharacteristicValue-success:res=>', res)
......@@ -137,36 +157,36 @@
fail: (res) => {
console.log('writeBLECharacteristicValue-fail:res=>', res)
// commonStateCodeDeal(res.errCode || res, 'gosend -> writeBLECharacteristicValue',
// this)
// this)
},
});
}, 1000)
},
navTo(flag){
if(flag === 'export'){
navTo(flag) {
if (flag === 'export') {
this.exportData2Excel()
return
}
let url = ''
if(flag === 'login'){
if (flag === 'login') {
// url = 'test'
url = '/pages/user/login'
}else if(flag === 'import'){
} else if (flag === 'import') {
url = '/pages/home/importFile'
}else if(flag === 'measureTest'){
} else if (flag === 'measureTest') {
url = '/pages/home/blueTest'
}else if(flag === 'measure'){
} else if (flag === 'measure') {
url = '/pages/home/blueMeasure'
}else if(flag === 'link'){
} else if (flag === 'link') {
url = '/pages/home/blueSearch'
}else if(flag === 'importFileDataPreview'){
} else if (flag === 'importFileDataPreview') {
url = '/pages/home/importFileDataPreview'
}else if(flag === 'paokongceliang'){
} else if (flag === 'paokongceliang') {
url = '/pages/home/paokongceliang'
}else if(flag === 'operateLog'){
} else if (flag === 'operateLog') {
url = '/pages/home/operateLog'
}
uni.navigateTo({
url
})
......@@ -175,142 +195,156 @@
}
</script>
<style lang="scss">
.wrapper{
width: 100vw;
height: calc(100vh-55rpx);
padding-top: 55rpx;
background: linear-gradient(180deg, #007AFF 0%, #419AFF 16%, #EFF1F4 43%);
position: relative;
.footer{
// position: absolute;
// bottom: 10rpx;
width: 100%;
// padding-top: 200rpx;
// height: 10rpx;
// height: 120rpx;
// line-height: 120rpx;
text-align: center;
span{
font-weight: 400;
font-size: 27rpx;
color: #A0A7AE;
.wrapper {
width: 100vw;
height: calc(100vh-55rpx);
padding-top: 55rpx;
background: linear-gradient(180deg, #007AFF 0%, #419AFF 16%, #EFF1F4 43%);
position: relative;
.footer {
// position: absolute;
// bottom: 10rpx;
width: 100%;
// padding-top: 200rpx;
// height: 10rpx;
// height: 120rpx;
// line-height: 120rpx;
text-align: center;
span {
font-weight: 400;
font-size: 27rpx;
color: #A0A7AE;
}
}
}
}
.body-wrapper{
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
gap: 20rpx;
background-color: linear-gradient(180deg, #007AFF 0%, #419AFF 16%, #EFF1F4 43%);
padding-top: 50rpx;
}
.logo-wrapper{
position: relative;
height: 300rpx;
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
gap: 50rpx;
font-family: Source Han Sans SC;
.logoImg{
width: 454rpx;
height: 98rpx;
}
h3{
color: #ffffff;
font-size: 37rpx;
font-weight: bold;
.body-wrapper {
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
gap: 20rpx;
background-color: linear-gradient(180deg, #007AFF 0%, #419AFF 16%, #EFF1F4 43%);
padding-top: 50rpx;
}
}
.link-info-wrapper{
width: 646rpx;
height: 300rpx;
background: url('/static/image/paokong/home-title-bg.png');
// background-color: linear-gradient(-90deg, #F6F9FF 31%, #E4EFFF 100%);
background-position: center right;
background-size: cover;
box-shadow: 0rpx 2rpx 24rpx 0rpx rgba(7,36,72,0.11);
border-radius: 10rpx;
border: 2px solid #FFFFFF;
display: flex;
align-items: center;
gap: 47rpx;
padding-left: 49rpx;
.left{
image{
width: 136rpx;
height: 136rpx;
.logo-wrapper {
position: relative;
height: 300rpx;
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
gap: 50rpx;
font-family: Source Han Sans SC;
.logoImg {
width: 454rpx;
height: 98rpx;
}
.link-status{
font-family: Source Han Sans SC;
h3 {
color: #ffffff;
font-size: 37rpx;
font-weight: bold;
font-size: 30rpx;
color: #007AFF;
::before{
content: '';
width: 12rpx;
height: 12rpx;
background: #007AFF;
border-radius: 50%;
}
}
}
.right{
h2{
font-size: 34rpx;
font-weight: bold;
.link-info-wrapper {
width: 646rpx;
height: 300rpx;
background: url('@/static/image/paokong/home-title-bg.png');
// background-color: linear-gradient(-90deg, #F6F9FF 31%, #E4EFFF 100%);
background-position: center right;
background-size: cover;
box-shadow: 0rpx 2rpx 24rpx 0rpx rgba(7, 36, 72, 0.11);
border-radius: 10rpx;
border: 2px solid #FFFFFF;
display: flex;
align-items: center;
gap: 47rpx;
padding-left: 49rpx;
.left {
image {
width: 136rpx;
height: 136rpx;
}
.link-status {
font-family: Source Han Sans SC;
font-weight: bold;
font-size: 30rpx;
color: #007AFF;
::before {
content: '';
width: 12rpx;
height: 12rpx;
background: #007AFF;
border-radius: 50%;
}
}
}
p{
font-size: 30rpx;
// font-weight: bold;
color: #848484;
margin-top: 20rpx;
.right {
h2 {
font-size: 34rpx;
font-weight: bold;
}
p {
font-size: 30rpx;
// font-weight: bold;
color: #848484;
margin-top: 20rpx;
}
}
}
}
.list-item{
width: 660rpx;
height: 140rpx;
// border-top: 1px solid rgba(187,187,187,1);
display: flex;
justify-content: flex-start;
align-items: center;
gap: 0px 30px;
padding: 10px;
background-color: #ffffff;
border-radius: 10rpx;
image{
width: 102rpx;
height: 102rpx;
}
span{
display: inline-block;
width: 420rpx;
font-family: PingFangSC-regular;
color: rgba(0,0,0,1);
font-size: 18px;
font-weight: bold;
}
.funcBtn{
width: 120rpx;
height: 62rpx;
line-height: 62rpx;
background: #FFFFFF;
border-radius: 36rpx;
border: 2rpx solid #007AFF;
color: #007AFF;
padding: 0;
// font-size: 27rp;
font-family: Source Han Sans SC;
font-weight: bold;
.list-item {
width: 660rpx;
height: 140rpx;
// border-top: 1px solid rgba(187,187,187,1);
display: flex;
justify-content: flex-start;
align-items: center;
gap: 0px 30px;
padding: 10px;
background-color: #ffffff;
border-radius: 10rpx;
image {
width: 102rpx;
height: 102rpx;
}
span {
display: inline-block;
width: 420rpx;
font-family: PingFangSC-regular;
color: rgba(0, 0, 0, 1);
font-size: 18px;
font-weight: bold;
}
.funcBtn {
width: 120rpx;
height: 62rpx;
line-height: 62rpx;
background: #FFFFFF;
border-radius: 36rpx;
border: 2rpx solid #007AFF;
color: #007AFF;
padding: 0;
// font-size: 27rp;
font-family: Source Han Sans SC;
font-weight: bold;
}
}
}
</style>
</style>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment