safecheck-client 3.0.34-6 → 3.0.34-61

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. package/docs/FormPrint.md +18 -18
  2. package/docs/GridTree.md +47 -47
  3. package/docs/PrintFile.md +38 -38
  4. package/docs/tree.md +40 -40
  5. package/package.json +1 -1
  6. package/src/App-/345/215/225/351/241/265/351/235/242/346/211/223/345/214/205/347/224/250.vue +55 -0
  7. package/src/assets/123.png +0 -0
  8. package/src/assets/f8632d3c8c4c1cb68e99da754cab1a7.png +0 -0
  9. package/src/components/LoadData.vue +62 -0
  10. package/src/components/NewDefectList/DefectListNew.vue +617 -616
  11. package/src/components/android/AddGas.vue +147 -147
  12. package/src/components/android/AndroidDefectDeal.vue +1 -0
  13. package/src/components/android/AreaPlan.vue +566 -566
  14. package/src/components/android/AreaSelect.vue +208 -0
  15. package/src/components/android/BuildingSelect.vue +217 -0
  16. package/src/components/android/CheckPlanSelect.vue +248 -0
  17. package/src/components/android/CheckerMonthly.vue +84 -84
  18. package/src/components/android/LcheckUnplan.vue +108 -108
  19. package/src/components/android/PaperFeedback.vue +33 -0
  20. package/src/components/android/QRCode/QRCodeBinding.vue +300 -0
  21. package/src/components/android/QRCode/QRCodePage.vue +212 -0
  22. package/src/components/android/SafecheckDevices.vue +2 -2
  23. package/src/components/android/SafecheckOrderV.vue +8 -12
  24. package/src/components/android/SwitchValve.vue +323 -323
  25. package/src/components/android/examples/SafeListExamples.vue +96 -0
  26. package/src/components/android/examples/UserExamples.vue +130 -0
  27. package/src/components/checkerphonestate/Checker.vue +32 -32
  28. package/src/components/checkerphonestate/CheckerState.vue +97 -97
  29. package/src/components/defects/AddDefectModal.vue +120 -120
  30. package/src/components/defects/AddDevice.vue +95 -95
  31. package/src/components/defects/DevicesSeting.vue +106 -106
  32. package/src/components/metterfiles/AddUserfiles.vue +246 -246
  33. package/src/components/metterfiles/MetterFiles.vue +104 -104
  34. package/src/components/notice/NoticeQuery.vue +76 -76
  35. package/src/components/paper/RepairVerifyForm.vue +76 -76
  36. package/src/components/phonestate/DailyTraffic.vue +57 -57
  37. package/src/components/phonestate/LastKnownState.vue +74 -74
  38. package/src/components/rongcheng/AddPlanItem.vue +4 -0
  39. package/src/components/rongcheng/AspiratedUserInfo.vue +1 -1
  40. package/src/components/rongcheng/CheckSearchUser.vue +40 -14
  41. package/src/components/rongcheng/PaperStatem.vue +6 -1
  42. package/src/components/rongcheng/PhoneDevicesInfo.vue +16 -1
  43. package/src/components/rongcheng/PhoneUpUserinfo.vue +0 -92
  44. package/src/components/rongcheng/SafecheckOrderV.vue +12 -3
  45. package/src/components/rongcheng/SafecheckOrderVCli.vue +9 -0
  46. package/src/components/task/RepairAnnual.vue +79 -79
  47. package/src/components/task/RepairAnnualDetail.vue +49 -49
  48. package/src/components/task/RepairMonthly.vue +91 -91
  49. package/src/components/task/TaskAnnual.vue +77 -77
  50. package/src/components/task/TaskAnnualDetail.vue +47 -47
  51. package/src/components/task/TaskMonthly.vue +89 -89
  52. package/src/components/userfile/UserfileChange.vue +277 -277
  53. package/src/filiale/baiyin/android/AndroidDefectDeal.vue +4 -4
  54. package/src/filiale/baiyin/android/SafecheckOrderV.vue +2785 -0
  55. package/src/filiale/baiyin/android.js +1 -0
  56. package/src/filiale/baiyin/pc/CheckSearchUser.vue +2 -2
  57. package/src/filiale/baiyin/pc/DefectListNew.vue +3 -3
  58. package/src/filiale/baiyin/pc/PaperList.vue +7 -7
  59. package/src/filiale/baiyin/pc/checkUserList.vue +771 -771
  60. package/src/filiale/baiyin/pc.js +21 -21
  61. package/src/filiale/bayan/android/SafecheckOrderV.vue +52 -29
  62. package/src/filiale/bayan/pc/PaperList.vue +1 -0
  63. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +35 -15
  64. package/src/filiale/huaran/android/SafecheckOrderV.vue +2803 -0
  65. package/src/filiale/huaran/android.js +12 -0
  66. package/src/filiale/huaran/pc/CheckBook.vue +313 -0
  67. package/src/filiale/huaran/pc/CheckBookAll.vue +69 -0
  68. package/src/filiale/huaran/pc/CheckBookArea.vue +170 -0
  69. package/src/filiale/huaran/pc/CheckBookCompany.vue +166 -0
  70. package/src/filiale/huaran/pc/CheckBookDetails.vue +196 -0
  71. package/src/filiale/huaran/pc/CheckBookEntry.vue +61 -0
  72. package/src/filiale/huaran/pc/CheckBookList.vue +386 -0
  73. package/src/filiale/huaran/pc/CheckBookSearchArea.vue +564 -0
  74. package/src/filiale/huaran/pc/CheckBookSearchUnit.vue +229 -0
  75. package/src/filiale/huaran/pc/CheckBookSearchUser.vue +604 -0
  76. package/src/filiale/huaran/pc/CheckBookUser.vue +112 -0
  77. package/src/filiale/huaran/pc/PaperList.vue +822 -0
  78. package/src/filiale/huaran/pc/PlanManage.vue +887 -0
  79. package/src/filiale/huaran/pc/checkPlanList.vue +419 -0
  80. package/src/filiale/huaran/pc/checkUserList.vue +867 -0
  81. package/src/filiale/huaran/pc.js +27 -0
  82. package/src/filiale/jiaxian/android/AddPlanItem.vue +447 -0
  83. package/src/filiale/jiaxian/android/PhoneUpUserinfo.vue +1229 -0
  84. package/src/filiale/jiaxian/android/SafecheckDevices.vue +6 -6
  85. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -0
  86. package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -0
  87. package/src/filiale/jiaxian/android.js +4 -0
  88. package/src/filiale/kelai/pc/CheckPlanAreaList.vue +15 -7
  89. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -0
  90. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -0
  91. package/src/filiale/ruihua/android.js +11 -0
  92. package/src/filiale/shanxian/pc/checkUserList.vue +700 -700
  93. package/src/filiale/siyang/pc/CheckBookSearchArea.vue +645 -0
  94. package/src/filiale/siyang/pc/CheckPlanAreaList.vue +512 -0
  95. package/src/filiale/siyang/pc/CheckSearchUser.vue +982 -0
  96. package/src/filiale/siyang/pc/HiddenSituation.vue +167 -0
  97. package/src/filiale/siyang/pc/checkPlanList.vue +367 -0
  98. package/src/filiale/siyang/pc/checkUserList.vue +22 -18
  99. package/src/filiale/siyang/pc.js +5 -0
  100. package/src/filiale/tongchuan/android/Select.vue +421 -0
  101. package/src/filiale/tongchuan/android.js +1 -0
  102. package/src/filiale/tongchuan/pc/CheckPlanCountChartArea.vue +3 -1
  103. package/src/filiale/tongchuan/pc/DefectPaperWeiXiu.vue +6 -2
  104. package/src/filiale/tongchuan/pc/HiddenSituation.vue +3 -1
  105. package/src/filiale/tongchuan/pc/NewCheckpaper.vue +13 -22
  106. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +1060 -1060
  107. package/src/filiale/tongchuan/pc/SelectCheckPlan.vue +5 -2
  108. package/src/filiale/tongchuan/utils/EventListener.js +29 -0
  109. package/src/filiale/tongchuan/utils/coerceBoolean.js +7 -0
  110. package/src/filiale/weinan/android/SafecheckDevices.vue +1 -1
  111. package/src/filiale/weinan/android/SafecheckOrderV.vue +1 -1
  112. package/src/filiale/weinan/pc/CheckBookSearchUserList.vue +735 -722
  113. package/src/filiale/weinan/pc/CheckDetail.vue +278 -278
  114. package/src/filiale/weinan/pc/DefectListNew.vue +617 -617
  115. package/src/filiale/weinan/pc/DefectMainNew.vue +63 -63
  116. package/src/filiale/weinan/pc/DefectPaperNew.vue +31 -0
  117. package/src/filiale/weinan/pc/DeviceChange.vue +1088 -0
  118. package/src/filiale/weinan/pc/checkUserList.vue +712 -776
  119. package/src/filiale/weinan/pc.js +47 -46
  120. package/src/filiale/wuan/android/SafecheckOrderV.vue +1 -0
  121. package/src/filiale/wuan/android/SafecheckUserInfo.vue +4 -0
  122. package/src/filiale/yangchunboneng/android/CurrentCreate.vue +1192 -1192
  123. package/src/filiale/yangchunboneng/android/DailyworkloadQuery.vue +472 -472
  124. package/src/filiale/yangchunboneng/android/safeHistoryLook.vue +473 -473
  125. package/src/filiale/yangchunboneng/pc/CheckBookSearchUser.vue +13 -11
  126. package/src/filiale/yangchunboneng/pc/CheckBookUser.vue +6 -6
  127. package/src/filiale/yangchunboneng/pc/CheckSearchUser.vue +10 -10
  128. package/src/filiale/yangchunboneng/pc/DefectPaperNew.vue +10 -10
  129. package/src/filiale/yangchunboneng/pc/PaperDefectMain.vue +6 -6
  130. package/src/filiale/yangchunboneng/pc/PaperList.vue +6 -6
  131. package/src/filiale/yuansheng/android/SafecheckDevices.vue +11 -1
  132. package/src/filiale/yuansheng/pc/NewCheckpaper.vue +10 -2
  133. package/src/main-/345/215/225/351/241/265/351/235/242/346/211/223/345/214/205/347/224/250.js +24 -0
  134. package/src/safecheck-android.js +7 -0
  135. package/src/safecheck-page.js +10 -0
@@ -0,0 +1,96 @@
1
+ <template>
2
+ <div class="panel panel-default auto repair-info-content">
3
+ <div class="panel-body">
4
+ <div class="panel panel-default well" v-if="model.length>0">
5
+ <div class="bg-info">
6
+ <div class="row form-group">
7
+ <div class="col-xs-12 col-sm-12 col-md-12">
8
+ <div class="row">
9
+ <div class="col-xs-12 col-sm-12 col-md-12">
10
+ 用户名称: {{ model[0].f_user_name }}
11
+ </div>
12
+ <div class="col-xs-12 col-sm-12 col-md-12">
13
+ 用户编号: {{ model[0].f_userinfo_code }}
14
+ </div>
15
+ <div class="col-xs-12 col-sm-12 col-md-12">
16
+ 用户电话: {{ model[0].f_user_phone }}
17
+ </div>
18
+ <div class="col-xs-12 col-sm-12 col-md-12">
19
+ 用户地址: {{ model[0].f_address }}
20
+ </div>
21
+ </div>
22
+ </div>
23
+ </div>
24
+ </div>
25
+ </div>
26
+ <div class="panel panel-default well" v-for="row in model">
27
+ <div class="bg-info">
28
+ <div class="row form-group">
29
+ <div class="col-xs-12 col-sm-12 col-md-12">
30
+ <div class="row">
31
+ <div class="col-xs-12 col-sm-12 col-md-12">
32
+ 安检时间: {{ row.f_offsite_time }}
33
+ </div>
34
+ <div class="col-xs-12 col-sm-12 col-md-12">
35
+ 安检员: {{ row.f_checker_name }}
36
+ </div>
37
+ <div class="col-xs-12 col-sm-12 col-md-12">
38
+ 安检状态: {{ row.f_entry_status }}
39
+ </div>
40
+ <div class="col-xs-12 col-sm-12 col-md-12">
41
+ 安检结果: {{ row.f_defect_content.include('正常') ? '正常' : '有隐患' }}
42
+ </div>
43
+ <div class="col-xs-12 col-sm-12 col-md-12">
44
+ 整改内容: {{ row.f_defect_text }}
45
+ </div>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ </div>
51
+ </div>
52
+ </div>
53
+ </template>
54
+
55
+ <script>
56
+ import {HttpResetClass} from 'vue-client'
57
+
58
+ export default {
59
+ title: '查询用户',
60
+ data() {
61
+ return {
62
+ model: [],
63
+ f_safecheck_code: ''
64
+ }
65
+ },
66
+ methods: {
67
+ getmodel() {
68
+ let http = new HttpResetClass()
69
+ http.load('POST', `rs/sql/tel_singleTable_OrderBy`, {
70
+ data: {
71
+ items: "tcp.*,CASE WHEN CHARINDEX( '\"result\":\"正常\"', f_defect_content ) > 0 THEN '无隐患' ELSE replace(replace(replace( replace( RIGHT ( f_defect_content, len( f_defect_content ) - 26 ), substring('{}',2,1), '' ), substring('{}',1,1), '' ),']',''),'\"','') END as f_defect_text",
72
+ tablename: 't_check_paper tcp left join t_qr_code tqr on tcp.f_userinfo_code = tqr.f_userinfo_id and tcp.f_user_name = tqr.f_user_name',
73
+ condition: `tqr.f_safecheck_code = '${this.f_safecheck_code}'`,
74
+ orderitem: 'tcp.f_offsite_time desc'
75
+ }
76
+ }).then((res) => {
77
+ this.model = res.data
78
+ })
79
+ },
80
+ },
81
+ ready() {
82
+ console.log(window.location.href)
83
+ let url = window.location.href
84
+ if (url.includes('id')){
85
+ const urlObj = new URL(url);
86
+ this.f_safecheck_code = urlObj.searchParams.get('id')
87
+ this.getmodel()
88
+ }else {
89
+ console.log(window.location.href)
90
+ console.log('非法数据')
91
+ }
92
+ }
93
+ }
94
+ </script>
95
+ <style>
96
+ </style>
@@ -0,0 +1,130 @@
1
+ <template>
2
+ <div class="work-badge" style="height: 100%">
3
+ <div class="badge-top" style="height: 33%">
4
+ <div class="badge-number">NO.{{ f_head_code }}</div>
5
+ </div>
6
+ <div class="badge-middle" style="height: 33%">
7
+ <img class="badge-image" :src="f_head_pic" alt="Badge Image">
8
+ <h1 class="name">{{ f_head_name }}</h1>
9
+ <div class="position">{{ f_head_post }}</div>
10
+ </div>
11
+ <div class="badge-bottom" style="height: 33%">
12
+ <div class="contact">
13
+ <img class="phone-icon" src="../../../assets/123.png" style="height: 30px;width: 30px" alt="Phone Icon">
14
+ <span style="font-size: 30px">{{ f_head_phone }}</span>
15
+ </div>
16
+ </div>
17
+ </div>
18
+ </template>
19
+ <script>
20
+ import {HttpResetClass} from "vue-client";
21
+
22
+ export default {
23
+ name: 'WorkBadge',
24
+ title:'WorkBadge',
25
+ data () {
26
+ return {
27
+ // 默认值或初始状态
28
+ f_head_pic: '',
29
+ f_head_code: '',
30
+ f_head_name: '',
31
+ f_head_post: '',
32
+ f_head_phone: ''
33
+ };
34
+ },
35
+ async ready () {
36
+ console.log(window.location.href)
37
+ let id = ''
38
+ let url = window.location.href
39
+ if (url.includes('id')){
40
+ const urlObj = new URL(url);
41
+ id = urlObj.searchParams.get('id');
42
+ let QRCode = await new HttpResetClass().load('post',`rs/sql/tel_singleTable_OrderBy`,{data: {
43
+ items: 'tqr.*,tf.f_downloadpath as url',
44
+ tablename: 't_qr_code tqr left join t_files tf on tf.f_businessid = tqr.id and f_table_name = \'t_qr_code\'',
45
+ condition: `f_head_code = '${id}'`,
46
+ orderitem: '1'
47
+ }})
48
+ if (QRCode && QRCode.data && QRCode.data.length > 0){
49
+ if (QRCode.data[0].url){
50
+ this.f_head_pic = QRCode.data[0].url
51
+ }else {
52
+ this.f_head_pic = `/rs/image/file/${QRCode.data[0].f_head_pic}`
53
+ }
54
+ this.f_head_code = QRCode.data[0].f_head_code
55
+ this.f_head_name = QRCode.data[0].f_head_name
56
+ this.f_head_post = QRCode.data[0].f_head_post
57
+ this.f_head_phone = QRCode.data[0].f_head_phone
58
+ }else {
59
+ console.log('获取二维码信息失败')
60
+ console.log(QRCode)
61
+ }
62
+ }
63
+ }
64
+ };
65
+ </script>
66
+ <style scoped>
67
+ .work-badge {
68
+ display: flex;
69
+ flex-direction: column;
70
+ background-image: url('../../../assets/f8632d3c8c4c1cb68e99da754cab1a7.png');
71
+ align-items: center;
72
+ background-color: #007BFF;
73
+ color: white;
74
+ padding: 20px;
75
+ border-radius: 10px;
76
+ }
77
+
78
+ .badge-top {
79
+ display: flex;
80
+ align-items: center;
81
+ justify-content: space-between;
82
+ width: 100%;
83
+ margin-bottom: 20px;
84
+ }
85
+
86
+ .badge-image {
87
+ width: 150px;
88
+ height: 150px;
89
+ margin-right: 20px;
90
+ }
91
+
92
+ .badge-number {
93
+ font-size: 24px;
94
+ float: left;
95
+ text-align: left;
96
+ font-weight: bold;
97
+ }
98
+
99
+ .badge-middle {
100
+ text-align: center;
101
+ margin-bottom: 20px;
102
+ }
103
+
104
+ .name {
105
+ font-size: 48px;
106
+ font-weight: bold;
107
+ margin-bottom: 10px;
108
+ }
109
+
110
+ .position {
111
+ font-size: 24px;
112
+ }
113
+
114
+ .badge-bottom {
115
+ display: flex;
116
+ align-items: center;
117
+ justify-content: center;
118
+ }
119
+
120
+ .contact {
121
+ display: flex;
122
+ align-items: center;
123
+ }
124
+
125
+ .phone-icon {
126
+ width: 30px;
127
+ height: 30px;
128
+ margin-right: 10px;
129
+ }
130
+ </style>
@@ -1,32 +1,32 @@
1
- <template>
2
- <div>
3
- 正在查询,请稍后!!!
4
- </div>
5
- </template>
6
-
7
- <script>
8
- import co from 'co'
9
- let search = function * (self) {
10
- let state = yield self.$post('rs/sql/phone', {data: {f_period: '最新'}})
11
- self.$goto('checker-state', {state: state.date})
12
- }
13
- export default {
14
- title: '安检员状态',
15
- data () {
16
- return {
17
- model: {
18
- }
19
- }
20
- },
21
- methods: {
22
- getstate () {
23
- let gen = search(this)
24
- return co(gen)
25
- }
26
- },
27
- ready () {
28
- this.getstate()
29
- },
30
- components: {}
31
- }
32
- </script>
1
+ <template>
2
+ <div>
3
+ 正在查询,请稍后!!!
4
+ </div>
5
+ </template>
6
+
7
+ <script>
8
+ import co from 'co'
9
+ let search = function * (self) {
10
+ let state = yield self.$post('rs/sql/phone', {data: {f_period: '最新'}})
11
+ self.$goto('checker-state', {state: state.date})
12
+ }
13
+ export default {
14
+ title: '安检员状态',
15
+ data () {
16
+ return {
17
+ model: {
18
+ }
19
+ }
20
+ },
21
+ methods: {
22
+ getstate () {
23
+ let gen = search(this)
24
+ return co(gen)
25
+ }
26
+ },
27
+ ready () {
28
+ this.getstate()
29
+ },
30
+ components: {}
31
+ }
32
+ </script>
@@ -1,97 +1,97 @@
1
- <template>
2
- <div>
3
- <criteria-paged :model="model" v-ref:paged>
4
- <criteria partial='criteria' @condition-changed='search'>
5
- <div novalidate class="form-inline auto" partial>
6
- <div class="form-group">
7
- <label for="f_state">状态:</label>
8
- <v-select id="f_state" :value.sync="$parent.$parent.f_period"
9
- :options='$parent.$parent.check_states'
10
- close-on-select clear-button></v-select>
11
- </div>
12
- <div class="form-group">
13
- 时间:
14
- <datepicker id="startdate"
15
- :value.sync="$parent.$parent.f_realtime"
16
- :disabled-days-of-Week="[]"
17
- :format="'yyyy-MM-dd'"
18
- :show-reset-button="reset">
19
- </datepicker>
20
- </div>
21
-
22
- <button class="btn btn-default" @click="search()">查询</button>
23
- </div>
24
- </criteria>
25
- <data-grid :model="model" partial='list' v-ref:grid>
26
- <template partial='head'>
27
- <tr>
28
- <th>时间</th>
29
- <th>手机使用者</th>
30
- <th>手机串码</th>
31
- <th>经度</th>
32
- <th>纬度</th>
33
- <th>海拔(米)</th>
34
- <th>电量%</th>
35
- <th>信号强度</th>
36
- <th>剩余空间M</th>
37
- <th>流量Kb</th>
38
- </tr>
39
- </template>
40
- <template partial='body'>
41
- <td>{{row.f_datetime}}</td>
42
- <td>{{row.f_user_name }}</td>
43
- <td>{{row.f_sn}}</td>
44
- <td>{{row.f_longitude}}</td>
45
- <td>{{row.f_latitude}}</td>
46
- <td>{{row.f_altitude}}</td>
47
- <td>{{row.f_battery_level}}</td>
48
- <td>{{row.f_signal_strength}}</td>
49
- <td>{{row.f_internal_quote}}</td>
50
- <td>{{row.f_traffic/1000}}</td>
51
- </template>
52
- </data-grid>
53
- </criteria-paged>
54
- </div>
55
- </template>
56
-
57
- <script>
58
- import { PagedList } from 'vue-client'
59
- export default {
60
- title: '安检员状态',
61
- data () {
62
- return {
63
- model: new PagedList('rs/sql/checkerphonestate', 20, {f_period: 'this.f_period', f_realtime: 'this.f_realtime'}),
64
- check_states: [
65
- {label: '最后在线', value: '最新'},
66
- {label: '分钟状态', value: '分'},
67
- {label: '天状态', value: '天'},
68
- {label: '月状态', value: '月'}
69
- ],
70
- f_period: ['最新'],
71
- f_realtime: this.toStandardDateString()
72
- }
73
- },
74
- methods: {
75
- getstate () {
76
- this.model.search()
77
- },
78
- toStandardDateString () {
79
- let dt = new Date()
80
- let month = dt.getMonth() + 1
81
- let date = dt.getDate()
82
- return dt.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date)
83
- }
84
- },
85
- ready () {
86
- this.model.f_period = this.f_period[0]
87
- this.model.f_realtime = this.f_realtime
88
- this.$watch('f_period', function (val) {
89
- this.model.f_period = val[0]
90
- })
91
- this.$watch('f_realtime', function (val) {
92
- this.model.f_realtime = val
93
- })
94
- this.getstate()
95
- }
96
- }
97
- </script>
1
+ <template>
2
+ <div>
3
+ <criteria-paged :model="model" v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='search'>
5
+ <div novalidate class="form-inline auto" partial>
6
+ <div class="form-group">
7
+ <label for="f_state">状态:</label>
8
+ <v-select id="f_state" :value.sync="$parent.$parent.f_period"
9
+ :options='$parent.$parent.check_states'
10
+ close-on-select clear-button></v-select>
11
+ </div>
12
+ <div class="form-group">
13
+ 时间:
14
+ <datepicker id="startdate"
15
+ :value.sync="$parent.$parent.f_realtime"
16
+ :disabled-days-of-Week="[]"
17
+ :format="'yyyy-MM-dd'"
18
+ :show-reset-button="reset">
19
+ </datepicker>
20
+ </div>
21
+
22
+ <button class="btn btn-default" @click="search()">查询</button>
23
+ </div>
24
+ </criteria>
25
+ <data-grid :model="model" partial='list' v-ref:grid>
26
+ <template partial='head'>
27
+ <tr>
28
+ <th>时间</th>
29
+ <th>手机使用者</th>
30
+ <th>手机串码</th>
31
+ <th>经度</th>
32
+ <th>纬度</th>
33
+ <th>海拔(米)</th>
34
+ <th>电量%</th>
35
+ <th>信号强度</th>
36
+ <th>剩余空间M</th>
37
+ <th>流量Kb</th>
38
+ </tr>
39
+ </template>
40
+ <template partial='body'>
41
+ <td>{{row.f_datetime}}</td>
42
+ <td>{{row.f_user_name }}</td>
43
+ <td>{{row.f_sn}}</td>
44
+ <td>{{row.f_longitude}}</td>
45
+ <td>{{row.f_latitude}}</td>
46
+ <td>{{row.f_altitude}}</td>
47
+ <td>{{row.f_battery_level}}</td>
48
+ <td>{{row.f_signal_strength}}</td>
49
+ <td>{{row.f_internal_quote}}</td>
50
+ <td>{{row.f_traffic/1000}}</td>
51
+ </template>
52
+ </data-grid>
53
+ </criteria-paged>
54
+ </div>
55
+ </template>
56
+
57
+ <script>
58
+ import { PagedList } from 'vue-client'
59
+ export default {
60
+ title: '安检员状态',
61
+ data () {
62
+ return {
63
+ model: new PagedList('rs/sql/checkerphonestate', 20, {f_period: 'this.f_period', f_realtime: 'this.f_realtime'}),
64
+ check_states: [
65
+ {label: '最后在线', value: '最新'},
66
+ {label: '分钟状态', value: '分'},
67
+ {label: '天状态', value: '天'},
68
+ {label: '月状态', value: '月'}
69
+ ],
70
+ f_period: ['最新'],
71
+ f_realtime: this.toStandardDateString()
72
+ }
73
+ },
74
+ methods: {
75
+ getstate () {
76
+ this.model.search()
77
+ },
78
+ toStandardDateString () {
79
+ let dt = new Date()
80
+ let month = dt.getMonth() + 1
81
+ let date = dt.getDate()
82
+ return dt.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date)
83
+ }
84
+ },
85
+ ready () {
86
+ this.model.f_period = this.f_period[0]
87
+ this.model.f_realtime = this.f_realtime
88
+ this.$watch('f_period', function (val) {
89
+ this.model.f_period = val[0]
90
+ })
91
+ this.$watch('f_realtime', function (val) {
92
+ this.model.f_realtime = val
93
+ })
94
+ this.getstate()
95
+ }
96
+ }
97
+ </script>