Commit 05670a1b authored by yaqizhang's avatar yaqizhang

55555

parent a9943e8f
......@@ -1150,7 +1150,7 @@ class gaodeMap {
});
let infoWindow = new AMap.InfoWindow({
isCustom: true,
content: `<span style='border:1px solid #80d8ff;background:#fff'>${pipeName}</span>`,
content: `<div style='max-width:150px;border:1px solid #80d8ff;background:#fff'>${pipeName}</div>`,
anchor: "left-top",
offset: new AMap.Pixel(20, -20)
});
......@@ -1167,9 +1167,11 @@ class gaodeMap {
infoWindow.close();
});
map.add(polyline);
const path = eval(coordinates)[0];
const path1 = eval(coordinates)[0];
const path2 = eval(coordinates)[1];
// map.setFitView();
map.setCenter([+path[0], +path[1]], false);
const path3 = [(Number(path1[0])+Number(path2[0]) )/2 ,(Number(path1[1])+Number(path2[1]) )/2];
map.setCenter(path3, false);
// const lntlat = eval(coordinates)[0];
// map.panTo(lntlat)
......
......@@ -281,8 +281,8 @@ export default {
this.getDetail();
},
mounted() {
let gaoMap = new gaodeMap("石家庄");
this.gaoMap = gaoMap;
// let gaoMap = new gaodeMap("石家庄");
// this.gaoMap = gaoMap;
},
methods: {
initData(getData1, getData2, getData3) {
......@@ -663,6 +663,13 @@ export default {
if(this.form.pipeList != null){
let pipe = this.form.pipeList[0];
const {coordinates} = this.form.pipeList[0];
const path1 = eval(coordinates)[0];
const path2 = eval(coordinates)[1];
const path3 = [(Number(path1[0]) + Number(path2[0])) / 2, (Number(path1[1]) + Number(path2[1])) / 2];
let gaoMap = new gaodeMap("石家庄",path3);
this.gaoMap=gaoMap;
console.log("pipe", pipe);
this.dataListdetail.push(pipe);
this.gaoMap.onlyLine(pipe);
......@@ -672,8 +679,11 @@ export default {
let device = this.form.deviceList[0];
console.log("device", device);
this.dataListdetail.push(device);
this.gaoMap.resetMapCenter([device.longitude, device.latitude]);
let gaoMap = new gaodeMap("石家庄",[device.longitude, device.latitude]);
this.gaoMap = gaoMap;
this.gaoMap.addMarker(DEVICE_TYPE.WORKORDER, device);
// this.gaoMap.resetMapCenter([device.longitude, device.latitude]);
}
var getData1 = [];
......
......@@ -6,14 +6,17 @@
<div style="height: 45px;" @click="$router.go(-1)">
<el-button size="medium" type="text" style="font-size: 18px; color: rgb(7, 63, 112);float: left;">返回
</el-button>
<div style="float: left;margin-top: 8px;margin-left: 5px;"><img src="../../../assets/logo/fanhui.png" style="width: 25px;" alt=""></div>
<div style="float: left;margin-top: 8px;margin-left: 5px;"><img src="../../../assets/logo/fanhui.png"
style="width: 25px;" alt=""></div>
</div>
</el-col>
</el-row>
<el-row style="width: 100%;height: 45px;">
<el-col :span="24">
<div style="">
<ul><li style="list-style: none;font-weight: 900;font-size: 20px;color: #053b6a;">设备信息管理详情</li></ul>
<ul>
<li style="list-style: none;font-weight: 900;font-size: 20px;color: #053b6a;">设备信息管理详情</li>
</ul>
</div>
</el-col>
</el-row>
......@@ -21,7 +24,9 @@
<el-row style="width: 100%;">
<el-col :span="24">
<div style="color: #31EAEA;height: 25px;">
<ul><li>详细信息</li></ul>
<ul>
<li>详细信息</li>
</ul>
</div>
</el-col>
</el-row>
......@@ -84,39 +89,25 @@
</el-form>
</el-col>
<el-col :span="11">
<div id="marbox" style="width: 100%;height: 390px;margin-top: -35px; border: 1px solid rgb(218, 213, 213);margin-bottom: 10px;">
<div id="marbox"
style="width: 100%;height: 390px;margin-top: -35px; border: 1px solid rgb(218, 213, 213);margin-bottom: 10px;">
<div style="width: 100%;height: 100%" id="container"></div>
</div>
</el-col>
</el-row>
<div class="" style="width: 95%; height: 60px;margin-left: 50px;text-align: center;">
<el-button
size="normal"
type="primary"
icon="el-icon-edit"
@click="handleUpdate(form)"
v-hasPermi="['device:deviceInfo:edit']"
>修改</el-button>
<el-button
size="normal"
type="primary"
icon="el-icon-delete"
@click="handleDelete(form)"
v-hasPermi="['device:deviceInfo:remove']"
>删除</el-button>
<el-button size="normal" type="primary" icon="el-icon-edit" @click="handleUpdate(form)"
v-hasPermi="['device:deviceInfo:edit']">修改</el-button>
<el-button size="normal" type="primary" icon="el-icon-delete" @click="handleDelete(form)"
v-hasPermi="['device:deviceInfo:remove']">删除</el-button>
<el-dialog :title="title" :visible.sync="open" append-to-body @close="cancel">
<el-form ref="editForm" :model="editForm" :rules="rules" label-width="135px">
<el-col :span="11">
<el-form-item label="所属管道" prop="pipeId">
<el-select v-model="editForm.pipeId" placeholder="请选择所属管道" filterable style="width: 100%" >
<el-option
v-for="item in options"
:key="item.pipeId"
:label="item.pipeName"
:value="item.pipeId"
>
<el-select v-model="editForm.pipeId" placeholder="请选择所属管道" filterable style="width: 100%">
<el-option v-for="item in options" :key="item.pipeId" :label="item.pipeName" :value="item.pipeId">
</el-option>
</el-select>
</el-form-item>
......@@ -130,32 +121,22 @@
<el-col :span="11">
<el-form-item label="设备类型" prop="deviceType">
<el-select v-model="editForm.deviceType" placeholder="请选择设备类型" filterable style="width: 100%" >
<el-option
v-for="dict in typeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
<el-select v-model="editForm.deviceType" placeholder="请选择设备类型" filterable style="width: 100%">
<el-option v-for="dict in typeOptions" :key="dict.dictValue" :label="dict.dictLabel"
:value="dict.dictValue"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="设备名称" prop="deviceName">
<el-input
v-model="editForm.deviceName"
placeholder="请输入设备名称"
/>
<el-input v-model="editForm.deviceName" placeholder="请输入设备名称" />
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item label="设备型号" prop="deviceModel">
<el-input
v-model="editForm.deviceModel"
placeholder="请输入设备型号"
/>
<el-input v-model="editForm.deviceModel" placeholder="请输入设备型号" />
</el-form-item>
</el-col>
......@@ -178,7 +159,7 @@
<el-input v-model.number="editForm.longitude" placeholder="请输入经度" />
</el-col>
<el-col :span="8" style="margin-left: 10px">
<el-input v-model.number="editForm.latitude" placeholder="请输入纬度"/>
<el-input v-model.number="editForm.latitude" placeholder="请输入纬度" />
</el-col>
<el-col :span="5" style="margin-left: 10px">
<el-button type="primary" plain @click="MapdialogFun">选择经纬度</el-button>
......@@ -195,23 +176,13 @@
<el-col :span="12">
<el-form-item label="联系电话" prop="phone">
<el-input
type="number"
maxlength="12"
v-model="editForm.phone"
placeholder="请输入联系电话"
/>
<el-input type="number" maxlength="12" v-model="editForm.phone" placeholder="请输入联系电话" />
</el-form-item>
</el-col>
<el-col>
<el-form-item label="设备图片上传" prop="iconUrl">
<MyFileUpload
listType="picture-card"
@resFun="getFileInfo"
@remove="listRemove"
:fileArr="fileList"
/>
<MyFileUpload listType="picture-card" @resFun="getFileInfo" @remove="listRemove" :fileArr="fileList" />
<el-input v-show="false" disabled v-model="editForm.iconUrl"></el-input>
</el-form-item>
</el-col>
......@@ -219,12 +190,8 @@
<el-col>
<el-form-item label="安装日期" prop="installationTime">
<el-col :span="11">
<el-date-picker clearable size="small"
style="width: 100%"
v-model="editForm.installationTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择安装日期">
<el-date-picker clearable size="small" style="width: 100%" v-model="editForm.installationTime"
type="date" value-format="yyyy-MM-dd" placeholder="请选择安装日期">
</el-date-picker>
</el-col>
</el-form-item>
......@@ -242,14 +209,8 @@
</div>
</el-dialog>
<Mapdialog
v-if="loadmap"
:dialogTableVisible="dialogTableVisible"
@dialogcancelFun="dialogcancelFun"
:slat="editForm.latitude"
:slng="editForm.longitude"
@confirmFun="confirmFun($event)"
></Mapdialog>
<Mapdialog v-if="loadmap" :dialogTableVisible="dialogTableVisible" @dialogcancelFun="dialogcancelFun"
:slat="editForm.latitude" :slng="editForm.longitude" @confirmFun="confirmFun($event)"></Mapdialog>
</div>
</div>
</div>
......@@ -286,7 +247,7 @@
// 设备类型字典
typeOptions: [],
// 表单参数
form: { },
form: {},
editForm: {},
// 表单校验
rules: {
......@@ -330,25 +291,29 @@
created() {
// 如果是跳转来的,则接受初始化参数
this.deviceId = this.$route.query.deviceId;
this.getDetail();
this.getDicts("t_device_type").then(response => {
this.typeOptions = response.data;
});
},
mounted(){
let gaoMap = new gaodeMap("石家庄");
this.gaoMap = gaoMap;
mounted() {
this.getDetail();
// let gaoMap = new gaodeMap("石家庄");
// this.gaoMap = gaoMap;
},
methods: {
getDetail (){
getDeviceInfo(this.deviceId).then(response =>{
getDetail() {
getDeviceInfo(this.deviceId).then(response => {
this.form = response.data;
console.log(this.form,"this.form")
this.gaoMap.resetMapCenter([this.form.longitude, this.form.latitude]);
console.log(this.form, "this.form")
const obj =this.form;
// this.gaoMap.resetMapCenter([this.form.longitude, this.form.latitude]);let obj = this.form.deviceList[0];
let gaoMap = new gaodeMap("石家庄", [obj.longitude, obj.latitude]);
this.gaoMap = gaoMap;
this.gaoMap.addMarker(DEVICE_TYPE.WORKORDER, this.form)
});
},
getFileInfo(res){
getFileInfo(res) {
this.editForm.iconUrl = res.url;
},
listRemove(e) {
......@@ -427,10 +392,14 @@
width: 100%;
margin: 20px 0;
}
.feedbackTime-div{
float: left;margin-left: 150px;margin-top: 10px;
.feedbackTime-div {
float: left;
margin-left: 150px;
margin-top: 10px;
}
.feedbackTime{
.feedbackTime {
height: 120px;
width: 120px;
float: left;
......@@ -441,19 +410,24 @@
justify-content: center;
align-items: center;
}
.el-card__body {
padding: 5px 20px 20px 20px;
}
.detail .el-form{
.detail .el-form {
width: 20%;
}
.detail .el-form-item{
.detail .el-form-item {
margin-bottom: 0px;
}
.avatar-uploader{
.avatar-uploader {
width: 25%;
float: left;
}
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
......@@ -461,9 +435,11 @@
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
......@@ -472,12 +448,14 @@
line-height: 178px;
text-align: center;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
li{
li {
font-size: 15px;
font-weight: 900;
}
......
......@@ -6,14 +6,17 @@
<div style="height: 45px;" @click="$router.go(-1)">
<el-button size="medium" type="text" style="font-size: 18px; color: rgb(7, 63, 112);float: left;">返回
</el-button>
<div style="float: left;margin-top: 8px;margin-left: 5px;"><img src="../../../assets/logo/fanhui.png" style="width: 25px;" alt=""></div>
<div style="float: left;margin-top: 8px;margin-left: 5px;"><img src="../../../assets/logo/fanhui.png"
style="width: 25px;" alt=""></div>
</div>
</el-col>
</el-row>
<el-row style="width: 100%;height: 45px;">
<el-col :span="24">
<div style="">
<ul><li style="list-style: none;font-weight: 900;font-size: 20px;color: #053b6a;">管道管理详情</li></ul>
<ul>
<li style="list-style: none;font-weight: 900;font-size: 20px;color: #053b6a;">管道管理详情</li>
</ul>
</div>
</el-col>
</el-row>
......@@ -22,7 +25,9 @@
<el-row style="width: 100%;">
<el-col :span="24">
<div style="color: #31EAEA;height: 25px;">
<ul><li>详细信息</li></ul>
<ul>
<li>详细信息</li>
</ul>
</div>
</el-col>
</el-row>
......@@ -70,27 +75,18 @@
</el-form>
</el-col>
<el-col :span="11">
<div id="marbox" style="width: 100%;height: 390px;margin-top: -35px; border: 1px solid rgb(218, 213, 213);margin-bottom: 10px;">
<div id="marbox"
style="width: 100%;height: 390px;margin-top: -35px; border: 1px solid rgb(218, 213, 213);margin-bottom: 10px;">
<div style="width: 100%;height: 100%" id="container"></div>
</div>
</el-col>
</el-row>
<div class="" style="width: 95%; height: 60px;margin-left: 50px;text-align: center;">
<el-button
size="normal"
type="primary"
icon="el-icon-edit"
@click="handleUpdate(form)"
v-hasPermi="['device:pipe:edit']"
>修改</el-button>
<el-button
size="normal"
type="primary"
icon="el-icon-delete"
@click="handleDelete(form)"
v-hasPermi="['device:pipe:remove']"
>删除</el-button>
<el-button size="normal" type="primary" icon="el-icon-edit" @click="handleUpdate(form)"
v-hasPermi="['device:pipe:edit']">修改</el-button>
<el-button size="normal" type="primary" icon="el-icon-delete" @click="handleDelete(form)"
v-hasPermi="['device:pipe:remove']">删除</el-button>
<!-- 添加或修改管道信息对话框 -->
......@@ -109,10 +105,7 @@
<el-col :span="12">
<el-form-item label="管道长度" prop="pipeLength">
<el-input type="number" min="0" v-model="editForm.pipeLength" placeholder="请输入管道长度">
<i
slot="suffix"
style="color: #000; font-style: normal; margin-right: 10px"
></i>
<i slot="suffix" style="color: #000; font-style: normal; margin-right: 10px"></i>
</el-input>
</el-form-item>
</el-col>
......@@ -153,24 +146,15 @@
</el-col>
<el-col>
<el-form-item label="管道图片上传" prop="iconUrl">
<MyFileUpload
listType="picture-card"
@resFun="getFileInfo"
@remove="listRemove"
:fileArr="fileList"
/>
<MyFileUpload listType="picture-card" @resFun="getFileInfo" @remove="listRemove" :fileArr="fileList" />
<el-input v-show="false" disabled v-model="editForm.iconUrl"></el-input>
</el-form-item>
</el-col>
<el-col>
<el-form-item label="安装日期" prop="installationTime">
<el-col :span="11">
<el-date-picker clearable size="small"
style="width: 100%"
v-model="editForm.installationTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择安装日期">
<el-date-picker clearable size="small" style="width: 100%" v-model="editForm.installationTime"
type="date" value-format="yyyy-MM-dd" placeholder="请选择安装日期">
</el-date-picker>
</el-col>
</el-form-item>
......@@ -187,13 +171,8 @@
</div>
</el-dialog>
<Mapdialog
v-if="loadmap"
:dialogTableVisible="dialogTableVisible"
@dialogcancelFun="dialogcancelFun"
@confirmFun="confirmFun($event)"
:str="str"
></Mapdialog>
<Mapdialog v-if="loadmap" :dialogTableVisible="dialogTableVisible" @dialogcancelFun="dialogcancelFun"
@confirmFun="confirmFun($event)" :str="str"></Mapdialog>
</div>
</div>
......@@ -269,6 +248,9 @@
created() {
// 如果是跳转来的,则接受初始化参数
this.pipeId = this.$route.query.pipeId;
},
mounted() {
this.getDetail();
this.getDicts("t_pipe_type").then(response => {
this.typeOptions = response.data;
......@@ -276,19 +258,22 @@
this.getDicts("t_pipe_pressure").then(response => {
this.pressureOptions = response.data;
});
},
mounted(){
let gaoMap = new gaodeMap("石家庄");
this.gaoMap = gaoMap;
},
methods: {
getDetail (){
getPipe(this.pipeId).then(response =>{
getDetail() {
getPipe(this.pipeId).then(response => {
this.form = response.data;
const { coordinates } = this.form;
const path1 = eval(coordinates)[0];
const path2 = eval(coordinates)[1];
const path3 = [(Number(path1[0]) + Number(path2[0])) / 2, (Number(path1[1]) + Number(path2[1])) / 2];
let gaoMap = new gaodeMap("石家庄", path3);
this.gaoMap = gaoMap;
this.gaoMap.onlyLine(this.form);
});
},
getFileInfo(res){
getFileInfo(res) {
this.editForm.iconUrl = res.url;
},
listRemove(e) {
......@@ -321,7 +306,7 @@
url: this.editForm.iconUrl,
});
}
if(this.editForm.coordinates){
if (this.editForm.coordinates) {
this.str = this.editForm.coordinates;
}
this.open = true;
......@@ -345,7 +330,7 @@
handleDelete(res) {
res.isDel = "1";
var devices = " ";
for(var i = 0; i < res.deviceInfoList.length; i++){
for (var i = 0; i < res.deviceInfoList.length; i++) {
var obj = res.deviceInfoList[i];
devices = devices + obj.deviceName + " ";
}
......@@ -371,10 +356,14 @@
width: 100%;
margin: 20px 0;
}
.feedbackTime-div{
float: left;margin-left: 150px;margin-top: 10px;
.feedbackTime-div {
float: left;
margin-left: 150px;
margin-top: 10px;
}
.feedbackTime{
.feedbackTime {
height: 120px;
width: 120px;
float: left;
......@@ -385,19 +374,24 @@
justify-content: center;
align-items: center;
}
.el-card__body {
padding: 5px 20px 20px 20px;
}
.detail .el-form{
.detail .el-form {
width: 20%;
}
.detail .el-form-item{
.detail .el-form-item {
margin-bottom: 0px;
}
.avatar-uploader{
.avatar-uploader {
width: 25%;
float: left;
}
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
......@@ -405,9 +399,11 @@
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
......@@ -416,12 +412,14 @@
line-height: 178px;
text-align: center;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
li{
li {
font-size: 15px;
font-weight: 900;
}
......
......@@ -7,14 +7,17 @@
<div style="height: 45px;" @click="$router.go(-1)">
<el-button size="medium" type="text" style="font-size: 18px; color: rgb(7, 63, 112);float: left;">返回
</el-button>
<div style="float: left;margin-top: 8px;margin-left: 5px;"><img src="../../../assets/logo/fanhui.png" style="width: 25px;" alt=""></div>
<div style="float: left;margin-top: 8px;margin-left: 5px;"><img src="../../../assets/logo/fanhui.png"
style="width: 25px;" alt=""></div>
</div>
</el-col>
</el-row>
<el-row style="width: 100%;height: 45px;">
<el-col :span="24">
<div style="">
<ul><li style="list-style: none;font-weight: 900;font-size: 20px;color: #053b6a;">设备巡检详情</li></ul>
<ul>
<li style="list-style: none;font-weight: 900;font-size: 20px;color: #053b6a;">设备巡检详情</li>
</ul>
</div>
</el-col>
</el-row>
......@@ -23,7 +26,9 @@
<el-row style="width: 100%;">
<el-col :span="24">
<div style="color: #31EAEA;height: 25px;">
<ul><li>详细信息</li></ul>
<ul>
<li>详细信息</li>
</ul>
</div>
</el-col>
</el-row>
......@@ -31,7 +36,8 @@
<el-row style="width: 100%;padding: 10px;padding-left: 40px;">
<el-col :span="12">
<el-col :span="12">
<el-form ref="form" v-model="form" :rules="rules" label-width="100px" style="width: 100%;margin-left: 25px;margin-bottom: 25px;">
<el-form ref="form" v-model="form" :rules="rules" label-width="100px"
style="width: 100%;margin-left: 25px;margin-bottom: 25px;">
<el-form-item label="计划名称:" prop="planName">
<font>{{form.planName}}</font>
</el-form-item>
......@@ -69,7 +75,7 @@
<span v-if="scope.row.dealStatus == 3">未处理完成</span>
</template>
</el-table-column>
<el-table-column label="是否存在隐患" align="center" prop="isHiddenDanger" >
<el-table-column label="是否存在隐患" align="center" prop="isHiddenDanger">
<template slot-scope="scope">
<span v-if="scope.row.isHiddenDanger == null || scope.row.isHiddenDanger == ''">-</span>
<span v-if="scope.row.isHiddenDanger == 1"></span>
......@@ -92,7 +98,9 @@
<el-divider></el-divider>
<el-col :span="24">
<div style="color: #31EAEA;width: 100%;height: 40px;">
<ul><li>接单信息</li></ul>
<ul>
<li>接单信息</li>
</ul>
</div>
</el-col>
<el-col :span="5" style="margin-left: 50px;">
......@@ -126,68 +134,39 @@
</div>
<el-divider></el-divider>
<div class="" style="width: 95%; height: 60px;margin-left: 50px;text-align: center;" v-if="form.planStatus == 0">
<el-button
size="normal"
type="primary"
icon="el-icon-edit"
@click="handleIssue(form.planId)"
v-hasPermi="['workOrder:basicsInfo:add']"
>生成工单
<el-button size="normal" type="primary" icon="el-icon-edit" @click="handleIssue(form.planId)"
v-hasPermi="['workOrder:basicsInfo:add']">生成工单
</el-button>
<el-button
size="normal"
type="primary"
icon="el-icon-edit"
@click="handleUpdate(form.planId)"
v-hasPermi="['deviceInspection:inspectionPlan:edit']"
>修改
<el-button size="normal" type="primary" icon="el-icon-edit" @click="handleUpdate(form.planId)"
v-hasPermi="['deviceInspection:inspectionPlan:edit']">修改
</el-button>
<el-button
size="normal"
type="primary"
icon="el-icon-delete"
@click="handleIsDel(form)"
v-hasPermi="['deviceInspection:inspectionPlan:edit']"
>作废
<el-button size="normal" type="primary" icon="el-icon-delete" @click="handleIsDel(form)"
v-hasPermi="['deviceInspection:inspectionPlan:edit']">作废
</el-button>
<el-dialog :title="title1" :visible.sync="open1" width="800px" append-to-body @close="cancel">
<el-form ref="form1" :model="form1" :rules="rules1" label-width="120px">
<el-form-item label="巡检计划名称" prop="planName">
<el-input v-model="form1.planName" placeholder="请输入巡检计划名称"/>
<el-input v-model="form1.planName" placeholder="请输入巡检计划名称" />
</el-form-item>
<el-form-item label="巡检设备" prop="devices">
<el-cascader
v-model="form1.devices"
:options="options"
:props="props"
:show-all-levels="false"
@change="handleChange"
filterable
clearable
style="width: 640px"
></el-cascader>
<el-cascader v-model="form1.devices" :options="options" :props="props" :show-all-levels="false"
@change="handleChange" filterable clearable style="width: 640px"></el-cascader>
</el-form-item>
<el-form-item label="开始时间" prop="startTime">
<el-date-picker clearable size="small"
v-model="form1.startTime"
type="date"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择开始时间">
<el-date-picker clearable size="small" v-model="form1.startTime" type="date"
value-format="yyyy-MM-dd HH:mm:ss" placeholder="选择开始时间">
</el-date-picker>
</el-form-item>
<el-form-item label="结束时间" prop="endTime">
<el-date-picker clearable size="small"
v-model="form1.endTime"
type="date"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择结束时间">
<el-date-picker clearable size="small" v-model="form1.endTime" type="date"
value-format="yyyy-MM-dd HH:mm:ss" placeholder="选择结束时间">
</el-date-picker>
</el-form-item>
<el-form-item label="地址" prop="address">
<el-input v-model="form1.address" type="textarea" placeholder="请输入地址"/>
<el-input v-model="form1.address" type="textarea" placeholder="请输入地址" />
</el-form-item>
<el-form-item label="计划描述" prop="remarks">
<el-input type="textarea" v-model="form1.remarks" placeholder="请输入计划描述"/>
<el-input type="textarea" v-model="form1.remarks" placeholder="请输入计划描述" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
......@@ -211,13 +190,9 @@
<el-input v-model="form2.orderName" placeholder="请输入工单名称" />
</el-form-item>
<el-form-item label="指定执行人员" prop="appointInspector">
<el-select v-model="form2.appointInspector" placeholder="请选择执行人员" clearable size="small" >
<el-option
v-for="item in inspector"
:key="item.userId"
:label="item.nickName"
:value="item.userId"
></el-option>
<el-select v-model="form2.appointInspector" placeholder="请选择执行人员" clearable size="small">
<el-option v-for="item in inspector" :key="item.userId" :label="item.nickName" :value="item.userId">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="工单描述" prop="remarks">
......@@ -232,19 +207,19 @@
</div>
</div>
</div>
</template>
</template>
<script>
<script>
import { listInspectionPlan, getInspectionPlan, addInspectionPlan, updateInspectionPlan } from "@/api/deviceInspection/inspectionPlan";
import { addBasicsInfo } from "@/api/workOrder/basicsInfo";
import gaodeMap from "utils/gaodeMap.js";
import { DEVICE_TYPE} from "utils/gaodeMap.js";
import { DEVICE_TYPE } from "utils/gaodeMap.js";
import { inspectorList } from "@/api/system/user";
import { deviceTree } from "@/api/device/deviceInfo";
import { deviceNodeTree } from "@/api/device/deviceInfo";
export default {
export default {
name: "InspectionPlanDetail",
components: {
},
......@@ -314,7 +289,7 @@ export default {
// 设备级联
options: [],
// 表单参数
form: { },
form: {},
// 表单校验
rules: {
},
......@@ -350,11 +325,11 @@ export default {
// this.user_id = this.$route.query.id; //详细信息页接收参数
this.getList();
this.planId = this.$route.query.planId;
this.getDetail();
// this.getDetail();
},
mounted(){
let gaoMap = new gaodeMap("石家庄");
this.gaoMap = gaoMap;
mounted() {
// let gaoMap = new gaodeMap("石家庄");
// this.gaoMap = gaoMap;
this.getDetail();
},
methods: {
......@@ -370,7 +345,7 @@ export default {
handleChange(value) {
console.log(this.form1.devices);
},
getInspectorList(){
getInspectorList() {
this.loading = true;
inspectorList().then(response => {
this.inspector = response.data;
......@@ -378,29 +353,41 @@ export default {
});
},
/** 获取巡检计划详情 */
getDetail (){
getInspectionPlan(this.planId).then(response =>{
getDetail() {
getInspectionPlan(this.planId).then(response => {
this.form = response.data;
console.log("this.form",this.form)
console.log("this.form", this.form)
this.active = parseInt(response.data.orderStatus) + 1;
if(this.form.deviceList.length>0){
this.gaoMap.resetMapCenter([this.form.deviceList[0].longitude,this.form.deviceList[0].latitude]);
if (this.form.deviceList?.length > 0) {
}
for(var i = 0; i < this.form.deviceList.length; i++){
let obj = this.form.deviceList[i];
// for (var i = 0; i < this.form.deviceList.length; i++) {
let obj = this.form.deviceList[0];
let gaoMap = new gaodeMap("石家庄", [obj.longitude, obj.latitude]);
this.gaoMap = gaoMap;
this.gaoMap.addMarker(DEVICE_TYPE.WORKORDER, obj)
// }
}
for(var i = 0; i < this.form.pipeList.length; i++){
if (this.form.pipeList?.length > 0) {
const { coordinates } = this.form.pipeList[0];
const path1 = eval(coordinates)[0];
const path2 = eval(coordinates)[1];
const path3 = [(Number(path1[0]) + Number(path2[0])) / 2, (Number(path1[1]) + Number(path2[1])) / 2];
let gaoMap = new gaodeMap("石家庄", path3);
this.gaoMap = gaoMap;
for (var i = 0; i < this.form.pipeList.length; i++) {
let obj = this.form.pipeList[i];
this.gaoMap.onlyLine(obj);
}
}
if(this.form.orderType == '1') {
if (this.form.orderType == '1') {
// 获取设备列表树
let data = {
key1:this.form.deviceList,
key2:this.form.pipeList
key1: this.form.deviceList,
key2: this.form.pipeList
};
deviceTree(data).then(response => {
this.deviceOptions[0].childList = response.data;
......@@ -547,8 +534,8 @@ export default {
showDetail(orderId) {
this.$router.push({
path: '/workOrder/detail',
query:{
orderId : orderId
query: {
orderId: orderId
}
}) //带参跳转
},
......@@ -563,21 +550,26 @@ export default {
},
}
}
</script>
<style>
.el-tree-node__content{
</script>
<style>
.el-tree-node__content {
width: 150px;
}
.el-divider--horizontal {
display: block;
height: 1px;
width: 100%;
margin: 20px 0;
}
.feedbackTime-div{
float: left;margin-left: 150px;margin-top: 10px;
.feedbackTime-div {
float: left;
margin-left: 150px;
margin-top: 10px;
}
.feedbackTime{
.feedbackTime {
height: 120px;
width: 120px;
float: left;
......@@ -588,22 +580,28 @@ export default {
justify-content: center;
align-items: center;
}
.el-card__body {
padding: 5px 20px 20px 20px;
}
.detail .el-form{
.detail .el-form {
width: 20%;
}
.detail .el-form-item{
.detail .el-form-item {
margin-bottom: 0px;
}
.el-tree{
.el-tree {
margin-top: 5px;
}
.avatar-uploader{
.avatar-uploader {
width: 25%;
float: left;
}
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
......@@ -611,9 +609,11 @@ export default {
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
......@@ -622,13 +622,15 @@ export default {
line-height: 178px;
text-align: center;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
li{
li {
font-size: 15px;
font-weight: 900;
}
</style>
</style>
\ No newline at end of file
......@@ -7,23 +7,26 @@
<div style="height: 45px;" @click="$router.go(-1)">
<el-button size="medium" type="text" style="font-size: 18px; color: rgb(7, 63, 112);float: left;">返回
</el-button>
<div style="float: left;margin-top: 8px;margin-left: 5px;"><img src="../../../assets/logo/fanhui.png" style="width: 25px;" alt=""></div>
<div style="float: left;margin-top: 8px;margin-left: 5px;"><img src="../../../assets/logo/fanhui.png"
style="width: 25px;" alt=""></div>
</div>
</el-col>
</el-row>
<el-row style="width: 100%;height: 45px;">
<el-col :span="24">
<div style="">
<ul><li style="list-style: none;font-weight: 900;font-size: 20px;color: #053b6a;">工单基础信息详情</li></ul>
<ul>
<li style="list-style: none;font-weight: 900;font-size: 20px;color: #053b6a;">工单基础信息详情</li>
</ul>
</div>
</el-col>
</el-row>
<el-steps :active="active" finish-status="success" simple prop="orderStatus" style="margin-top: 5px">
<el-step title="未接收" ></el-step>
<el-step title="已接收" ></el-step>
<el-step title="未接收"></el-step>
<el-step title="已接收"></el-step>
<!-- <el-step title="进行中" ></el-step>-->
<el-step title="已反馈" ></el-step>
<el-step title="已归档" ></el-step>
<el-step title="已反馈"></el-step>
<el-step title="已归档"></el-step>
</el-steps>
<el-divider></el-divider>
......@@ -33,7 +36,9 @@
<el-row style="width: 100%;">
<el-col :span="24">
<div style="color: #31EAEA;height: 25px;">
<ul><li>详细信息</li></ul>
<ul>
<li>详细信息</li>
</ul>
</div>
</el-col>
</el-row>
......@@ -76,14 +81,8 @@
</el-form-item>
<el-form-item label="设备名称:" prop="deviceName" style="margin-bottom: 0px;">
<font v-if="form.orderType != 1">{{form.deviceName}}</font>
<el-tree
:data="deviceOptions"
:props="defaultProps"
:expand-on-click-node="false"
ref="tree"
@node-click="handleNodeClick"
v-if="form.orderType == 1"
/>
<el-tree :data="deviceOptions" :props="defaultProps" :expand-on-click-node="false" ref="tree"
@node-click="handleNodeClick" v-if="form.orderType == 1" />
</el-form-item>
<el-form-item label="设备位置:" v-if="form.orderType != 1" style="margin-bottom: 0px;">
<font v-if="form.deviceType == 0">{{form.pipeList?form.pipeList[0].pipeAddr:"-"}}</font>
......@@ -113,7 +112,9 @@
<el-row>
<el-col :span="24">
<div style="color: #31EAEA;width: 100%;height: 40px;">
<ul><li>接单信息</li></ul>
<ul>
<li>接单信息</li>
</ul>
</div>
</el-col>
</el-row>
......@@ -139,11 +140,14 @@
<!-- 反馈信息 -->
<div style="width: 100%;font-weight: 600;" v-if="form.feedbackList != null">
<div style="color: #31EAEA;width: 100%;height: 40px;">
<ul><li>反馈信息</li></ul>
<ul>
<li>反馈信息</li>
</ul>
</div>
<div class="block" style="width: 95%;margin-left: 2%;">
<el-timeline ref="timeline">
<el-timeline-item v-for="(activity, index) in form.feedbackList" v-show='index>1?false:true' :key="index" :timestamp="activity.feedbackTime">
<el-timeline-item v-for="(activity, index) in form.feedbackList" v-show='index>1?false:true' :key="index"
:timestamp="activity.feedbackTime">
<el-card>
<el-row>
......@@ -178,13 +182,19 @@
<el-col :span="12">
<div class="feedbackTime-div">
<div class="feedbackTime">
<el-image :src="activity.pictureUrl1" :preview-src-list="[activity.pictureUrl1]" v-if="activity.pictureUrl1 != null && activity.pictureUrl1 != ''" style="width: 90px;"></el-image>
<el-image :src="activity.pictureUrl1" :preview-src-list="[activity.pictureUrl1]"
v-if="activity.pictureUrl1 != null && activity.pictureUrl1 != ''" style="width: 90px;">
</el-image>
</div>
<div class="feedbackTime">
<el-image :src="activity.pictureUrl2" :preview-src-list="[activity.pictureUrl2]" v-if="activity.pictureUrl2 != null && activity.pictureUrl2 != ''" style="width: 90px;"></el-image>
<el-image :src="activity.pictureUrl2" :preview-src-list="[activity.pictureUrl2]"
v-if="activity.pictureUrl2 != null && activity.pictureUrl2 != ''" style="width: 90px;">
</el-image>
</div>
<div class="feedbackTime">
<el-image :src="activity.pictureUrl3" :preview-src-list="[activity.pictureUrl3]" v-if="activity.pictureUrl3 != null && activity.pictureUrl3 != ''" style="width: 90px;"></el-image>
<el-image :src="activity.pictureUrl3" :preview-src-list="[activity.pictureUrl3]"
v-if="activity.pictureUrl3 != null && activity.pictureUrl3 != ''" style="width: 90px;">
</el-image>
</div>
</div>
</el-col>
......@@ -196,7 +206,8 @@
</div>
<div style="width: 95%;position: relative;" @click="changeDisplay(scope)">
<!-- <el-button type="primary"> -->
<i class="el-icon-arrow-down" v-if="isDisplay==false" style="margin-left: 100px;color: #909399;font-size: 14px;">
<i class="el-icon-arrow-down" v-if="isDisplay==false"
style="margin-left: 100px;color: #909399;font-size: 14px;">
<span style="text-decoration:underline">显示全部</span>
</i>
<i class="el-icon-arrow-up" v-else style="color: #909399;font-size: 14px;margin-left: 100px;">
......@@ -207,13 +218,15 @@
</div>
</div>
<!-- 归档信息 -->
<!-- 归档信息 -->
<div v-if="form.orderStatus == 3">
<el-divider></el-divider>
<el-row>
<el-col :span="24">
<div style="color: #31EAEA;width: 100%;height: 40px;">
<ul><li>归档信息</li></ul>
<ul>
<li>归档信息</li>
</ul>
</div>
</el-col>
</el-row>
......@@ -238,22 +251,10 @@
<!-- 归档 -->
<div class="" style="width: 95%; height: 60px;margin-left: 50px;text-align: center;">
<el-button
type="primary"
size="normal"
icon="el-icon-edit"
@click="handleUpdate(form.orderId)"
v-hasPermi="['workOrder:basicsInfo:edit']"
v-if="form.orderStatus == 0"
>修改</el-button>
<el-button
type="primary"
size="normal"
icon="el-icon-edit"
@click="handleFinish(form.orderId)"
v-hasPermi="['workOrder:basicsInfo:editStatus']"
v-if="form.orderStatus == 2"
>归档</el-button>
<el-button type="primary" size="normal" icon="el-icon-edit" @click="handleUpdate(form.orderId)"
v-hasPermi="['workOrder:basicsInfo:edit']" v-if="form.orderStatus == 0">修改</el-button>
<el-button type="primary" size="normal" icon="el-icon-edit" @click="handleFinish(form.orderId)"
v-hasPermi="['workOrder:basicsInfo:editStatus']" v-if="form.orderStatus == 2">归档</el-button>
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<div v-if="this.title == '工单信息修改'">
......@@ -261,13 +262,10 @@
<el-input v-model="form.orderName" placeholder="请输入工单名称" />
</el-form-item>
<el-form-item label="指定执行人员" prop="appointInspector">
<el-select v-model="form.appointInspector" placeholder="请选择执行人员" filterable clearable size="small" @change="setUserId">
<el-option
v-for="item in inspector"
:key="item.userId"
:label="item.nickName"
:value="item.userId"
></el-option>
<el-select v-model="form.appointInspector" placeholder="请选择执行人员" filterable clearable size="small"
@change="setUserId">
<el-option v-for="item in inspector" :key="item.userId" :label="item.nickName" :value="item.userId">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="工单描述" prop="remarks">
......@@ -299,24 +297,24 @@
</div>
</div>
</div>
</template>
</template>
<script>
<script>
import { listBasicsInfo, getBasicsInfo, delBasicsInfo, addBasicsInfo, updateBasicsInfo, updateOrderStatus, exportBasicsInfo } from "@/api/workOrder/basicsInfo";
import { deviceTree } from "@/api/device/deviceInfo";
import gaodeMap from "utils/gaodeMap.js";
import {map, DEVICE_TYPE} from "utils/gaodeMap.js";
import { map, DEVICE_TYPE } from "utils/gaodeMap.js";
import { inspectorList } from "@/api/system/user";
export default {
export default {
name: "BasicsInfo",
components: {
},
data() {
return {
inspector: [],
isDisplay:false,
isDisplay: false,
dialogImageUrl: '',
dialogVisible: false,
disabled: false,
......@@ -344,7 +342,7 @@ export default {
open: false,
// 工单状态字典
typeOptions: [],
pickerOptions:[],
pickerOptions: [],
// 工单类型字典
ordertypeOptions: [],
// 设备树选项
......@@ -377,9 +375,9 @@ export default {
// 表单校验
rules: {
},
active : 0,
orderId : "",
showAndHide : false
active: 0,
orderId: "",
showAndHide: false
};
},
created() {
......@@ -393,15 +391,14 @@ export default {
this.getDicts("t_order_type").then(response => {
this.ordertypeOptions = response.data;
});
this.getBasicsInfo();
// this.getBasicsInfo();
},
mounted(){
let gaoMap = new gaodeMap("石家庄");
this.gaoMap = gaoMap;
mounted() {
this.getBasicsInfo();
},
methods: {
getInspectorList(){
getInspectorList() {
this.loading = true;
inspectorList().then(response => {
this.inspector = response.data;
......@@ -409,19 +406,19 @@ export default {
});
},
// 点击按钮显示隐藏
changeDisplay(e){
changeDisplay(e) {
this.isDisplay = !this.isDisplay
let $timeline = this.$refs.timeline;
if(!this.showAndHide){
for(let i = 0; i< $timeline.$children.length; i++){
if(i>1){
if (!this.showAndHide) {
for (let i = 0; i < $timeline.$children.length; i++) {
if (i > 1) {
$timeline.$children[i].$el.style.display = "block";
}
}
this.showAndHide = true;
}else{
for(let i = 0; i< $timeline.$children.length; i++){
if(i>1){
} else {
for (let i = 0; i < $timeline.$children.length; i++) {
if (i > 1) {
$timeline.$children[i].$el.style.display = "none";
}
}
......@@ -452,32 +449,43 @@ export default {
this.loading = false;
});
},
getBasicsInfo (){
getBasicsInfo(this.orderId).then(response =>{
getBasicsInfo() {
!
getBasicsInfo(this.orderId).then(response => {
this.form = response.data;
console.log(this.form)
this.active = parseInt(response.data.orderStatus) + 1;
if(this.form.deviceInfoList.length>0){
console.log("this.form.deviceInfoList",this.form.deviceInfoList)
this.gaoMap.resetMapCenter([this.form.deviceInfoList[0].longitude,this.form.deviceInfoList[0].latitude]);
}
for(var i = 0; i < this.form.deviceInfoList.length; i++){
if (this.form.deviceInfoList.length > 0) {
console.log("this.form.deviceInfoList", this.form.deviceInfoList)
let gaoMap = new gaodeMap("石家庄", [this.form.deviceInfoList[0].longitude, this.form.deviceInfoList[0].latitude]);
this.gaoMap = gaoMap;
// this.gaoMap.resetMapCenter([this.form.deviceInfoList[0].longitude, this.form.deviceInfoList[0].latitude]);
for (var i = 0; i < this.form.deviceInfoList.length; i++) {
let obj = this.form.deviceInfoList[i];
this.gaoMap.addMarker(DEVICE_TYPE.WORKORDER, obj);
}
if(this.form.pipeList != null){
for(var i = 0; i < this.form.pipeList.length; i++){
}
if (this.form.pipeList != null) {
console.log("this.form.pipeList",this.form.pipeList[0].coordinates)
const {coordinates} = this.form.pipeList[0];
const path1 = eval(coordinates)[0];
const path2 = eval(coordinates)[1];
const path3 = [(Number(path1[0]) + Number(path2[0])) / 2, (Number(path1[1]) + Number(path2[1])) / 2];
let gaoMap = new gaodeMap("石家庄",path3);
this.gaoMap = gaoMap;
for (var i = 0; i < this.form.pipeList.length; i++) {
let obj = this.form.pipeList[i];
this.gaoMap.onlyLine(obj);
}
}
if(this.form.orderType == '1') {
if (this.form.orderType == '1') {
// 获取设备列表树
let data = {
key1:this.form.deviceInfoList,
key2:this.form.pipeList
key1: this.form.deviceInfoList,
key2: this.form.pipeList
};
deviceTree(data).then(response => {
this.deviceOptions[0].childList = response.data;
......@@ -494,7 +502,7 @@ export default {
handleNodeClick(data) {
},
setUserId(val){
setUserId(val) {
this.form.appointInspector = val;
},
// 取消按钮
......@@ -531,7 +539,7 @@ export default {
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.orderId)
this.single = selection.length!==1
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
......@@ -569,7 +577,7 @@ export default {
this.open = false;
location.reload();
});
} else if(this.form.orderStatus == '2'){
} else if (this.form.orderStatus == '2') {
updateOrderStatus(this.form).then(response => {
this.msgSuccess("操作成功");
this.open = false;
......@@ -586,12 +594,12 @@ export default {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
}).then(function () {
return delBasicsInfo(orderIds);
}).then(() => {
this.getList();
this.msgSuccess("删除成功");
}).catch(() => {});
}).catch(() => { });
},
/** 导出按钮操作 */
handleExport() {
......@@ -606,25 +614,30 @@ export default {
}).then(response => {
this.download(response.msg);
this.exportLoading = false;
}).catch(() => {});
}).catch(() => { });
}
}
}
</script>
<style>
.el-tree-node__content{
</script>
<style>
.el-tree-node__content {
width: 150px;
}
.el-divider--horizontal {
display: block;
height: 1px;
width: 100%;
margin: 20px 0;
}
.feedbackTime-div{
float: left;margin-left: 150px;margin-top: 10px;
.feedbackTime-div {
float: left;
margin-left: 150px;
margin-top: 10px;
}
.feedbackTime{
.feedbackTime {
height: 120px;
width: 120px;
float: left;
......@@ -635,17 +648,21 @@ export default {
justify-content: center;
align-items: center;
}
.el-card__body {
padding: 5px 20px 20px 20px;
}
.el-tree{
.el-tree {
margin-top: 5px;
margin-left: 70px;
}
.avatar-uploader{
.avatar-uploader {
width: 25%;
float: left;
}
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
......@@ -653,9 +670,11 @@ export default {
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
......@@ -664,13 +683,15 @@ export default {
line-height: 178px;
text-align: center;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
li{
li {
font-size: 15px;
font-weight: 900;
}
</style>
</style>
\ No newline at end of file
......@@ -276,7 +276,7 @@
import FileUpload from '@/components/FileUpload';
import Cookie from 'js-cookie';
import { deviceTree } from "@/api/device/deviceInfo";
import gaodeMap from "utils/gaodeMap.js";
import c from "utils/gaodeMap.js";
import {map, DEVICE_TYPE} from "utils/gaodeMap.js";
import { inspectorList } from "@/api/system/user";
......
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