Merge branch 'master' of http://192.168.0.56:3000/haozq/lj-zhgd-htweb
This commit is contained in:
commit
d83172d88f
Binary file not shown.
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 11 KiB |
|
|
@ -648,7 +648,7 @@
|
|||
staticStyle: {
|
||||
color: "#fff",
|
||||
position: "absolute",
|
||||
top: "calc(50% - 13px)",
|
||||
top: "calc(75% - 13px)",
|
||||
"text-align": "center",
|
||||
width: "100%",
|
||||
},
|
||||
|
|
@ -34480,7 +34480,7 @@
|
|||
staticStyle: {
|
||||
color: "#fff",
|
||||
position: "absolute",
|
||||
top: "calc(50% - 13px)",
|
||||
top: "calc(75% - 13px)",
|
||||
"text-align": "center",
|
||||
width: "100%",
|
||||
},
|
||||
|
|
|
|||
|
|
@ -740,6 +740,7 @@
|
|||
<!-- <img src="" alt="">-->
|
||||
</div>
|
||||
<div class="shboxCodeTemp">手环箱编号:{{ rowObj.shboxCode }}</div>
|
||||
<div class="deviceName">手环箱名称:{{ rowObj.shboxName }}</div>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer" style="text-align: center">
|
||||
<el-button type="primary" @click="downloadCode"
|
||||
|
|
|
|||
|
|
@ -364,7 +364,9 @@
|
|||
<div id="qrcode" class="qrcode" ref="codeItem"></div>
|
||||
<!-- <img src="" alt="">-->
|
||||
</div>
|
||||
|
||||
<div class="deviceCode">设备编号:{{ rowObj.deviceCode }}</div>
|
||||
<div class="deviceName">设备名称:{{ rowObj.deviceName }}</div>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer" style="text-align: center">
|
||||
<el-button type="primary" @click="downloadCode"
|
||||
|
|
|
|||
|
|
@ -62,10 +62,10 @@ export default {
|
|||
async handleQrCodeExport() {
|
||||
this.codeId = true;
|
||||
console.log('checkboxModel', this.checkboxModel)
|
||||
if(this.checkboxModel.length>0){
|
||||
const msg = this.$modal.loading('批量生成中,请稍候...')
|
||||
let that = this
|
||||
try {
|
||||
|
||||
let captureId = document.getElementsByClassName('captureId')
|
||||
for (let i = 0; i < this.checkboxModel.length; i++) {
|
||||
const element = this.checkboxModel[i]
|
||||
|
|
@ -87,13 +87,13 @@ export default {
|
|||
colorLight: '#fff',
|
||||
})
|
||||
let canvas = document.createElement('canvas'),
|
||||
scale = 1.2
|
||||
scale = 0.9
|
||||
canvas.width = width * scale
|
||||
canvas.height = height * scale
|
||||
canvas.style.width =
|
||||
(shareContent.clientWidth * scale) / 100 + 'rem'
|
||||
(shareContent.clientWidth * scale) / 100 + 'px'
|
||||
canvas.style.height =
|
||||
(shareContent.clientHeight * scale) / 100 + 'rem'
|
||||
(shareContent.clientHeight * scale) / 100 + 'px'
|
||||
canvas.getContext('2d').scale(scale, scale)
|
||||
let opts = {
|
||||
scale: scale,
|
||||
|
|
@ -122,7 +122,7 @@ export default {
|
|||
that.$modal.closeLoading()
|
||||
})
|
||||
}
|
||||
await new Promise((resolve) => setTimeout(resolve, 1000))
|
||||
await new Promise((resolve) => setTimeout(resolve, 2000))
|
||||
that.packageImages()
|
||||
setTimeout(msg, 1000)
|
||||
that.$modal.closeLoading()
|
||||
|
|
@ -132,6 +132,10 @@ export default {
|
|||
this.$emit('clearCheck')
|
||||
that.$modal.closeLoading()
|
||||
}
|
||||
}else{
|
||||
this.$modal.msgError("请先选择导出设备");
|
||||
}
|
||||
|
||||
},
|
||||
//打包压缩
|
||||
packageImages() {
|
||||
|
|
|
|||
|
|
@ -212,7 +212,7 @@
|
|||
<el-option
|
||||
v-for="dict in deviceList"
|
||||
:key="dict.devCode+''"
|
||||
:label="dict.devName"
|
||||
:label="dict.devCode"
|
||||
:value="dict.devCode+''"
|
||||
:disabled="dict.disabled"
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -46,21 +46,29 @@
|
|||
<img :src="battery3" alt="电量" v-if="parseFloat(item.electricQuantity) < 20">
|
||||
<span style="margin-left: 5px;">{{ item.electricQuantity }}%</span>
|
||||
</div>
|
||||
<div class="jd-dev-img layout"><img :src="config" alt="配置" @click.stop="clickJdDev(item.devId)"></div>
|
||||
<div class="jd-dev-img layout"><img :src="config" alt="配置" @click.stop="clickJdDev(item.devId, item.devCode)">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="no-data-box layout" v-if="!isShow2">
|
||||
<el-empty description="暂无数据"></el-empty>
|
||||
</div>
|
||||
<div class="warn-info">
|
||||
<el-table :data="tableData" style="width: 100%" max-height="400">
|
||||
<el-table-column prop="devName" label="设备名称" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column prop="warnTime" label="告警时间" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column prop="warnContent" label="告警内容" align="center">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="warn-title">
|
||||
预警信息
|
||||
</div>
|
||||
<div class="infinite-list-wrapper" v-if="isShow3">
|
||||
<ul class="list" v-infinite-scroll="loadWarnInfoData" infinite-scroll-disabled="busy"
|
||||
infinite-scroll-distance="50">
|
||||
<li v-for="(item, index) in tableData" :key="index" class="warn-li layout">
|
||||
<span class="layout">{{ item.devName }}</span>
|
||||
<span class="layout">{{ item.warnTime }}</span>
|
||||
<span class="layout">{{ item.warnContent }}</span>
|
||||
</li>
|
||||
<p v-if="loading" style="text-align: center;">加载中...</p>
|
||||
</ul>
|
||||
</div>
|
||||
<el-empty v-if="!isShow3" description="暂无预警信息"></el-empty>
|
||||
</div>
|
||||
</div>
|
||||
<el-dialog title="近电感应配置" :visible.sync="dialogVisible" :append-to-body="true" width="700px"
|
||||
|
|
@ -68,21 +76,22 @@
|
|||
<el-form ref="form" :model="form" :rules="rules">
|
||||
<div class="form-box">
|
||||
<div v-for="(data, index) in form.configItems" :key="index">
|
||||
<h3>配置{{ index + 1 }}</h3>
|
||||
<el-form-item label="线路属性">
|
||||
<h3>配置</h3>
|
||||
<!-- <h3>配置{{ index + 1 }}</h3> -->
|
||||
<!-- <el-form-item label="线路属性">
|
||||
<el-radio-group v-model="data.configType">
|
||||
<el-radio v-for="item in configTypeArr" :label="item.id" :key="item.id"
|
||||
@change="chooseConfigType(index, data.configType)">{{ item.name }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="电压等级">
|
||||
</el-form-item> -->
|
||||
<!-- <el-form-item label="电压等级">
|
||||
<el-radio-group v-model="data.voltageLevel" v-if="data.configType === 'communication'">
|
||||
<el-radio v-for="item in jlArr" :label="item.id" :key="item.id">{{ item.name }}</el-radio>
|
||||
</el-radio-group>
|
||||
<el-radio-group v-model="data.voltageLevel" v-if="data.configType === 'direct_current'">
|
||||
<el-radio v-for="item in zlArr" :label="item.id" :key="item.id">{{ item.name }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="报警距离" :prop="'configItems.' + index + '.distance'" :rules="[
|
||||
{
|
||||
required: true, message: '报警距离不能为空', trigger: 'blur'
|
||||
|
|
@ -93,19 +102,21 @@
|
|||
trigger: 'blur'
|
||||
}
|
||||
]">
|
||||
<el-col :span="12">
|
||||
<el-input v-model="data.distance"></el-input>
|
||||
<el-col :span="20">
|
||||
<el-input v-model="data.distance" maxlength="5"></el-input>
|
||||
</el-col>
|
||||
<el-col :span="5" style="margin-left: 10px;"><el-button type="danger" plain
|
||||
@click.prevent="removeConfig(data)"><i class="el-icon-delete"></i></el-button></el-col>
|
||||
<!-- <el-col :span="5" style="margin-left: 10px;">
|
||||
<el-button type="danger" plain
|
||||
@click.prevent="removeConfig(data)"><i class="el-icon-delete"></i></el-button>
|
||||
</el-col> -->
|
||||
</el-form-item>
|
||||
<hr>
|
||||
<!-- <hr> -->
|
||||
</div>
|
||||
</div>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确定</el-button>
|
||||
<el-button type="primary" @click="addConfigItem">添加配置</el-button>
|
||||
<!-- <el-button type="primary" @click="addConfigItem">添加配置</el-button> -->
|
||||
<el-button @click="closeConfigItem">取消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
|
@ -133,13 +144,15 @@ export default {
|
|||
isShow: false,
|
||||
// 近电感应设备无数据时处理
|
||||
isShow2: false,
|
||||
// 近电感应设备预警信息无数据时处理
|
||||
isShow3: true,
|
||||
// 线路属性配置
|
||||
configTypeArr: [],
|
||||
// 交流属性的电压等级
|
||||
jlArr: [],
|
||||
// 直流属性的电压等级
|
||||
zlArr: [],
|
||||
loading: false,
|
||||
// loading: false,
|
||||
//电量图标
|
||||
battery1: require('../../../../assets/images/battery1.png'),
|
||||
battery2: require('../../../../assets/images/battery2.png'),
|
||||
|
|
@ -152,6 +165,7 @@ export default {
|
|||
//保存近电感应设置信息
|
||||
form: {
|
||||
devId: null,
|
||||
devCode: null,
|
||||
configItems: [],
|
||||
},
|
||||
// 表单校验
|
||||
|
|
@ -160,16 +174,26 @@ export default {
|
|||
nocheckStyle: ['dev-info-box', 'layout', 'nocheck'],
|
||||
checkStyle: ['dev-info-box', 'layout', 'check'],
|
||||
warnStyle: ['dev-info-box', 'layout', 'warn'],
|
||||
//预警是否加载
|
||||
loading: false,
|
||||
//预警滚动是否有数据
|
||||
isHasData: true,
|
||||
busy: true,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 0,
|
||||
pageSize: 10
|
||||
},
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.laodDzWarnList();
|
||||
this.loadJdList();
|
||||
this.loadJdWarnList();
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$refs.iframePage.src = this.htmlContent;
|
||||
this.busy = false;
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
|
|
@ -222,13 +246,40 @@ export default {
|
|||
}).catch(() => { })
|
||||
},
|
||||
/* 加载近电感应设备预警信息 */
|
||||
loadJdWarnList() {
|
||||
// 预警信息动态加载
|
||||
loadWarnInfoData() {
|
||||
if (!this.isHasData) {
|
||||
return;
|
||||
}
|
||||
this.queryParams.pageNum = this.queryParams.pageNum + 1;
|
||||
this.loading = true;
|
||||
this.busy = true;
|
||||
getJdWarnList(this.queryParams).then(res => {
|
||||
const data = res.data;
|
||||
if (data && data.length > 0) {
|
||||
data.forEach(item => {
|
||||
this.tableData.push(item);
|
||||
})
|
||||
} else {
|
||||
this.isHasData = false;
|
||||
if(this.queryParams.pageNum === 1){
|
||||
this.isShow3 = false;
|
||||
}
|
||||
}
|
||||
this.loading = false;
|
||||
this.busy = false;
|
||||
}).catch(res => {
|
||||
this.loading = false;
|
||||
this.busy = false;
|
||||
});
|
||||
},
|
||||
/* loadJdWarnList() {
|
||||
let params = {};
|
||||
getJdWarnList(params).then((res) => {
|
||||
const data = res.data
|
||||
this.tableData = data;
|
||||
}).catch(() => { })
|
||||
},
|
||||
}, */
|
||||
/* 加载线路属性 */
|
||||
async loadLineStats() {
|
||||
let loading = this.$loading({
|
||||
|
|
@ -292,8 +343,9 @@ export default {
|
|||
this.laodDzWarnList();
|
||||
},
|
||||
/* 近电感应设备点击事件 */
|
||||
clickJdDev(id) {
|
||||
clickJdDev(id, devCode) {
|
||||
this.form.devId = id;
|
||||
this.form.devCode = devCode;
|
||||
this.loadLineStats();
|
||||
},
|
||||
// 添加配置
|
||||
|
|
@ -328,6 +380,7 @@ export default {
|
|||
closeConfigItem() {
|
||||
this.form.configItems.splice(0);
|
||||
this.form.devId = null;
|
||||
this.form.devCode = null;
|
||||
this.dialogVisible = false;
|
||||
},
|
||||
// 线路属性切换
|
||||
|
|
@ -352,6 +405,7 @@ export default {
|
|||
}
|
||||
const obj = {
|
||||
'devId': this.form.devId,
|
||||
'devCode': this.form.devCode,
|
||||
'configItems': this.form.configItems
|
||||
}
|
||||
configJdDevice(obj).then((res) => {
|
||||
|
|
@ -549,7 +603,7 @@ export default {
|
|||
|
||||
.dev-config {
|
||||
width: 100%;
|
||||
max-height: 300px;
|
||||
height: 200px;
|
||||
overflow-y: auto;
|
||||
border: 1px solid #cccccc;
|
||||
border-radius: 6px;
|
||||
|
|
@ -586,9 +640,30 @@ export default {
|
|||
.warn-info {
|
||||
width: 100%;
|
||||
margin-top: 10px;
|
||||
min-height: calc(100% - 300px);
|
||||
max-height: calc(100% - 150px);
|
||||
overflow-y: auto;
|
||||
height: calc(100% - 220px);
|
||||
}
|
||||
|
||||
.warn-li {
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
border-bottom: 1px solid #cccccc;
|
||||
}
|
||||
|
||||
.warn-li span {
|
||||
width: 33.33%;
|
||||
height: 100%;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
|
||||
ul {
|
||||
padding-inline-start: 0;
|
||||
margin-block-start: 0;
|
||||
margin-block-end: 0;
|
||||
}
|
||||
|
||||
.infinite-list-wrapper {
|
||||
height: 96%;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.form-box {
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<div class="content tree">
|
||||
<el-tree :data="treeData" icon="el-icon-search" node-key="id" :default-expanded-keys="idArr"
|
||||
@node-click="handleNodeClick" :render-content="renderContent" style="font-size: 15px;letter-spacing: 1px;"
|
||||
ref="tree" :filter-node-method="filterNode" :highlight-current="true" />
|
||||
ref="tree" :filter-node-method="filterNode" :highlight-current="true" :expand-on-click-node="false" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="center">
|
||||
|
|
@ -306,12 +306,8 @@ export default {
|
|||
keyword2: "",
|
||||
//保存抽检树形数据
|
||||
teamTreeData: [],
|
||||
//间隔时间
|
||||
intervalTime: 1,
|
||||
|
||||
//验证对话框单选按钮
|
||||
provingTypeRadioValue: "1",
|
||||
provingTimeValue: [''],
|
||||
// 查看班组施工定位前,是否选中了班组
|
||||
checkTeamId: null
|
||||
};
|
||||
},
|
||||
created() {
|
||||
|
|
@ -343,7 +339,11 @@ export default {
|
|||
this.treeData = treeData
|
||||
// 设置默认展示杆塔层级
|
||||
treeData.forEach(item => {
|
||||
this.idArr.push(item.id);
|
||||
const children = item.children;
|
||||
children.forEach(child => {
|
||||
// 设置默认展示杆塔层级
|
||||
this.idArr.push(child.id);
|
||||
})
|
||||
})
|
||||
}
|
||||
}).catch(res => {
|
||||
|
|
@ -353,7 +353,7 @@ export default {
|
|||
/* 人员树过滤 */
|
||||
filterNode(value, data, node) {
|
||||
if (!value) {
|
||||
if (node.level == 1) {
|
||||
if (node.level == 1 || node.level == 2) {
|
||||
node.expanded = true
|
||||
} else {
|
||||
node.expanded = false
|
||||
|
|
@ -411,7 +411,7 @@ export default {
|
|||
const teamTreeData = res.data;
|
||||
if (teamTreeData && teamTreeData.length > 0) {
|
||||
this.teamTreeData = teamTreeData
|
||||
// 设置默认展示杆塔层级
|
||||
// 设置默认展示班组层级
|
||||
teamTreeData.forEach(item => {
|
||||
this.idArr2.push(item.id);
|
||||
})
|
||||
|
|
@ -495,7 +495,7 @@ export default {
|
|||
this.dialogVisible2 = false
|
||||
},
|
||||
// 获取班组下的人员定位及杆塔坐标
|
||||
loadPersonsInfo(params) {
|
||||
loadPersonsInfo(params, personData) {
|
||||
getPersonsInfo(params).then((res) => {
|
||||
const data = res.data;
|
||||
if (data) {
|
||||
|
|
@ -524,6 +524,9 @@ export default {
|
|||
this.addPersonMarker(item);
|
||||
}
|
||||
}
|
||||
if (personData) {
|
||||
this.clickMarker(personData);
|
||||
}
|
||||
}
|
||||
}
|
||||
}).catch((res) => { })
|
||||
|
|
@ -610,13 +613,26 @@ export default {
|
|||
'id': towerId,
|
||||
'teamId': teamId
|
||||
}
|
||||
this.loadPersonsInfo(obj);
|
||||
this.checkTeamId = teamId;
|
||||
this.loadPersonsInfo(obj, null);
|
||||
} else if (node.level === 4) {
|
||||
this.isTower = false;
|
||||
this.isTeam = false;
|
||||
this.isPerson = true;
|
||||
const teamId = parseInt(data.parentId.replace('team-', ''));
|
||||
const towerId = data.gtId;
|
||||
if (!this.checkTeamId || this.checkTeamId !== teamId) {
|
||||
this.removeOverlay();
|
||||
const obj = {
|
||||
'id': towerId,
|
||||
'teamId': teamId
|
||||
}
|
||||
this.checkTeamId = teamId;
|
||||
this.loadPersonsInfo(obj, data);
|
||||
} else {
|
||||
// 选中班组人员 触发事件
|
||||
this.clickMarker(data);
|
||||
}
|
||||
} else {
|
||||
this.isTower = false;
|
||||
this.isTeam = false;
|
||||
|
|
@ -711,7 +727,7 @@ export default {
|
|||
'id': this.id,
|
||||
'teamId': this.teamId
|
||||
}
|
||||
this.loadPersonsInfo(obj);
|
||||
this.loadPersonsInfo(obj, null);
|
||||
},
|
||||
// 获取人员运动轨迹
|
||||
loadGj() {
|
||||
|
|
@ -900,7 +916,7 @@ export default {
|
|||
|
||||
|
||||
.personManage .left {
|
||||
width: 20%;
|
||||
width: 22%;
|
||||
height: 100%;
|
||||
padding: 0 0.5%;
|
||||
box-sizing: border-box;
|
||||
|
|
@ -913,7 +929,7 @@ export default {
|
|||
}
|
||||
|
||||
.personManage .center {
|
||||
width: 58%;
|
||||
width: 54%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
|
|
@ -931,7 +947,7 @@ export default {
|
|||
}
|
||||
|
||||
.personManage .right {
|
||||
width: 20%;
|
||||
width: 22%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@
|
|||
<!-- 预警信息 -->
|
||||
<div class="right">
|
||||
<h4>预警信息</h4>
|
||||
<div class="infinite-list-wrapper">
|
||||
<div class="infinite-list-wrapper" v-if="isShow3">
|
||||
<ul class="list" v-infinite-scroll="loadWarnInfoData" infinite-scroll-disabled="busy"
|
||||
infinite-scroll-distance="50">
|
||||
<li v-for="(item, index) in warnInfoArr" :key="index" class="warn-li layout">
|
||||
|
|
@ -118,6 +118,7 @@
|
|||
<p v-if="loading" style="text-align: center;">加载中...</p>
|
||||
</ul>
|
||||
</div>
|
||||
<el-empty v-if="!isShow3" description="暂无预警信息"></el-empty>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -159,6 +160,7 @@ export default {
|
|||
//预警滚动是否有数据
|
||||
isHasData: true,
|
||||
busy: true,
|
||||
isShow3:true,
|
||||
// 窗口数量
|
||||
boxNum: 1,//1窗口或4窗口
|
||||
boxIndex:1,//视频下标
|
||||
|
|
@ -238,6 +240,9 @@ export default {
|
|||
})
|
||||
} else {
|
||||
this.isHasData = false;
|
||||
if(this.queryParams.pageNum === 1){
|
||||
this.isShow3 = false;
|
||||
}
|
||||
}
|
||||
this.loading = false;
|
||||
this.busy = false;
|
||||
|
|
@ -735,6 +740,8 @@ export default {
|
|||
|
||||
ul {
|
||||
padding-inline-start: 0;
|
||||
margin-block-start: 0;
|
||||
margin-block-end: 0;
|
||||
}
|
||||
|
||||
.infinite-list-wrapper {
|
||||
|
|
|
|||
Loading…
Reference in New Issue