Commit 77b24007 authored by yaqizhang's avatar yaqizhang

详情反馈

parents ac52e82e 0dd5c861
package com.zehong.web.controller.deviceInspection;
import java.util.List;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.zehong.common.annotation.Log;
import com.zehong.common.core.controller.BaseController;
import com.zehong.common.core.domain.AjaxResult;
import com.zehong.common.core.page.TableDataInfo;
import com.zehong.common.enums.BusinessType;
import com.zehong.common.utils.poi.ExcelUtil;
import com.zehong.system.domain.TInspectionData;
import com.zehong.system.service.ITInspectionDataService;
import com.zehong.common.utils.poi.ExcelUtil;
import com.zehong.common.core.page.TableDataInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 巡检记录Controller
......@@ -45,6 +39,16 @@ public class TInspectionDataController extends BaseController
return getDataTable(list);
}
/**
* 获取所有巡检记录
* @param tInspectionData
* @return
*/
@GetMapping("/getAllTInspectionInfo")
public AjaxResult getAllTInspectionInfo(TInspectionData tInspectionData){
return AjaxResult.success(tInspectionDataService.selectTInspectionDataList(tInspectionData));
}
/**
* 导出巡检记录列表
*/
......
......@@ -34,6 +34,10 @@ public class TInspectionData extends BaseEntity
@Excel(name = "处理状态", readConverterExp = "1=不需处理,2已处理完成,3未处理完成")
private String dealStatus;
/** 是否存在隐患 */
@Excel(name = "是否存在隐患")
private String isHiddenDanger;
/** 备注 */
@Excel(name = "备注")
private String remarks;
......@@ -47,6 +51,7 @@ public class TInspectionData extends BaseEntity
{
return dataId;
}
public void setPlanId(int planId)
{
this.planId = planId;
......@@ -56,6 +61,7 @@ public class TInspectionData extends BaseEntity
{
return planId;
}
public void setDeviceCode(String deviceCode)
{
this.deviceCode = deviceCode;
......@@ -83,7 +89,16 @@ public class TInspectionData extends BaseEntity
{
return dealStatus;
}
public void setRemarks(String remarks)
public String getIsHiddenDanger() {
return isHiddenDanger;
}
public void setIsHiddenDanger(String isHiddenDanger) {
this.isHiddenDanger = isHiddenDanger;
}
public void setRemarks(String remarks)
{
this.remarks = remarks;
}
......@@ -101,6 +116,7 @@ public class TInspectionData extends BaseEntity
.append("deviceCode", getDeviceCode())
.append("deviceType", getDeviceType())
.append("dealStatus", getDealStatus())
.append("isHiddenDanger", getIsHiddenDanger())
.append("updateTime", getUpdateTime())
.append("createTime", getCreateTime())
.append("remarks", getRemarks())
......
......@@ -57,10 +57,6 @@ public class TOrderFeedback extends BaseEntity
@Excel(name = "图片地址3")
private String pictureUrl3;
/** 备注 */
@Excel(name = "备注")
private String remarks;
public void setFeedbackId(int feedbackId)
{
this.feedbackId = feedbackId;
......@@ -151,15 +147,6 @@ public class TOrderFeedback extends BaseEntity
{
return pictureUrl3;
}
public void setRemarks(String remarks)
{
this.remarks = remarks;
}
public String getRemarks()
{
return remarks;
}
@Override
public String toString() {
......@@ -174,7 +161,6 @@ public class TOrderFeedback extends BaseEntity
.append("pictureUrl1", getPictureUrl1())
.append("pictureUrl2", getPictureUrl2())
.append("pictureUrl3", getPictureUrl3())
.append("remarks", getRemarks())
.toString();
}
}
package com.zehong.system.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zehong.common.annotation.Excel;
import com.zehong.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.Date;
/**
* 工单反馈信息对象 t_order_feedback
*
* @author zehong
* @date 2021-07-19
*/
public class OrderFeedbackVo extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 工单反馈id */
private int feedbackId;
/** 工单id */
private String orderId;
/** 设备编号 */
private String deviceCode;
/** 设备名称 */
private String deviceName;
/** 设备类型 */
private String deviceType;
/** 反馈内容 */
private String contents;
/** 反馈时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date feedbackTime;
/** 是否存在隐患(1是,2否) */
private String isHiddenDanger;
/** 处理状态(1不需处理,2已处理完成,3未处理完成) */
private String dealStatus;
/** 图片地址1 */
private String pictureUrl1;
/** 图片地址2 */
private String pictureUrl2;
/** 图片地址3 */
private String pictureUrl3;
public void setFeedbackId(int feedbackId)
{
this.feedbackId = feedbackId;
}
public int getFeedbackId()
{
return feedbackId;
}
public void setOrderId(String orderId)
{
this.orderId = orderId;
}
public String getOrderId()
{
return orderId;
}
public void setDeviceCode(String deviceCode)
{
this.deviceCode = deviceCode;
}
public String getDeviceCode()
{
return deviceCode;
}
public String getDeviceName() {
return deviceName;
}
public void setDeviceName(String deviceName) {
this.deviceName = deviceName;
}
public String getDeviceType() {
return deviceType;
}
public void setDeviceType(String deviceType) {
this.deviceType = deviceType;
}
public void setContents(String contents)
{
this.contents = contents;
}
public String getContents()
{
return contents;
}
public void setFeedbackTime(Date feedbackTime)
{
this.feedbackTime = feedbackTime;
}
public Date getFeedbackTime()
{
return feedbackTime;
}
public void setIsHiddenDanger(String isHiddenDanger)
{
this.isHiddenDanger = isHiddenDanger;
}
public String getIsHiddenDanger()
{
return isHiddenDanger;
}
public void setDealStatus(String dealStatus)
{
this.dealStatus = dealStatus;
}
public String getDealStatus()
{
return dealStatus;
}
public void setPictureUrl1(String pictureUrl1)
{
this.pictureUrl1 = pictureUrl1;
}
public String getPictureUrl1()
{
return pictureUrl1;
}
public void setPictureUrl2(String pictureUrl2)
{
this.pictureUrl2 = pictureUrl2;
}
public String getPictureUrl2()
{
return pictureUrl2;
}
public void setPictureUrl3(String pictureUrl3)
{
this.pictureUrl3 = pictureUrl3;
}
public String getPictureUrl3()
{
return pictureUrl3;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("feedbackId", getFeedbackId())
.append("orderId", getOrderId())
.append("deviceId", getDeviceCode())
.append("contents", getContents())
.append("feedbackTime", getFeedbackTime())
.append("isHiddenDanger", getIsHiddenDanger())
.append("dealStatus", getDealStatus())
.append("pictureUrl1", getPictureUrl1())
.append("pictureUrl2", getPictureUrl2())
.append("pictureUrl3", getPictureUrl3())
.toString();
}
}
package com.zehong.system.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zehong.common.annotation.Excel;
import com.zehong.common.core.domain.BaseEntity;
import com.zehong.system.domain.TDeviceInfo;
import com.zehong.system.domain.TOrderFeedback;
......@@ -44,7 +43,7 @@ public class WorkOrderVo extends BaseEntity
private List<TDeviceInfo> deviceInfoList;
/** 反馈信息列表 */
private List<TOrderFeedback> feedbackList;
private List<OrderFeedbackVo> feedbackList;
/** 设备数量 */
private int deviceNum;
......@@ -157,11 +156,11 @@ public class WorkOrderVo extends BaseEntity
this.deviceInfoList = deviceInfoList;
}
public List<TOrderFeedback> getFeedbackList() {
public List<OrderFeedbackVo> getFeedbackList() {
return feedbackList;
}
public void setFeedbackList(List<TOrderFeedback> feedbackList) {
public void setFeedbackList(List<OrderFeedbackVo> feedbackList) {
this.feedbackList = feedbackList;
}
......
......@@ -69,6 +69,7 @@ public class TOrderFeedbackServiceImpl implements ITOrderFeedbackService
String deviceCode = tOrderFeedback.getDeviceCode();
String dealStatus = tOrderFeedback.getDealStatus();
String isHiddenDanger = tOrderFeedback.getIsHiddenDanger();
// 根据工单类型和源id修改源数据状态
TWorkOrder order = tWorkOrderMapper.selectTWorkOrderById(tOrderFeedback.getOrderId());
......@@ -77,16 +78,20 @@ public class TOrderFeedbackServiceImpl implements ITOrderFeedbackService
if("1".equals(orderType)){
TInspectionData data = tInspectionDataMapper.selectTInspectionDataByCode(deviceCode);
data.setDealStatus(dealStatus);
data.setIsHiddenDanger(isHiddenDanger);
data.setUpdateTime(DateUtils.getNowDate());
tInspectionDataMapper.updateTInspectionData(data);
} else if("2".equals(orderType)) {
THiddenTrouble trouble = tHiddenTroubleMapper.selectTHiddenTroubleById(order.getResourceId());
trouble.setDealStatus(dealStatus);
trouble.setUpdateTime(DateUtils.getNowDate());
tHiddenTroubleMapper.updateTHiddenTrouble(trouble);
} else if("3".equals(orderType)) {
TDeviceAlarm alarm = tDeviceAlarmMapper.selectTDeviceAlarmById(order.getResourceId());
alarm.setDealStatus(dealStatus);
alarm.setUpdateTime(DateUtils.getNowDate());
tDeviceAlarmMapper.updateTDeviceAlarm(alarm);
}
......
......@@ -7,6 +7,7 @@ import com.zehong.common.core.domain.entity.SysUser;
import com.zehong.common.utils.DateUtils;
import com.zehong.system.domain.*;
import com.zehong.system.domain.form.TWorkOrderForm;
import com.zehong.system.domain.vo.OrderFeedbackVo;
import com.zehong.system.domain.vo.WorkOrderVo;
import com.zehong.system.mapper.*;
import org.springframework.beans.BeanUtils;
......@@ -139,8 +140,31 @@ public class TWorkOrderServiceImpl implements ITWorkOrderService
workOrderVo.setDeviceInfoList(deviceInfoList);
List<TOrderFeedback> feedbackList = tOrderFeedbackMapper.selectTOrderFeedbackByOrderId(tWorkOrder.getOrderId());
List<OrderFeedbackVo> feedbackVoList = new ArrayList<>();
TDeviceInfo device = null;
if(feedbackList.size() != 0) {
workOrderVo.setFeedbackList(feedbackList);
for (TOrderFeedback feedback : feedbackList) {
OrderFeedbackVo feedbackVo = new OrderFeedbackVo();
if (feedback != null) {
BeanUtils.copyProperties(feedback, feedbackVo);
}
device = tDeviceInfoMapper.selectTDeviceInfoByCode(feedback.getDeviceCode());
if (device != null) {
feedbackVo.setDeviceName(device.getDeviceName());
feedbackVo.setDeviceType(device.getDeviceType());
}
if (feedbackVo != null) {
feedbackVoList.add(feedbackVo);
}
}
if (feedbackVoList.size() != 0) {
workOrderVo.setFeedbackList(feedbackVoList);
}
}
return workOrderVo;
......
......@@ -93,7 +93,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectInspectorList" resultMap="SysUserResult">
<include refid="selectUserVo"/>
where u.del_flag = '0' and r.role_id = 102
where u.del_flag = '0' and r.role_key = 'inspector'
</select>
<select id="checkUserNameUnique" parameterType="String" resultType="int">
......
......@@ -9,6 +9,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="planId" column="plan_id" />
<result property="deviceCode" column="device_code" />
<result property="deviceType" column="device_type" />
<result property="isHiddenDanger" column="is_hidden_danger" />
<result property="dealStatus" column="deal_status" />
<result property="updateTime" column="update_time" />
<result property="createTime" column="create_time" />
......@@ -16,7 +17,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectTInspectionDataVo">
select data_id, plan_id, device_code, device_type, deal_status, update_time, create_time, remarks from t_inspection_data
select data_id, plan_id, device_code, device_type, is_hidden_danger, deal_status, update_time, create_time, remarks from t_inspection_data
</sql>
<select id="selectTInspectionDataList" parameterType="TInspectionData" resultMap="TInspectionDataResult">
......@@ -26,6 +27,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="deviceCode != null "> and device_code = #{deviceCode}</if>
<if test="deviceType != null "> and device_type = #{deviceType}</if>
<if test="dealStatus != null and dealStatus != ''"> and deal_status = #{dealStatus}</if>
<if test="isHiddenDanger != null and isHiddenDanger != ''"> and is_hidden_danger = #{isHiddenDanger}</if>
<if test="remarks != null and remarks != ''"> and remarks = #{remarks}</if>
</where>
</select>
......@@ -53,6 +55,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="planId != null">plan_id,</if>
<if test="deviceCode != null">device_code,</if>
<if test="deviceType != null">device_type,</if>
<if test="isHiddenDanger != null">is_hidden_danger,</if>
<if test="dealStatus != null">deal_status,</if>
<if test="updateTime != null">update_time,</if>
<if test="createTime != null">create_time,</if>
......@@ -63,6 +66,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="planId != null">#{planId},</if>
<if test="deviceCode != null">#{deviceCode},</if>
<if test="deviceType != null">#{deviceType},</if>
<if test="isHiddenDanger != null">#{isHiddenDanger},</if>
<if test="dealStatus != null">#{dealStatus},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="createTime != null">#{createTime},</if>
......@@ -76,6 +80,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="planId != null">plan_id = #{planId},</if>
<if test="deviceCode != null">device_code = #{deviceCode},</if>
<if test="deviceType != null">device_type = #{deviceType},</if>
<if test="isHiddenDanger != null">is_hidden_danger = #{isHiddenDanger},</if>
<if test="dealStatus != null">deal_status = #{dealStatus},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="createTime != null">create_time = #{createTime},</if>
......
......@@ -15,11 +15,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="pictureUrl1" column="picture_url_1" />
<result property="pictureUrl2" column="picture_url_2" />
<result property="pictureUrl3" column="picture_url_3" />
<result property="remarks" column="remarks" />
</resultMap>
<sql id="selectTOrderFeedbackVo">
select feedback_id, order_id, device_code, contents, feedback_time, is_hidden_danger, deal_status, picture_url_1, picture_url_2, picture_url_3, remarks from t_order_feedback
select feedback_id, order_id, device_code, contents, feedback_time, is_hidden_danger, deal_status, picture_url_1, picture_url_2, picture_url_3 from t_order_feedback
</sql>
<select id="selectTOrderFeedbackList" parameterType="TOrderFeedback" resultMap="TOrderFeedbackResult">
......@@ -34,7 +33,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="pictureUrl1 != null and pictureUrl1 != ''"> and picture_url_1 = #{pictureUrl1}</if>
<if test="pictureUrl2 != null and pictureUrl2 != ''"> and picture_url_2 = #{pictureUrl2}</if>
<if test="pictureUrl3 != null and pictureUrl3 != ''"> and picture_url_3 = #{pictureUrl3}</if>
<if test="remarks != null and remarks != ''"> and remarks = #{remarks}</if>
</where>
</select>
......@@ -61,7 +59,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="pictureUrl1 != null">picture_url_1,</if>
<if test="pictureUrl2 != null">picture_url_2,</if>
<if test="pictureUrl3 != null">picture_url_3,</if>
<if test="remarks != null">remarks,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="orderId != null">#{orderId},</if>
......@@ -73,7 +70,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="pictureUrl1 != null">#{pictureUrl1},</if>
<if test="pictureUrl2 != null">#{pictureUrl2},</if>
<if test="pictureUrl3 != null">#{pictureUrl3},</if>
<if test="remarks != null">#{remarks},</if>
</trim>
</insert>
......@@ -89,7 +85,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="pictureUrl1 != null">picture_url_1 = #{pictureUrl1},</if>
<if test="pictureUrl2 != null">picture_url_2 = #{pictureUrl2},</if>
<if test="pictureUrl3 != null">picture_url_3 = #{pictureUrl3},</if>
<if test="remarks != null">remarks = #{remarks},</if>
</trim>
where feedback_id = #{feedbackId}
</update>
......
......@@ -9,6 +9,15 @@ export function listInspectionData(query) {
})
}
// 查询所有巡检记录不分页
export function getAllTInspectionInfo(query) {
return request({
url: '/deviceInspection/inspectionData/getAllTInspectionInfo',
method: 'get',
params: query
})
}
// 查询巡检记录详细
export function getInspectionData(dataId) {
return request({
......
<template>
<div>
<div style="width: 100vw; height: 100vh" id="container"></div>
<div class="btn-wrapper">
<div class="myBtn">
<div
class="el-btn"
:class="{ active: targetNum == 1 }"
@click.stop="addDevice"
>
<template v-if="iconClass == 'icon-create'">
<span class="left">
<i class="iconfont" :class="iconClass" />
</span>
<span class="right">{{ createLabel }}</span>
</template>
<template v-else>
<span class="newLetf">{{ createLabel }}</span>
<span class="newRight">
<i class="iconfont" :class="iconClass" />
</span>
</template>
</div>
<div
class="el-btn"
:class="{ active: targetNum == 2 }"
@click.stop="editDevice"
>
<span class="left">
<i class="iconfont icon-compile" />
</span>
<span class="right">编辑</span>
</div>
<div
class="el-btn"
:class="{ active: targetNum == 3 }"
@click.stop="deleteDevice"
>
<span class="left">
<i class="iconfont icon-delete" />
</span>
<span class="right">删除</span>
</div>
</div>
<div class="animate">
<el-collapse-transition>
<div v-show="deviceType">
<div v-for="item in changeBtnData" :key="item.value" class="option">
<div
class="op-btn"
:class="{ active: item.value == createValue }"
@click.stop="createChange($event, item)"
>
<span class="left">
<i class="iconfont" :class="item.icon" />
</span>
<span class="right">{{ item.label }}</span>
</div>
</div>
</div>
</el-collapse-transition>
</div>
</div>
<el-input
v-model="keyWord"
placeholder="点击输入"
id="tipinput"
class="search-input"
/>
<el-button icon="el-icon-search" class="search-but" @click="search()"
>搜索</el-button
>
<el-button icon="el-icon-refresh" class="refresh-but" @click="refreshMap()"
>重置</el-button
>
<div class="leftBar-wrapper">
<div
v-for="item in changeBtnData"
:key="item.value"
class="box"
:class="{ active: leftBarNum.indexOf(item.value) >= 0 }"
@click="leftBarChange(item)"
>
<div class="left">
<i class="iconfont" :class="item.icon"></i>
</div>
<div class="right">
{{ item.label }}
</div>
<i class="el-icon-check"></i>
</div>
</div>
</div>
</template>
<script>
import gaodeMap from "utils/gaodeMap.js";
import { pipeAllInfoList } from "@/api/device/pipe.js";
import { map, DEVICE_TYPE, mapOperateType } from "utils/gaodeMap.js";
import { getAllDeviceInfo } from "@/api/device/deviceInfo";
export default {
data() {
return {
gaoMap: null,
deviceType: false,
value: "",
operateType: "",
radio1: "",
// 1新建,2编辑,3删除,点按钮变色
targetNum: 0,
// 左边的bar的active判定
leftBarNum: [1, 2, 3, 4, 7],
// 新建里的值
iconClass: "icon-create",
createValue: 0,
createLabel: "新增",
changeBtnData: [
{
value: 1,
icon: "icon-gd",
label: "管道",
},
{
value: 2,
icon: "icon-tyx",
label: "调压箱",
},
{
value: 3,
icon: "icon-fmj",
label: "阀门井",
},
{
value: 4,
icon: "icon-llj",
label: "流量计",
},
{
value: 7,
icon: "icon-ylb",
label: "压力表",
},
],
keyWord: "",
};
},
mounted() {
this.initMap();
},
methods: {
initMap() {
let gaoMap = new gaodeMap("石家庄");
this.gaoMap = gaoMap;
window.addEventListener("click", this.barClose);
gaoMap.addMouseTool();
gaoMap.searchTips("tipinput");
this.getDeviceInfo();
this.getPipeList();
},
// 左边的Bar修改值
leftBarChange(item) {
// this.leftBarNum= this.leftBarNum != item.value ? item.value:0;
const index = this.leftBarNum.indexOf(item.value);
if (index >= 0) {
this.leftBarNum.splice(index, 1);
} else {
this.leftBarNum.push(item.value);
}
// 1,2,3,4,7分别对应数据库type5,1,2,3,4
console.log(this.leftBarNum);
if (this.leftBarNum.includes(1)) {
this.gaoMap.lineShow(true);
} else {
this.gaoMap.lineShow(false);
}
// console.log("marks",this.gaoMap.markers)
// this.gaoMap.markerShow();
if (this.leftBarNum.includes(2)) {
this.gaoMap.markerShow(1, true);
} else {
this.gaoMap.markerShow(1, false);
}
if (this.leftBarNum.includes(3)) {
this.gaoMap.markerShow(2, true);
} else {
this.gaoMap.markerShow(2, false);
}
if (this.leftBarNum.includes(4)) {
this.gaoMap.markerShow(3, true);
} else {
this.gaoMap.markerShow(3, false);
}
if (this.leftBarNum.includes(7)) {
this.gaoMap.markerShow(4, true);
} else {
this.gaoMap.markerShow(4, false);
}
},
addDevice() {
if (this.iconClass == "icon-create") {
this.targetNum = this.targetNum != 1 ? 1 : 0;
} else {
if (this.deviceType) {
this.targetNum = 0;
this.createReset();
this.gaoMap.newLineReset();
}
}
if (this.targetNum == 1 && this.createValue == 1) {
this.gaoMap.lineType = 1;
} else {
this.gaoMap.lineType = 0;
this.gaoMap.mouseTool.close();
}
// 关闭当前的infowindow
this.gaoMap.closeInfoWindow();
this.deviceType = !this.deviceType;
this.gaoMap.mapOperateType = "add";
this.gaoMap.removeMarkerDragg();
},
// 选择新建项目哪个
createChange(e, item) {
// e.stopPropagation();
this.deviceType = false;
this.iconClass = item.icon;
this.createValue = item.value;
this.createLabel = item.label;
if (this.targetNum == 1 && this.createValue == 1) {
// 0是初始,1是新建 2是编辑 3删除
this.gaoMap.lineType = 1;
if (this.gaoMap.newLineObj == null) {
this.gaoMap.createNewLine();
}
} else {
// 如果不是管道,就归位
this.gaoMap.lineType = 0;
// 如果不是管道了,把之前的管道清空
this.gaoMap.newLineReset();
// this.createReset();
// 其他
this.gaoMap.draw(this.createValue.toString());
}
// 清空所有正在编辑状态的线
this.gaoMap.linePolyEditorAllClose();
},
// 新建按钮还原
createReset() {
this.iconClass = "icon-create";
this.createValue = 0;
this.createLabel = "新建";
this.gaoMap.closeAddMarker();
},
editDevice() {
this.targetNum = this.targetNum != 2 ? 2 : 0;
this.gaoMap.lineType = this.targetNum;
if (this.targetNum != 2) {
this.gaoMap.linePolyEditorAllClose();
this.gaoMap.removeMarkerDragg();
this.gaoMap.mapOperateType = "normal";
} else {
// 如果正在新建线条,则清空
this.gaoMap.newLineReset();
this.deviceType = false;
this.gaoMap.mapOperateType = "edit";
this.gaoMap.addMarkerDragg();
// this.gaoMap.placeSearch.clear();
this.gaoMap.closeAddMarker();
}
// 关闭当前的infowindow
this.gaoMap.closeInfoWindow();
this.createReset();
},
deleteDevice() {
this.targetNum = this.targetNum != 3 ? 3 : 0;
this.gaoMap.lineType = this.targetNum;
if (this.targetNum != 3) {
this.gaoMap.removeMarkerDragg();
this.gaoMap.mapOperateType = "normal";
} else {
// 如果正在新建线条,则清空
this.gaoMap.newLineReset();
// 清空所有正在编辑状态的线
this.gaoMap.linePolyEditorAllClose();
this.deviceType = false;
this.gaoMap.mapOperateType = "delete";
this.gaoMap.removeMarkerDragg();
//this.gaoMap.placeSearch.clear();
this.gaoMap.closeAddMarker();
}
// 关闭当前的infowindow
this.gaoMap.closeInfoWindow();
this.createReset();
},
selectDeviceType(val) {
// if("add" == this.operationType){
this.gaoMap.draw(val);
// }
this.deviceType = false;
this.value = "";
// 如果选择的是新建管道
if (val == 1) {
this.gaoMap.lineType = 1;
this.gaoMap.createNewLine();
}
},
getDeviceInfo(queryParams) {
this.loading = true;
getAllDeviceInfo(queryParams).then((response) => {
if (response.code == 200) {
for (var i = 0; i < response.data.length; i++) {
if ("1" == response.data[i].deviceType) {
this.gaoMap.addMarker(
DEVICE_TYPE.REGEULATORBOX,
response.data[i]
);
}
if ("2" == response.data[i].deviceType) {
this.gaoMap.addMarker(DEVICE_TYPE.VALUEWELL, response.data[i]);
}
if ("3" == response.data[i].deviceType) {
this.gaoMap.addMarker(DEVICE_TYPE.FLOWMETER, response.data[i]);
}
if ("4" == response.data[i].deviceType) {
this.gaoMap.addMarker(DEVICE_TYPE.PRESSUREGAGE, response.data[i]);
}
}
}
this.loading = false;
});
},
getPipeList(queryParams) {
pipeAllInfoList(queryParams).then((res) => {
console.log("管道", res);
if (res.code == 200) {
this.gaoMap.addPolyline(res.data);
}
});
},
searchClear() {
this.iconClass = "icon-create";
this.createValue = 0;
this.createLabel = "新建";
this.targetNum = 0;
this.gaoMap.lineType = 0;
this.gaoMap.newLineReset();
this.gaoMap.linePolyEditorAllClose();
this.gaoMap.closeAddMarker();
this.gaoMap.removeMarkerDragg();
this.gaoMap.mapOperateType = "normal";
// map.remove(this.gaodeMap.markerOverlays);
},
search() {
this.searchClear();
map.clearMap();
this.gaoMap.placeSearch.clear();
if (!(!this.gaoMap.searchSelectAdcode && !this.gaoMap.searchSelectName)) {
this.gaoMap.placeSearch.setCity(this.gaoMap.searchSelectAdcode);
this.gaoMap.placeSearch.search(this.gaoMap.searchSelectName);
this.getDeviceInfo({ deviceName: this.gaoMap.searchSelectName });
this.gaoMap.polyLines = [];
this.getPipeList({ pipeName: this.gaoMap.searchSelectName });
this.gaoMap.searchSelectAdcode = undefined;
this.gaoMap.searchSelectName = undefined;
} else {
this.gaoMap.placeSearch.search(this.keyWord);
this.getDeviceInfo({ deviceName: this.keyWord });
this.gaoMap.polyLines = [];
this.getPipeList({ pipeName: this.keyWord });
}
},
// 新建下拉列表关闭 window点击事件
barClose() {
console.log("window");
this.deviceType = false;
// 关闭当前线条的infowindow
this.gaoMap.closeInfoWindow();
// 如果没有选择的时候点window 则高亮消失
if (this.targetNum == 1 && this.iconClass == "icon-create") {
this.targetNum = 0;
}
// 辅助新建重新画线
// if (!this.gaoMap.lineFlag || this.gaoMap.lineType != 1) return;
console.log("利用window把lineFlagh恢复");
this.gaoMap.lineFlag = false;
// this.gaoMap.createNewLine();
},
refreshMap() {
this.iconClass = "icon-create";
this.createValue = 0;
this.createLabel = "新建";
this.targetNum = 0;
map.clearMap();
this.initMap();
},
},
beforeDestroy() {
console.log("移除window事件");
window.removeEventListener("click", this.barClose);
},
};
</script>
<style lang="scss" scoped>
// 左边的bar
.leftBar-wrapper {
position: fixed;
left: 100px;
top: 150px;
.box {
width: 180px;
height: 48px;
display: flex;
background-color: #ffffff;
box-sizing: border-box;
border: 1px solid rgba(0, 0, 0, 0.1);
border-top: none;
cursor: pointer;
position: relative;
> i {
position: absolute;
line-height: 48px;
right: 20px;
color: #fff;
}
&:hover {
// background-color: #053b6a;
// color: #ffffff;
// > i {
// color:#fff;
// }
}
&:hover .left,
&:hover .right {
// color: #ffffff;
}
&.active {
// background-color: #053b6a;
.left,
.right {
color: #053b6a;
}
> i {
color: #053b6a;
}
}
.left {
color: #053b6a;
line-height: 48px;
margin-left: 40px;
}
.right {
color: #1d1d1d;
line-height: 48px;
margin-left: 20px;
}
}
}
.btn-wrapper {
position: fixed;
right: 32px;
top: 100px;
.myBtn {
display: flex;
justify-content: space-between;
.el-btn {
width: 144px;
height: 44px;
background-color: #053b6a;
margin-right: 22px;
border-radius: 4px;
text-align: center;
line-height: 44px;
color: #fff;
cursor: pointer;
font-size: 18px;
display: flex;
justify-content: space-between;
&.active {
background: #31eaea;
color: #053b6a !important;
}
.left {
padding-left: 38px;
i {
font-size: 18px;
}
}
.right {
padding-right: 38px;
}
.newLetf {
margin-left: 20px;
}
.newRight {
margin-right: 20px;
position: relative;
i {
position: absolute;
right: 0px;
top: 1px;
font-size: 30px;
}
}
}
}
.animate {
.option {
.op-btn {
width: 144px;
height: 38px;
border-radius: 0;
color: #053b6a;
line-height: 38px;
background-color: #fff;
cursor: pointer;
position: relative;
border: 1px solid #cccccc;
border-top: 0;
&.active {
background-image: url("../../../assets/images/bac1.png");
}
.left {
position: relative;
margin-right: 30px;
margin-left: 22px;
i {
position: absolute;
top: -7px;
font-size: 20px;
}
}
.right {
display: inline-block;
font-size: 14px;
line-height: 38px;
}
&:hover {
background-image: url("../../../assets/images/bac1.png");
}
}
}
}
}
.input-card {
display: flex;
flex-direction: column;
min-width: 0;
word-wrap: break-word;
background-color: #fff;
background-clip: border-box;
border-radius: 0.25rem;
width: 22rem;
border-width: 0;
border-radius: 0.4rem;
box-shadow: 0 2px 6px 0 rgba(114, 124, 245, 0.5);
position: fixed;
bottom: 1rem;
right: 1rem;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
padding: 0.75rem 1.25rem;
}
.input-item {
position: relative;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-ms-flex-align: center;
align-items: center;
width: 100%;
height: 2.2rem;
}
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box;
padding: 0;
-webkit-box-sizing: border-box;
box-sizing: border-box;
padding: 0;
margin: 0 0.5rem 0 0;
}
.btn {
display: inline-block;
font-weight: 400;
text-align: center;
white-space: nowrap;
vertical-align: middle;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
border: 1px solid transparent;
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
background-color: transparent;
background-image: none;
color: #25a5f7;
border-color: #25a5f7;
padding: 0.25rem 0.5rem;
line-height: 1.5;
border-radius: 1rem;
-webkit-appearance: button;
cursor: pointer;
width: 6rem;
margin: 0 1rem 0 2rem;
}
.btn:hover {
color: #fff;
background-color: #25a5f7;
border-color: #25a5f7;
}
.input-text {
width: 4rem;
margin-right: 1rem;
}
.search-input {
position: fixed;
top: 100px;
left: 7%;
width: 240px;
}
.search-but {
position: fixed;
top: 100px;
left: 23%;
width: 85px;
color: white;
background-color: #053b6a;
}
.refresh-but {
position: fixed;
top: 100px;
left: 28%;
width: 85px;
color: white;
background-color: #053b6a;
}
</style>
......@@ -143,12 +143,15 @@
<el-timeline-item v-for="(activity, index) in form.feedbackList" :key="index" :timestamp="activity.feedbackTime">
<el-card>
<div style="float: left;margin-left: 50px;">
<p v-if="form.deviceType == 0">设备类型:管道</p>
<p v-if="form.deviceType == 1">设备类型:调压阀</p>
<p v-if="form.deviceType == 2">设备类型:阀门井</p>
<p v-if="form.deviceType == 3">设备类型:流量计</p>
<p v-if="form.deviceType == 4">设备类型:压力表</p>
<p>设备名称:{{form.deviceName}}</p>
<p>设备类型:
<span v-if="activity.deviceType == 0">管道</span>
<span v-if="activity.deviceType == 1">调压箱</span>
<span v-if="activity.deviceType == 2">阀门井</span>
<span v-if="activity.deviceType == 3">流量计</span>
<span v-if="activity.deviceType == 4">压力表</span>
</p>
<p>设备名称:{{activity.deviceName}}</p>
<p>反馈信息:{{activity.contents}}</p>
</div>
<div style="float: left;margin-left: 50px;">
......@@ -166,15 +169,15 @@
<div class="feedbackTime">
<el-image :src="activity.pictureUrl3" :preview-src-list="[activity.pictureUrl3]" v-if="activity.pictureUrl3 != null && activity.pictureUrl3 != ''" style="width: 70px;"></el-image>
</div>
</div>
</el-card>
</el-timeline-item>
</el-timeline>
</div>
<!-- <el-timeline-item timestamp="2018/4/3" placement="top">
<el-card>
<p>反馈时间:{{contents}}</p>
......@@ -185,7 +188,7 @@
<p>是否解决:{{contents}}</p>
</el-card>
</el-timeline-item> -->
<!-- <div style="width: 95%;float: left;">
<div style="float: left;margin-left: 50px;" >
<el-image :src="form.pictureUrl1" fit="cover" v-if="form.pictureUrl1 != null && form.pictureUrl1 != ''" style="width: 100px;height: 100px;">
......@@ -208,9 +211,9 @@
</el-form-item>
</el-form>
</div>-->
</div>
</div>
<!-- 返回按钮 -->
</div>
......
......@@ -122,7 +122,7 @@
/>
<!-- 工单反馈对话框 -->
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body @close="cancel">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="工单名称" prop="orderName">
<font>{{form.orderName}}</font>
......@@ -154,17 +154,12 @@
/>
</el-form-item>
<el-form-item label="是否存在隐患" prop="isHiddenDanger">
<!--<el-radio-group v-model="form.isHiddenDanger">
<el-radio :label="1">是</el-radio>
<el-radio :label="2">否</el-radio>
</el-radio-group>-->
<el-switch
v-model="isHiddenDanger"
active-text="是"
inactive-text="否">
</el-switch>
</el-form-item>
<!-- <el-form-item label="处理结果" prop="dealStatus">-->
<el-form-item label="处理结果" prop="dealStatus" v-if="isHiddenDanger == true">
<el-radio-group v-model="form.dealStatus">
<el-radio :label="2">已处理完成</el-radio>
......@@ -286,12 +281,14 @@
this.form.pictureUrl2 = "";
this.form.pictureUrl3 = "";
this.fileList = [];
this.fileIndex = 0;
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
this.fileList = [];
this.fileIndex = 0;
},
// 表单重置
reset() {
......@@ -345,11 +342,6 @@
const orderId = row.orderId || this.ids
getBasicsInfo(orderId).then(response => {
this.form = response.data;
this.form.pictureUrl1 = null;
this.form.pictureUrl2 = null;
this.form.pictureUrl3 = null;
this.form.contents = null;
this.form.remarks = null;
this.open = true;
this.title = "工单反馈";
});
......
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