sale-client 4.2.99 → 4.2.101
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/.gradle/5.2.1/fileChanges/last-build.bin +0 -0
- package/.gradle/5.2.1/fileHashes/fileHashes.lock +0 -0
- package/.gradle/5.2.1/gc.properties +0 -0
- package/.gradle/8.10/checksums/checksums.lock +0 -0
- package/.gradle/8.10/dependencies-accessors/gc.properties +0 -0
- package/.gradle/8.10/executionHistory/executionHistory.bin +0 -0
- package/.gradle/8.10/executionHistory/executionHistory.lock +0 -0
- package/.gradle/8.10/fileChanges/last-build.bin +0 -0
- package/.gradle/8.10/fileHashes/fileHashes.bin +0 -0
- package/.gradle/8.10/fileHashes/fileHashes.lock +0 -0
- package/.gradle/8.10/gc.properties +0 -0
- package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/.gradle/buildOutputCleanup/cache.properties +2 -0
- package/.gradle/file-system.probe +0 -0
- package/.gradle/vcs-1/gc.properties +0 -0
- package/.npmignore +12 -0
- package/build/dev-server.js +7 -7
- package/package.json +1 -1
- package/src/.npmignore +1 -0
- package/src/filiale/meihekou/ArrearsList.vue +147 -5
- package/src/filiale/meihekou/HandManager.vue +1 -1
- package/src/filiale/meihekou/MessageList.vue +2 -2
- package/src/filiale/meihekou/UserBaseInfoNew.vue +413 -367
- package/src/filiale/meihekou/UserPriceChangeManage.vue +689 -0
- package/src/filiale/meihekou/handAudit/MeterReadAudit.vue +17 -7
- package/src/filiale/meihekou/sale.js +2 -0
- package/src/main.js +1 -1
- package/yarn.lock +12221 -0
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
<template
|
|
1
|
+
<template>
|
|
2
2
|
<div class="auto">
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
<div class="auto form-group-new row">
|
|
4
|
+
<div class="col-sm-6" style="height:auto;width:49%;">
|
|
5
|
+
<p style="font-weight: bold;margin: 0"><img src="../../../static/mainicon/矩形1828.png"/> 基本信息
|
|
6
|
+
</p>
|
|
7
|
+
<!-- 第一行数据-->
|
|
7
8
|
<div class="col-sm-4">
|
|
8
9
|
<label class="font_normal_body_new">客户编号</label>
|
|
9
|
-
<input
|
|
10
|
+
<input class="input-underline" style="width:60%" :value="row.f_userinfo_code" readonly>
|
|
10
11
|
</div>
|
|
11
12
|
<div class="col-sm-4">
|
|
12
13
|
<label class="font_normal_body_new">客户姓名</label>
|
|
@@ -19,7 +20,7 @@
|
|
|
19
20
|
<div class="col-sm-8">
|
|
20
21
|
<label class="font_normal_body_new">客户地址</label>
|
|
21
22
|
<input class="input-underline" style="width:80%" :value="row.f_address" readonly>
|
|
22
|
-
|
|
23
|
+
</div>
|
|
23
24
|
<div class="col-sm-4">
|
|
24
25
|
<label class="font_normal_body_new">客户电话</label>
|
|
25
26
|
<input class="input-underline" style="width:60%" :value="row.f_user_phone" readonly>
|
|
@@ -33,24 +34,28 @@
|
|
|
33
34
|
<input class="input-underline" style="width:60%" :value="row.f_gasproperties" readonly>
|
|
34
35
|
</div>
|
|
35
36
|
<div class="col-sm-4">
|
|
36
|
-
<label class="font_normal_body_new"
|
|
37
|
-
<input class="input-underline" style="width:60%" :value="row.
|
|
37
|
+
<label class="font_normal_body_new">备用电话</label>
|
|
38
|
+
<input class="input-underline" style="width:60%" :value="row.f_rent_phone" readonly>
|
|
38
39
|
</div>
|
|
39
40
|
<div class="col-sm-8">
|
|
40
41
|
<label class="font_normal_body_new">证件号码</label>
|
|
41
42
|
<input class="input-underline" style="width:80%" :value="row.f_idnumber" readonly>
|
|
42
43
|
</div>
|
|
43
44
|
<div class="col-sm-4">
|
|
44
|
-
<label class="font_normal_body_new"
|
|
45
|
-
<input class="input-underline" style="width:60%" :value="row.
|
|
45
|
+
<label class="font_normal_body_new">证件类型</label>
|
|
46
|
+
<input class="input-underline" style="width:60%" :value="row.f_credentials" readonly>
|
|
46
47
|
</div>
|
|
47
48
|
<div class="col-sm-4">
|
|
48
49
|
<label class="font_normal_body_new">账户余额</label>
|
|
49
50
|
<input class="input-underline" style="width:60%" :value="row.f_balance" readonly>
|
|
50
51
|
</div>
|
|
51
52
|
<div class="col-sm-4">
|
|
52
|
-
<label class="font_normal_body_new"
|
|
53
|
-
<input class="input-underline" style="width:60%" :value="row.
|
|
53
|
+
<label class="font_normal_body_new">建档时间</label>
|
|
54
|
+
<input class="input-underline" style="width:60%" :value="row.f_createfile_date" readonly>
|
|
55
|
+
</div>
|
|
56
|
+
<div class="col-sm-4">
|
|
57
|
+
<label class="font_normal_body_new">建档人员</label>
|
|
58
|
+
<input class="input-underline" style="width:60%" :value="row.f_createfile_person" readonly>
|
|
54
59
|
</div>
|
|
55
60
|
<div class="col-sm-4">
|
|
56
61
|
<label class="font_normal_body_new">租户姓名</label>
|
|
@@ -61,428 +66,469 @@
|
|
|
61
66
|
<input class="input-underline" style="width:60%" :value="row.f_zuhu_phone" readonly>
|
|
62
67
|
</div>
|
|
63
68
|
<div class="col-sm-4">
|
|
64
|
-
<label class="font_normal_body_new"
|
|
65
|
-
<input class="input-underline" style="width:60%" :value="row.
|
|
66
|
-
</div>
|
|
67
|
-
<div class="col-sm-4">
|
|
68
|
-
<label class="font_normal_body_new">建档人员</label>
|
|
69
|
-
<input class="input-underline" style="width:60%" :value="row.f_createfile_person" readonly>
|
|
69
|
+
<label class="font_normal_body_new">人 口 数</label>
|
|
70
|
+
<input class="input-underline" style="width:60%" :value="row.f_people_num" readonly>
|
|
70
71
|
</div>
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
72
|
+
</div>
|
|
73
|
+
<div class="col-sm-6" style="height:auto;width:49%;">
|
|
74
|
+
<p style="font-weight: bold;margin: 0"><img src="../../../static/mainicon/矩形1828.png"/> 表具信息
|
|
75
|
+
</p>
|
|
75
76
|
<div class="col-sm-4">
|
|
76
77
|
<label class="font_normal_body_new">表 号 </label>
|
|
77
78
|
<input class="input-underline" style="width:60%" :value="row.f_meternumber" readonly>
|
|
78
79
|
</div>
|
|
79
80
|
<div class="col-sm-4">
|
|
80
|
-
|
|
81
|
-
|
|
81
|
+
<label class="font_normal_body_new">气表状态</label>
|
|
82
|
+
<input class="input-underline" style="width:60%" :value="row.f_table_state" readonly>
|
|
82
83
|
</div>
|
|
83
84
|
<div class="col-sm-4">
|
|
84
|
-
<label class="font_normal_body_new"
|
|
85
|
-
<input class="input-underline" style="width:
|
|
85
|
+
<label class="font_normal_body_new">写卡次数</label>
|
|
86
|
+
<input class="input-underline" style="width:45%" :value="row.f_times" readonly>
|
|
87
|
+
</div>
|
|
88
|
+
<div class="col-sm-4">
|
|
89
|
+
<label class="font_normal_body_new">气表类型</label>
|
|
90
|
+
<input class="input-underline" style="width:60%" :value="row.f_meter_type" readonly>
|
|
86
91
|
</div>
|
|
87
92
|
|
|
88
93
|
<div class="col-sm-4">
|
|
89
94
|
<label class="font_normal_body_new">气表品牌</label>
|
|
90
95
|
<input class="input-underline" style="width:60%" :value="row.f_meter_brand" readonly>
|
|
91
96
|
</div>
|
|
92
|
-
|
|
93
97
|
<div class="col-sm-4">
|
|
94
|
-
<label class="font_normal_body_new"
|
|
95
|
-
<input class="input-underline" style="width:60%" :value="row.
|
|
98
|
+
<label class="font_normal_body_new">气表型号</label>
|
|
99
|
+
<input class="input-underline" style="width:60%" :value="row.f_meter_style" readonly>
|
|
96
100
|
</div>
|
|
101
|
+
|
|
102
|
+
|
|
97
103
|
<div class="col-sm-4">
|
|
98
104
|
<label class="font_normal_body_new">气价类型</label>
|
|
99
105
|
<input class="input-underline" style="width:60%" :value="row.f_price_type" readonly>
|
|
100
|
-
|
|
106
|
+
</div>
|
|
107
|
+
<div class="col-sm-4">
|
|
108
|
+
<label class="font_normal_body_new">气价名称</label>
|
|
109
|
+
<input class="input-underline" style="width:60%" :value="row.f_price_name" readonly>
|
|
110
|
+
</div>
|
|
101
111
|
<div class="col-sm-4">
|
|
102
112
|
<label class="font_normal_body_new">价格详情</label>
|
|
103
113
|
<input class="input-underline" style="width:60%" :value="row.f_detailprice" readonly>
|
|
104
114
|
</div>
|
|
105
|
-
<div class="col-sm-4">
|
|
106
|
-
<label class="font_normal_body_new" title="最后上报时间">上报时间</label>
|
|
107
|
-
<input class="input-underline" style="width:60%" :value="row.f_meteread_date ? row.f_meteread_date : '暂无'" readonly>
|
|
108
|
-
</div>
|
|
109
|
-
<div v-if="row.f_collection_type == '按金额'" class="col-sm-4">
|
|
110
|
-
<label class="font_normal_body_new">累购金额</label>
|
|
111
|
-
<input class="input-underline" style="width:60%" :value="row.total_fee" readonly>
|
|
112
|
-
</div>
|
|
113
|
-
<div v-if="row.f_collection_type == '按气量'">
|
|
114
115
|
<div class="col-sm-4">
|
|
115
|
-
<label class="font_normal_body_new"
|
|
116
|
-
<input class="input-underline" style="width:60%" :value="row.
|
|
116
|
+
<label class="font_normal_body_new">初始表底数</label>
|
|
117
|
+
<input class="input-underline" style="width:60%" :value="row.f_initial_base" readonly>
|
|
117
118
|
</div>
|
|
118
119
|
<div class="col-sm-4">
|
|
119
|
-
<label class="font_normal_body_new"
|
|
120
|
-
<input class="input-underline" style="width:
|
|
121
|
-
</div>
|
|
122
|
-
</div>
|
|
123
|
-
<div v-if="row.f_meter_type.includes('物联网表')" >
|
|
124
|
-
<div class="col-sm-4">
|
|
125
|
-
<label class="font_normal_body_new">物联网次数</label>
|
|
126
|
-
<input class="input-underline" style="width:55%" :value="row.f_iot_times" readonly>
|
|
120
|
+
<label class="font_normal_body_new">当前表底数</label>
|
|
121
|
+
<input class="input-underline" style="width:60%" :value="row.f_meter_base" readonly>
|
|
127
122
|
</div>
|
|
128
|
-
<div
|
|
129
|
-
<label class="font_normal_body_new"
|
|
130
|
-
<input class="input-underline" style="width:
|
|
123
|
+
<div class="col-sm-4">
|
|
124
|
+
<label class="font_normal_body_new">最后结算时间</label>
|
|
125
|
+
<input class="input-underline" style="width:45%" :value="row.f_hand_date ? row.f_hand_date :'暂无'"
|
|
126
|
+
readonly>
|
|
131
127
|
</div>
|
|
132
|
-
<div
|
|
133
|
-
<
|
|
134
|
-
|
|
128
|
+
<div v-if="row.f_collection_type == '按气量'">
|
|
129
|
+
<div class="col-sm-4">
|
|
130
|
+
<label class="font_normal_body_new">表累购气量</label>
|
|
131
|
+
<input class="input-underline" style="width:60%" :value="row.f_total_gas" readonly>
|
|
132
|
+
</div>
|
|
135
133
|
</div>
|
|
136
|
-
<div class="col-sm-4">
|
|
137
|
-
<label class="font_normal_body_new"
|
|
138
|
-
<input class="input-underline" style="width:
|
|
134
|
+
<div v-if="row.f_collection_type == '按金额'" class="col-sm-4">
|
|
135
|
+
<label class="font_normal_body_new">累购金额</label>
|
|
136
|
+
<input class="input-underline" style="width:60%" :value="row.total_fee" readonly>
|
|
139
137
|
</div>
|
|
140
|
-
<div
|
|
141
|
-
<
|
|
142
|
-
|
|
138
|
+
<div v-if="row.f_meter_type.includes('物联网表')">
|
|
139
|
+
<div class="col-sm-4">
|
|
140
|
+
<label class="font_normal_body_new">表剩余金额</label>
|
|
141
|
+
<input class="input-underline" style="width:55%" :value="row.f_balance_amount" readonly>
|
|
142
|
+
</div>
|
|
143
143
|
</div>
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
144
|
+
<div v-if="row.f_collection_type == '按气量'">
|
|
145
|
+
<div class="col-sm-4" v-if="!row.f_calculation.includes('表端结算')">
|
|
146
|
+
<label class="font_normal_body_new">表剩余气量</label>
|
|
147
|
+
<input class="input-underline" style="width:55%" :value="row.f_balance_gas" readonly>
|
|
148
|
+
</div>
|
|
149
|
+
<div class="col-sm-4" v-if="row.f_meter_type.includes('表端结算')">
|
|
150
|
+
<label class="font_normal_body_new">表剩余气量</label>
|
|
151
|
+
<input class="input-underline" style="width:55%" :value="row.f_jval" readonly>
|
|
152
|
+
</div>
|
|
153
|
+
|
|
149
154
|
</div>
|
|
150
|
-
<div
|
|
151
|
-
<label class="font_normal_body_new"
|
|
152
|
-
<input class="input-underline" style="width:
|
|
155
|
+
<div class="col-sm-4">
|
|
156
|
+
<label class="font_normal_body_new">抄 表 员</label>
|
|
157
|
+
<input class="input-underline" style="width:45%"
|
|
158
|
+
:value="row.f_inputtor ? row.f_inputtor :'暂无'"
|
|
159
|
+
readonly>
|
|
153
160
|
</div>
|
|
154
|
-
<div
|
|
155
|
-
<label class="font_normal_body_new"
|
|
156
|
-
<input class="input-underline" style="width:45%"
|
|
161
|
+
<div class="col-sm-4">
|
|
162
|
+
<label class="font_normal_body_new">抄表册名</label>
|
|
163
|
+
<input class="input-underline" style="width:45%"
|
|
164
|
+
:value="(row.f_book_code!=null ? '['+row.f_book_code + '] ' : '') + (row.f_book_name!=null ? row.f_book_name:'')"
|
|
165
|
+
readonly>
|
|
166
|
+
</div>
|
|
167
|
+
<div v-if="row.f_meter_type.includes('物联网表')">
|
|
168
|
+
<div class="col-sm-4">
|
|
169
|
+
<label class="font_normal_body_new">阀门状态</label>
|
|
170
|
+
<input class="input-underline" style="width:60%" :value="row.f_valvestate == 0 ? '已开阀' : '已关阀'"
|
|
171
|
+
readonly>
|
|
172
|
+
</div>
|
|
173
|
+
<div class="col-sm-4" >
|
|
174
|
+
<label class="font_normal_body_new">是否自动阀控</label>
|
|
175
|
+
<input class="input-underline" style="width:45%" :value="row.f_network_valve == '1' ? '否' : '是'" readonly>
|
|
176
|
+
</div>
|
|
157
177
|
</div>
|
|
178
|
+
|
|
179
|
+
|
|
158
180
|
</div>
|
|
159
|
-
<div class="
|
|
160
|
-
<
|
|
161
|
-
<
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
<
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
<
|
|
169
|
-
|
|
181
|
+
<div class="auto" style="float: right;">
|
|
182
|
+
<button class="button_clear " @click="cancelmain()">返回</button>
|
|
183
|
+
<button class="button_search" v-show="buttonshow" type="button" @click="goChargeManage">去收费</button>
|
|
184
|
+
<button v-if="row.f_meter_brand.includes('西美')&&row.f_meter_type.includes('物联网表')"
|
|
185
|
+
class="button_search" type="button" @click="clearBarrier">清除障碍
|
|
186
|
+
</button>
|
|
187
|
+
<button v-if="row.f_meter_type.includes('物联网表')"
|
|
188
|
+
class="button_search" type="button" @click="openUser">开户
|
|
189
|
+
</button>
|
|
190
|
+
<button v-if="row.f_meter_type.includes('物联网表') && valveLimit"
|
|
191
|
+
class="button_search" type="button" @click="valvecontrol">开关阀
|
|
192
|
+
</button>
|
|
193
|
+
<button v-if="row.f_meter_type.includes('物联网表') && autoValveLimit"
|
|
194
|
+
class="button_search" type="button" @click="zdfk">开关自动阀控
|
|
195
|
+
</button>
|
|
196
|
+
<div
|
|
197
|
+
:class="{'button_shrink_top':criteriaShow,'button_shrink_bottom':!criteriaShow}"
|
|
198
|
+
@click="criteriaShow=!criteriaShow"
|
|
199
|
+
class="button_spacing"
|
|
200
|
+
style="float: right"></div>
|
|
170
201
|
</div>
|
|
171
202
|
</div>
|
|
172
|
-
<div class="auto" style="float: right;">
|
|
173
|
-
<button class="button_clear " @click="cancelmain()" >返回</button>
|
|
174
|
-
<button class="button_search" v-show="buttonshow" type="button" @click="goChargeManage">去收费</button>
|
|
175
|
-
<button v-if="row.f_meter_brand.includes('西美')&&row.f_meter_type.includes('物联网表')"
|
|
176
|
-
class="button_search" type="button" @click="clearBarrier">清除障碍</button>
|
|
177
|
-
<button v-if="row.f_meter_type.includes('物联网表')"
|
|
178
|
-
class="button_search" type="button" @click="openUser">开户</button>
|
|
179
|
-
<button v-if="row.f_meter_type.includes('物联网表') && valveLimit"
|
|
180
|
-
class="button_search" type="button" @click="valvecontrol">开关阀</button>
|
|
181
|
-
<button v-if="row.f_meter_type.includes('物联网表') && autoValveLimit"
|
|
182
|
-
class="button_search" type="button" @click="zdfk">开关自动阀控</button>
|
|
183
|
-
<div
|
|
184
|
-
:class="{'button_shrink_top':criteriaShow,'button_shrink_bottom':!criteriaShow}"
|
|
185
|
-
@click="criteriaShow=!criteriaShow"
|
|
186
|
-
class="button_spacing"
|
|
187
|
-
style="float: right"></div>
|
|
188
|
-
</div>
|
|
189
|
-
</div>
|
|
190
203
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
204
|
+
<div class="auto row">
|
|
205
|
+
<div class="col-sm-6" style="width:49%;"></div>
|
|
206
|
+
<div class="auto form-group-new">
|
|
207
|
+
<div class="col-sm-6" style="height:auto;width:49%;" v-show="criteriaShow">
|
|
208
|
+
<div class="col-sm-4">
|
|
209
|
+
<label class="font_normal_body_new">左 右 表</label>
|
|
210
|
+
<input class="input-underline" style="width:60%" :value="row.f_aroundmeter" readonly>
|
|
211
|
+
</div>
|
|
212
|
+
<div class="col-sm-4" v-if="row.f_collection_type == '按气量'">
|
|
213
|
+
<label class="font_normal_body_new">累计用气金额</label>
|
|
214
|
+
<input class="input-underline" style="width:45%" :value="row.f_total_usegas_amount" readonly>
|
|
215
|
+
</div>
|
|
216
|
+
<div class="col-sm-4" v-if="row.f_meter_type.includes('物联网表')">
|
|
217
|
+
<label class="font_normal_body_new">累计上报次数</label>
|
|
218
|
+
<input class="input-underline" style="width:45%" :value="row.f_meteread_number ? row.f_meteread_number : 0"
|
|
219
|
+
readonly>
|
|
220
|
+
</div>
|
|
221
|
+
<div class="col-sm-4" v-if="row.f_meter_type.includes('物联网表')">
|
|
222
|
+
<label class="font_normal_body_new">物联网次数</label>
|
|
223
|
+
<input class="input-underline" style="width:55%" :value="row.f_iot_times" readonly>
|
|
224
|
+
</div>
|
|
225
|
+
<div class="col-sm-4">
|
|
226
|
+
<label class="font_normal_body_new">建表日期</label>
|
|
227
|
+
<input class="input-underline" style="width:60%" :value="row.f_input_date.substring(0,7)" readonly>
|
|
228
|
+
</div>
|
|
229
|
+
<div class="col-sm-4">
|
|
230
|
+
<label class="font_normal_body_new" title="最后上报时间">上报时间</label>
|
|
231
|
+
<input class="input-underline" style="width:60%" :value="row.f_meteread_date ? row.f_meteread_date : '暂无'"
|
|
232
|
+
readonly>
|
|
233
|
+
</div>
|
|
234
|
+
<div class="col-sm-4">
|
|
235
|
+
<label class="font_normal_body_new">抄表册册序号</label>
|
|
236
|
+
<input class="input-underline" style="width:45%" :value="row.f_meter_book_sort" readonly>
|
|
237
|
+
</div>
|
|
238
|
+
<div>
|
|
221
239
|
|
|
222
|
-
<
|
|
223
|
-
<
|
|
224
|
-
|
|
225
|
-
<
|
|
226
|
-
</div>
|
|
227
|
-
<div class="col-sm-4">
|
|
228
|
-
<label class="font_normal_body_new">设备品牌</label>
|
|
229
|
-
<input class="input-underline" style="width:60%" :value="device.f_brand" readonly>
|
|
240
|
+
<div v-if="devices.length > 0" v-show="false" style="height: auto">
|
|
241
|
+
<p style="font-weight: bold;margin: 0">设备信息</p>
|
|
242
|
+
<div class="panel-heading" style="height: 30px">
|
|
243
|
+
<h4 style="display:inline-block;margin-top: auto">设备信息</h4>
|
|
230
244
|
</div>
|
|
231
|
-
<div
|
|
232
|
-
<
|
|
233
|
-
|
|
245
|
+
<div v-for="device in devices">
|
|
246
|
+
<form class="form-horizontal">
|
|
247
|
+
<div class="col-sm-4">
|
|
248
|
+
<label class="font_normal_body_new">设备类型</label>
|
|
249
|
+
<input class="input-underline" style="width:60%" :value="device.f_devices_type" readonly>
|
|
250
|
+
</div>
|
|
251
|
+
<div class="col-sm-4">
|
|
252
|
+
<label class="font_normal_body_new">设备品牌</label>
|
|
253
|
+
<input class="input-underline" style="width:60%" :value="device.f_brand" readonly>
|
|
254
|
+
</div>
|
|
255
|
+
<div class="col-sm-4">
|
|
256
|
+
<label class="font_normal_body_new">设备型号</label>
|
|
257
|
+
<input class="input-underline" style="width:60%" :value="device.f_devices_model" readonly>
|
|
258
|
+
</div>
|
|
259
|
+
<div class="col-sm-4">
|
|
260
|
+
<label class="font_normal_body_new">设备数量</label>
|
|
261
|
+
<input class="input-underline" style="width:60%" :value="device.f_devices_num" readonly>
|
|
262
|
+
</div>
|
|
263
|
+
</form>
|
|
234
264
|
</div>
|
|
235
|
-
|
|
236
|
-
<label class="font_normal_body_new">设备数量</label>
|
|
237
|
-
<input class="input-underline" style="width:60%" :value="device.f_devices_num" readonly>
|
|
238
|
-
</div>
|
|
239
|
-
</form>
|
|
265
|
+
</div>
|
|
240
266
|
</div>
|
|
241
267
|
</div>
|
|
242
268
|
</div>
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
<
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
</
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
269
|
+
<!--阀控管理弹框-->
|
|
270
|
+
<modal :show.sync="valve">
|
|
271
|
+
<header slot="modal-header" class="modal-header">
|
|
272
|
+
<button type="button" class="close" @click="close()"><span>×</span></button>
|
|
273
|
+
<h4 class="modal-title" align="center">阀控管理</h4>
|
|
274
|
+
</header>
|
|
275
|
+
<article slot="modal-body" class="modal-body">
|
|
276
|
+
<div class="form-group " style="padding-left: 8px">
|
|
277
|
+
<label class="font_normal_body" :class="operateReason?'text-info':'text-danger'">操作原因</label>
|
|
278
|
+
<textarea class="form-control" style="width:80%" v-model="operateReason" rows="3"
|
|
279
|
+
placeholder="请填写操作原因"></textarea>
|
|
280
|
+
</div>
|
|
281
|
+
</article>
|
|
282
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
283
|
+
<button type="button" class="button_search btn-ln fr" :disabled="!operateReason" @click='valveoperate(true)'>
|
|
284
|
+
开阀
|
|
285
|
+
</button>
|
|
286
|
+
|
|
287
|
+
<button type="button" class="btn btn-info btn-ln fr" :disabled="!operateReason" @click='valveoperate(false)'>
|
|
288
|
+
关阀
|
|
289
|
+
</button>
|
|
290
|
+
</footer>
|
|
291
|
+
</modal>
|
|
263
292
|
</div>
|
|
264
293
|
</template>
|
|
265
294
|
|
|
266
295
|
<script>
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
buttonshow: {
|
|
277
|
-
type: Boolean,
|
|
278
|
-
default: true
|
|
279
|
-
}
|
|
296
|
+
import {HttpResetClass} from 'vue-client'
|
|
297
|
+
import Vue from 'vue'
|
|
298
|
+
|
|
299
|
+
export default {
|
|
300
|
+
title: '基本信息',
|
|
301
|
+
props: {
|
|
302
|
+
row: {
|
|
303
|
+
type: Object,
|
|
304
|
+
default: undefined
|
|
280
305
|
},
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
306
|
+
buttonshow: {
|
|
307
|
+
type: Boolean,
|
|
308
|
+
default: true
|
|
309
|
+
}
|
|
310
|
+
},
|
|
311
|
+
data () {
|
|
312
|
+
return {
|
|
313
|
+
criteriaShow: false,
|
|
314
|
+
devices: [],
|
|
315
|
+
valveLimit: false,
|
|
316
|
+
autoValveLimit: false,
|
|
317
|
+
// 开关阀操作原因
|
|
318
|
+
operateReason: '',
|
|
319
|
+
valve: false
|
|
320
|
+
}
|
|
321
|
+
},
|
|
322
|
+
|
|
323
|
+
ready () {
|
|
324
|
+
this.getDevice()
|
|
325
|
+
this.valveLimit = this.$login.r.includes('开关阀权限')
|
|
326
|
+
this.autoValveLimit = this.$login.r.includes('自动阀控权限')
|
|
327
|
+
},
|
|
328
|
+
methods: {
|
|
329
|
+
// 发送请求去数据
|
|
330
|
+
async getDevice () {
|
|
331
|
+
if (this.row) {
|
|
332
|
+
let http = new HttpResetClass()
|
|
333
|
+
let condition = `f_userinfo_id = '${this.row.f_userinfo_id}'`
|
|
334
|
+
let getDevices = await http.load('POST', 'api/af-revenue/sql/sale_GetDevicesInfo', {data: {condition: condition}}, {
|
|
335
|
+
rejectMsg: '获取设备信息出错!!',
|
|
336
|
+
resolveMsg: null
|
|
337
|
+
})
|
|
338
|
+
this.devices = getDevices.data
|
|
290
339
|
}
|
|
291
340
|
},
|
|
292
341
|
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
this
|
|
296
|
-
this.autoValveLimit = this.$login.r.includes('自动阀控权限')
|
|
342
|
+
// 返回
|
|
343
|
+
cancelmain () {
|
|
344
|
+
this.$emit('cancel-main')
|
|
297
345
|
},
|
|
298
|
-
|
|
299
|
-
//
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
//
|
|
315
|
-
//
|
|
316
|
-
//
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
346
|
+
clearBarrier () {
|
|
347
|
+
// 地址
|
|
348
|
+
// 127.0.0.1:8445
|
|
349
|
+
// 参数
|
|
350
|
+
let datas = {
|
|
351
|
+
moduleName: 'XiMeiSystem', // 固定值
|
|
352
|
+
content: {
|
|
353
|
+
tradeCode: '3015', // 固定值
|
|
354
|
+
appid: 'yysf', // 固定值
|
|
355
|
+
partner: 'cqsemay_bcts', // 固定值
|
|
356
|
+
version: 'v1', // 固定值
|
|
357
|
+
tasked: this.getuuid(), // 任务id
|
|
358
|
+
notifyUrl: 'http://192.168.2.10:8445/webmeter/rs/logic/XiMeiSystemCallBack', // 固定值
|
|
359
|
+
meterNo: this.row.f_meternumber, // 表号
|
|
360
|
+
signType: ' MD5' // 固定值
|
|
361
|
+
},
|
|
362
|
+
title: '清除异常', // 固定值
|
|
363
|
+
type: '清除异常', // 固定值
|
|
364
|
+
inputtor: this.row.f_operator, // 操作人
|
|
365
|
+
userId: this.row.f_userfiles_id, // 表档案ID
|
|
366
|
+
dataId: null // 操作记录ID
|
|
367
|
+
}
|
|
368
|
+
this.$resetpost('/webmeter/rs/logic/syncSaveSetParamsTemplate', {data: datas}, {
|
|
369
|
+
resolveMsg: `清理成功`,
|
|
370
|
+
rejectMsg: `清理失败`
|
|
371
|
+
}).then(res => {
|
|
372
|
+
})
|
|
373
|
+
},
|
|
374
|
+
getuuid () {
|
|
375
|
+
let uuidA = ''
|
|
376
|
+
var s = []
|
|
377
|
+
var hexDigits = '0123456789abcdef'
|
|
378
|
+
for (var i = 0; i < 36; i++) {
|
|
379
|
+
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1)
|
|
380
|
+
}
|
|
381
|
+
s[14] = '4'
|
|
382
|
+
s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1)
|
|
383
|
+
s[8] = s[13] = s[18] = s[23] = '-'
|
|
384
|
+
uuidA = s.join('')
|
|
385
|
+
return uuidA
|
|
386
|
+
},
|
|
387
|
+
async goChargeManage () {
|
|
388
|
+
await this.$copyText(this.row.f_userinfo_code)
|
|
389
|
+
this.$showAlert(`用户编号已复制到剪切板!`, 'success', 2000)
|
|
390
|
+
if (this.row.parentname === 'charge-manage') {
|
|
391
|
+
this.$emit('cancel-re')
|
|
392
|
+
} else {
|
|
393
|
+
try {
|
|
394
|
+
this.$goto('charge-manage', {f: this.$login.f}, 'main')
|
|
395
|
+
} catch (e) {
|
|
334
396
|
}
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
getuuid () {
|
|
339
|
-
let uuidA = ''
|
|
340
|
-
var s = []
|
|
341
|
-
var hexDigits = '0123456789abcdef'
|
|
342
|
-
for (var i = 0; i < 36; i++) {
|
|
343
|
-
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1)
|
|
397
|
+
try {
|
|
398
|
+
window.parent.dispatchEvent(new CustomEvent('gotoChargeManage', {detail: 'Hello from iframe'}))
|
|
399
|
+
} catch (e) {
|
|
344
400
|
}
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
await this.$copyText(this.row.f_userinfo_code)
|
|
353
|
-
this.$showAlert(`用户编号已复制到剪切板!`, 'success', 2000)
|
|
354
|
-
if (this.row.parentname === 'charge-manage') {
|
|
355
|
-
this.$emit('cancel-re')
|
|
356
|
-
} else {
|
|
357
|
-
try {
|
|
358
|
-
this.$goto('charge-manage', {f: this.$login.f}, 'main')
|
|
359
|
-
} catch (e) {
|
|
360
|
-
}
|
|
361
|
-
try {
|
|
362
|
-
window.parent.dispatchEvent(new CustomEvent('gotoChargeManage', {detail: 'Hello from iframe'}));
|
|
363
|
-
} catch (e) {
|
|
401
|
+
}
|
|
402
|
+
},
|
|
403
|
+
openUser () {
|
|
404
|
+
this.$showMessage(`是否需要给用户进行开户?`, ['confirm', 'cancel']).then(async (res) => {
|
|
405
|
+
if (res === 'confirm') {
|
|
406
|
+
let data = {
|
|
407
|
+
f_userfiles_id: this.row.f_userfiles_id
|
|
364
408
|
}
|
|
409
|
+
this.$resetpost('api/af-revenue/logic/startup', data)
|
|
365
410
|
}
|
|
366
|
-
}
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
411
|
+
})
|
|
412
|
+
},
|
|
413
|
+
// 阀控管理
|
|
414
|
+
zdfk () {
|
|
415
|
+
let data = {
|
|
416
|
+
inputtor: Vue.$login.f.name,
|
|
417
|
+
inputtorid: Vue.$login.f.id,
|
|
418
|
+
meterBrandName: this.row.f_alias,
|
|
419
|
+
f_userfiles_id: this.row.f_userfiles_id
|
|
420
|
+
}
|
|
421
|
+
if (this.row.f_network_valve !== '1') {
|
|
422
|
+
this.$resetpost('api/af-revenue/logic/openzdfk', data, {
|
|
423
|
+
resolveMsg: '关闭自动阀控成功。',
|
|
424
|
+
rejectMsg: '关闭自动阀控失败!!!'
|
|
375
425
|
})
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
f_userfiles_id: this.row.f_userfiles_id
|
|
384
|
-
}
|
|
385
|
-
if (this.row.f_network_valve !== '1') {
|
|
386
|
-
this.$resetpost('api/af-revenue/logic/openzdfk', data, {resolveMsg: '关闭自动阀控成功。', rejectMsg: '关闭自动阀控失败!!!'})
|
|
387
|
-
this.row.f_network_valve = '1'
|
|
388
|
-
} else {
|
|
389
|
-
this.$resetpost('api/af-revenue/logic/closezdfk', data, {resolveMsg: '开启自动阀控成功。', rejectMsg: '开启自动阀控失败!!!'})
|
|
390
|
-
this.row.f_network_valve = null
|
|
391
|
-
}
|
|
392
|
-
},
|
|
393
|
-
// 阀控管理
|
|
394
|
-
valvecontrol () {
|
|
395
|
-
if (this.$login.r.includes('开关阀')) {
|
|
396
|
-
this.valve = true
|
|
397
|
-
} else {
|
|
398
|
-
this.$showAlert('您没有开关阀权限,请联系管理员!!', 'warning', 3000)
|
|
399
|
-
}
|
|
400
|
-
},
|
|
401
|
-
close () {
|
|
402
|
-
this.valve = false
|
|
403
|
-
this.operateReason = ''
|
|
404
|
-
},
|
|
405
|
-
// 开关阀操作
|
|
406
|
-
async valveoperate (oper) {
|
|
407
|
-
let msg = oper ? '开阀' : '关阀'
|
|
408
|
-
let datas = {
|
|
409
|
-
instructType: '阀门控制',
|
|
410
|
-
instructTitle: `手动${msg}`,
|
|
411
|
-
condition: `t_userfiles.f_userfiles_id='${this.row.f_userfiles_id}'`,
|
|
412
|
-
meterBrandName: this.row.f_alias,
|
|
413
|
-
f_instruct_state: '待发送',
|
|
414
|
-
inputtor: Vue.$login.f.name,
|
|
415
|
-
inputtorid: Vue.$login.f.id,
|
|
416
|
-
reasonInfo: this.operateReason,
|
|
417
|
-
meternumberf: this.row.f_meternumber,
|
|
418
|
-
contentData: {isOpen: oper ? 1 : 0}
|
|
419
|
-
}
|
|
420
|
-
let _this = this
|
|
421
|
-
await this.$resetpost('api/af-revenue/sql/iot_searchInstruct', {data: datas},
|
|
422
|
-
{warnMsg: null, resolveMsg: null}).then(res => {
|
|
423
|
-
if (res.data.length === 0) {
|
|
424
|
-
_this.$resetpost('api/af-revenue/logic/iot_saveInstruct', {data: datas},
|
|
425
|
-
{warnMsg: `确定要进行${msg}操作吗?`, resolveMsg: `${msg}成功`, rejectMsg: `${msg}失败`}).then(res => {
|
|
426
|
-
_this.valve = false
|
|
427
|
-
_this.operateReason = ''
|
|
428
|
-
})
|
|
429
|
-
} else {
|
|
430
|
-
this.$showAlert('存在开关阀待发送的指令,系统不生成同样的待发送指令', 'warning', 3000)
|
|
431
|
-
_this.valve = false
|
|
432
|
-
_this.operateReason = ''
|
|
433
|
-
}
|
|
434
|
-
})
|
|
426
|
+
this.row.f_network_valve = '1'
|
|
427
|
+
} else {
|
|
428
|
+
this.$resetpost('api/af-revenue/logic/closezdfk', data, {
|
|
429
|
+
resolveMsg: '开启自动阀控成功。',
|
|
430
|
+
rejectMsg: '开启自动阀控失败!!!'
|
|
431
|
+
})
|
|
432
|
+
this.row.f_network_valve = null
|
|
435
433
|
}
|
|
436
434
|
},
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
435
|
+
// 阀控管理
|
|
436
|
+
valvecontrol () {
|
|
437
|
+
if (this.$login.r.includes('开关阀')) {
|
|
438
|
+
this.valve = true
|
|
439
|
+
} else {
|
|
440
|
+
this.$showAlert('您没有开关阀权限,请联系管理员!!', 'warning', 3000)
|
|
440
441
|
}
|
|
442
|
+
},
|
|
443
|
+
close () {
|
|
444
|
+
this.valve = false
|
|
445
|
+
this.operateReason = ''
|
|
446
|
+
},
|
|
447
|
+
// 开关阀操作
|
|
448
|
+
async valveoperate (oper) {
|
|
449
|
+
let msg = oper ? '开阀' : '关阀'
|
|
450
|
+
let datas = {
|
|
451
|
+
instructType: '阀门控制',
|
|
452
|
+
instructTitle: `手动${msg}`,
|
|
453
|
+
condition: `t_userfiles.f_userfiles_id='${this.row.f_userfiles_id}'`,
|
|
454
|
+
meterBrandName: this.row.f_alias,
|
|
455
|
+
f_instruct_state: '待发送',
|
|
456
|
+
inputtor: Vue.$login.f.name,
|
|
457
|
+
inputtorid: Vue.$login.f.id,
|
|
458
|
+
reasonInfo: this.operateReason,
|
|
459
|
+
meternumberf: this.row.f_meternumber,
|
|
460
|
+
contentData: {isOpen: oper ? 1 : 0}
|
|
461
|
+
}
|
|
462
|
+
let _this = this
|
|
463
|
+
await this.$resetpost('api/af-revenue/sql/iot_searchInstruct', {data: datas},
|
|
464
|
+
{warnMsg: null, resolveMsg: null}).then(res => {
|
|
465
|
+
if (res.data.length === 0) {
|
|
466
|
+
_this.$resetpost('api/af-revenue/logic/iot_saveInstruct', {data: datas},
|
|
467
|
+
{warnMsg: `确定要进行${msg}操作吗?`, resolveMsg: `${msg}成功`, rejectMsg: `${msg}失败`}).then(res => {
|
|
468
|
+
_this.valve = false
|
|
469
|
+
_this.operateReason = ''
|
|
470
|
+
})
|
|
471
|
+
} else {
|
|
472
|
+
this.$showAlert('存在开关阀待发送的指令,系统不生成同样的待发送指令', 'warning', 3000)
|
|
473
|
+
_this.valve = false
|
|
474
|
+
_this.operateReason = ''
|
|
475
|
+
}
|
|
476
|
+
})
|
|
477
|
+
}
|
|
478
|
+
},
|
|
479
|
+
watch: {
|
|
480
|
+
'row' () {
|
|
481
|
+
this.getDevice()
|
|
441
482
|
}
|
|
442
483
|
}
|
|
484
|
+
}
|
|
443
485
|
</script>
|
|
444
486
|
<style scoped lang="less">
|
|
445
|
-
|
|
446
|
-
|
|
487
|
+
.form-group-new > div {
|
|
488
|
+
height: 3% !important;
|
|
447
489
|
|
|
448
|
-
|
|
490
|
+
}
|
|
449
491
|
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
.text-info {
|
|
459
|
-
color: lightskyblue;
|
|
460
|
-
}
|
|
461
|
-
.text-danger {
|
|
462
|
-
color: red;
|
|
463
|
-
}
|
|
464
|
-
.input-underline {
|
|
465
|
-
border-bottom: 1px solid #dbdbdb;
|
|
466
|
-
border-top: 0px;
|
|
467
|
-
border-left: 0px;
|
|
468
|
-
border-right: 0px;
|
|
469
|
-
}
|
|
470
|
-
.font_normal_body_new {
|
|
471
|
-
font-weight: 100;
|
|
472
|
-
float: left;
|
|
473
|
-
margin-top: 0px;
|
|
474
|
-
font-size: 1.4rem !important;
|
|
475
|
-
line-height: 30px;
|
|
476
|
-
}
|
|
492
|
+
.datapanel {
|
|
493
|
+
color: #333;
|
|
494
|
+
background-color: white;
|
|
495
|
+
box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px;
|
|
496
|
+
padding: 10px 30px 10px 30px;
|
|
497
|
+
height: auto;
|
|
498
|
+
border-radius: 15px;
|
|
499
|
+
}
|
|
477
500
|
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
margin: 7px 0;
|
|
501
|
+
.text-info {
|
|
502
|
+
color: lightskyblue;
|
|
503
|
+
}
|
|
482
504
|
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
505
|
+
.text-danger {
|
|
506
|
+
color: red;
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
.input-underline {
|
|
510
|
+
border-bottom: 1px solid #dbdbdb;
|
|
511
|
+
border-top: 0px;
|
|
512
|
+
border-left: 0px;
|
|
513
|
+
border-right: 0px;
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
.font_normal_body_new {
|
|
517
|
+
font-weight: 100;
|
|
518
|
+
float: left;
|
|
519
|
+
margin-top: 0px;
|
|
520
|
+
font-size: 1.4rem !important;
|
|
521
|
+
line-height: 30px;
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
.col-sm-4, .col-sm-8 {
|
|
525
|
+
display: flex;
|
|
526
|
+
align-items: center;
|
|
527
|
+
margin: 7px 0;
|
|
528
|
+
|
|
529
|
+
label {
|
|
530
|
+
line-height: unset;
|
|
531
|
+
margin-bottom: 0;
|
|
487
532
|
}
|
|
533
|
+
}
|
|
488
534
|
</style>
|