Commit e0bc00a6 authored by 纪泽龙's avatar 纪泽龙

优化上传图片预览

parent 7227c3b9
......@@ -291,4 +291,6 @@
}
}
// background-color: ;
}
\ No newline at end of file
}
// 图片预览
......@@ -32,15 +32,24 @@
</template>
的文件
</div>
</el-upload>
<el-dialog
<el-image v-show="false"
id="img"
ref="previewImg"
:src="dialogImageUrl"
:preview-src-list="bigImageArr"
:z-index="9999999"
></el-image>
<!-- <el-dialog
:center="true"
width="50%"
:modal="modal"
:visible.sync="dialogVisible"
>
<img :src="dialogImageUrl" alt="" />
</el-dialog>
</el-dialog> -->
<!-- 文件列表 -->
<!-- <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">
......@@ -123,6 +132,9 @@ export default {
return [];
}
},
bigImageArr() {
return [this.dialogImageUrl]
},
},
methods: {
// 上传前校检格式和大小
......@@ -197,7 +209,9 @@ export default {
this.dialogImageUrl = file.response ? file.response.url : file.url;
// this.dialogImageUrl =if(this.fileArr) this.fileArr[0].url;
this.dialogVisible = true;
// this.dialogVisible = true;
this.$refs.previewImg.showViewer = true;
console.log(file);
// console.log(file.response.url)
},
......
......@@ -159,7 +159,10 @@ class gaodeMap {
offset: new AMap.Pixel(0, 5)
});
this.setMarkerIcon(marker);
if (DEVICE_TYPE.WORKORDER != markerType && DEVICE_TYPE.INSPECTOR != markerType) {
if (
DEVICE_TYPE.WORKORDER != markerType &&
DEVICE_TYPE.INSPECTOR != markerType
) {
marker.content = this.getMarketContent(data);
marker.on("mouseover", infoOpen);
marker.on("mouseout", infoClose);
......@@ -238,16 +241,29 @@ class gaodeMap {
}
function infoOpen(e) {
// 如果有cloneDom就删了
console.log(that.cloneDom);
// 删除克隆出来的clonedom
that.removeCloneDom();
// 删除克隆出来的线的clonedom
let options = map.getStatus();
options.scrollWheel = false;
map.setStatus(options);
infoWindow.setContent(e.target.content);
infoWindow.open(map, e.target.getPosition());
console.log(infoWindow.dom);
// 这个是为了盖住vue里的东西
e.target.cloneDom = infoWindow.dom.cloneNode(true);
// console.log(infoWindow.dom.offsetLeft);
// console.log(infoWindow.dom);
e.target.cloneDom.style.top = infoWindow.dom.offsetTop + 80 + "px";
e.target.cloneDom.style.left = infoWindow.dom.offsetLeft + 100 + "px";
// 先删除之前的,后增加现在的
// this.removeCloneDom();
that.removeCloneDom();
document.body.appendChild(e.target.cloneDom);
that.markerCloneDom = e.target.cloneDom;
infoWindow.close();
that.markerInfoWindow = infoWindow;
}
}
......@@ -539,7 +555,9 @@ class gaodeMap {
removeCloneDom() {
this.cloneDom && document.body.removeChild(this.cloneDom);
this.markerCloneDom && document.body.removeChild(this.markerCloneDom);
this.cloneDom = null;
this.markerCloneDom=null;
}
// 创建一条新的线
......
......@@ -10,14 +10,16 @@
</div>
<div class="right">
<template v-for="item in list" >
<template v-for="item in list">
<div class="right-content" :key="item.type">
<div class="text-icon">
<i class="iconfont icon-gdcd"></i>
<i class="iconfont" :class="iconClass(item)"></i>
</div>
<div class="text">
<div class="top">{{typeName[item.type]}}</div>
<div class="bottom">{{item.number}}{{item.type==99?"KM":"个" }}</div>
<div class="top">{{ typeName[item.type] }}</div>
<div class="bottom">
{{ item.number }}{{ item.type == 99 ? "KM" : "个" }}
</div>
</div>
</div>
</template>
......@@ -32,21 +34,32 @@ export default {
type: Array,
},
},
data(){
data() {
return {
typeName:{
"1":"调压箱",
"2":"阀门井",
"3":"流量计",
"4":"压力表",
"99":"管道",
typeName: {
1: "调压箱",
2: "阀门井",
3: "流量计",
4: "压力表",
99: "管道",
},
// type
}
iconList: {
1: "icon-tyx",
2: "icon-fmj",
3: "icon-llj",
4: "icon-ylb",
99: "icon-gdcd",
},
};
},
created() {
console.log("list", this.list);
},
methods: {
iconClass(item) {
return this.iconList[item.type]
},
},
};
</script>
......
......@@ -375,7 +375,6 @@ export default {
});
},
getInspectionDataByInspector(){
this.gaoMap.addMarker(
DEVICE_TYPE.INSPECTOR,
{longitude:114.525243,latitude:38.035002}
......
<template>
<div class="app-container detail" style="background-color: rgb(238, 241, 245);">
<!-- 工单信息 -->
<div style="padding-top: 10px;background: #fff;height: 100%;">
<div>
<div style="width: 5%;height: 50px;margin-left: 20px;" @click="$router.go(-1)">
<el-button
<div
class="app-container detail"
style="background-color: rgb(238, 241, 245)"
>
<!-- 工单信息 -->
<div style="padding-top: 10px; background: #fff; height: 100%">
<div>
<div
style="width: 5%; height: 50px; margin-left: 20px"
@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>
<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-steps>
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>
<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-steps>
</div>
<div style="width: 100%;height: 280px;">
<el-divider></el-divider>
<div style="color: #31EAEA;width: 30%;height: 40px;">
<ul><li>详细信息</li></ul>
</div>
<el-form ref="form" v-model="form" :rules="rules" label-width="100px" style="float: left;margin-left: 50px;">
<el-form-item label="工单类型:" prop="orderType">
<font v-if="form.orderType == 1">巡检信息</font>
<font v-if="form.orderType == 2">隐患信息</font>
<font v-if="form.orderType == 3">报警信息</font>
</el-form-item>
<el-form-item label="工单编号:" prop="orderId">
<font>{{form.orderId}}</font>
</el-form-item>
<el-form-item label="工单名称:" prop="orderName">
<font>{{form.orderName}}</font>
</el-form-item>
<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>
</el-form-item>
<el-form-item label="指定执行人员:" prop="appointInspectorName">
<font>{{form.appointInspectorName}}</font>
</el-form-item>
<el-form-item label="工单描述:" prop="remarks">
<font>{{form.remarks}}</font>
</el-form-item>
</el-form>
<el-form ref="form" v-model="form" :rules="rules" label-width="100px" style="float: left;width: 25%;">
<el-form-item label="设备类型:" prop="deviceType" v-if="form.orderType != 1">
<font v-if="form.deviceType == 0">管道</font>
<font v-if="form.deviceType == 1">调压阀</font>
<font v-if="form.deviceType == 2">阀门井</font>
<font v-if="form.deviceType == 3">流量计</font>
<font v-if="form.deviceType == 4">压力表</font>
</el-form-item>
<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>
</el-form-item>
<el-form-item label="工单进度:" v-if="form.orderType == 1">
<font>{{form.finishNum}}/{{form.deviceNum}}</font>
</el-form-item>
<el-form-item label="下发时间:" prop="allotTime">
<font>{{form.allotTime}}</font>
</el-form-item>
<!-- <el-form-item label="接收时间:" prop="actualTime">
<div style="width: 100%; height: 280px">
<el-divider></el-divider>
<div style="color: #31eaea; width: 30%; height: 40px">
<ul>
<li>详细信息</li>
</ul>
</div>
<el-form
ref="form"
v-model="form"
:rules="rules"
label-width="100px"
style="float: left; margin-left: 50px"
>
<el-form-item label="工单类型:" prop="orderType">
<font v-if="form.orderType == 1">巡检信息</font>
<font v-if="form.orderType == 2">隐患信息</font>
<font v-if="form.orderType == 3">报警信息</font>
</el-form-item>
<el-form-item label="工单编号:" prop="orderId">
<font>{{ form.orderId }}</font>
</el-form-item>
<el-form-item label="工单名称:" prop="orderName">
<font>{{ form.orderName }}</font>
</el-form-item>
<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>
</el-form-item>
<el-form-item label="指定执行人员:" prop="appointInspectorName">
<font>{{ form.appointInspectorName }}</font>
</el-form-item>
<el-form-item label="工单描述:" prop="remarks">
<font>{{ form.remarks }}</font>
</el-form-item>
</el-form>
<el-form
ref="form"
v-model="form"
:rules="rules"
label-width="100px"
style="float: left; width: 25%"
>
<el-form-item
label="设备类型:"
prop="deviceType"
v-if="form.orderType != 1"
>
<font v-if="form.deviceType == 0">管道</font>
<font v-if="form.deviceType == 1">调压阀</font>
<font v-if="form.deviceType == 2">阀门井</font>
<font v-if="form.deviceType == 3">流量计</font>
<font v-if="form.deviceType == 4">压力表</font>
</el-form-item>
<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>
</el-form-item>
<el-form-item label="工单进度:" v-if="form.orderType == 1">
<font>{{ form.finishNum }}/{{ form.deviceNum }}</font>
</el-form-item>
<el-form-item label="下发时间:" prop="allotTime">
<font>{{ form.allotTime }}</font>
</el-form-item>
<!-- <el-form-item label="接收时间:" prop="actualTime">
<font>{{form.actualTime}}</font>
</el-form-item> -->
</el-form>
<div id="marbox" style="width: 700px;height: 250px;float: left;margin-top: -35px; border: 1px solid rgb(218, 213, 213);">
<div style="width: 100%;height: 100%" id="container"></div>
</div>
</el-form>
<div
id="marbox"
style="
width: 700px;
height: 250px;
float: left;
margin-top: -35px;
border: 1px solid rgb(218, 213, 213);
"
>
<div style="width: 100%; height: 100%" id="container"></div>
</div>
<!-- 接单信息 -->
<div v-if="form.actualTime != '' && form.actualTime != null">
<el-divider></el-divider>
<div style="color: #31EAEA;width: 100%;height: 40px;">
<ul><li>接单信息</li></ul>
</div>
<el-form ref="form" v-model="form" :rules="rules" label-width="100px" style="margin-left: 50px;height: 30px;width: 100%;">
<el-form-item label="接单人:" prop="actualInspectorName" style="float: left;width: 20%;">
<font>{{form.actualInspectorName}}</font>
</el-form-item>
<el-form-item label="接单时间:" prop="actualTime" style="float: left;">
<font>{{form.actualTime}}</font>
</el-form-item>
</el-form>
</div>
<!-- 接单信息 -->
<div v-if="form.actualTime != '' && form.actualTime != null">
<el-divider></el-divider>
<div style="color: #31eaea; width: 100%; height: 40px">
<ul>
<li>接单信息</li>
</ul>
</div>
<!-- 反馈信息 -->
<!-- <div style="width: 100%;font-weight: 600;height: 200px;" v-if="form.dealStatus != '' && form.dealStatus != null"> -->
<div style="width: 100%;font-weight: 600;">
<el-divider></el-divider>
<div style="color: #31EAEA;width: 100%;height: 40px;">
<ul><li>反馈信息</li></ul>
</div>
<div class="block" style="width: 95%;margin-left: 2%;">
<el-timeline>
<el-timeline-item v-for="(activity, index) in form.feedbackList" :key="index" :timestamp="activity.feedbackTime">
<el-card>
<div style="width: 600px;float: left;">
<div style=" width: 600px;">
<div style="float: left;margin-left: 50px; width: 250px;">
<p>设备类型:
<el-form
ref="form"
v-model="form"
:rules="rules"
label-width="100px"
style="margin-left: 50px; height: 30px; width: 100%"
>
<el-form-item
label="接单人:"
prop="actualInspectorName"
style="float: left; width: 20%"
>
<font>{{ form.actualInspectorName }}</font>
</el-form-item>
<el-form-item label="接单时间:" prop="actualTime" style="float: left">
<font>{{ form.actualTime }}</font>
</el-form-item>
</el-form>
</div>
<!-- 反馈信息 -->
<!-- <div style="width: 100%;font-weight: 600;height: 200px;" v-if="form.dealStatus != '' && form.dealStatus != null"> -->
<div style="width: 100%; font-weight: 600">
<el-divider></el-divider>
<div style="color: #31eaea; width: 100%; height: 40px">
<ul>
<li>反馈信息</li>
</ul>
</div>
<div class="block" style="width: 95%; margin-left: 2%">
<el-timeline>
<el-timeline-item
v-for="(activity, index) in form.feedbackList"
:key="index"
:timestamp="activity.feedbackTime"
>
<el-card>
<div style="width: 600px; float: left">
<div style="width: 600px">
<div style="float: left; margin-left: 50px; width: 250px">
<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>是否有隐患:
<p>设备名称:{{ activity.deviceName }}</p>
<p>
是否有隐患:
<span v-if="activity.isHiddenDanger == 1"></span>
<span v-if="activity.isHiddenDanger == 2"></span>
</p>
<div style="width: 600px;">
<p>反馈信息:
<span>{{activity.contents}}</span>
<div style="width: 600px">
<p>
反馈信息:
<span>{{ activity.contents }}</span>
</p>
</div>
</div>
<div style="float: left;margin-left: 50px; width: 250px;">
<div style="float: left; margin-left: 50px; width: 250px">
<p v-if="activity.dealStatus == 3">是否解决:未解决</p>
<p v-if="activity.dealStatus != 3">是否解决:已解决</p>
<p>反馈时间:{{activity.feedbackTime}}</p>
<p v-if="activity.isHiddenDanger == 1">处理状态:
<p>反馈时间:{{ activity.feedbackTime }}</p>
<p v-if="activity.isHiddenDanger == 1">
处理状态:
<span v-if="activity.dealStatus == 1">不需要处理</span>
<span v-if="activity.dealStatus == 2">已处理完成</span>
<span v-if="activity.dealStatus == 3">未处理完成</span>
......@@ -145,337 +213,375 @@
</div>
</div>
</div>
<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>
</div>
<div class="feedbackTime">
<el-image :src="activity.pictureUrl2" :preview-src-list="[activity.pictureUrl2]" v-if="activity.pictureUrl2 != null && activity.pictureUrl2 != ''" style="width: 9s0px;"></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>
</div>
<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>
</div>
</el-card>
</el-timeline-item>
</el-timeline>
</div>
<div class="feedbackTime">
<el-image
:src="activity.pictureUrl2"
:preview-src-list="[activity.pictureUrl2]"
v-if="
activity.pictureUrl2 != null &&
activity.pictureUrl2 != ''
"
style="width: 9s0px"
></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>
</div>
</div>
</el-card>
</el-timeline-item>
</el-timeline>
</div>
<!-- 返回按钮 -->
</div>
<!-- 返回按钮 -->
</div>
</template>
</div>
</template>
<script>
import { listBasicsInfo, getBasicsInfo, delBasicsInfo, addBasicsInfo, updateBasicsInfo, 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 {
listBasicsInfo,
getBasicsInfo,
delBasicsInfo,
addBasicsInfo,
updateBasicsInfo,
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";
export default {
name: "BasicsInfo",
components: {
},
data() {
return {
dialogImageUrl: '',
dialogVisible: false,
disabled: false,
imageUrl: '',
// 遮罩层
loading: true,
// 导出遮罩层
exportLoading: false,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 工单基础信息表格数据
basicsInfoList: [],
// feedbackList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 工单状态字典
typeOptions: [],
pickerOptions:[],
// 工单类型字典
ordertypeOptions: [],
// 设备树选项
deviceOptions: [
{
label: "设备列表",
childList: []
}
],
defaultProps: {
children: "childList",
label: "label"
},
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
orderType: null,
orderName: null,
orderStatus: null,
appointInspector: null,
allotTime: null,
actualInspector: null,
actualTime: null,
remarks: null
name: "BasicsInfo",
components: {},
data() {
return {
dialogImageUrl: "",
dialogVisible: false,
disabled: false,
imageUrl: "",
// 遮罩层
loading: true,
// 导出遮罩层
exportLoading: false,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 工单基础信息表格数据
basicsInfoList: [],
// feedbackList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 工单状态字典
typeOptions: [],
pickerOptions: [],
// 工单类型字典
ordertypeOptions: [],
// 设备树选项
deviceOptions: [
{
label: "设备列表",
childList: [],
},
// 表单参数
form: {},
// 表单校验
rules: {
},
active : 0,
orderId : ""
};
],
defaultProps: {
children: "childList",
label: "label",
},
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
orderType: null,
orderName: null,
orderStatus: null,
appointInspector: null,
allotTime: null,
actualInspector: null,
actualTime: null,
remarks: null,
},
// 表单参数
form: {},
// 表单校验
rules: {},
active: 0,
orderId: "",
};
},
created() {
// 如果是跳转来的,则接受初始化参数
// 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;
});
this.getDicts("t_order_type").then((response) => {
this.ordertypeOptions = response.data;
});
this.getBasicsInfo();
},
mounted() {
let gaoMap = new gaodeMap("石家庄");
this.gaoMap = gaoMap;
this.getBasicsInfo();
},
methods: {
handleRemove(file) {
console.log(file);
},
created() {
// 如果是跳转来的,则接受初始化参数
// 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;
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url;
this.dialogVisible = true;
},
handleDownload(file) {
console.log(file);
},
/** 查询工单基础信息列表 */
getList() {
this.loading = true;
listBasicsInfo(this.queryParams).then((response) => {
this.basicsInfoList = response.rows;
this.total = response.total;
this.loading = false;
});
this.getDicts("t_order_type").then(response => {
this.ordertypeOptions = response.data;
},
getBasicsInfo() {
getBasicsInfo(this.orderId).then((response) => {
this.form = response.data;
console.log(this.form.feedbackList, "00000000000");
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,
]);
}
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;
});
}
});
this.getBasicsInfo();
},
mounted(){
let gaoMap = new gaodeMap("石家庄");
this.gaoMap = gaoMap;
this.getBasicsInfo();
// 筛选节点
// filterNode(value, data) {
// if (!value) return true;
// return data.label.indexOf(value) !== -1;
// },
// 节点单击事件
handleNodeClick(data) {},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
methods: {
handleRemove(file) {
console.log(file);
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url;
this.dialogVisible = true;
},
handleDownload(file) {
console.log(file);
},
/** 查询工单基础信息列表 */
getList() {
this.loading = true;
listBasicsInfo(this.queryParams).then(response => {
this.basicsInfoList = response.rows;
this.total = response.total;
this.loading = false;
});
},
getBasicsInfo (){
getBasicsInfo(this.orderId).then(response =>{
this.form = response.data;
console.log(this.form.feedbackList,"00000000000")
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]);
}
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) {
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
orderId: null,
orderType: null,
orderName: null,
orderStatus: "0",
createTime: null,
appointInspector: null,
allotTime: null,
actualInspector: null,
actualTime: null,
remarks: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.orderId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
// 表单重置
reset() {
this.form = {
orderId: null,
orderType: null,
orderName: null,
orderStatus: "0",
createTime: null,
appointInspector: null,
allotTime: null,
actualInspector: null,
actualTime: null,
remarks: null,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.orderId);
this.single = selection.length !== 1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加工单基础信息";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const orderId = row.orderId || this.ids;
getBasicsInfo(orderId).then((response) => {
this.form = response.data;
this.open = true;
this.title = "添加工单基础信息";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const orderId = row.orderId || this.ids
getBasicsInfo(orderId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改工单基础信息";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.orderId != null) {
updateBasicsInfo(this.form).then(response => {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addBasicsInfo(this.form).then(response => {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
this.title = "修改工单基础信息";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.orderId != null) {
updateBasicsInfo(this.form).then((response) => {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addBasicsInfo(this.form).then((response) => {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const orderIds = row.orderId || this.ids;
this.$confirm('是否确认删除工单基础信息编号为"' + orderIds + '"的数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return delBasicsInfo(orderIds);
}).then(() => {
this.getList();
this.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
this.$confirm('是否确认导出所有工单基础信息数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
this.exportLoading = true;
return exportBasicsInfo(queryParams);
}).then(response => {
this.download(response.msg);
this.exportLoading = false;
}).catch(() => {});
}
}
}
</script>
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const orderIds = row.orderId || this.ids;
this.$confirm(
'是否确认删除工单基础信息编号为"' + orderIds + '"的数据项?',
"警告",
{
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}
)
.then(function () {
return delBasicsInfo(orderIds);
})
.then(() => {
this.getList();
this.msgSuccess("删除成功");
})
.catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
this.$confirm("是否确认导出所有工单基础信息数据项?", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.exportLoading = true;
return exportBasicsInfo(queryParams);
})
.then((response) => {
this.download(response.msg);
this.exportLoading = false;
})
.catch(() => {});
},
},
};
</script>
<style>
.feedbackTime-div{
float: left;margin-left: 150px;margin-top: 10px;
}
.feedbackTime{
height: 120px;
width: 120px;
float: left;
margin-left: 15px;
margin-top: 5px;
margin-bottom: 15px;
display: flex;
justify-content: center;
align-items: center;
}
.el-card__body {
padding: 5px 20px 20px 20px;
}
.detail .el-form{
width: 20%;
}
.detail .el-form-item{
margin-bottom: 0px;
}
.el-tree{
margin-top: 5px;
}
.avatar-uploader{
width: 25%;
float: left;
}
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 178px;
height: 178px;
line-height: 178px;
text-align: center;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
li{
font-size: 15px;
font-weight: 900;
}
</style>
.feedbackTime-div {
float: left;
margin-left: 150px;
margin-top: 10px;
}
.feedbackTime {
height: 120px;
width: 120px;
float: left;
margin-left: 15px;
margin-top: 5px;
margin-bottom: 15px;
display: flex;
justify-content: center;
align-items: center;
}
.el-card__body {
padding: 5px 20px 20px 20px;
}
.detail .el-form {
width: 20%;
}
.detail .el-form-item {
margin-bottom: 0px;
}
.el-tree {
margin-top: 5px;
}
.avatar-uploader {
width: 25%;
float: left;
}
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409eff;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 178px;
height: 178px;
line-height: 178px;
text-align: center;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
li {
font-size: 15px;
font-weight: 900;
}
</style>
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