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

优化上传图片预览

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