safecheck-client 3.0.33-169 → 3.0.33-171
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.
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "safecheck-client",
|
3
3
|
"//": "主分支版本别乱升,测试包的版本直接发包(建议使用1.XX.XX-XXX格式作为测试包,不要频繁升级第三位版本号),别提交版本号。切了分支切记把主分支版本升了,保证主分支始终是最高版本!!!!!",
|
4
|
-
"version": "3.0.33-
|
4
|
+
"version": "3.0.33-171",
|
5
5
|
"description": "安检模块 前端组件",
|
6
6
|
"author": "丁新 <417755458@qq.com>",
|
7
7
|
"license": "ISC",
|
@@ -495,6 +495,13 @@
|
|
495
495
|
if (hasError)
|
496
496
|
return hasError
|
497
497
|
},
|
498
|
+
verifyvoice() {
|
499
|
+
if(this.data.f_recording1_path===''){
|
500
|
+
return '录音文件为空,请重新安检'
|
501
|
+
}else{
|
502
|
+
return ''
|
503
|
+
}
|
504
|
+
},
|
498
505
|
verifyState() {
|
499
506
|
if (Vue.android && this.data.f_entry_status == '未使用天然气' && this.data.f_nongasuser_path == Vue.nopic)
|
500
507
|
return '未使用天然气则必须拍照'
|
@@ -825,6 +832,13 @@
|
|
825
832
|
},
|
826
833
|
uploadCheckPaper() {
|
827
834
|
this.saveNoclick()
|
835
|
+
var hasError = this.verifyvoice()
|
836
|
+
if(hasError!==''){
|
837
|
+
if (Vue.android) {
|
838
|
+
this.$showMessage(hasError)
|
839
|
+
}
|
840
|
+
return
|
841
|
+
}
|
828
842
|
//tag
|
829
843
|
//tag
|
830
844
|
if (this.data.f_entry_status == '不营业'){
|
@@ -0,0 +1,322 @@
|
|
1
|
+
<style scoped>
|
2
|
+
.app-row {
|
3
|
+
background-color: white;
|
4
|
+
padding: 10px 10px 0 10px;
|
5
|
+
border-bottom: 1px solid rgba(235, 235, 235, 0.5);
|
6
|
+
}
|
7
|
+
.search_input {
|
8
|
+
border: 0;
|
9
|
+
outline: none;
|
10
|
+
}
|
11
|
+
.font{
|
12
|
+
font: 15px PingFang-SC-Medium;
|
13
|
+
color: #666666;
|
14
|
+
}
|
15
|
+
.input-font{
|
16
|
+
font: 15px PingFang-SC-Medium;
|
17
|
+
color: #333333;
|
18
|
+
}
|
19
|
+
.btn-font{
|
20
|
+
font:600 16px PingFang-SC-Bold;
|
21
|
+
color: #499EDF;
|
22
|
+
}
|
23
|
+
.btn-color{
|
24
|
+
background-color: #FFFFFF;
|
25
|
+
border-radius: 10px ;
|
26
|
+
border: 1px solid #499EDF;
|
27
|
+
}
|
28
|
+
.app-text {
|
29
|
+
font-size: 12px;
|
30
|
+
}
|
31
|
+
.panel-self{
|
32
|
+
border-radius: 10px;
|
33
|
+
border:1px solid #499EDF;
|
34
|
+
background-color: #F8F8F8;
|
35
|
+
}
|
36
|
+
</style>
|
37
|
+
|
38
|
+
<template>
|
39
|
+
<div class="auto">
|
40
|
+
<criteria-paged :model="model" v-ref:paged>
|
41
|
+
<criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
|
42
|
+
<div partial>
|
43
|
+
<p align="center" style="color: maroon" v-if="!$parent.$parent.isHaveJiBiao">只限物联网表进行开关阀操作</p>
|
44
|
+
<p align="center" style="color: maroon" v-if="$parent.$parent.isHaveJiBiao">只限物联网表和机表进行操作</p>
|
45
|
+
<form>
|
46
|
+
<div class="row app-row">
|
47
|
+
<div class="col-xs-4">
|
48
|
+
<img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
|
49
|
+
<label for="f_userinfo_code" class="font text-left">用户编号:</label>
|
50
|
+
</div>
|
51
|
+
<div class="col-xs-8" >
|
52
|
+
<input id="f_userinfo_code" class="search_input input-font" v-model="$parent.$parent.f_userinfo_code" />
|
53
|
+
</div>
|
54
|
+
</div>
|
55
|
+
<div class="row app-row">
|
56
|
+
<div class="col-xs-4">
|
57
|
+
<img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
|
58
|
+
<label for="f_meternumber" class="font text-left">用户表号:</label>
|
59
|
+
</div>
|
60
|
+
<div class="col-xs-8" >
|
61
|
+
<input id="f_meternumber" class="search_input input-font" v-model="$parent.$parent.f_meternumber" />
|
62
|
+
</div>
|
63
|
+
</div>
|
64
|
+
<div class="row app-row" v-if="$parent.$parent.isHaveJiBiao">
|
65
|
+
<div class="col-xs-4">
|
66
|
+
<img src="../../../assets/用户类型.png" style="width: 20px;margin-bottom: 5px" alt="">
|
67
|
+
<label for="f_meternumber" class="font text-left">气表类型:</label>
|
68
|
+
</div>
|
69
|
+
<div class="col-xs-8" >
|
70
|
+
<v-select
|
71
|
+
class="input-font"
|
72
|
+
placeholder='请选择气表类型'
|
73
|
+
:value.sync="$parent.$parent.f_meter_type"
|
74
|
+
v-model="$parent.$parent.f_meter_type"
|
75
|
+
:options='$parent.$parent.meterTypeOptions'
|
76
|
+
close-on-select
|
77
|
+
clear-button>
|
78
|
+
</v-select>
|
79
|
+
</div>
|
80
|
+
</div>
|
81
|
+
<div class="row text-center" style="margin-top: 20px;">
|
82
|
+
<button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="search">查询</button>
|
83
|
+
</div>
|
84
|
+
<div style="height:30px;"></div>
|
85
|
+
</form>
|
86
|
+
</div>
|
87
|
+
</criteria>
|
88
|
+
<list :model="model" partial='list'>
|
89
|
+
<div partial>
|
90
|
+
<div class="auto app-text" style="margin-top: 5px;">
|
91
|
+
<div class="panel" style="padding: 10px 10px 5px 10px;">
|
92
|
+
<div class="panel-body panel-self">
|
93
|
+
<div class="col-xs-12">
|
94
|
+
<p class="panel-title col-xs-5 text-left font" style="float: left"><b>用户编号:</b></p>
|
95
|
+
<p class="panel-title col-xs-7 text-left input-font" >{{ row.f_userinfo_code }}</p>
|
96
|
+
</div>
|
97
|
+
<div class="col-xs-12">
|
98
|
+
<p class="panel-title col-xs-5 text-left font" style="float: left"><b>用户名称:</b></p>
|
99
|
+
<p class="panel-title col-xs-7 text-left input-font" >{{ row.f_user_name }}</p>
|
100
|
+
</div>
|
101
|
+
<div class="col-xs-12">
|
102
|
+
<p class="panel-title col-xs-5 text-left font"><b>用户类型:</b></p>
|
103
|
+
<p class="panel-title col-xs-7 text-left input-font">{{ row.f_user_type }}
|
104
|
+
</p>
|
105
|
+
</div>
|
106
|
+
<div class="col-xs-12">
|
107
|
+
<p class="panel-title col-xs-5 text-left font"><b>用户电话:</b></p>
|
108
|
+
<p class="panel-title col-xs-7 text-left input-font" >{{ row.f_user_phone }}
|
109
|
+
</p>
|
110
|
+
</div>
|
111
|
+
<div class="col-xs-12">
|
112
|
+
<p class="panel-title text-left font" style="float: left"><b>用户地址:</b></p>
|
113
|
+
<p class="panel-title col-xs-7 text-left input-font" >{{ row.f_address }}</p>
|
114
|
+
</div>
|
115
|
+
<div class="col-xs-12">
|
116
|
+
<p class="panel-title col-xs-5 text-left font"><b>燃气表号:</b></p>
|
117
|
+
<p class="panel-title col-xs-7 text-left input-font">{{ row.f_meternumber }}</p>
|
118
|
+
</div>
|
119
|
+
<div class="col-xs-12">
|
120
|
+
<p class="panel-title col-xs-5 text-left font"><b>左右表:</b></p>
|
121
|
+
<p class="panel-title col-xs-7 text-left input-font">{{ row.f_aroundmeter }}</p>
|
122
|
+
</div>
|
123
|
+
<div class="col-xs-12">
|
124
|
+
<p class="panel-title col-xs-5 text-left font"><b>气表品牌:</b></p>
|
125
|
+
<p class="panel-title col-xs-7 text-left input-font">{{ row.f_meter_brand }}</p>
|
126
|
+
</div>
|
127
|
+
<div class="col-xs-12">
|
128
|
+
<p class="panel-title col-xs-5 text-left font"><b>气表类型:</b></p>
|
129
|
+
<p class="panel-title col-xs-7 text-left input-font">{{ row.f_meter_type }}</p>
|
130
|
+
</div>
|
131
|
+
<div class="col-xs-12">
|
132
|
+
<p class="panel-title col-xs-5 text-left font"><b>累计气量:</b></p>
|
133
|
+
<p class="panel-title col-xs-7 text-left input-font">{{ row.f_meter_base }}</p>
|
134
|
+
</div>
|
135
|
+
<div class="col-xs-12">
|
136
|
+
<p class="panel-title col-xs-5 text-left font"><b>预存余额:</b></p>
|
137
|
+
<p class="panel-title col-xs-7 text-left input-font">{{ row.f_balance_amount }}</p>
|
138
|
+
</div>
|
139
|
+
<div class="col-xs-12">
|
140
|
+
<p class="panel-title col-xs-5 text-left font"><b>碱电电压:</b></p>
|
141
|
+
<p class="panel-title col-xs-7 text-left input-font">{{ row.f_batteryLevel2 }}</p>
|
142
|
+
</div>
|
143
|
+
<div class="col-xs-6" v-if="row.f_meter_type == '物联网表'">
|
144
|
+
<p class="panel-title col-xs-5 text-left font"><b>阀门状态</b></p>
|
145
|
+
<p class="panel-title col-xs-7 text-left input-font">{{ row.f_valve_state }}</p>
|
146
|
+
</div>
|
147
|
+
<div class="col-xs-6" v-if="row.f_meter_type == '物联网表'">
|
148
|
+
<button class="btn btn-font btn-color" type="button" style="width: 28%;padding: 2px 5px;" v-if="row.f_valve_state == '关阀'" @click="$parent.$parent.$parent.openvalve(row)">开阀</button>
|
149
|
+
<button class="btn btn-font btn-color" type="button" style="width: 28%;padding: 2px 5px;" v-if="row.f_valve_state == '开阀'" @click="$parent.$parent.$parent.clonevalve(row)">关阀</button>
|
150
|
+
<button class="btn btn-font btn-color" type="button" style="width: 28%;padding: 2px 5px;" v-if="row.f_meter_brand.includes('西美')" @click="$parent.$parent.$parent.clearBarrier(row)">清除障碍</button>
|
151
|
+
</div>
|
152
|
+
<div class="col-xs-6" v-if="row.f_meter_type == '机表'">
|
153
|
+
<button class="btn btn-font btn-color" type="button" style="width: 50%;padding: 2px 5px;" @click="$parent.$parent.$parent.goVindicate(row)">档案维护</button>
|
154
|
+
</div>
|
155
|
+
</div>
|
156
|
+
</div>
|
157
|
+
</div>
|
158
|
+
</div>
|
159
|
+
</list>
|
160
|
+
</criteria-paged>
|
161
|
+
<modal :show.sync="showModal">
|
162
|
+
<div slot="modal-header" class="modal-header">
|
163
|
+
<h4 class="modal-title">
|
164
|
+
{{modalTitle}}
|
165
|
+
</h4>
|
166
|
+
</div>
|
167
|
+
<div slot="modal-body" class="modal-body">
|
168
|
+
<div class="row" style="margin-top: 6px">
|
169
|
+
<textarea id="el_ca_txt" v-model.trim="f_comments" style="border-radius:4px;width: 100%;" placeholder="请输入开关阀原因" >
|
170
|
+
</textarea>
|
171
|
+
</div>
|
172
|
+
</div>
|
173
|
+
<div slot="modal-footer" class="modal-footer">
|
174
|
+
<button type="button" class="btn btn-default" @click="showModal = false">取消</button>
|
175
|
+
<button type="button" class="btn btn-success" @click="openOrCloneValveMethod(istype)">{{istype}}</button>
|
176
|
+
</div>
|
177
|
+
</modal>
|
178
|
+
</div>
|
179
|
+
</template>
|
180
|
+
|
181
|
+
<script>
|
182
|
+
import Vue from 'vue'
|
183
|
+
import { PagedList } from 'vue-client'
|
184
|
+
import PhoneUpUserinfo from './PhoneUpUserinfo'
|
185
|
+
|
186
|
+
|
187
|
+
export default {
|
188
|
+
title: '开关阀',
|
189
|
+
data () {
|
190
|
+
return {
|
191
|
+
model: Vue.android ? new PagedList(`${this.$androidUtil.getProxyUrl()}/rs/sql/SwitchValveSeachUser`, 5) : new PagedList( 'AndroidRest/rs/sql/SwitchValveSeachUser',5),
|
192
|
+
f_meternumber: '',
|
193
|
+
f_userinfo_code: '',
|
194
|
+
f_operator: Vue.user.name,
|
195
|
+
filialeid: Vue.user.orgid,
|
196
|
+
// f_operator: '温艺轩',
|
197
|
+
// filialeid: '453',
|
198
|
+
type: '',
|
199
|
+
showModal: false,
|
200
|
+
modalTitle: '', //开关阀标题
|
201
|
+
f_comments: '', //开关阀原因
|
202
|
+
istype: '', //
|
203
|
+
thisOneData: '', //当前操作的用户
|
204
|
+
f_meter_type: '',
|
205
|
+
condition: '',
|
206
|
+
isHaveJiBiao: false,
|
207
|
+
meterTypeOptions: [{label: '全部', value: ''}, {label: '物联网表', value: '物联网表'}, {label: '机表', value: '机表'}]
|
208
|
+
}
|
209
|
+
},
|
210
|
+
ready () {
|
211
|
+
this.isHaveJiBiao = this.$appdata.getSingleValue('开关阀是否查询机表') === '是'
|
212
|
+
if (this.isHaveJiBiao) {
|
213
|
+
this.condition = " and f_meter_type in ('物联网表', '机表')"
|
214
|
+
} else {
|
215
|
+
this.condition = " and f_meter_type in ('物联网表')"
|
216
|
+
}
|
217
|
+
},
|
218
|
+
methods: {
|
219
|
+
clearBarrier(val){
|
220
|
+
// 127.0.0.1:8445
|
221
|
+
// 参数
|
222
|
+
let datas = {
|
223
|
+
moduleName:"XiMeiSystem", // 固定值
|
224
|
+
content:{
|
225
|
+
tradeCode:"3015",// 固定值
|
226
|
+
appid: "yysf", // 固定值
|
227
|
+
partner: "cqsemay_bcts", // 固定值
|
228
|
+
version:"v1", // 固定值
|
229
|
+
tasked:this.getuuid(), // 任务id
|
230
|
+
notifyUrl:"http://192.168.2.10:8445/webmeter/rs/logic/XiMeiSystemCallBack", // 固定值
|
231
|
+
meterNo: val.f_meternumber,// 表号
|
232
|
+
signType:" MD5" //固定值
|
233
|
+
},
|
234
|
+
title: "清除异常", // 固定值
|
235
|
+
type: "清除异常", // 固定值
|
236
|
+
inputtor:this.f_operator, // 操作人
|
237
|
+
userId:val.f_userfiles_id, // 表档案ID
|
238
|
+
dataId: null // 操作记录ID
|
239
|
+
}
|
240
|
+
this.$resetpost(`${this.$androidUtil.getProxyUrl()}/webmeter/rs/logic/syncSaveSetParamsTemplate`, {data: datas},{resolveMsg: `清理成功`, rejectMsg: `清理失败`}).then(res => {
|
241
|
+
})
|
242
|
+
},
|
243
|
+
getuuid(){
|
244
|
+
let uuidA = '';
|
245
|
+
var s = [];
|
246
|
+
var hexDigits = '0123456789abcdef';
|
247
|
+
for (var i = 0; i < 36; i++) {
|
248
|
+
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
|
249
|
+
}
|
250
|
+
s[14] = '4';
|
251
|
+
s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);
|
252
|
+
s[8] = s[13] = s[18] = s[23] = '-';
|
253
|
+
uuidA = s.join('');
|
254
|
+
return uuidA;
|
255
|
+
},
|
256
|
+
selfSearch () {
|
257
|
+
//tag
|
258
|
+
// let condition = ` uf.f_filialeid = '${this.filialeid}'`
|
259
|
+
let condition = ` 1=1 `
|
260
|
+
condition += this.condition
|
261
|
+
condition += this.f_meternumber ? ` and uf.f_meternumber = '${this.f_meternumber}'` : ""
|
262
|
+
condition += this.f_userinfo_code ? ` and f_userinfo_code = '${this.f_userinfo_code}'` : ""
|
263
|
+
condition += this.f_meter_type != '' && this.f_meter_type != [] ? ` and f_meter_type = '${this.f_meter_type}'` : ""
|
264
|
+
console.log(condition)
|
265
|
+
//tag
|
266
|
+
this.model.search(condition)
|
267
|
+
},
|
268
|
+
openvalve (val) {
|
269
|
+
//tag
|
270
|
+
this.modalTitle = '对表号为'+ val.f_meternumber+'开阀'
|
271
|
+
this.istype = '开阀'
|
272
|
+
this.showModal = true;
|
273
|
+
this.thisOneData = val;
|
274
|
+
},
|
275
|
+
clonevalve (val) {
|
276
|
+
//tag
|
277
|
+
this.modalTitle = '对表号为'+ val.f_meternumber+'关阀'
|
278
|
+
this.istype = '关阀'
|
279
|
+
this.showModal = true;
|
280
|
+
this.thisOneData = val;
|
281
|
+
},
|
282
|
+
openOrCloneValveMethod (msg) {
|
283
|
+
if (this.f_comments=='') {
|
284
|
+
return this.$showMessage("请输入开关阀原因")
|
285
|
+
}
|
286
|
+
var data = {
|
287
|
+
instructType: '阀门控制',
|
288
|
+
instructTitle: `手动${msg}`,
|
289
|
+
condition: `t_userfiles.f_userfiles_id='${this.thisOneData.f_userfiles_id}'`,
|
290
|
+
meterBrandName: this.thisOneData.f_alias, // 气表别名
|
291
|
+
f_instruct_state: '待发送',
|
292
|
+
inputtor: this.f_operator,
|
293
|
+
reasonInfo: this.f_comments, //操作原因
|
294
|
+
meternumberf: this.thisOneData.f_meternumber, //表号
|
295
|
+
contentData: {isOpen: msg=='开阀' ? 1 : 0}, // oper 为true 时为开阀 false 为关阀
|
296
|
+
}
|
297
|
+
this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/iot_saveInstruct`, {data: data}).then((row) => {
|
298
|
+
this.$showMessage(`${msg}指令发送成功,请等候2分钟进行查询`)
|
299
|
+
//tag
|
300
|
+
this.thisOneData = '';
|
301
|
+
this.istype = '';
|
302
|
+
this.f_comments = '';
|
303
|
+
this.showModal = false
|
304
|
+
this.selfSearch()
|
305
|
+
})
|
306
|
+
},
|
307
|
+
// 档案维护
|
308
|
+
goVindicate(row) {
|
309
|
+
console.log(row)
|
310
|
+
var pardate = {
|
311
|
+
title:'档案维护',
|
312
|
+
safe:true
|
313
|
+
}
|
314
|
+
this.$dispatch('gotoson',pardate)
|
315
|
+
this.$goto('PhoneUpUserinfo', {f_userinfo_id: row.f_userinfo_id},'self')
|
316
|
+
}
|
317
|
+
},
|
318
|
+
components: {
|
319
|
+
'PhoneUpUserinfo': PhoneUpUserinfo
|
320
|
+
}
|
321
|
+
}
|
322
|
+
</script>
|
@@ -1,16 +1,17 @@
|
|
1
|
-
// 分公司特殊组件页面注册
|
2
|
-
import Vue from "vue";
|
3
|
-
|
4
|
-
// 手机特殊目录注册到该文件中
|
5
|
-
let specialComp = {
|
6
|
-
'safecheck-order-v': (resolve) => { require(['./android/SafecheckOrderV'], resolve) },
|
7
|
-
'
|
8
|
-
'paper-
|
9
|
-
'
|
10
|
-
'
|
11
|
-
'
|
12
|
-
'
|
13
|
-
}
|
14
|
-
|
15
|
-
|
16
|
-
|
1
|
+
// 分公司特殊组件页面注册
|
2
|
+
import Vue from "vue";
|
3
|
+
|
4
|
+
// 手机特殊目录注册到该文件中
|
5
|
+
let specialComp = {
|
6
|
+
'safecheck-order-v': (resolve) => { require(['./android/SafecheckOrderV'], resolve) },
|
7
|
+
'switch-valve': (resolve) => { require(['./android/SwitchValve'], resolve) },
|
8
|
+
'paper-feedback' : (resolve) => { require(['./android/PaperFeedback'], resolve) },
|
9
|
+
'paper-state': (resolve) => { require(['./android/PaperState.vue'], resolve) },
|
10
|
+
'safecheck-devices': (resolve) => { require(['./android/SafecheckDevices.vue'], resolve) },
|
11
|
+
'PhoneUpUserinfo': (resolve) => { require(['./android/PhoneUpUserinfo.vue'], resolve) },
|
12
|
+
'android-defect-deal': (resolve) => { require(['./android/AndroidDefectDeal'], resolve) },
|
13
|
+
'safecheck-userinfo': (resolve) => { require(['./android/SafecheckUserInfo.vue'], resolve) }
|
14
|
+
}
|
15
|
+
|
16
|
+
exports.specialComp = specialComp
|
17
|
+
|