Commit e2ccb136 authored by 王晓倩's avatar 王晓倩

工单详细信息显示设备列表树,工单接收、反馈

parent b85e12cc
......@@ -3,6 +3,7 @@ package com.zehong.web.controller.device;
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.domain.entity.SysDept;
import com.zehong.common.core.page.TableDataInfo;
import com.zehong.common.enums.BusinessType;
import com.zehong.common.utils.poi.ExcelUtil;
......@@ -50,6 +51,15 @@ public class TDeviceInfoController extends BaseController
return AjaxResult.success(tDeviceInfoService.selectTDeviceInfoList(tDeviceInfo));
}
/**
* 获取设备下拉树列表
*/
@PutMapping("/deviceTree")
public AjaxResult deviceTree(@RequestBody List<TDeviceInfo> deviceInfoList)
{
return AjaxResult.success(tDeviceInfoService.buildDeviceTreeSelect(deviceInfoList));
}
/**
* 导出设备信息列表
*/
......
package com.zehong.web.controller.system;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
......@@ -65,6 +67,17 @@ public class SysUserController extends BaseController
return getDataTable(list);
}
/**
* 获取巡检员列表
*/
@PreAuthorize("@ss.hasPermi('system:user:inspectorList')")
@GetMapping("/inspectorList")
public AjaxResult inspectorList()
{
List<SysUser> list = userService.selectInspectorList();
return AjaxResult.success(list);
}
@Log(title = "用户管理", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('system:user:export')")
@GetMapping("/export")
......
......@@ -2,7 +2,9 @@ package com.zehong.web.controller.workOrder;
import java.util.List;
import com.zehong.common.utils.DateUtils;
import com.zehong.common.utils.StringUtils;
import com.zehong.system.domain.form.TWorkOrderForm;
import com.zehong.system.domain.vo.WorkOrderVo;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -41,12 +43,12 @@ public class TWorkOrderController extends BaseController
*/
@PreAuthorize("@ss.hasPermi('workOrder:basicsInfo:list')")
@GetMapping("/list")
public TableDataInfo list(TWorkOrder tWorkOrder) throws Exception
public TableDataInfo list(TWorkOrderForm tWorkOrderForm) throws Exception
{
startPage();
List<WorkOrderVo> list = null;
try {
list = tWorkOrderService.selectTWorkOrderList(tWorkOrder);
list = tWorkOrderService.selectTWorkOrderList(tWorkOrderForm);
} catch (Exception e) {
e.printStackTrace();
throw new Exception(StringUtils.format("查询工单基础信息列表失败"));
......@@ -60,11 +62,11 @@ public class TWorkOrderController extends BaseController
@PreAuthorize("@ss.hasPermi('workOrder:basicsInfo:export')")
@Log(title = "工单基础信息", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult export(TWorkOrder tWorkOrder) throws Exception
public AjaxResult export(TWorkOrderForm tWorkOrderForm) throws Exception
{
List<WorkOrderVo> list = null;
try {
list = tWorkOrderService.selectTWorkOrderList(tWorkOrder);
list = tWorkOrderService.selectTWorkOrderList(tWorkOrderForm);
} catch (Exception e) {
e.printStackTrace();
throw new Exception(StringUtils.format("导出工单基础信息列表失败"));
......@@ -116,8 +118,8 @@ public class TWorkOrderController extends BaseController
public AjaxResult edit(@RequestBody TWorkOrder tWorkOrder) throws Exception
{
String orderStatus = tWorkOrder.getOrderStatus();
// 工单状态只有是0未下发或1已下发,才允许修改
if(!"0".equals(orderStatus) && !"1".equals(orderStatus)){
// 工单状态只有是0未接收才允许修改
if(!"0".equals(orderStatus)){
throw new Exception(StringUtils.format("工单({})当前状态不允许修改", tWorkOrder.getOrderId()));
}
......@@ -139,7 +141,14 @@ public class TWorkOrderController extends BaseController
public AjaxResult editStatus(@RequestBody TWorkOrder tWorkOrder) throws Exception
{
String orderStatus = tWorkOrder.getOrderStatus();
if("5".equals(orderStatus)) {
if("0".equals(orderStatus)){
tWorkOrder.setOrderStatus("1");
tWorkOrder.setActualTime(DateUtils.getNowDate());
} else if("1".equals(orderStatus)) {
tWorkOrder.setOrderStatus("2");
} else if("2".equals(orderStatus)) {
tWorkOrder.setOrderStatus("3");
} else if("3".equals(orderStatus)) {
throw new Exception(StringUtils.format("工单({})已归档,不允许更改状态", tWorkOrder.getOrderId()));
}
......
package com.zehong.system.domain.form;
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_work_order
*
* @author zehong
* @date 2021-07-19
*/
public class TWorkOrderForm extends BaseEntity
{
/** 工单id */
private String orderId;
/** 工单类型(1巡检信息,2隐患信息,3报警信息) */
private String orderType;
/** 工单名称 */
private String orderName;
/** 工单状态(0未接收,1已接收,2进行中,3已反馈,4已归档) */
private String orderStatus;
/** 指定执行人员(巡检员id) */
private Long appointInspector;
/** 开始下发时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date startAllotTime;
/** 结束下发时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endAllotTime;
/** 实际接收人员(巡检员id) */
@Excel(name = "实际接收人员", readConverterExp = "巡检员id")
private Long actualInspector;
/** 实际接收时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "实际接收时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date actualTime;
/** 用户名 */
private String userName;
public void setOrderId(String orderId)
{
this.orderId = orderId;
}
public String getOrderId()
{
return orderId;
}
public void setOrderType(String orderType)
{
this.orderType = orderType;
}
public String getOrderType()
{
return orderType;
}
public void setOrderName(String orderName)
{
this.orderName = orderName;
}
public String getOrderName()
{
return orderName;
}
public void setOrderStatus(String orderStatus)
{
this.orderStatus = orderStatus;
}
public String getOrderStatus()
{
return orderStatus;
}
public void setAppointInspector(Long appointInspector)
{
this.appointInspector = appointInspector;
}
public Long getAppointInspector()
{
return appointInspector;
}
public Date getStartAllotTime() {
return startAllotTime;
}
public void setStartAllotTime(Date startAllotTime) {
this.startAllotTime = startAllotTime;
}
public Date getEndAllotTime() {
return endAllotTime;
}
public void setEndAllotTime(Date endAllotTime) {
this.endAllotTime = endAllotTime;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public Long getActualInspector() {
return actualInspector;
}
public void setActualInspector(Long actualInspector) {
this.actualInspector = actualInspector;
}
public Date getActualTime() {
return actualTime;
}
public void setActualTime(Date actualTime) {
this.actualTime = actualTime;
}
}
......@@ -36,6 +36,9 @@ public class WorkOrderVo extends BaseEntity
/** 设备编号 */
private String deviceCodes;
/** 设备名称 */
private String deviceName;
/** 设备列表 */
private List<TDeviceInfo> deviceInfoList;
......@@ -150,6 +153,14 @@ public class WorkOrderVo extends BaseEntity
this.deviceCodes = deviceCodes;
}
public String getDeviceName() {
return deviceName;
}
public void setDeviceName(String deviceName) {
this.deviceName = deviceName;
}
public List<TDeviceInfo> getDeviceInfoList() {
return deviceInfoList;
}
......
......@@ -19,6 +19,14 @@ public interface SysUserMapper
*/
public List<SysUser> selectUserList(SysUser sysUser);
/**
* 查询巡检员列表
*
* @param
* @return 用户信息集合信息
*/
public List<SysUser> selectInspectorList();
/**
* 通过用户名查询用户
*
......
......@@ -2,6 +2,7 @@ package com.zehong.system.mapper;
import java.util.List;
import com.zehong.system.domain.TWorkOrder;
import com.zehong.system.domain.form.TWorkOrderForm;
/**
* 工单基础信息Mapper接口
......@@ -32,7 +33,7 @@ public interface TWorkOrderMapper
* @param tWorkOrder 工单基础信息
* @return 工单基础信息集合
*/
public List<TWorkOrder> selectTWorkOrderList(TWorkOrder tWorkOrder);
public List<TWorkOrder> selectTWorkOrderList(TWorkOrderForm tWorkOrderForm);
/**
* 新增工单基础信息
......
......@@ -18,6 +18,14 @@ public interface ISysUserService
*/
public List<SysUser> selectUserList(SysUser user);
/**
* 查询巡检员列表
*
* @param
* @return 用户信息集合信息
*/
public List<SysUser> selectInspectorList();
/**
* 通过用户名查询用户
*
......
......@@ -3,6 +3,8 @@ package com.zehong.system.service;
import java.util.List;
import java.util.Map;
import com.zehong.common.core.domain.TreeSelect;
import com.zehong.common.core.domain.entity.SysDept;
import com.zehong.system.domain.TDeviceInfo;
/**
......@@ -29,6 +31,14 @@ public interface ITDeviceInfoService
*/
public List<TDeviceInfo> selectTDeviceInfoList(TDeviceInfo tDeviceInfo);
/**
* 构建前端所需要下拉树结构
*
* @param deviceInfoList 设备列表
* @return 下拉树结构列表
*/
public List<Map<Object, Object>> buildDeviceTreeSelect(List<TDeviceInfo> deviceInfoList);
/**
* 统计各设备类型的设备总数
* @return
......
......@@ -2,6 +2,7 @@ package com.zehong.system.service;
import java.util.List;
import com.zehong.system.domain.TWorkOrder;
import com.zehong.system.domain.form.TWorkOrderForm;
import com.zehong.system.domain.vo.WorkOrderVo;
/**
......@@ -24,10 +25,10 @@ public interface ITWorkOrderService
/**
* 查询工单基础信息列表
*
* @param tWorkOrder 工单基础信息
* @param tWorkOrderForm 工单基础信息表单
* @return 工单基础信息集合
*/
public List<WorkOrderVo> selectTWorkOrderList(TWorkOrder tWorkOrder) throws Exception;
public List<WorkOrderVo> selectTWorkOrderList(TWorkOrderForm tWorkOrderForm) throws Exception;
/**
* 新增工单基础信息
......
......@@ -66,6 +66,18 @@ public class SysUserServiceImpl implements ISysUserService
return userMapper.selectUserList(user);
}
/**
* 查询巡检员列表
*
* @param
* @return 用户信息集合信息
*/
@Override
public List<SysUser> selectInspectorList()
{
return userMapper.selectInspectorList();
}
/**
* 通过用户名查询用户
*
......
package com.zehong.system.service.impl;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
import com.zehong.common.core.domain.TreeSelect;
import com.zehong.common.core.domain.entity.SysDept;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.zehong.system.mapper.TDeviceInfoMapper;
import com.zehong.system.domain.TDeviceInfo;
import com.zehong.system.service.ITDeviceInfoService;
import org.springframework.web.bind.annotation.RequestParam;
/**
* 设备信息Service业务层处理
......@@ -45,6 +48,28 @@ public class TDeviceInfoServiceImpl implements ITDeviceInfoService
return tDeviceInfoMapper.selectTDeviceInfoList(tDeviceInfo);
}
/**
* 构建前端所需要下拉树结构
*
* @param deviceInfoList 部门列表
* @return 下拉树结构列表
*/
@Override
public List<Map<Object, Object>> buildDeviceTreeSelect(List<TDeviceInfo> deviceInfoList)
{
List<Map<Object, Object>> list = new ArrayList<>();
for (TDeviceInfo deviceInfo : deviceInfoList) {
Map<Object, Object> map = new HashMap<>();
map.put("id", deviceInfo.getDeviceId());
map.put("label", deviceInfo.getDeviceName());
list.add(map);
}
return list;
}
/**
* 统计各设备类型的设备总数
* @return
......
......@@ -2,6 +2,7 @@ package com.zehong.system.service.impl;
import java.util.List;
import com.zehong.common.utils.DateUtils;
import com.zehong.system.domain.*;
import com.zehong.system.mapper.*;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -78,18 +79,18 @@ public class TOrderFeedbackServiceImpl implements ITOrderFeedbackService
trouble.setDealStatus(dealStatus);
tHiddenTroubleMapper.updateTHiddenTrouble(trouble);
} else {
} else if("3".equals(orderType)) {
TDeviceAlarm alarm = tDeviceAlarmMapper.selectTDeviceAlarmById(order.getResourceId());
alarm.setDealStatus(dealStatus);
tDeviceAlarmMapper.updateTDeviceAlarm(alarm);
}
// 如果工单状态是进行中,修改状态为已反馈
if("2".equals(order.getOrderStatus())){
order.setOrderStatus("3");
// 如果工单状态是已接收,修改状态为已反馈
if("1".equals(order.getOrderStatus())){
order.setOrderStatus("2");
tWorkOrderMapper.updateTWorkOrder(order);
}
tOrderFeedback.setFeedbackTime(DateUtils.getNowDate());
return tOrderFeedbackMapper.insertTOrderFeedback(tOrderFeedback);
}
......
......@@ -6,6 +6,7 @@ import java.util.List;
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.WorkOrderVo;
import com.zehong.system.mapper.*;
import org.springframework.beans.BeanUtils;
......@@ -107,6 +108,7 @@ public class TWorkOrderServiceImpl implements ITWorkOrderService
String deviceCode = trouble.getDeviceCode();
TDeviceInfo device = tDeviceInfoMapper.selectTDeviceInfoByCode(deviceCode);
if(device != null){
workOrderVo.setDeviceName(device.getDeviceName());
deviceInfoList.add(device);
}
......@@ -128,6 +130,7 @@ public class TWorkOrderServiceImpl implements ITWorkOrderService
workOrderVo.setLongitude(device.getLongitude());
workOrderVo.setLatitude(device.getLatitude());
workOrderVo.setDeviceType(device.getDeviceType());
workOrderVo.setDeviceName(device.getDeviceName());
workOrderVo.setAddress(device.getDeviceAddr());
deviceInfoList.add(device);
}
......@@ -152,14 +155,14 @@ public class TWorkOrderServiceImpl implements ITWorkOrderService
/**
* 查询工单基础信息列表
*
* @param tWorkOrder 工单基础信息
* @param tWorkOrderForm 工单基础信息
* @return 工单基础信息
*/
@Override
public List<WorkOrderVo> selectTWorkOrderList(TWorkOrder tWorkOrder) throws Exception
public List<WorkOrderVo> selectTWorkOrderList(TWorkOrderForm tWorkOrderForm) throws Exception
{
List<WorkOrderVo> workOrderVoList = new ArrayList<WorkOrderVo>();
List<TWorkOrder> workOrderList = tWorkOrderMapper.selectTWorkOrderList(tWorkOrder);
List<TWorkOrder> workOrderList = tWorkOrderMapper.selectTWorkOrderList(tWorkOrderForm);
if(workOrderList.size() != 0){
......@@ -172,7 +175,7 @@ public class TWorkOrderServiceImpl implements ITWorkOrderService
workOrderVo.setAppointInspectorName(appointInspector.getNickName());
if(workOrder.getActualInspector() != workOrder.getAppointInspector() && workOrder.getActualInspector() != null){
SysUser actualInspector = sysUserMapper.selectUserById(tWorkOrder.getActualInspector());
SysUser actualInspector = sysUserMapper.selectUserById(workOrder.getActualInspector());
workOrderVo.setActualInspectorName(actualInspector.getNickName());
} else {
workOrderVo.setActualInspectorName(appointInspector.getNickName());
......@@ -237,8 +240,7 @@ public class TWorkOrderServiceImpl implements ITWorkOrderService
{
if("1".equals(tWorkOrder.getOrderStatus())){
TWorkOrder order = tWorkOrderMapper.selectTWorkOrderById(tWorkOrder.getOrderId());
int planId = order.getResourceId();
int planId = tWorkOrder.getResourceId();
// 修改巡检计划状态为进行中
TInspectionPlan plan = new TInspectionPlan();
plan.setPlanId(planId);
......@@ -246,10 +248,11 @@ public class TWorkOrderServiceImpl implements ITWorkOrderService
plan.setUpdateTime(DateUtils.getNowDate());
tInspectionPlanMapper.updateTInspectionPlan(plan);
} else if ("4".equals(tWorkOrder.getOrderStatus())){
tWorkOrder.setActualTime(DateUtils.getNowDate());
} else if ("3".equals(tWorkOrder.getOrderStatus())){
TWorkOrder order = tWorkOrderMapper.selectTWorkOrderById(tWorkOrder.getOrderId());
int planId = order.getResourceId();
int planId = tWorkOrder.getResourceId();
// 修改巡检计划状态为已完成
TInspectionPlan plan = new TInspectionPlan();
plan.setPlanId(planId);
......@@ -257,8 +260,9 @@ public class TWorkOrderServiceImpl implements ITWorkOrderService
plan.setUpdateTime(DateUtils.getNowDate());
tInspectionPlanMapper.updateTInspectionPlan(plan);
}
} else if ("0".equals(tWorkOrder.getOrderStatus())){
tWorkOrder.setUpdateTime(DateUtils.getNowDate());
}
return tWorkOrderMapper.updateTWorkOrder(tWorkOrder);
}
......
......@@ -91,6 +91,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where u.user_id = #{userId}
</select>
<select id="selectInspectorList" resultMap="SysUserResult">
<include refid="selectUserVo"/>
where u.del_flag = '0' and r.role_id = 102
</select>
<select id="checkUserNameUnique" parameterType="String" resultType="int">
select count(1) from sys_user where user_name = #{userName} limit 1
</select>
......
......@@ -52,7 +52,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<insert id="insertTOrderFeedback" parameterType="TOrderFeedback">
insert into t_order_feedback
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="feedbackId != null">feedback_id,</if>
<if test="orderId != null">order_id,</if>
<if test="deviceCode != null">device_code,</if>
<if test="contents != null">contents,</if>
......@@ -65,7 +64,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="remarks != null">remarks,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="feedbackId != null">#{feedbackId},</if>
<if test="orderId != null">#{orderId},</if>
<if test="deviceCode != null">#{deviceCode},</if>
<if test="contents != null">#{contents},</if>
......
......@@ -23,26 +23,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<sql id="selectTWorkOrderVo">
select order_id, order_type, resource_id, order_name, order_status, update_time, appoint_inspector, allot_time, actual_inspector, actual_time, remarks from t_work_order
select t.order_id, t.order_type, t.resource_id, t.order_name, t.order_status, t.update_time, t.appoint_inspector, t.allot_time, t.actual_inspector, t.actual_time, t.remarks
from t_work_order t
left join sys_user s on t.appoint_inspector = s.user_id
</sql>
<select id="selectTWorkOrderList" parameterType="TWorkOrder" resultMap="TWorkOrderResult">
<select id="selectTWorkOrderList" parameterType="TWorkOrderForm" resultMap="TWorkOrderResult">
<include refid="selectTWorkOrderVo"/>
<where>
<if test="orderType != null and orderType != ''"> and order_type = #{orderType}</if>
<if test="orderName != null and orderName != ''"> and order_name like concat('%', #{orderName}, '%')</if>
<if test="orderStatus != null and orderStatus != ''"> and order_status = #{orderStatus}</if>
<if test="appointInspector != null "> and appoint_inspector = #{appointInspector}</if>
<if test="allotTime != null "> and allot_time = #{allotTime}</if>
<if test="actualInspector != null "> and actual_inspector = #{actualInspector}</if>
<if test="actualTime != null "> and actual_time = #{actualTime}</if>
<if test="remarks != null and remarks != ''"> and remarks = #{remarks}</if>
<if test="orderId != null and orderId != ''"> and t.order_id like concat('%',#{orderId},'%')</if>
<if test="orderType != null and orderType != ''"> and t.order_type = #{orderType}</if>
<if test="orderName != null and orderName != ''"> and t.order_name like concat('%', #{orderName}, '%')</if>
<if test="orderStatus != null and orderStatus != ''"> and t.order_status = #{orderStatus}</if>
<if test="appointInspector != null "> and t.appoint_inspector = #{appointInspector}</if>
<if test="startAllotTime != null "> and t.allot_time &gt;= #{startAllotTime}</if>
<if test="endAllotTime != null "> and t.allot_time &lt;= #{endAllotTime}</if>
<if test="userName != null and userName != ''"> and s.user_name = #{userName}</if>
</where>
</select>
<select id="selectTWorkOrderById" parameterType="String" resultMap="TWorkOrderResult">
<include refid="selectTWorkOrderVo"/>
where order_id = #{orderId}
where t.order_id = #{orderId}
</select>
<insert id="insertTWorkOrder" parameterType="TWorkOrder">
......
......@@ -62,9 +62,19 @@ export function exportDeviceInfo(query) {
}
// 统计各设备类型的设备总数
export function countDeviceByType(){
export function countDeviceByType() {
return request({
url: '/device/deviceInfo/countDeviceByType',
method: 'get'
})
}
// 查询设备下拉树结构
export function deviceTree(data) {
return request({
url: '/device/deviceInfo/deviceTree',
method: 'put',
data: data
})
}
......@@ -10,6 +10,15 @@ export function listUser(query) {
})
}
// 查询巡检员列表
export function inspectorList(query) {
return request({
url: '/system/user/inspectorList',
method: 'get',
params: query
})
}
// 查询用户详细
export function getUser(userId) {
return request({
......
......@@ -4,28 +4,38 @@
:action="uploadFileUrl"
:before-upload="handleBeforeUpload"
:file-list="fileArr"
:limit="1"
:limit="3"
:list-type="listType"
:on-error="handleUploadError"
:on-exceed="handleExceed"
:on-success="handleUploadSuccess"
:on-remove="handleRemove"
:on-preview="handleFileClick"
:show-file-list="true"
:headers="headers"
class="upload-file-uploader"
ref="upload"
>
<!-- 上传按钮 -->
<el-button size="mini" type="primary">选取文件</el-button>
<!-- <el-button size="mini" icon="" type="primary"></el-button> -->
<i class="el-icon-plus"></i>
<!-- 上传提示 -->
<div class="el-upload__tip" slot="tip" v-if="showTip">
请上传
<template v-if="fileSize"> 大小不超过 <b style="color: #f56c6c">{{ fileSize }}MB</b> </template>
<template v-if="fileType"> 格式为 <b style="color: #f56c6c">{{ fileType.join("/") }}</b> </template>
<template v-if="fileSize">
大小不超过 <b style="color: #f56c6c">{{ fileSize }}MB</b>
</template>
<template v-if="fileType">
格式为 <b style="color: #f56c6c">{{ fileType.join("/") }}</b>
</template>
的文件
</div>
</el-upload>
<el-dialog :modal="modal" :visible.sync="dialogVisible">
<img width="100%" :src="dialogImageUrl" alt="" />
</el-dialog>
<!-- 文件列表 -->
<transition-group class="upload-file-list el-upload-list el-upload-list--text" name="el-fade-in-linear" tag="ul">
<!-- <transition-group class="upload-file-list el-upload-list el-upload-list--text" name="el-fade-in-linear" tag="ul">
<li :key="file.uid" class="el-upload-list__item ele-upload-list__item-content" v-for="(file, index) in list">
<el-link :href="file.url" :underline="false" target="_blank">
<span class="el-icon-document"> {{ getFileName(file.name) }} </span>
......@@ -34,17 +44,21 @@
<el-link :underline="false" @click="handleDelete(index)" type="danger">删除</el-link>
</div>
</li>
</transition-group>
</transition-group> -->
</div>
</template>
<script>
import { getToken } from "@/utils/auth";
import { getToken } from "@/utils/auth";
export default {
export default {
props: {
// 值
value: [String, Object, Array],
listType: {
type: String,
defaule: "text",
},
// 大小限制(MB)
fileSize: {
type: Number,
......@@ -57,13 +71,13 @@ export default {
// 文件类型, 例如['png', 'jpg', 'jpeg']
fileType: {
type: Array,
default: () => ["doc", "xls", "ppt", "txt", "pdf",'png', 'jpg', 'jpeg'],
default: () => ["doc", "xls", "ppt", "txt", "pdf", "png", "jpg", "jpeg"],
},
// 是否显示提示
isShowTip: {
type: Boolean,
default: false
}
default: false,
},
},
data() {
return {
......@@ -72,6 +86,9 @@ export default {
Authorization: "Bearer " + getToken(),
},
fileList: [],
modal:false,
dialogVisible:false,
dialogImageUrl:"",
};
},
computed: {
......@@ -114,7 +131,9 @@ export default {
return false;
});
if (!isTypeOk) {
this.$message.error(`文件格式不正确, 请上传${this.fileType.join("/")}格式文件!`);
this.$message.error(
`文件格式不正确, 请上传${this.fileType.join("/")}格式文件!`
);
return false;
}
}
......@@ -130,7 +149,7 @@ export default {
},
// 文件个数超出
handleExceed() {
this.$message.error(`只允许上传单个文件`);
this.$message.error(`只允许上传三张照片`);
},
// 上传失败
handleUploadError(err) {
......@@ -141,10 +160,15 @@ export default {
this.$message.success("上传成功");
this.$emit("resFun", res);
},
// 文件列表移除文件
handleRemove(file, fileList) {
console.log("列表移除", file, fileList);
this.$emit("remove", file);
},
// 删除文件
handleDelete(index) {
this.fileList.splice(index, 1);
this.$emit("input", '');
this.$emit("input", "");
// let that = this,
// param;
// param = file.response ? file.response.fileName.replace(/\\/g, "%")
......@@ -160,6 +184,11 @@ export default {
// }
// });
},
handleFileClick(file) {
this.dialogImageUrl = file.response.url;
this.dialogVisible=true;
console.log(file);
},
// 获取文件名称
getFileName(name) {
if (name.lastIndexOf("/") > -1) {
......@@ -167,31 +196,31 @@ export default {
} else {
return "";
}
}
},
},
created() {
// this.fileList = this.list;
},
};
};
</script>
<style scoped lang="scss">
.upload-file-uploader {
.upload-file-uploader {
margin-bottom: 5px;
}
.upload-file-list .el-upload-list__item {
}
.upload-file-list .el-upload-list__item {
border: 1px solid #e4e7ed;
line-height: 2;
margin-bottom: 10px;
position: relative;
}
.upload-file-list .ele-upload-list__item-content {
}
.upload-file-list .ele-upload-list__item-content {
display: flex;
justify-content: space-between;
align-items: center;
color: inherit;
}
.ele-upload-list__item-content-action .el-link {
}
.ele-upload-list__item-content-action .el-link {
margin-right: 10px;
}
}
</style>
......@@ -7,7 +7,7 @@
<el-steps :active="active" finish-status="success" simple prop="orderStatus" style="margin-top: 20px">
<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>
......@@ -33,9 +33,8 @@
<el-form-item label="工单状态:" prop="orderStatus">
<font v-if="form.orderStatus == 0">未接收</font>
<font v-if="form.orderStatus == 1">已接收</font>
<font v-if="form.orderStatus == 2">进行中</font>
<font v-if="form.orderStatus == 3">已反馈</font>
<font v-if="form.orderStatus == 4">已归档</font>
<font v-if="form.orderStatus == 2">已反馈</font>
<font v-if="form.orderStatus == 3">已归档</font>
</el-form-item>
<el-form-item label="指定执行人员:" prop="appointInspectorName">
<font>{{form.appointInspectorName}}</font>
......@@ -52,8 +51,16 @@
<font v-if="form.deviceType == 3">流量计</font>
<font v-if="form.deviceType == 4">压力表</font>
</el-form-item>
<el-form-item label="设备编号:" prop="deviceCodes">
<font>{{form.deviceCodes}}</font>
<el-form-item label="设备名称:" prop="deviceName">
<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-form-item>
<el-form-item label="设备位置:" v-if="form.orderType != 1">
<font>{{form.address}}</font>
......@@ -95,46 +102,12 @@
<ul><li>反馈信息</li></ul>
</div>
<div style="width: 95%;float: left;">
<!-- <el-upload style="float: left;"
action="#"
list-type="picture-card"
:auto-upload="false">
<i slot="default" class="el-icon-plus"></i>
<div slot="file" slot-scope="{file}">
<img
class="el-upload-list__item-thumbnail"
:src="file.url" alt=""
>
<span class="el-upload-list__item-actions">
<span
class="el-upload-list__item-preview"
@click="handlePictureCardPreview(file)"
>
<i class="el-icon-zoom-in"></i>
</span>
<span
v-if="!disabled"
class="el-upload-list__item-delete"
@click="handleDownload(file)"
>
<i class="el-icon-download"></i>
</span>
<span
v-if="!disabled"
class="el-upload-list__item-delete"
@click="handleRemove(file)"
>
<i class="el-icon-delete"></i>
</span>
</span>
</div>
</el-upload> -->
<div style="float: left;margin-left: 50px;" >
<el-image :src="form.pictureUrl1" fit="cover" v-if="form.pictureUrl1 != null" style="width: 100px;height: 100px;">
<el-image :src="form.pictureUrl1" fit="cover" v-if="form.pictureUrl1 != null && form.pictureUrl1 != ''" style="width: 100px;height: 100px;">
</el-image>
<el-image :src="form.pictureUrl2" fit="cover" v-if="form.pictureUrl2 != null" style="width: 100px;height: 100px;">
<el-image :src="form.pictureUrl2" fit="cover" v-if="form.pictureUrl2 != null && form.pictureUrl2 != ''" style="width: 100px;height: 100px;">
</el-image>
<el-image :src="form.pictureUrl3" fit="cover" v-if="form.pictureUrl3 != null" style="width: 100px;height: 100px;">
<el-image :src="form.pictureUrl3" fit="cover" v-if="form.pictureUrl3 != null && form.pictureUrl3 != ''" style="width: 100px;height: 100px;">
</el-image>
</div>
<el-form ref="form" v-model="form" :rules="rules" label-width="100px" style="float: left;margin-left: 50px;" >
......@@ -169,8 +142,10 @@
<script>
import { listBasicsInfo, getBasicsInfo, delBasicsInfo, addBasicsInfo, updateBasicsInfo, exportBasicsInfo } from "@/api/workOrder/basicsInfo";
import gaodeMap from "utils/gaodeMap.js"
import {map, DEVICE_TYPE} from "utils/gaodeMap.js"
import { deviceTree } from "@/api/device/deviceInfo";
import gaodeMap from "utils/gaodeMap.js";
import {map, DEVICE_TYPE} from "utils/gaodeMap.js";
export default {
name: "BasicsInfo",
components: {
......@@ -206,6 +181,17 @@ export default {
pickerOptions:[],
// 工单类型字典
ordertypeOptions: [],
// 设备树选项
deviceOptions: [
{
label: "设备列表",
childList: []
}
],
defaultProps: {
children: "childList",
label: "label"
},
// 查询参数
queryParams: {
pageNum: 1,
......@@ -232,7 +218,6 @@ export default {
// 如果是跳转来的,则接受初始化参数
// this.user_id = this.$route.query.id; //详细信息页接收参数
this.orderId = this.$route.query.orderId;
this.getList();
this.getDicts("t_order_status").then(response => {
this.typeOptions = response.data;
......@@ -270,7 +255,6 @@ export default {
getBasicsInfo (){
getBasicsInfo(this.orderId).then(response =>{
this.form = response.data;
console.log(response.data,"fdsfdsa======")
this.active = parseInt(response.data.orderStatus) + 1;
if(this.form.deviceInfoList.length>0){
this.gaoMap.resetMapCenter([this.form.deviceInfoList[0].longitude,this.form.deviceInfoList[0].latitude]);
......@@ -278,9 +262,25 @@ export default {
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.orderType == '1') {
// 获取设备列表树
let data = this.form.deviceInfoList;
console.log(data, "====");
deviceTree(data).then(response => {
this.deviceOptions[0].childList = response.data;
});
}
});
},
// 筛选节点
// filterNode(value, data) {
// if (!value) return true;
// return data.label.indexOf(value) !== -1;
// },
// 节点单击事件
handleNodeClick(data) {
},
// 取消按钮
......
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