1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
| <template>
| <div id="queryTrace" >
| <el-dialog
| title="查询轨迹"
| width="40%"
| top="2rem"
| :close-on-click-modal="false"
| :visible.sync="showDialog"
| :destroy-on-close="true"
| @close="close()"
| >
| <div v-loading="isLoging">
| <el-date-picker v-model="searchFrom" type="datetime" placeholder="选择开始日期时间" default-time="00:00:00" value-format="yyyy-MM-dd HH:mm:ss" size="mini" style="width: 11rem;" align="right" :picker-options="pickerOptions"></el-date-picker>
| <el-date-picker v-model="searchTo" type="datetime" placeholder="选择结束日期时间" default-time="00:00:00" value-format="yyyy-MM-dd HH:mm:ss" size="mini" style="width: 11rem;" align="right" :picker-options="pickerOptions"></el-date-picker>
| <el-button icon="el-icon-search" size="mini" type="primary" @click="onSubmit">查询</el-button>
| </div>
|
| </el-dialog>
| </div>
| </template>
|
| <script>
| import DeviceService from '../service/DeviceService'
|
| export default {
| name: "deviceEdit",
| props: [],
| computed: {},
| created() {},
| data() {
| return {
| deviceService: new DeviceService(),
| pickerOptions: {
| shortcuts: [{
| text: '今天',
| onClick(picker) {
| picker.$emit('pick', new Date());
| }
| }, {
| text: '昨天',
| onClick(picker) {
| const date = new Date();
| date.setTime(date.getTime() - 3600 * 1000 * 24);
| picker.$emit('pick', date);
| }
| }, {
| text: '一周前',
| onClick(picker) {
| const date = new Date();
| date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
| picker.$emit('pick', date);
| }
| }]
| },
| searchFrom: null,
| searchTo: null,
| listChangeCallback: null,
| showDialog: false,
| isLoging: false,
| channel: null,
| callback: null,
| };
| },
| methods: {
| openDialog: function (channel, callback) {
| console.log(channel)
| this.showDialog = true;
| this.callback = callback;
| this.channel = channel;
| },
|
| onSubmit: function () {
| console.log("onSubmit");
| this.isLoging = true;
| let url = `/api/position/history/${this.channel.deviceId}?start=${this.searchFrom}&end=${this.searchTo}`;
| if (this.channel.channelId) {
| url+="&channelId=${this.channel.channelId}"
| }
| this.$axios.get(url, {
| }).then((res)=> {
| this.isLoging = false;
| if (typeof this.callback == "function") {
| if (res.data.code == 0) {
| this.callback(res.data.data)
| this.close()
| }else {
| this.$message.error(res.data.msg);
| }
|
| }
| }).catch(function (error) {
| this.isLoging = false;
| console.error(error);
| })
| },
| close: function () {
| this.showDialog = false;
| this.isLoging = false;
| this.callback = null;
| this.channel = null;
| },
| },
| };
| </script>
|
|