system-phone 3.0.49 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/.gradle/buildOutputCleanup/cache.properties +2 -2
  2. package/SystemPhone.iml +8 -8
  3. package/build/dev-server.js +141 -141
  4. package/build/webpack.base.conf.js +82 -82
  5. package/build.gradle +27 -27
  6. package/gradle/wrapper/gradle-wrapper.properties +5 -5
  7. package/gradlew +183 -183
  8. package/gradlew.bat +100 -100
  9. package/index.html +21 -21
  10. package/package.json +1 -1
  11. package/src/App.vue +25 -25
  12. package/src/Util.js +415 -415
  13. package/src/assets/images//346/211/223/345/215/241.png +0 -0
  14. package/src/assets//344/277/235/351/231/251/347/231/273/350/256/260.png +0 -0
  15. package/src/assets//345/210/240/351/231/244/347/205/247/347/211/207.png +0 -0
  16. package/src/assets//345/215/217/345/212/251/345/256/211/346/243/200.png +0 -0
  17. package/src/assets//345/215/241/350/241/250/346/212/204/350/241/250/345/276/205/345/212/236.png +0 -0
  18. package/src/assets//345/233/236/350/256/277.png +0 -0
  19. package/src/assets//345/234/260/345/235/200/345/217/230/346/233/264.png +0 -0
  20. package/src/assets//345/242/236/345/200/274/345/276/205/345/212/236.png +0 -0
  21. package/src/assets//345/244/226/351/203/250/345/256/211/346/243/200/344/270/212/344/274/240.png +0 -0
  22. package/src/assets//345/244/226/351/203/250/345/256/211/346/243/200/344/273/243/345/212/236.png +0 -0
  23. package/src/assets//345/244/226/351/203/250/345/256/211/346/243/200/345/267/262/345/212/236.png +0 -0
  24. package/src/assets//345/244/226/351/203/250/345/256/211/346/243/200/345/276/205/345/212/236.png +0 -0
  25. package/src/assets//345/244/226/351/203/250/351/233/206/344/270/255/345/256/211/346/243/200.png +0 -0
  26. package/src/assets//345/256/211/346/243/200/345/216/206/345/217/262/346/237/245/347/234/213.png +0 -0
  27. package/src/assets//345/256/211/346/243/200/347/256/241/347/220/206/346/234/252/351/200/211/344/270/255.png +0 -0
  28. package/src/assets//345/256/211/346/243/200/347/256/241/347/220/206/351/200/211/344/270/255.png +0 -0
  29. package/src/assets//345/256/211/346/243/200/350/275/254/345/215/225/345/256/241/346/240/270.png +0 -0
  30. package/src/assets//345/267/245/345/215/225/345/244/215/346/243/200.png +0 -0
  31. package/src/assets//345/267/245/345/225/206/345/256/211/346/243/200.png +0 -0
  32. package/src/assets//345/276/205/345/212/236/347/273/237/350/256/241.png +0 -0
  33. package/src/assets//346/212/204/350/241/250/351/207/215/344/274/240.png +0 -0
  34. package/src/assets//346/212/245/345/273/272/344/273/243/345/212/236.png +0 -0
  35. package/src/assets//346/226/275/345/260/201.png +0 -0
  36. package/src/assets//346/226/275/345/260/201/347/256/241/347/220/206.png +0 -0
  37. package/src/assets//346/260/221/347/224/250/345/256/211/346/243/200.png +0 -0
  38. package/src/assets//347/205/247/347/211/207/345/210/240/351/231/244.png +0 -0
  39. package/src/assets//347/211/251/350/201/224/347/275/221/350/241/250.png +0 -0
  40. package/src/assets//347/224/250/346/210/267/345/273/272/346/241/243.png +0 -0
  41. package/src/assets//347/224/250/346/210/267/350/256/260/345/275/225.png +0 -0
  42. package/src/assets//347/273/264/344/277/256/345/234/250/347/272/277/346/237/245/350/257/242.png +0 -0
  43. package/src/assets//347/273/264/344/277/256/347/231/273/350/256/260.png +0 -0
  44. package/src/assets//347/273/264/344/277/256/350/256/260/345/275/225.png +0 -0
  45. package/src/assets//350/256/241/345/210/222/345/256/211/346/243/200.png +0 -0
  46. package/src/assets//350/256/241/345/210/222/347/273/237/350/256/241.png +0 -0
  47. package/src/assets//351/200/232/346/260/224/346/211/223/345/216/213/347/225/231/345/272/225.png +0 -0
  48. package/src/assets//351/223/205/345/260/201/347/256/241/347/220/206.png +0 -0
  49. package/src/assets//351/230/200/346/216/247/347/256/241/347/220/206.png +0 -0
  50. package/src/assets//351/235/236/345/261/205/346/260/221/345/256/211/346/243/200.png +0 -0
  51. package/src/assets//351/235/236/346/260/221/347/224/250/345/256/211/346/243/200.png +0 -0
  52. package/src/assets//351/242/204/347/272/246/345/256/211/346/243/200/345/276/205/345/212/236.png +0 -0
  53. package/src/assets//351/246/226/351/241/265/345/244/247/345/233/276.png +0 -0
  54. package/src/components/AloneLoadParams.vue +26 -26
  55. package/src/components/AlreadyService.vue +193 -193
  56. package/src/components/AttendManage.vue +120 -1
  57. package/src/components/LoadAppdata.vue +38 -38
  58. package/src/components/LoginApp.vue +732 -724
  59. package/src/components/LoginAppNew.vue +587 -587
  60. package/src/components/LoginAppV4.vue +732 -0
  61. package/src/components/ModifyPassWord.vue +216 -216
  62. package/src/components/NavBottom.vue +117 -117
  63. package/src/components/NavBottomV.vue +141 -141
  64. package/src/components/NavBottomVVV.vue +185 -185
  65. package/src/components/OnlineManage.vue +1 -1
  66. package/src/components/PhoneAllInfo.vue +68 -68
  67. package/src/components/PhoneChangemeterInfo.vue +116 -116
  68. package/src/components/PhoneImageInfo.vue +102 -0
  69. package/src/components/PhoneInfoTable.vue +39 -39
  70. package/src/components/PhoneMeterInfo.vue +132 -132
  71. package/src/components/PhoneRepairInfo.vue +146 -146
  72. package/src/components/PhoneSafeInfo.vue +4 -4
  73. package/src/components/PhoneSellInfo.vue +148 -123
  74. package/src/components/PhoneSellInfoLite.vue +112 -112
  75. package/src/components/PhoneUser.vue +202 -202
  76. package/src/components/PhoneUserDetil.vue +70 -70
  77. package/src/components/PhoneUserFind.vue +138 -138
  78. package/src/components/SystemSetUp.vue +332 -308
  79. package/src/components/TabBarPhone.vue +81 -81
  80. package/src/components/Test.vue +14 -14
  81. package/src/components/ToolsPage.vue +27 -4
  82. package/src/components/UploadManage.vue +194 -194
  83. package/src/components/gaomi/NavBottomV.vue +223 -223
  84. package/src/components/gaomi/NavBottomVVVV.vue +210 -210
  85. package/src/components/gaomi/Scroller.vue +63 -63
  86. package/src/components/gaomi/SystemSetUp.vue +186 -186
  87. package/src/components/gaomi/ToolsPage.vue +168 -168
  88. package/src/components/idea/feedBack.vue +150 -150
  89. package/src/components/idea/feedbackAdd.vue +366 -366
  90. package/src/components/info/ConfigInfo.vue +122 -122
  91. package/src/components/info/FindUserInfo.vue +157 -157
  92. package/src/components/info/InfoTable.vue +37 -37
  93. package/src/components/iot/InstructMessage.vue +313 -313
  94. package/src/components/iot/IotBaseInfo.vue +97 -97
  95. package/src/components/iot/IotMeterInfo.vue +77 -77
  96. package/src/components/iot/iotMonitoringMain.vue +501 -501
  97. package/src/components/online/ApplyOnline.vue +581 -581
  98. package/src/components/online/BJZhongRan/ApplyOnline.vue +600 -600
  99. package/src/components/screen/ChargeContentPage.vue +656 -656
  100. package/src/components/screen/ContentPage.vue +611 -611
  101. package/src/components/screen/GongdanContentPage.vue +149 -149
  102. package/src/components/screen/ListCountItem.vue +93 -93
  103. package/src/components/screen/ModuleTitle.vue +48 -48
  104. package/src/components/screen/SafeOrderContentPage.vue +440 -440
  105. package/src/components/screen/SecurityCheckItem.vue +50 -50
  106. package/src/components/screen/TotalItem.vue +76 -76
  107. package/src/components/screen/TotalUserNumber.vue +77 -77
  108. package/src/components/screen/WorkOrderItem.vue +51 -51
  109. package/src/components/screen/WorkOrderRightDownItem.vue +103 -103
  110. package/src/components/screen/WorkOrderRightItem.vue +115 -115
  111. package/src/components/userinfo/paymentQuery.vue +189 -189
  112. package/src/components/userinfo/queryFile.vue +190 -190
  113. package/src/components/wasm.vue +18 -18
  114. package/src/expandcssAndroid.less +521 -521
  115. package/src/filiale/yulinyuchuan/AlreadyService.vue +194 -0
  116. package/src/filiale/yulinyuchuan/AttendManage.vue +537 -0
  117. package/src/filiale/yulinyuchuan/LoginApp.vue +741 -0
  118. package/src/filiale/yulinyuchuan/OnlineManage.vue +256 -0
  119. package/src/filiale/yulinyuchuan/SystemSetUp.vue +332 -0
  120. package/src/filiale/yulinyuchuan/UploadManage.vue +195 -0
  121. package/src/filiale/yulinyuchuan/systemphonegrid.js +9 -0
  122. package/src/index.js +9 -9
  123. package/src/main.js +38 -38
  124. package/src/plugins/const.js +404 -404
  125. package/src/plugins/vue-py.js +37 -37
  126. package/src/stores/AppData.js +91 -63
  127. package/src/systemphone-gaomi.js +105 -105
  128. package/src/systemphone.js +60 -58
  129. package/src/systemphonegrid.js +15 -40
  130. package/src/util/LdapHelper.js +75 -75
  131. package/static/const.js +404 -404
  132. package/static/layui/font/iconfont.svg +554 -554
  133. package/static/vue-py.js +37 -37
  134. package/static/wasm_exec.js +465 -465
@@ -1,313 +1,313 @@
1
- <template>
2
- <div class="flex " style="background: #f8f8f8">
3
- <div class="auto bg-white" style="line-height: 32px;padding: 10px">
4
- <label style="float: left">指令:{{row.f_instruct_title}} </label>
5
- <div class="auto" style="float: right">
6
- <!--<button type="button" class="btn btn-default btn-sm" @click="$back">返回</button>-->
7
- <button type="button" class="btn btn-default btn-sm" @click="refresh">刷新</button>
8
- <button type="button" class="btn btn-primary btn-sm" @click="cancle">取消</button>
9
- <button type="button" class="btn btn-primary btn-sm" @click="resend">重送</button>
10
- </div>
11
- </div>
12
- <div class="instruct-state flex-row bg-white" style="margin-top: 5px;height:auto;padding: 10px">
13
- <div class="instruct-left col-sm-12 auto">
14
- <div class="col-sm-6 col-md-6 col-xs-6 auto">
15
- <p class="flex-row">
16
- <span >指令状态:</span>
17
- <span class="instruct-content" style="color: #499edf;font-size: 16px;font-weight: bold">{{row.f_instruct_state}}</span>
18
- </p>
19
- </div>
20
- <div class="col-sm-6 col-md-6 col-xs-6 auto">
21
- <p class="flex-row">
22
- <span>执行状态:</span>
23
- <span class="instruct-content" style="color: #499edf;font-size: 16px;font-weight: bold">{{row.f_receive_state}}</span>
24
- </p>
25
- </div>
26
- <div class="col-sm-6 col-md-6 col-xs-6 auto">
27
- <p class="flex-row">
28
- <span>指令编号:</span>
29
- <span class="instruct-content">{{row.id}}</span>
30
- </p>
31
- </div>
32
- <div class="col-sm-6 col-md-6 col-xs-6 auto">
33
-
34
- <p class="flex-row">
35
- <span>表编号:</span>
36
- <span class="instruct-content">{{row.f_user_id}}</span>
37
- </p>
38
- </div>
39
- <div class="col-sm-6 col-md-6 col-xs-6 auto">
40
- <p class="flex-row">
41
- <span>表号:</span>
42
- <span class="instruct-content">{{row.f_meternumber}}</span>
43
- </p>
44
- </div>
45
- <div class="col-sm-6 col-md-6 col-xs-6 auto">
46
- <p class="flex-row">
47
- <span>操作人员:</span>
48
- <span class="instruct-content">{{row.f_inputtor}}</span>
49
- </p>
50
- </div>
51
- <div class="col-sm-6 col-md-6 col-xs-6 auto">
52
- <p class="flex-row">
53
- <span>指令说明:</span>
54
- <span class="instruct-content">{{row.f_instruct_state}}</span>
55
- </p>
56
- </div>
57
- <div class="col-sm-6 col-md-6 col-xs-6 auto">
58
- <p class="flex-row">
59
- <span>表厂别名:</span>
60
- <span class="instruct-content">{{row.f_alias}}</span>
61
- </p>
62
- </div>
63
- <div class="col-sm-6 col-md-6 col-xs-12 auto">
64
- <p class="flex-row">
65
- <span>生成时间:</span>
66
- <span class="instruct-content" style="flex:3 !important;">{{row.f_instruct_date}}</span>
67
- </p>
68
- </div>
69
- <div class="col-sm-6 col-md-6 col-xs-12 auto">
70
- <p class="flex-row">
71
- <span>最后发送时间:</span>
72
- <span class="instruct-content" style="flex:3 !important;">{{row.f_send_date}}</span>
73
- </p>
74
- </div>
75
- <div class="col-sm-6 col-md-6 col-xs-12 auto">
76
- <p class="flex-row">
77
- <span>最后响应时间:</span>
78
- <span class="instruct-content" style="flex:3 !important;">{{row.f_callback_date}}</span>
79
- </p>
80
- </div>
81
- </div>
82
-
83
- </div>
84
- <div class="auto bg-white" style="margin-top: 5px;padding: 10px">
85
- <div class="title auto">
86
- <span>指令状态</span>
87
- </div>
88
- <div class="flex-row" style="font-size: 10px;padding: 10px">
89
- <timeline>
90
- <timeline-item color="#499edf">
91
- <p>待发送</p>
92
- <p>指令已就绪</p>
93
- <p>{{row.f_instruct_date}}</p>
94
- </timeline-item>
95
- <timeline-item :color="row.f_instruct_state==='已发送'?'#499edf':''" >
96
- <p>已发送</p>
97
- <p>已发送,等待响应结果</p>
98
- <p>{{row.f_send_date}}</p>
99
- </timeline-item>
100
- <timeline-item color="red" v-if="row.f_instruct_state==='执行失败'">
101
- <p>执行失败</p>
102
- <p>失败,请查看响应结果</p>
103
- <p>{{row.f_callback_date}}</p>
104
- </timeline-item>
105
- <timeline-item :color="row.f_instruct_state==='执行成功'?'#499edf':''" v-if="row.f_instruct_state!=='执行失败'">
106
- <p>执行成功</p>
107
- <p>指令已执行成功</p>
108
- <p>{{row.f_callback_date}}</p>
109
- </timeline-item>
110
- </timeline>
111
- <!--<div class="step">-->
112
- <!--<div class="step-icon">-->
113
- <!--<img src="../../assets/对号.png" class="send-line" style="height: 32px;width:32px;margin-bottom: 5px;padding-right: 5px" alt="" >-->
114
- <!--</div>-->
115
- <!--<p>待发送</p>-->
116
- <!--<p>指令已就绪</p>-->
117
- <!--<p>{{row.f_instruct_date}}</p>-->
118
-
119
- <!--</div>-->
120
- <!--<div class="step" >-->
121
- <!--<div class="step-icon">-->
122
- <!--<img src="../../assets/对号.png" style="height: 32px;width:32px;margin-bottom: 5px;padding-right: 5px" alt="" >-->
123
- <!--</div>-->
124
- <!--<p class="flex-row">待发送</p>-->
125
- <!--<p class="flex-row">指令已发送</p>-->
126
- <!--<p>{{row.f_send_date}}</p>-->
127
- <!--</div>-->
128
-
129
- <!--<div class="step" >-->
130
- <!--<div style="height: auto">-->
131
- <!--<img src="../../assets/对号.png" class="" style="height: 32px;width:32px;margin-bottom: 5px;padding-right: 5px" alt="" >-->
132
- <!--</div>-->
133
- <!--<p class="flex-row">待发送</p>-->
134
- <!--<p>指令已执行成功</p>-->
135
- <!--<p>{{row.f_callback_date}}</p>-->
136
- <!--</div>-->
137
- </div>
138
-
139
- </div>
140
- <div class="row bg-white" style="margin-top: 5px;">
141
- <div class="content-head" style="background: #fafafa;height: 2em;">
142
- <p style="padding-left: 10px;line-height: 2em">指令内容</p>
143
- </div>
144
- <div style="height: auto;padding: 10px" >
145
- <p>{</p>
146
- <p v-for="item in content">
147
- <span>{{item}}</span>
148
- <span v-if="$index<content.length-1">,</span>
149
- </p>
150
- <p>}</p>
151
- </div>
152
- </div>
153
- </div>
154
- </template>
155
- <script>
156
- import {HttpResetClass} from 'vue-client'
157
- export default {
158
- title: '指令信息',
159
- data () {
160
- return {
161
- content:[],
162
- msg: '',
163
- show: false
164
- }
165
- },
166
- props:['row'],
167
- methods:{
168
- refresh(){
169
- let data = {
170
- items: '*',
171
- tablename: 't_instruct',
172
- orderitem: 'id desc',
173
- condition: ` id = '${this.row.id}'`
174
- }
175
- this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/iot_singleTable_OrderBy`, {data: data}).then((row) => {
176
- // console.log('查询返回'+JSON.stringify(row))
177
- this.row = row.data[0]
178
- }).catch((e) => {
179
- // console.log('正在维护!')
180
- // console.log('错误信息+++++++'+JSON.stringify(e))
181
- })
182
- },
183
- cancle(){
184
- this.$showMessage(`您确认要取消指令吗?`, ['confirm', 'cancel']).then(async (res) => {
185
- if (res === 'confirm') {
186
- let http = new HttpResetClass()
187
- let condition = `id = '${this.row.id}'`
188
- // console.log('修改条件===' + JSON.stringify(condition))
189
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/cancelSendInstruct`, {data: {condition: condition}}).then((row) => {
190
- this.$showMessage('取消指令操作成功!')
191
- this.refresh()
192
- // console.log('修改返回' + JSON.stringify(row))
193
- // this.$showMessage('操作成功!将会在一段时间内重新生成开户指令!')
194
- }).catch((e) => {
195
- this.$showMessage('操作失败!请稍后重试!')
196
- // console.log('错误信息+++++++'+JSON.stringify(e))
197
- })
198
- }
199
- })
200
- },
201
- resend(){
202
- this.$showMessage(`您确认要重新发送指令?`, ['confirm', 'cancel']).then(async (res) => {
203
- if (res === 'confirm') {
204
- let http = new HttpResetClass()
205
- let condition = `id = '${this.row.id}'`
206
- // console.log('修改条件===' + JSON.stringify(condition))
207
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/againSendInstruct`, {data: {condition: condition}}).then((row) => {
208
- // console.log('修改返回' + JSON.stringify(row))
209
- this.refresh()
210
- this.$showMessage('操作成功!将会在一段时间内重新发送指令!')
211
- }).catch((e) => {
212
- this.$showMessage('操作失败!请稍后重试!')
213
- // console.log('错误信息+++++++'+JSON.stringify(e))
214
- })
215
- }
216
- })
217
- },
218
- getInitData(){
219
- let data = JSON.parse(this.row.f_instruct_content)
220
- this.content = []
221
- for(let key in data){
222
- let param = key+':'+data[key]
223
- this.content.push(param)
224
- }
225
- },
226
- },
227
- watch:{
228
- 'row'(val){
229
- if(val){
230
- this.getInitData()
231
- }
232
- }
233
- },
234
- ready () {
235
- this.getInitData()
236
- }
237
- }
238
- </script>
239
- <style media="screen" scoped>
240
- div::-webkit-scrollbar {
241
- width: 0 !important;
242
- height: 0 !important;
243
- }
244
-
245
- div {
246
- -ms-overflow-style: none;
247
- overflow: -moz-scrollbars-none;
248
- }
249
-
250
- .font-head{
251
- font-size: 14px;
252
- font-weight: bold;
253
- color: #333;
254
- }
255
- .instruct-content{
256
- flex:1.5 !important;
257
- }
258
- .font-content{
259
- font-size: 12px;
260
- font-weight: normal;
261
- color: #666666;
262
- }
263
- .meterinfo{
264
- border:1px solid #eeeeee;
265
- /*border-right: 2px solid #eeeeee;*/
266
- }
267
- .instruct-right div{
268
- height: auto;
269
- }
270
- .instruct-state{
271
- font-size: 14px;
272
- }
273
- .instruct{
274
- font-size: 10px;
275
- }
276
- .step{
277
- flex:1
278
- }
279
- .step-icon{
280
- height: auto;
281
- }
282
- @media screen and (max-width: 1920px){
283
- .step-icon:after{
284
- content: "";
285
- width: 30%;
286
- height: 2px;
287
- margin-top: 16px;
288
- background-color: #6eb0e3;
289
- position: absolute;
290
- /*top: 10px;*/
291
-
292
- }
293
- }
294
- @media screen and (max-width: 768px){
295
- .step-icon:after{
296
- content: "";
297
- width: 22%;
298
- height: 2px;
299
- margin-top: 16px;
300
- background-color: #6eb0e3;
301
- position: absolute;
302
- /*top: 10px;*/
303
-
304
- }
305
- }
306
-
307
- .step p{
308
- margin-bottom: 5px !important;
309
- }
310
- p span{
311
- flex:1
312
- }
313
- </style>
1
+ <template>
2
+ <div class="flex " style="background: #f8f8f8">
3
+ <div class="auto bg-white" style="line-height: 32px;padding: 10px">
4
+ <label style="float: left">指令:{{row.f_instruct_title}} </label>
5
+ <div class="auto" style="float: right">
6
+ <!--<button type="button" class="btn btn-default btn-sm" @click="$back">返回</button>-->
7
+ <button type="button" class="btn btn-default btn-sm" @click="refresh">刷新</button>
8
+ <button type="button" class="btn btn-primary btn-sm" @click="cancle">取消</button>
9
+ <button type="button" class="btn btn-primary btn-sm" @click="resend">重送</button>
10
+ </div>
11
+ </div>
12
+ <div class="instruct-state flex-row bg-white" style="margin-top: 5px;height:auto;padding: 10px">
13
+ <div class="instruct-left col-sm-12 auto">
14
+ <div class="col-sm-6 col-md-6 col-xs-6 auto">
15
+ <p class="flex-row">
16
+ <span >指令状态:</span>
17
+ <span class="instruct-content" style="color: #499edf;font-size: 16px;font-weight: bold">{{row.f_instruct_state}}</span>
18
+ </p>
19
+ </div>
20
+ <div class="col-sm-6 col-md-6 col-xs-6 auto">
21
+ <p class="flex-row">
22
+ <span>执行状态:</span>
23
+ <span class="instruct-content" style="color: #499edf;font-size: 16px;font-weight: bold">{{row.f_receive_state}}</span>
24
+ </p>
25
+ </div>
26
+ <div class="col-sm-6 col-md-6 col-xs-6 auto">
27
+ <p class="flex-row">
28
+ <span>指令编号:</span>
29
+ <span class="instruct-content">{{row.id}}</span>
30
+ </p>
31
+ </div>
32
+ <div class="col-sm-6 col-md-6 col-xs-6 auto">
33
+
34
+ <p class="flex-row">
35
+ <span>表编号:</span>
36
+ <span class="instruct-content">{{row.f_user_id}}</span>
37
+ </p>
38
+ </div>
39
+ <div class="col-sm-6 col-md-6 col-xs-6 auto">
40
+ <p class="flex-row">
41
+ <span>表号:</span>
42
+ <span class="instruct-content">{{row.f_meternumber}}</span>
43
+ </p>
44
+ </div>
45
+ <div class="col-sm-6 col-md-6 col-xs-6 auto">
46
+ <p class="flex-row">
47
+ <span>操作人员:</span>
48
+ <span class="instruct-content">{{row.f_inputtor}}</span>
49
+ </p>
50
+ </div>
51
+ <div class="col-sm-6 col-md-6 col-xs-6 auto">
52
+ <p class="flex-row">
53
+ <span>指令说明:</span>
54
+ <span class="instruct-content">{{row.f_instruct_state}}</span>
55
+ </p>
56
+ </div>
57
+ <div class="col-sm-6 col-md-6 col-xs-6 auto">
58
+ <p class="flex-row">
59
+ <span>表厂别名:</span>
60
+ <span class="instruct-content">{{row.f_alias}}</span>
61
+ </p>
62
+ </div>
63
+ <div class="col-sm-6 col-md-6 col-xs-12 auto">
64
+ <p class="flex-row">
65
+ <span>生成时间:</span>
66
+ <span class="instruct-content" style="flex:3 !important;">{{row.f_instruct_date}}</span>
67
+ </p>
68
+ </div>
69
+ <div class="col-sm-6 col-md-6 col-xs-12 auto">
70
+ <p class="flex-row">
71
+ <span>最后发送时间:</span>
72
+ <span class="instruct-content" style="flex:3 !important;">{{row.f_send_date}}</span>
73
+ </p>
74
+ </div>
75
+ <div class="col-sm-6 col-md-6 col-xs-12 auto">
76
+ <p class="flex-row">
77
+ <span>最后响应时间:</span>
78
+ <span class="instruct-content" style="flex:3 !important;">{{row.f_callback_date}}</span>
79
+ </p>
80
+ </div>
81
+ </div>
82
+
83
+ </div>
84
+ <div class="auto bg-white" style="margin-top: 5px;padding: 10px">
85
+ <div class="title auto">
86
+ <span>指令状态</span>
87
+ </div>
88
+ <div class="flex-row" style="font-size: 10px;padding: 10px">
89
+ <timeline>
90
+ <timeline-item color="#499edf">
91
+ <p>待发送</p>
92
+ <p>指令已就绪</p>
93
+ <p>{{row.f_instruct_date}}</p>
94
+ </timeline-item>
95
+ <timeline-item :color="row.f_instruct_state==='已发送'?'#499edf':''" >
96
+ <p>已发送</p>
97
+ <p>已发送,等待响应结果</p>
98
+ <p>{{row.f_send_date}}</p>
99
+ </timeline-item>
100
+ <timeline-item color="red" v-if="row.f_instruct_state==='执行失败'">
101
+ <p>执行失败</p>
102
+ <p>失败,请查看响应结果</p>
103
+ <p>{{row.f_callback_date}}</p>
104
+ </timeline-item>
105
+ <timeline-item :color="row.f_instruct_state==='执行成功'?'#499edf':''" v-if="row.f_instruct_state!=='执行失败'">
106
+ <p>执行成功</p>
107
+ <p>指令已执行成功</p>
108
+ <p>{{row.f_callback_date}}</p>
109
+ </timeline-item>
110
+ </timeline>
111
+ <!--<div class="step">-->
112
+ <!--<div class="step-icon">-->
113
+ <!--<img src="../../assets/对号.png" class="send-line" style="height: 32px;width:32px;margin-bottom: 5px;padding-right: 5px" alt="" >-->
114
+ <!--</div>-->
115
+ <!--<p>待发送</p>-->
116
+ <!--<p>指令已就绪</p>-->
117
+ <!--<p>{{row.f_instruct_date}}</p>-->
118
+
119
+ <!--</div>-->
120
+ <!--<div class="step" >-->
121
+ <!--<div class="step-icon">-->
122
+ <!--<img src="../../assets/对号.png" style="height: 32px;width:32px;margin-bottom: 5px;padding-right: 5px" alt="" >-->
123
+ <!--</div>-->
124
+ <!--<p class="flex-row">待发送</p>-->
125
+ <!--<p class="flex-row">指令已发送</p>-->
126
+ <!--<p>{{row.f_send_date}}</p>-->
127
+ <!--</div>-->
128
+
129
+ <!--<div class="step" >-->
130
+ <!--<div style="height: auto">-->
131
+ <!--<img src="../../assets/对号.png" class="" style="height: 32px;width:32px;margin-bottom: 5px;padding-right: 5px" alt="" >-->
132
+ <!--</div>-->
133
+ <!--<p class="flex-row">待发送</p>-->
134
+ <!--<p>指令已执行成功</p>-->
135
+ <!--<p>{{row.f_callback_date}}</p>-->
136
+ <!--</div>-->
137
+ </div>
138
+
139
+ </div>
140
+ <div class="row bg-white" style="margin-top: 5px;">
141
+ <div class="content-head" style="background: #fafafa;height: 2em;">
142
+ <p style="padding-left: 10px;line-height: 2em">指令内容</p>
143
+ </div>
144
+ <div style="height: auto;padding: 10px" >
145
+ <p>{</p>
146
+ <p v-for="item in content">
147
+ <span>{{item}}</span>
148
+ <span v-if="$index<content.length-1">,</span>
149
+ </p>
150
+ <p>}</p>
151
+ </div>
152
+ </div>
153
+ </div>
154
+ </template>
155
+ <script>
156
+ import {HttpResetClass} from 'vue-client'
157
+ export default {
158
+ title: '指令信息',
159
+ data () {
160
+ return {
161
+ content:[],
162
+ msg: '',
163
+ show: false
164
+ }
165
+ },
166
+ props:['row'],
167
+ methods:{
168
+ refresh(){
169
+ let data = {
170
+ items: '*',
171
+ tablename: 't_instruct',
172
+ orderitem: 'id desc',
173
+ condition: ` id = '${this.row.id}'`
174
+ }
175
+ this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/iot_singleTable_OrderBy`, {data: data}).then((row) => {
176
+ // console.log('查询返回'+JSON.stringify(row))
177
+ this.row = row.data[0]
178
+ }).catch((e) => {
179
+ // console.log('正在维护!')
180
+ // console.log('错误信息+++++++'+JSON.stringify(e))
181
+ })
182
+ },
183
+ cancle(){
184
+ this.$showMessage(`您确认要取消指令吗?`, ['confirm', 'cancel']).then(async (res) => {
185
+ if (res === 'confirm') {
186
+ let http = new HttpResetClass()
187
+ let condition = `id = '${this.row.id}'`
188
+ // console.log('修改条件===' + JSON.stringify(condition))
189
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/cancelSendInstruct`, {data: {condition: condition}}).then((row) => {
190
+ this.$showMessage('取消指令操作成功!')
191
+ this.refresh()
192
+ // console.log('修改返回' + JSON.stringify(row))
193
+ // this.$showMessage('操作成功!将会在一段时间内重新生成开户指令!')
194
+ }).catch((e) => {
195
+ this.$showMessage('操作失败!请稍后重试!')
196
+ // console.log('错误信息+++++++'+JSON.stringify(e))
197
+ })
198
+ }
199
+ })
200
+ },
201
+ resend(){
202
+ this.$showMessage(`您确认要重新发送指令?`, ['confirm', 'cancel']).then(async (res) => {
203
+ if (res === 'confirm') {
204
+ let http = new HttpResetClass()
205
+ let condition = `id = '${this.row.id}'`
206
+ // console.log('修改条件===' + JSON.stringify(condition))
207
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/againSendInstruct`, {data: {condition: condition}}).then((row) => {
208
+ // console.log('修改返回' + JSON.stringify(row))
209
+ this.refresh()
210
+ this.$showMessage('操作成功!将会在一段时间内重新发送指令!')
211
+ }).catch((e) => {
212
+ this.$showMessage('操作失败!请稍后重试!')
213
+ // console.log('错误信息+++++++'+JSON.stringify(e))
214
+ })
215
+ }
216
+ })
217
+ },
218
+ getInitData(){
219
+ let data = JSON.parse(this.row.f_instruct_content)
220
+ this.content = []
221
+ for(let key in data){
222
+ let param = key+':'+data[key]
223
+ this.content.push(param)
224
+ }
225
+ },
226
+ },
227
+ watch:{
228
+ 'row'(val){
229
+ if(val){
230
+ this.getInitData()
231
+ }
232
+ }
233
+ },
234
+ ready () {
235
+ this.getInitData()
236
+ }
237
+ }
238
+ </script>
239
+ <style media="screen" scoped>
240
+ div::-webkit-scrollbar {
241
+ width: 0 !important;
242
+ height: 0 !important;
243
+ }
244
+
245
+ div {
246
+ -ms-overflow-style: none;
247
+ overflow: -moz-scrollbars-none;
248
+ }
249
+
250
+ .font-head{
251
+ font-size: 14px;
252
+ font-weight: bold;
253
+ color: #333;
254
+ }
255
+ .instruct-content{
256
+ flex:1.5 !important;
257
+ }
258
+ .font-content{
259
+ font-size: 12px;
260
+ font-weight: normal;
261
+ color: #666666;
262
+ }
263
+ .meterinfo{
264
+ border:1px solid #eeeeee;
265
+ /*border-right: 2px solid #eeeeee;*/
266
+ }
267
+ .instruct-right div{
268
+ height: auto;
269
+ }
270
+ .instruct-state{
271
+ font-size: 14px;
272
+ }
273
+ .instruct{
274
+ font-size: 10px;
275
+ }
276
+ .step{
277
+ flex:1
278
+ }
279
+ .step-icon{
280
+ height: auto;
281
+ }
282
+ @media screen and (max-width: 1920px){
283
+ .step-icon:after{
284
+ content: "";
285
+ width: 30%;
286
+ height: 2px;
287
+ margin-top: 16px;
288
+ background-color: #6eb0e3;
289
+ position: absolute;
290
+ /*top: 10px;*/
291
+
292
+ }
293
+ }
294
+ @media screen and (max-width: 768px){
295
+ .step-icon:after{
296
+ content: "";
297
+ width: 22%;
298
+ height: 2px;
299
+ margin-top: 16px;
300
+ background-color: #6eb0e3;
301
+ position: absolute;
302
+ /*top: 10px;*/
303
+
304
+ }
305
+ }
306
+
307
+ .step p{
308
+ margin-bottom: 5px !important;
309
+ }
310
+ p span{
311
+ flex:1
312
+ }
313
+ </style>