Commit 0635bb91 authored by caicaicai's avatar caicaicai

修改

parent c3170788
<template> <template>
<div class="common-page device-manage"> <div class="common-page device-manage">
<!-- <div class="option page-row"> -->
<!--工具栏--> <!-- 表格 -->
<!-- <div class="head-container"> -->
<!-- 搜索 -->
<!-- <label class="el-form-item-label" style="font-weight: 500;">设备识别码</label>
<el-input v-model="query.code" clearable size="small" placeholder="请输入设备识别码" style="width:180px;" @clear="clearLimit"/>
<el-button size="mini" type="success" icon="el-icon-search" @click="toSearch">搜索</el-button>
</div>
</div> -->
<div class="panel-bottom page-row"> <div class="panel-bottom page-row">
<h3>生产计划设置</h3> <h3>生产计划管理</h3>
<div class="ctin-box"> <div class="ctin-box">
<div class="content-within"> <div class="content-within">
<div class="content-fix"> <div class="content-fix">
...@@ -19,30 +12,22 @@ ...@@ -19,30 +12,22 @@
</div> </div>
<div class="content"> <div class="content">
<el-table :data="tableData" v-loading="loading" border style="width:auto" :row-class-name="tableRowClassName"> <el-table :data="tableData" v-loading="loading" border style="width:auto" :row-class-name="tableRowClassName">
<el-table-column prop="id" label="设备ID" align="center"></el-table-column> <el-table-column prop="code" label="编码" align="center"></el-table-column>
<el-table-column prop="code" label="设备识别码" align="center"></el-table-column> <el-table-column prop="name" label="区域名称" align="center"></el-table-column>
<el-table-column prop="name" label="设备名称" align="center"></el-table-column> <el-table-column prop="areaclass" label="所属类别" align="center"></el-table-column>
<el-table-column prop="alarmWindspeed" label="风速报警阈值" align="center"></el-table-column> <el-table-column prop="coordinate" label="中心坐标" align="center"></el-table-column>
<el-table-column prop="alarmTemperature" label="温度报警阈值" align="center"></el-table-column> <el-table-column prop="card" label="车辆标识图" align="center">
<el-table-column prop="alarmHumidity" label="湿度报警阈值" align="center"></el-table-column> <template slot-scope="scope">
<el-table-column prop="alarmCo2" label="二氧化碳报警阈值" align="center"></el-table-column> <img :src="imgSrcStart + '/avatar/' + scope.row.card" width="40" height="40"/>
<el-table-column prop="alarmMlux" label="光照报警阈值" align="center"></el-table-column> </template>
<el-table-column prop="alarmPh" label="酸碱度报警阈值" align="center"></el-table-column> </el-table-column>
<el-table-column prop="alarmWaterTemperature" label="水温报警阈值" align="center"></el-table-column> <el-table-column prop="max" label="最大承接量" align="center"></el-table-column>
<el-table-column prop="alarmElectricalConductance" label="电导率报警阈值" align="center"></el-table-column> <el-table-column prop="createTime" label="日期" align="center"></el-table-column>
<el-table-column prop="alarmWaterDepth" label="液位报警阈值" align="center"></el-table-column> <el-table-column label="操作" align="center" fixed="right">
<el-table-column prop="createTime" label="设备激活时间" align="center"></el-table-column>
<el-table-column prop="addTime" label="最后采集时间" align="center"></el-table-column>
<el-table-column prop="projectId" label="所属项目" align="center" :formatter="formatter"></el-table-column>
<el-table-column label="操作" min-width="180px" align="center" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="success" icon="el-icon-view" @click="toSeeMore(scope.row)"></el-button>
<el-button size="mini" type="primary" icon="el-icon-edit" @click="toEdit(scope.row)"></el-button> <el-button size="mini" type="primary" icon="el-icon-edit" @click="toEdit(scope.row)"></el-button>
<el-button size="mini" type="danger" icon="el-icon-delete" @click="toDelete(scope.row)"></el-button> <el-button size="mini" type="danger" icon="el-icon-delete" @click="toDelete(scope.row)"></el-button>
<!-- <div class="btn-groub2"> <el-button size="mini" type="success" icon="el-icon-view" v-show="scope.row.areaore == '是'" @click="showGradeTable(scope.row)"></el-button>
<el-button size="mini" type="warning" icon="el-icon-set-up" @click="toInstructionSet(scope.row)"></el-button>
<el-button size="mini" type="info" icon="el-icon-tickets" @click="toInstructionLog(scope.row)"></el-button>
</div> -->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -57,178 +42,146 @@ ...@@ -57,178 +42,146 @@
<!-- 表单渲染 --> <!-- 表单渲染 -->
<el-dialog append-to-body :close-on-click-modal="true" :before-close="cancelForm" :visible.sync="form.visible" :title="form.title" width="700px"> <el-dialog append-to-body :close-on-click-modal="true" :before-close="cancelForm" :visible.sync="form.visible" :title="form.title" width="700px">
<el-form :model="form.item" :rules="rules" ref="form1" :inline="true" size="small" label-width="150px"> <el-form :model="form.item" :rules="rules" ref="form1" :inline="true" size="small" label-width="150px">
<el-form-item label="选择项目" prop="projectId" > <el-form-item label="编码" prop="code">
<el-select v-model="form.item.projectId" placeholder="请选择项目" size="small"> <el-input v-model="form.item.code" style="width:160px;" placeholder="请输入编码"/>
<el-option v-for="(obj,index) in form.selectList" :label="obj.name" :value="obj.id" :key="index"></el-option> </el-form-item>
<el-form-item label="所属类别" prop="areaclass">
<el-select v-model="form.item.areaclass" placeholder="请选择所属类别" size="small" style="width:160px;">
<el-option v-for="(obj,index) in RegionalTypeData" :label="obj.classname" :value="obj.classname" :key="index"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label="设备ID" prop="id"> <el-form-item label="区域名称" prop="name">
<el-input v-model="form.item.id" style="width:280px;" placeholder="请输入设备编号" :disabled="form.reqType==='edit'"/> <el-input v-model="form.item.name" style="width:160px;" placeholder="请输入区域名称"/>
</el-form-item> -->
<el-form-item label="设备识别码" prop="code">
<el-input v-model="form.item.code" style="width:260px;" placeholder="请输入设备识别码" :disabled="form.reqType==='edit'"/>
</el-form-item> </el-form-item>
<el-form-item label="设备名称" prop="name"> <el-form-item label="是否需要遮罩层" prop="shadow">
<el-input v-model="form.item.name" style="width:260px;" placeholder="请输入设备名称"/> <el-select v-model="form.item.shadow" placeholder="请选择是否需要遮罩层" style="width:160px;">
<el-option label="是" value="是"></el-option>
<el-option label="否" value="否"></el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="风速报警阈值" prop="alarmWindspeed" > <el-form-item label="最大承接车辆数" prop="max">
<el-input v-model="form.item.alarmWindspeed" style="width:160px;" placeholder="请输入风速报警阈值"/> <el-input v-model="form.item.max" style="width:160px;" placeholder="请输入最大承接车辆数"/>
</el-form-item> </el-form-item>
<el-form-item label="温度报警阈值" prop="alarmTemperature" > <el-form-item label="区域中心坐标点" prop="coordinate">
<el-input v-model="form.item.alarmTemperature" style="width:160px;" placeholder="请输入温度报警阈值"/> <el-input v-model="form.item.coordinate" style="width:160px;" placeholder="请输入区域中心坐标点"/>
</el-form-item> </el-form-item>
<el-form-item label="湿度报警阈值" prop="alarmHumidity" > <el-form-item label="区域标记">
<el-input v-model="form.item.alarmHumidity" style="width:160px;" placeholder="请输入湿度报警阈值"/> <el-input v-model="picFileName" style="width:160px;" placeholder="请上传区域标记" disabled />
<input type="file" name="image" @change="excelImport($event)" />
</el-form-item> </el-form-item>
<el-form-item label="二氧化碳报警阈值" prop="alarmCo2" > <el-form-item label="区域范围或直径" prop="arearange">
<el-input v-model="form.item.alarmCo2" style="width:160px;" placeholder="请输入二氧化碳报警阈值"/> <el-input v-model="form.item.arearange" style="width:160px;" placeholder="请输入区域范围或直径"/>
</el-form-item> </el-form-item>
<el-form-item label="光照报警阈值" prop="alarmMlux" > <el-form-item label="电铲名称" prop="areashovel">
<el-input v-model="form.item.alarmMlux" style="width:160px;" placeholder="请输入光照报警阈值"/> <el-input v-model="form.item.areashovel" style="width:160px;" placeholder="请输入电铲名称"/>
</el-form-item> </el-form-item>
<el-form-item label="酸碱度报警阈值" prop="alarmPh" > <el-form-item label="矿种" prop="arearesources">
<el-input v-model="form.item.alarmPh" style="width:160px;" placeholder="请输入酸碱度报警阈值"/> <el-select v-model="form.item.arearesources" placeholder="请选择矿种" style="width:160px;">
<el-option label="废石" value="废石"></el-option>
<el-option label="矿石" value="矿石"></el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="水温报警阈值" prop="alarmWaterTemperature" > <el-form-item label="是否配矿" prop="areaore">
<el-input v-model="form.item.alarmWaterTemperature" style="width:160px;" placeholder="请输入水温报警阈值"/> <el-select v-model="form.item.areaore" placeholder="请选择是否配矿" style="width:160px;">
<el-option label="是" value="是"></el-option>
<el-option label="否" value="否"></el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="电导率报警阈值" prop="alarmElectricalConductance" > <el-form-item label="优先级" prop="areapriority">
<el-input v-model="form.item.alarmElectricalConductance" style="width:160px;" placeholder="请输入电导率报警阈值"/> <el-input-number v-model="form.item.areapriority" :min="1" :max="10" label="请选择优先级"></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="液位报警阈值" prop="alarmWaterDepth" >
<el-input v-model="form.item.alarmWaterDepth" style="width:160px;" placeholder="请输入液位报警阈值"/>
<!-- 如果所属类型是电子围栏,要添加一下属性 -->
<el-form-item label="启用时间段" prop="period" v-show="form.item.areaclass == '电子围栏'">
<el-time-picker
is-range
v-model="timePeriod"
range-separator="至"
start-placeholder="开始时间"
end-placeholder="结束时间"
placeholder="选择时间范围">
</el-time-picker>
</el-form-item> </el-form-item>
<el-form-item label="上传设备位置" prop="position"> <el-form-item label="限制类型" prop="limitclass" v-show="form.item.areaclass == '电子围栏'">
<el-input v-model="picFileName" style="width:160px;" placeholder="请上传设备位置" disabled /> <el-select v-model="form.item.limitclass" placeholder="请选择限制类型" style="width:160px;">
<input type="file" name="image" @change="excelImport($event)" /> <el-option label="限入" value="限入"></el-option>
<el-option label="限出" value="限出"></el-option>
</el-select>
</el-form-item> </el-form-item>
<div style="margin:0px 0px 10px 55px;font-size:16px;font-weight:bold;">摄像头参数配置</div> <br/>
<el-form-item label="摄像头ID" prop="camera"> <el-form-item label="选择车辆" prop="cars" v-show="form.item.areaclass == '电子围栏'">
<el-input v-model="form.item.camera" style="width:160px;" placeholder="请输入摄像头ID"/> <div class="checkboxViews">
<el-checkbox-group v-model="checkDataList" style="width:480px;">
<el-checkbox v-for="(obj,index) in carInformationData" :label="obj.name + '/' + obj.number" :key="index">{{obj.name + '/' + obj.number}}</el-checkbox>
</el-checkbox-group>
</div>
</el-form-item>
<el-form-item label="启停状态" prop="status" v-show="form.item.areaclass == '电子围栏'">
<el-select v-model="form.item.status" placeholder="请选择启停状态" style="width:160px;">
<el-option label="启用" value="启用"></el-option>
<el-option label="停用" value="停用"></el-option>
</el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="text" @click="cancelForm">取消</el-button> <el-button type="text" @click="cancelForm">取消</el-button>
<el-button :loading="form.status.cu === 2" type="primary" @click="submitForm('form1', form.item)">确认</el-button> <el-button :loading="form.status.cu === 2" type="primary" @click="submitForm('form1', form.item)">确认</el-button>
</div> </div>
</el-dialog>
<!-- 查看更多 -->
<el-dialog title="查看设备" :visible.sync="form.seeMoreDialog" width="800px">
<el-form :model="seeMoreData" style="margin-top:20px;">
<el-form-item label="摄像头位置图片" label-width="150px">
<el-image :src="seeMoreImgUrl" style="width:300px;"></el-image>
</el-form-item>
<el-form-item label="摄像头图像" label-width="150px">
<div id="video-container" style="width:550px;height:350px"></div>
</el-form-item>
<el-form-item label="摄像头ID" label-width="150px">
<el-input v-model="seeMoreData.camera" style="width:200px"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="form.seeMoreDialog = false">关闭</el-button>
</div>
</el-dialog> </el-dialog>
<!-- 历史图表 --> <!-- 品位设置 -->
<el-dialog class="ecahrt1-dialog" append-to-body :close-on-click-modal="false" :before-close="cancelForm2" :visible.sync="form.historyDialog"> <el-dialog title="品位设置" :visible.sync="dialogTableVisible">
<el-form :rules="rules" ref="form1" :inline="true" size="small" label-width="80px"> <div class="toolbar" style="margin-bottom:15px;">
<!-- <el-form-item prop="eprogramid" > <el-button size="mini" type="primary" icon="el-icon-plus" @click="gradeToAdd">新增</el-button>
<el-select v-model="form.item2.value" placeholder="请选择月份">
<el-option v-for="obj in form.monthSelectList" :label="obj.name" :value="obj.value"></el-option>
</el-select>
</el-form-item> -->
<el-form-item prop="eprogramid" >
<date-range-picker v-model="query.timeSpace" class="date-item" />
</el-form-item>
<el-form-item >
<el-button type="primary" @click="findHistory">查询</el-button>
</el-form-item>
<el-form-item prop="content" style="display:block;" >
<div class="form-body">
<div id="ecahrtA"></div>
</div> </div>
</el-form-item> <el-table :data="gridData" border v-loading="gradeLoading">
</el-form> <el-table-column property="name" label="品位名称" align="center"></el-table-column>
<el-table-column property="content" label="含量" align="center"></el-table-column>
<el-table-column property="unit" label="单位" align="center"></el-table-column>
<el-table-column label="操作" align="center" fixed="right">
<template slot-scope="scope">
<el-button size="mini" type="primary" icon="el-icon-edit" @click="gradeToEdit(scope.row)"></el-button>
<el-button size="mini" type="danger" icon="el-icon-delete" @click="gradeToDelete(scope.row)"></el-button>
</template>
</el-table-column>
</el-table>
</el-dialog> </el-dialog>
<!-- 指令下发 --> <!-- 品位设置表单 -->
<el-dialog append-to-body :close-on-click-modal="false" :before-close="cancelForm3" :visible.sync="form2.visible" :title="form2.title" width="600px"> <el-dialog :title="gradeFrom.title" :before-close="gradeCancelForm" :visible.sync="gradeFrom.visible" width="700px">
<el-form :model="form2.item" :rules="rules" ref="form2" :inline="true" size="small" label-width="100px"> <el-form :model="gradeFrom.item" :inline="true" ref="form2" size="small" label-width="150px">
<el-form-item label="设备ID" prop="ecode"> <el-form-item label="品位名称">
<el-input v-model="form2.item.ecode" style="width:280px;" placeholder="请输入设备编号" :disabled="form2.reqType==='edit'"/> <el-input v-model="gradeFrom.item.name" style="width:260px;" placeholder="请输入品位名称"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="设备识别码" prop="subcode"> <el-form-item label="含量">
<el-input v-model="form2.item.subcode" style="width:260px;" placeholder="请输入设备识别码" :disabled="form2.reqType==='edit'"/> <el-input v-model="gradeFrom.item.content" style="width:260px;" placeholder="请输入含量"></el-input>
</el-form-item>
<el-form-item label="是否启动校正" prop="ilAdjust" style="width:240px;">
<el-select v-model="form2.item.ilAdjust" placeholder="请选择" size="small" style="width:120px;">
<el-option v-for="obj in form2.adjustList" :label="obj.name" :key="obj.value" :value="obj.value"></el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="是否存储裂缝" prop="ilSave" style="width:240px;"> <el-form-item label="单位">
<el-select v-model="form2.item.ilSave" placeholder="请选择" size="small" style="width:120px;"> <el-input v-model="gradeFrom.item.unit" style="width:260px;" placeholder="请输入单位"></el-input>
<el-option v-for="(obj,index) in form2.saveList" :label="obj.name" :value="obj.value" :key="index"></el-option>
</el-select>
</el-form-item>
<el-form-item label="裂缝阈值" prop="ilThreshed" >
<el-input v-model="form2.item.ilThreshed" style="width:160px;" placeholder="请输入裂缝阈值"/>
<span style="color:#aaa;">1~255</span>
</el-form-item>
<el-form-item label="唤醒周期" prop="timekey" >
<el-select v-model="form2.item.timekey" placeholder="请选择时间" size="small" style="width:120px;">
<el-option v-for="(obj,index) in form2.timeList" :label="obj.name" :value="obj.value" :key="index"></el-option>
</el-select>
<el-input v-model="form2.item.time" style="width:160px;" placeholder="请输入时长"/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="text" @click="cancelForm3"></el-button> <el-button @click="gradeCancelForm"></el-button>
<el-button :loading="form2.status.cu === 2" type="primary" @click="reqSetInstruction('form2', form2.item)">确认</el-button> <el-button :loading="gradeFrom.status.cu === 2" type="primary" @click="gradeSubmitForm('form2', gradeFrom.item)">确 定</el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 指令日志 -->
<el-dialog append-to-body :close-on-click-modal="false" :before-close="cancelForm4" :visible.sync="form2.logVisible" :title="form2.title" width="65%">
<div class="content">
<el-table :data="form2.formData" v-loading="loading" border style="width:auto" :row-class-name="tableRowClassName">
<el-table-column prop="subcode" label="设备识别码" min-width="135px"></el-table-column>
<el-table-column prop="ilThreshed" label="裂缝阈值"></el-table-column>
<el-table-column prop="ilAdjust" label="校正功能"></el-table-column>
<el-table-column prop="ilSave" label="存储裂缝" ></el-table-column>
<el-table-column prop="ilSendTime" label="唤醒时间">
<template slot-scope="scope">
{{scope.row.time + '('+scope.row.timeUnit+')'}}
</template>
</el-table-column>
<el-table-column prop="ilSendSuccess" label="下发状态" ></el-table-column>
<el-table-column prop="ilSendTime" label="下发时间" min-width="145px"></el-table-column>
</el-table>
<!--分页组件-->
<el-pagination :total="form2.total" :current-page="form2.page" style="margin-top:8px;" layout="total, prev, pager, next, sizes" @size-change="sizeChange2" @current-change="pageChange2" />
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import echarts from 'echarts';
import { Tools, HttpReq, Dates} from '@/assets/js/common.js'; import { Tools, HttpReq, Dates} from '@/assets/js/common.js';
import DateRangePicker from '@/components/DateRangePicker';
import cuAmap from '@/components/AMap';
import Axios from 'axios' import Axios from 'axios'
import EZUIKit from "ezuikit-js";
export default { export default {
name: 'Dashboard', name: 'CarType',
components: { components: {},
DateRangePicker, cuAmap
},
data() { data() {
return { return {
imgSrcStart:process.env.VUE_APP_LOCAL_API2,
loading: false, loading: false,
page: 1, page: 1,
size: 10, size: 10,
...@@ -236,76 +189,37 @@ export default { ...@@ -236,76 +189,37 @@ export default {
query:{}, query:{},
picFileName:'', picFileName:'',
tableData: [], tableData: [],
seeMoreData:{}, RegionalTypeData:[],
seeMoreImgUrl:"", carInformationData:[],
checkAll: false,
checkDataList:[],
timePeriod:[],
form: { form: {
title:'添加设备', visible:false, reqType:'add', historyDialog:false,seeMoreDialog:false, title:'新增区域信息',
visible:false,
reqType:'add',
status:{cu:0}, status:{cu:0},
selectList:[],
item:{}, item:{},
monthSelectList:[
{name:'一月', value:'01'},
{name:'二月', value:'02'},
{name:'三月', value:'03'},
{name:'四月', value:'04'},
{name:'五月', value:'05'},
{name:'六月', value:'06'},
{name:'七月', value:'07'},
{name:'八月', value:'08'},
{name:'九月', value:'09'},
{name:'十月', value:'10'},
{name:'十一月', value:'11'},
{name:'十二月', value:'12'},
],
item2:{
value:''
},
}, },
rules: { rules: {
projectId: [ // time: [
{required: true, message: '请选择项目', trigger: 'blur' } // {required: true, message: '请输入区域信息', trigger: 'blur' }
], // ],
id: [
{required: true, message: '请输入设备ID', trigger: 'blur' }
],
code: [
{required: true, message: '请输入设备识别码', trigger: 'blur' }
],
name: [
{required: true, message: '请输入设备名称', trigger: 'blur' }
],
}, },
form2:{
title:'指令下发', visible:false, logDialog:false, logVisible:false,
query:{}, //品味设置数据
page: 1, dialogTableVisible: false,
size: 10, gridData: [],
total: 0, gradeLoading: false,
gradeQueryId:0,
gradeFrom:{
title:'新增品位',
visible:false,
reqType:'add',
status:{cu:0}, status:{cu:0},
item:{ item:{},
ecode: "", }
ename:'',
ilAdjust:0,
ilSave:0,
time:'',
ilThreshed:0,
timekey:'ilTimHour',
},
adjustList:[
{name:'启动', value:1},
{name:'不启动', value:0},
],
saveList:[
{name:'存储', value:1},
{name:'不存储', value:0},
],
timeList:[
{name:'', value:'ilTimHour'},
{name:'', value:'ilTimMins'},
{name:'', value:'ilTimSec'},
],
formData:[],
},
} }
}, },
mounted() { mounted() {
...@@ -315,25 +229,33 @@ export default { ...@@ -315,25 +229,33 @@ export default {
}) })
}, },
methods: { methods: {
//获取区域信息数据
loadData() { loadData() {
var that = this; var sort = 'createTime,desc';
var sort = 'addTime,desc';
var param = this.query; var param = this.query;
param.page = this.page - 1; param.page = this.page - 1;
param.size = this.size; param.size = this.size;
param.sort = sort; param.sort = sort;
//请求项目列表
this.reqProjectsSimple().then((list) => {
this.form.selectList = list;
});
this.$nextTick(()=>{ this.$nextTick(()=>{
HttpReq.plantFactory.getDeviceManageList(param).then((res) => { HttpReq.truckDispatching.RegionalInformationQuery(param).then((res) => {
//console.log(res); if(res.code == 200){
this.loading = false; this.loading = false;
this.tableData = res.content; this.tableData = res.data.content;
this.total = res.totalElements; this.total = res.data.totalElements;
}
})
//获取所属类别
HttpReq.truckDispatching.RegionalTypeQuery(param).then((res) => {
if(res.code == 200){
this.RegionalTypeData = res.data.content;
}
})
//获取车辆信息
HttpReq.truckDispatching.carInformationQuery(param).then((res) => {
if(res.code == 200){
this.carInformationData = res.data.content;
}
}) })
}) })
...@@ -346,47 +268,34 @@ export default { ...@@ -346,47 +268,34 @@ export default {
} }
return ''; return '';
}, },
// 点击搜索
toSearch() {
this.page = 1
this.loadData()
},
clearLimit(){ // 清除限制
this.loadData()
},
cancelForm(a, b, c){ cancelForm(a, b, c){
this.form.visible = false; this.form.visible = false;
}, },
cancelForm2(){
this.form.historyDialog = false;
},
toAdd() { toAdd() {
// 请除表单验证 // 请除表单验证
this.$refs['form1'] && this.$refs['form1'].clearValidate(); this.$refs['form1'] && this.$refs['form1'].clearValidate();
this.form.title = '添加设备'; this.form.title = '新增区域信息';
this.form.status.cu = 0; this.form.status.cu = 0;
this.form.visible = true; this.form.visible = true;
this.form.reqType = 'add'; this.form.reqType = 'add';
this.form.item = {}; this.form.item = {};
this.picFileName = ''; this.picFileName = '';
//请求项目列表 this.checkDataList = [];
this.reqProjectsSimple().then((list) => {
this.form.selectList = list
});
}, },
toEdit(item) { toEdit(item) {
// 请除表单验证 // 请除表单验证
this.$refs['form1'] && this.$refs['form1'].clearValidate(); this.$refs['form1'] && this.$refs['form1'].clearValidate();
this.form.title = '编辑设备'; this.form.title = '修改区域信息';
this.form.status.cu = 0; this.form.status.cu = 0;
this.form.visible = true; this.form.visible = true;
this.form.item = item; this.form.item = {...item};
this.form.reqType = 'edit'; this.form.reqType = 'edit';
this.picFileName = this.form.item.position; this.picFileName = this.form.item.card;
//请求项目列表 this.checkDataList = this.form.item.cars;
this.reqProjectsSimple().then((list) => { let timePeriodCenter = [];
this.form.selectList = list timePeriodCenter.push(this.form.item.startTime);
}); timePeriodCenter.push(this.form.item.endTime);
this.timePeriod = timePeriodCenter;
}, },
toDelete(item) { toDelete(item) {
var id = item.id; var id = item.id;
...@@ -396,103 +305,7 @@ export default { ...@@ -396,103 +305,7 @@ export default {
type: 'warning' type: 'warning'
}).then((e) => { }).then((e) => {
this.reqRemoveProject([id]) this.reqRemoveProject([id])
}).catch((e) => { }).catch((e) => {})
})
},
//查看图片以及其他信息
toSeeMore(row){
//console.log(row);
this.seeMoreData = row;
this.seeMoreImgUrl = process.env.VUE_APP_LOCAL_API2 + "/avatar/" + row.position;
this.form.seeMoreDialog = true;
this.$nextTick(()=>{
let videoContainer = document.querySelector('#video-container');
videoContainer.innerHTML = '';
var player = new EZUIKit.EZUIKitPlayer({
autoplay: true,
id: 'video-container',
accessToken:'at.4qo66bb35a19h07a0d9pbmtj5v4g0o78-4jmzdu3k24-0866je6-qkz1xuwmf',
url: 'ezopen://open.ys7.com/J16440511/1.live',
template: "simple", // simple - 极简版;standard-标准版;security - 安防版(预览回放);voice-语音版;
width: 530,
height: 320
});
})
},
toHistoryLog(item){
this.form.historyDialog = true;
this.form.item2.value = Dates.format('MM');
this.form.item2.code = item.ecode;
this.$nextTick(() => {
var ecahrtEl = document.getElementById("ecahrtA");
this.ecahrtA = this.ecahrtA || this.createPanelEcharts(ecahrtEl);
this.reqHistoryList(this.form.item2);
});
},
cancelForm3(a, b, c){
this.form2.visible = false;
},
cancelForm4(a, b, c){
this.form2.logVisible = false;
},
// 指令下发
toInstructionSet(item){
var form2 = this.form2;
// 请除表单验证
//this.$refs['form1'] && this.$refs['form1'].clearValidate();
form2.title = '指令下发';
form2.status.cu = 0;
form2.visible = true;
form2.reqType = 'edit';
form2.item = {
ecode:item.ecode,
subcode:item.subcode,
ilAdjust:form2.item.ilAdjust,
ilSave:form2.item.ilSave,
timekey:form2.item.timekey,
time:'',
};
},
// 指令日志
toInstructionLog(item){
var form2 = this.form2;
// 请除表单验证
//this.$refs['form1'] && this.$refs['form1'].clearValidate();
form2.title = '下发日志';
form2.logVisible = true;
form2.item = item;
var param = form2.query;
param.page = form2.page - 1;
param.size = form2.size;
param.sort = 'addTime,desc';
param.deviceId = item.ecode;
HttpReq.equipment.getInstructionLog(param).then((res) => {
if(res){
form2.total = res.totalElements;
var formData = res.content || [],
timeKeys = {'ilTimHour':'小时','ilTimMins':'分钟','ilTimSec':''};
for(var fitem of formData){
fitem.subcode = item.subcode;
for(var key in timeKeys){
if(fitem[key] || fitem[key] === 0){
fitem['time'] = fitem[key];
fitem.timeUnit = timeKeys[key];
}else{
delete fitem[key]
}
};
fitem.ilAdjust = ['不启动', '启动'][fitem.ilAdjust || 0];
fitem.ilSave = ['不存储', '存储'][fitem.ilSave || 0];
fitem.ilSendSuccess = ['下发失败', '下发成功'][fitem.ilSendSuccess || 0];
};
form2.formData = formData;
};
}).catch(function(error) {
console.log('error ________________ ', error);
});
}, },
pageChange(e) { pageChange(e) {
this.page = e this.page = e
...@@ -503,15 +316,6 @@ export default { ...@@ -503,15 +316,6 @@ export default {
this.size = e this.size = e
this.loadData() this.loadData()
}, },
pageChange2(e) {
this.form2.page = e
this.reqInstructionLog(this.form2.item)
},
sizeChange2(e) {
this.form2.page = 1;
this.form2.size = e;
this.reqInstructionLog(this.form2.item);
},
submitForm(validateName, item){ submitForm(validateName, item){
if(!this.form.status.cu){ if(!this.form.status.cu){
this.form.status.cu = 2; this.form.status.cu = 2;
...@@ -528,74 +332,71 @@ export default { ...@@ -528,74 +332,71 @@ export default {
}); });
}; };
}, },
//新增区域信息
findHistory(){
this.reqHistoryList(this.form.item2);
},
//请求项目列表
reqProjectsSimple(){
return HttpReq.project.getProject().then((res) => {
if(res.code == 200){
return res.data.content;
}else{
return []
}
})
},
//添加设备
reqAddItem(form, item){ reqAddItem(form, item){
let lastData = item; let lastData = {...item};
lastData.position = this.picFileName; lastData.card = this.picFileName;
HttpReq.plantFactory.addDeviceManageList(lastData).then((res) => { lastData.cars = this.checkDataList;
form.visible = false; lastData.startTime = this.timePeriod[0];
if(res == 1){ lastData.endTime = this.timePeriod[1];
this.$notify({ console.log(lastData);
title: '项目添加成功!', // HttpReq.truckDispatching.RegionalInformationAdd(lastData).then((res) => {
type: 'success', // form.visible = false;
duration: 2500 // if(res.code == 200){
}); // this.$notify({
this.loadData() // title: '区域信息新增成功!',
}else{ // type: 'success',
this.$notify({ // duration: 2500
title: res.head.message, // });
type: 'error', // this.loadData()
duration: 2500 // }else{
}) // this.$notify({
} // title: res.msg,
}).catch(function(error) { // type: 'error',
// duration: 2500
// })
// }
// }).catch(function(error) {
// form.status.cu = 0
// });
form.status.cu = 0 form.status.cu = 0
});
}, },
//修改设备 //修改区域信息
reqUpdateItem(form, item){ reqUpdateItem(form, item){
let lastData = item; let lastData = {...item};
lastData.position = this.picFileName; lastData.card = this.picFileName;
HttpReq.plantFactory.upDateDeviceManageList(lastData).then((res) => { lastData.cars = this.checkDataList;
form.visible = false; lastData.startTime = this.timePeriod[0];
if(res.status == 400){ lastData.endTime = this.timePeriod[1];
this.$notify({ console.log(lastData);
title: res.head.message, // HttpReq.truckDispatching.RegionalInformationUpdate(lastData).then((res) => {
type: 'error', // form.visible = false;
duration: 2500 // if(res.code == 200){
}) // this.$notify({
}else{ // title: '区域信息修改成功!',
this.$notify({ // type: 'success',
title: '修改成功!', // duration: 2500
type: 'success', // });
duration: 2500 // this.loadData()
}); // }else{
this.loadData() // this.$notify({
} // title: res.msg,
}).catch(function(error) { // type: 'error',
// duration: 2500
// })
// this.loadData()
// }
// }).catch(function(error) {
// form.status.cu = 0
// });
form.status.cu = 0 form.status.cu = 0
});
}, },
//删除设备 //删除区域信息
reqRemoveProject(item){ reqRemoveProject(item){
HttpReq.plantFactory.removeDeviceManageList(item).then((res) => { HttpReq.truckDispatching.RegionalInformationDel(item).then((res) => {
if(res.status == 400){ if(res.status == 400){
this.$notify({ this.$notify({
title: res.head.message, title: res.msg,
type: 'error', type: 'error',
duration: 2500 duration: 2500
}) })
...@@ -609,229 +410,169 @@ export default { ...@@ -609,229 +410,169 @@ export default {
this.loadData(); this.loadData();
}) })
}, },
reqHistoryList(item){ //图片上传
var timeSpace = this.query.timeSpace; excelImport(event) {
var startTime = timeSpace ? timeSpace[0].split(' ')[0] : ''; let that = this;
var endTime = timeSpace ? timeSpace[1].split(' ')[0] : ''; let file = event.target.files[0];
HttpReq.historys.getItemBycode({codes:item.code, startTime:startTime, endTime:endTime}).then((res) => { let formData1 = new FormData();
if(res.head.code === '0000'){ formData1.append("avatar", file);
var body = res.body || {}; Axios({
var list = body.list || []; url: process.env.VUE_APP_LOCAL_API2 + '/api/wEquipment/updateAvatar',
var xAxisData = []; method: "post",
var helement = []; data: formData1,
var htemperature = []; }).then(
var hlenght1 = [], hlenght2 = [], hlenght3 = []; response => {
for(var item of list){ if (response.status == 200) {
xAxisData.push(item.createTime); this.$message.success("上传成功");
helement.push(item.helement); that.picFileName = response.data.avatar;
htemperature.push(item.htemperature); } else {
hlenght1.push(item.hlenght1); this.$message.error("上传失败");
hlenght2.push(item.hlenght2); }
hlenght3.push(item.hlenght3);
};
this.ecahrtA.setData({
xAxis: [
{
type: 'category',
data: xAxisData,
},
],
series: [
{
name: '电压',
data: helement,
},
{
name: '温度',
data: htemperature,
},
{
name: '裂缝1',
data: hlenght1,
}, },
{ )
name: '裂缝2', .catch(error => {
data: hlenght2, console.log(error);
});
}, },
{
name: '裂缝3',
data: hlenght3, //品味设置方法
showGradeTable(row){
this.dialogTableVisible = true;
this.gradeQueryId = row.id;
this.loadGradeData();
},
//获取品味设置数据
loadGradeData(){
var sort = 'id,desc';
var param = {};
param.sort = sort;
param.areaId = this.gradeQueryId;
this.$nextTick(()=>{
HttpReq.truckDispatching.RegionalInformationGradeQuery(param).then((res) => {
if(res.code == 200){
this.gradeLoading = false;
this.gridData = res.data.content;
} }
]
}) })
};
}).catch(function(error) {
console.log('catch __ ', error);
}) })
}, },
createPanelEcharts(el){ gradeCancelForm(a, b, c){
var myChart = echarts.init(el), this.gradeFrom.visible = false;
lineColor = 'green';
var option = {
title: {
text: '',
subtext: '设备值'
},
tooltip: {
trigger: 'axis'
},
legend: {
data: ['电压', '温度', '裂缝1', '裂缝2', '裂缝3'],
textStyle: {
color: "#000"
},
},
textStyle: {
color: "#333"
}, },
calculable: true, gradeSubmitForm(validateName, item){
xAxis: [ if(!this.gradeFrom.status.cu){
{ this.gradeFrom.status.cu = 2;
type: 'category', this.$refs[validateName].validate(valid => {
data: [], if(valid){
} if(this.gradeFrom.reqType === 'add'){
], this.gradeReqAddItem(this.gradeFrom, item)
yAxis: [ }else{
{ this.gradeReqUpdateItem(this.gradeFrom, item)
type: 'value',
} }
], }else{
grid:{ this.gradeFrom.status.cu = 0
top:40,
right:10,
bottom:20,
left:45,
},
series: [
{
name: '电压',
type: 'line',
data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//itemStyle: {normal: {areaStyle: {type: 'default', color:'#00e5ff'}, color:'#00e5ff'}, color:'green'},
},
{
name: '温度',
type: 'line',
data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
},
{
name: '裂缝1',
type: 'line',
data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
//itemStyle: {normal: {areaStyle: {type:'default', color:'red'}, color:'#1849fe'}, color:'red'},
},
{
name: '裂缝2',
type: 'line',
data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
},
{
name: '裂缝3',
type: 'line',
data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
} }
] });
};
myChart.setOption(option);
var setData = function(option){
myChart.hideLoading();
myChart.setOption(option)
}; };
return {setData:setData, myChart:myChart}
}, },
reqSetInstruction(form, item){ gradeToAdd() {
var param = { // 请除表单验证
deviceId:item.ecode, this.$refs['form2'] && this.$refs['form2'].clearValidate();
ilAdjust:item.ilAdjust, this.gradeFrom.title = '新增品味';
ilSave:item.ilSave, this.gradeFrom.status.cu = 0;
ilThreshed:item.ilThreshed || 0, this.gradeFrom.visible = true;
[item.timekey]:item.time || 0, this.gradeFrom.reqType = 'add';
}; this.gradeFrom.item = {};
HttpReq.equipment.setInstruction(param).then((res) => { },
this.form2.visible = false; gradeToEdit(item) {
// 请除表单验证
this.$refs['form2'] && this.$refs['form2'].clearValidate();
this.gradeFrom.title = '修改品位设置';
this.gradeFrom.status.cu = 0;
this.gradeFrom.visible = true;
this.gradeFrom.item = {...item};
this.gradeFrom.reqType = 'edit';
},
gradeToDelete(item) {
var id = item.id;
this.$confirm('确认删除该条数据吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then((e) => {
this.gradeReqRemoveProject([id])
}).catch((e) => {})
},
//新增品味设置
gradeReqAddItem(gradeFrom, item){
let lastData = {...item};
lastData.areaId = this.gradeQueryId;
HttpReq.truckDispatching.RegionalInformationGradeAdd(lastData).then((res) => {
gradeFrom.visible = false;
if(res.code == 200){
this.$notify({ this.$notify({
title: '修改成功!', title: '品味设置新增成功!',
type: 'success', type: 'success',
duration: 2500 duration: 2500
}); });
this.loadData() this.loadGradeData()
}).catch(function(error) { }else{
this.form2.status.cu = 0;
this.$notify({ this.$notify({
title: error, title: res.msg,
type: 'error', type: 'error',
duration: 2500 duration: 2500
}) })
}
}).catch(function(error) {
gradeFrom.status.cu = 0
}); });
}, },
reqInstructionLog(item){ //修改品味设置
var form2 = this.form2; gradeReqUpdateItem(gradeFrom, item){
var param = form2.query; let lastData = {...item};
param.page = form2.page - 1; HttpReq.truckDispatching.RegionalInformationGradeUpdate(lastData).then((res) => {
param.size = form2.size; gradeFrom.visible = false;
param.sort = 'addTime,desc'; if(res.code == 200){
param.deviceId = item.ecode; this.$notify({
HttpReq.equipment.getInstructionLog(param).then((res) => { title: '品味设置修改成功!',
if(res){ type: 'success',
form2.total = res.totalElements; duration: 2500
var formData = res.content || [], });
timeKeys = {'ilTimHour':'小时','ilTimMins':'分钟','ilTimSec':''}; this.loadGradeData()
for(var fitem of formData){
fitem.subcode = item.subcode;
for(var key in timeKeys){
if(fitem[key]){
fitem['time'] = fitem[key];
fitem.timeUnit = timeKeys[key];
}else{ }else{
delete fitem[key] this.$notify({
title: res.msg,
type: 'error',
duration: 2500
})
this.loadGradeData()
} }
};
fitem.ilAdjust = ['不启动', '启动'][fitem.ilAdjust || 0];
fitem.ilSave = ['不存储', '存储'][fitem.ilSave || 0];
fitem.ilSendSuccess = ['下发失败', '下发成功'][fitem.ilSendSuccess || 0];
};
form2.formData = formData;
};
}).catch(function(error) { }).catch(function(error) {
console.log('error ________________ ', error); gradeFrom.status.cu = 0
}); });
}, },
//图片上传 //删除品味设置
excelImport(event) { gradeReqRemoveProject(item){
let that = this; HttpReq.truckDispatching.RegionalInformationGradeDel(item).then((res) => {
let file = event.target.files[0]; if(res.status == 400){
let formData1 = new FormData(); this.$notify({
formData1.append("avatar", file); title: res.msg,
Axios({ type: 'error',
url: process.env.VUE_APP_LOCAL_API2 + '/api/wEquipment/updateAvatar', duration: 2500
method: "post", })
data: formData1, }else{
}).then( this.$notify({
response => { title: '删除成功!',
if (response.status == 200) { type: 'success',
this.$message.success("上传成功"); duration: 2500
that.picFileName = response.data.avatar;
} else {
this.$message.error("上传失败");
}
},
)
.catch(error => {
console.log(error);
}); });
},
//项目名称展示
formatter(row){
let proName = "";
this.form.selectList.forEach(function(item){
if(row.projectId == item.id){
proName = item.name;
} }
this.loadGradeData();
}) })
return proName },
}
} }
} }
</script> </script>
...@@ -856,9 +597,19 @@ export default { ...@@ -856,9 +597,19 @@ export default {
} }
.el-button--warning:focus,.el-button--warning:hover{background:#ebb563;border-color:#ebb563;} .el-button--warning:focus,.el-button--warning:hover{background:#ebb563;border-color:#ebb563;}
} }
}
} }
}
.checkboxViews{
padding-left: 10px;
box-sizing: border-box;
width: 490px;
height: 120px;
border: 1px gainsboro solid;
overflow-y:scroll;
overflow-x:hidden;
}
.ecahrt1-dialog{ .ecahrt1-dialog{
display:flex;align-items:center; display:flex;align-items:center;
.el-dialog{ .el-dialog{
......
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