Merge remote-tracking branch 'origin/master'

This commit is contained in:
cool 2024-03-22 17:51:56 +08:00
commit e2cc01ffa3
14 changed files with 639 additions and 40782 deletions

5
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"editor.fontSize": 14,
"editor.fontLigatures": false,
"window.zoomLevel": 0.5
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,22 @@
import request from '@/utils/request'
function getEarlyWarningRecordLists(data) {
return request({
url: '/background/constructionQuality/earlyWarningRecord/getEarlyWarningRecordLists',
method: 'get',
params: data
})
}
function exportProject(data) {
return request({
url: '/background/constructionQuality/earlyWarningRecord/exportProData',
method: 'get',
responseType: 'blob',
data
})
}
export {
getEarlyWarningRecordLists,exportProject
}

View File

@ -0,0 +1,22 @@
import request from '@/utils/request'
function getQualityRecordLists(data) {
return request({
url: '/background/constructionQuality/qualityRecord/getQualityRecordLists',
method: 'get',
params: data
})
}
function exportProject(data) {
return request({
url: '/background/constructionQuality/qualityRecord/exportProData',
method: 'get',
responseType: 'blob',
data
})
}
export {
getQualityRecordLists,exportProject
}

View File

@ -0,0 +1,22 @@
import request from '@/utils/request'
function getEarlyWarningRecordLists(data) {
return request({
url: '/background/towerDetection/towerRecord/getTowerRecordLists',
method: 'get',
params: data
})
}
function exportProject(data) {
return request({
url: '/background/towerDetection/towerRecord/exportProData',
method: 'get',
responseType: 'blob',
data
})
}
export {
getEarlyWarningRecordLists,exportProject
}

View File

@ -0,0 +1,22 @@
import request from '@/utils/request'
function getTowerRecordLists(data) {
return request({
url: '/background/towerDetection/towerRecord/getTowerRecordLists',
method: 'get',
params: data
})
}
function exportProject(data) {
return request({
url: '/background/towerDetection/towerRecord/exportProData',
method: 'get',
responseType: 'blob',
data
})
}
export {
getTowerRecordLists,exportProject
}

View File

@ -13,6 +13,7 @@ import tableRouter from './modules/table'
import nestedRouter from './modules/nested'
import systemRouter from './modules/system'
import basicRouter from '@/router/modules/basic'
import towerDetectionRouter from '@/router/modules/towerDetection'
/**
* Note: sub-menu only appear when route children.length >= 1

View File

@ -0,0 +1,25 @@
/** When your routing table is too long, you can split it into small modules**/
import Layout from '@/layout'
const towerDetectionRouter = {
path: '/towerDetection',
component: Layout,
redirect: 'noRedirect',
name: 'towerDetection',
meta: {
title: '检测记录',
icon: 'chart',
tag: 'towerDetection'
},
children: [
{
path: 'towerDetection',
component: () => import('@/views/towerDetection/towerRecord/index.vue'),
name: 'towerDetection',
meta: { title: '检测记录', noCache: true, tag: 'towerDetection' }
}
]
}
export default towerDetectionRouter

View File

@ -103,6 +103,7 @@ function genPermissionRouter(menus, level = 0) {
const loadView = (view) => {
if (process.env.NODE_ENV === 'development') {
console.log(view);
return (resolve) => require([`@/views${view}/index`], resolve)
} else {
// 使用 import 实现生产环境的路由懒加载

View File

@ -0,0 +1,116 @@
<template>
<div class="app-container">
<div class="filter-container">
<el-input
v-model="listQuery.keyWord"
placeholder="请输入关键字"
style="width: 200px"
class="filter-item"
:maxlength="30"
@keyup.enter.native="handleFilter"
/>
<el-button
v-waves
style="margin-left: 40px"
class="filter-item"
type="primary"
@click="handleFilter"
>
查询
</el-button>
<div class="fr">
<el-button class="filter-item" style="margin-left: 10px" type="primary" @click="handleExport">
导出
</el-button>
</div>
</div>
<el-table
v-loading="listLoading"
:data="list"
border
fit
highlight-current-row
style="width: 100%"
:max-height="tableHeight"
>
<el-table-column label="序号" align="center" width="80" type="index">
<template scope="scope">
<span>{{ (listQuery.pageNum - 1) * 10 + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column key="deviceName" label="告警内容" prop="deviceName" align="center" />
<el-table-column key="areaName" label="预警时间" prop="areaName" align="center" />
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="listQuery.pageNum"
:limit.sync="listQuery.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
import waves from '@/directive/waves'
import {
getEarlyWarningRecordLists,exportProject
} from '@/api/constructionQuality/earlyWarningRecord'
import _ from 'lodash/fp'
import { downloadFile } from '@/utils/download'
export default {
// components: { Pagination, BuildSelect, ProcessTable },
directives: { waves },
data() {
return {
list: [],
total: 0,
listLoading: false,
listQuery: {
pageNum: 1,
pageSize: 10,
keyWord: ''
},
tableHeight: 650,
showReviewer: false,
dialogFormVisible: false,
dialogStatus: '',
downloadLoading: false,
dialogPvVisible: false,
completeModalVisible: false,
processModalVisible: false,
}
},
created() {
this.getList()
},
methods: {
getList() {
this.listLoading = true
getEarlyWarningRecordLists(this.listQuery).then((response) => {
this.list = response.rows
this.total = response.total
}).finally(() => {
this.listLoading = false
})
},
//
handleFilter() {
this.listQuery.pageNum = 1
this.getList()
},
//
handleExport() {
exportProject().then(res => {
downloadFile({ fileName: ' 预警记录.xlsx', fileData: res, fileType: 'application/vnd.ms-excel;charset=utf-8' })
})
},
}
}
</script>

View File

@ -0,0 +1,145 @@
<template>
<div class="app-container">
<div class="filter-container">
<el-input
v-model="listQuery.keyWord"
placeholder="请输入关键字"
style="width: 200px"
class="filter-item"
:maxlength="30"
@keyup.enter.native="handleFilter"
/>
<el-button
v-waves
style="margin-left: 40px"
class="filter-item"
type="primary"
@click="handleFilter"
>
查询
</el-button>
<div class="fr">
<el-button class="filter-item" style="margin-left: 10px" type="primary" @click="handleExport">
导出
</el-button>
</div>
</div>
<el-table
v-loading="listLoading"
:data="list"
border
fit
highlight-current-row
style="width: 100%"
:max-height="tableHeight"
>
<el-table-column label="序号" align="center" width="80" type="index">
<template scope="scope">
<span>{{ (listQuery.pageNum - 1) * 10 + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column key="deviceName" label="设备名称" prop="deviceName" align="center" />
<el-table-column key="areaName" label="区域名称" prop="areaName" align="center" />
<el-table-column key="areaName" label="施工工艺" prop="areaName" align="center" />
<el-table-column key="modeName" label="标准值" prop="modeName" align="center" />
<el-table-column key="val" label="检测值" prop="val" align="center" />
<el-table-column prop="createTime" label="监测时间" align="center" />
<el-table-column prop="isWarn" label="状态" align="center" />
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="listQuery.pageNum"
:limit.sync="listQuery.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
import waves from '@/directive/waves'
import {
getQualityRecordLists,exportProject
} from '@/api/constructionQuality/qualityRecord'
import _ from 'lodash/fp'
import { downloadFile } from '@/utils/download'
export default {
// components: { Pagination, BuildSelect, ProcessTable },
directives: { waves },
data() {
return {
list: [],
total: 0,
listLoading: false,
listQuery: {
pageNum: 1,
pageSize: 10,
keyWord: ''
},
tableHeight: 650,
showReviewer: false,
// temp: _.cloneDeep(defaultTmp),
dialogFormVisible: false,
dialogStatus: '',
downloadLoading: false,
textMap: {
update: '编辑',
create: '新增'
},
dialogPvVisible: false,
completeModalVisible: false,
processModalVisible: false,
processType: '',
bidCode: '',
// completeForm: _.cloneDeep(defaultCompleteTmp),
rules: {
// org: [{ required: true, message: '', trigger: 'change' }],
// proName: [{ required: true, message: '', trigger: 'blur' }],
// proType: [{ required: true, message: '', trigger: 'change' }],
// proScale: [{ required: true, message: '', trigger: 'blur' }],
// jlUnit: [{ required: true, message: '', trigger: 'blur' }],
// sgUnit: [{ required: true, message: '', trigger: 'blur' }],
// manager: [{ required: true, message: '', trigger: 'blur' }],
// planStartTime: [{ required: true, message: '', trigger: 'blur' }],
// planEndTime: [{ required: true, message: '', trigger: 'blur' }],
// proCost: [{ required: true, message: '', trigger: 'blur' }],
// imageList2: [{ type: 'array', required: true, validator: this.validateImageNum, trigger: 'change' }],
// signCode: [{ required: true, message: '', trigger: 'blur' }],
// proCode: [{ required: true, message: '', trigger: 'blur' }],
// bidCode: [{ required: true, message: '', trigger: 'blur' }]
}
}
},
created() {
this.getList()
},
methods: {
getList() {
this.listLoading = true
getQualityRecordLists(this.listQuery).then((response) => {
this.list = response.rows
this.total = response.total
}).finally(() => {
this.listLoading = false
})
},
//
handleFilter() {
this.listQuery.pageNum = 1
this.getList()
},
//
handleExport() {
exportProject().then(res => {
downloadFile({ fileName: ' 检测记录.xlsx', fileData: res, fileType: 'application/vnd.ms-excel;charset=utf-8' })
})
},
}
}
</script>

View File

@ -0,0 +1,117 @@
<template>
<div class="app-container">
<div class="filter-container">
<el-input
v-model="listQuery.keyWord"
placeholder="请输入关键字"
style="width: 200px"
class="filter-item"
:maxlength="30"
@keyup.enter.native="handleFilter"
/>
<el-button
v-waves
style="margin-left: 40px"
class="filter-item"
type="primary"
@click="handleFilter"
>
查询
</el-button>
<div class="fr">
<el-button class="filter-item" style="margin-left: 10px" type="primary" @click="handleExport">
导出
</el-button>
</div>
</div>
<el-table
v-loading="listLoading"
:data="list"
border
fit
highlight-current-row
style="width: 100%"
:max-height="tableHeight"
>
<el-table-column label="序号" align="center" width="80" type="index">
<template scope="scope">
<span>{{ (listQuery.pageNum - 1) * 10 + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column key="deviceName" label="告警内容" prop="deviceName" align="center" />
<el-table-column key="areaName" label="预警时间" prop="areaName" align="center" />
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="listQuery.pageNum"
:limit.sync="listQuery.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
import waves from '@/directive/waves'
import {
getEarlyWarningRecordLists,exportProject
} from '@/api/towerDetection/earlyWarningRecord'
import _ from 'lodash/fp'
import { downloadFile } from '@/utils/download'
export default {
// components: { Pagination, BuildSelect, ProcessTable },
directives: { waves },
data() {
return {
list: [],
total: 0,
listLoading: false,
listQuery: {
pageNum: 1,
pageSize: 10,
keyWord: ''
},
tableHeight: 650,
showReviewer: false,
dialogFormVisible: false,
dialogStatus: '',
downloadLoading: false,
dialogPvVisible: false,
completeModalVisible: false,
processModalVisible: false,
}
},
created() {
this.getList()
},
methods: {
getList() {
this.listLoading = true
getEarlyWarningRecordLists(this.listQuery).then((response) => {
this.list = response.rows
this.total = response.total
}).finally(() => {
this.listLoading = false
})
},
//
handleFilter() {
this.listQuery.pageNum = 1
this.getList()
},
//
handleExport() {
exportProject().then(res => {
downloadFile({ fileName: ' 预警记录.xlsx', fileData: res, fileType: 'application/vnd.ms-excel;charset=utf-8' })
})
},
}
}
</script>

View File

@ -0,0 +1,140 @@
<template>
<div class="app-container">
<div class="filter-container">
<ProjectSelect :bind-type="''" :bind-value.sync="listQuery.proId" style="width: 200px;" class="filter-item" />
<el-date-picker
v-model="listQuery.date"
style="width: 200px; margin-left: 20px"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期"
class="filter-item"
/>
<el-input
v-model="listQuery.keyWord"
placeholder="请输入关键字"
style="width: 200px;margin-left: 20px"
class="filter-item"
:maxlength="30"
@keyup.enter.native="handleFilter"
/>
<el-button
v-waves
style="margin-left: 40px"
class="filter-item"
type="primary"
@click="handleFilter"
>
查询
</el-button>
<div class="fr">
<el-button class="filter-item" style="margin-left: 10px" type="primary" @click="handleExport">
导出
</el-button>
</div>
</div>
<el-table
v-loading="listLoading"
:data="list"
border
fit
highlight-current-row
style="width: 100%"
:max-height="tableHeight"
>
<el-table-column label="序号" align="center" width="80" type="index">
<template scope="scope">
<span>{{ (listQuery.pageNum - 1) * 10 + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column key="deviceName" label="设备名称" prop="deviceName" align="center" />
<el-table-column key="areaName" label="区域名称" prop="areaName" align="center" />
<el-table-column key="modeName" label="监测点名称" prop="modeName" align="center" />
<el-table-column key="val" label="检测值" prop="val" align="center" />
<el-table-column prop="changeVal" label="累计变化" align="center" />
<el-table-column prop="isWarn" label="状态" align="center" />
<el-table-column prop="createTime" label="监测时间" align="center" />
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="listQuery.pageNum"
:limit.sync="listQuery.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
import waves from '@/directive/waves'
import {
getTowerRecordLists,exportProject
} from '@/api/towerDetection/towerRecord'
import _ from 'lodash/fp'
import { downloadFile } from '@/utils/download'
import ProjectSelect from '@/views/basic/sideband/components/ProjectSelect.vue'
import Pagination from '@/components/Pagination'
export default {
components: { Pagination, ProjectSelect },
directives: { waves },
data() {
return {
list: [],
total: 0,
listLoading: false,
listQuery: {
pageNum: 1,
pageSize: 10,
keyWord: '',
proId:'',
date:'',
},
tableHeight: 650,
showReviewer: false,
// temp: _.cloneDeep(defaultTmp),
dialogFormVisible: false,
dialogStatus: '',
downloadLoading: false,
textMap: {
update: '编辑',
create: '新增'
},
dialogPvVisible: false,
completeModalVisible: false,
processModalVisible: false,
}
},
created() {
this.getList()
},
methods: {
getList() {
this.listLoading = true
getTowerRecordLists(this.listQuery).then((response) => {
this.list = response.rows
this.total = response.total
}).finally(() => {
this.listLoading = false
})
},
//
handleFilter() {
this.listQuery.pageNum = 1
this.getList()
},
//
handleExport() {
exportProject().then(res => {
downloadFile({ fileName: ' 检测记录.xlsx', fileData: res, fileType: 'application/vnd.ms-excel;charset=utf-8' })
})
},
}
}
</script>

View File

@ -35,7 +35,7 @@ module.exports = {
open: true,
proxy: {
[process.env.VUE_APP_BASE_API]: {
target: `http://10.40.92.33:18080/zhgd`,
target: `http://10.40.92.106:18080/zhgd`,
changeOrigin: true,
pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: ''