manage-client 4.0.52 → 4.0.54

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,6 +1,6 @@
1
1
  {
2
2
  "name": "manage-client",
3
- "version": "4.0.52",
3
+ "version": "4.0.54",
4
4
  "description": "经营管控模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -0,0 +1,14 @@
1
+ export default{
2
+ // 把打印需要默认选中的字段名放在config数组中
3
+ config: [
4
+ 'f_userinfo_code',
5
+ 'f_user_name',
6
+ 'f_user_phone',
7
+ 'f_pregas',
8
+ 'f_preamount',
9
+ 'f_collection',
10
+ 'f_balance',
11
+ 'f_curbalance',
12
+ 'f_idnumber'
13
+ ]
14
+ }
@@ -12,7 +12,7 @@ import { HttpResetClass } from 'vue-client'
12
12
 
13
13
  let getData = function * (self) {
14
14
  let load = new HttpResetClass()
15
- load.load('POST', 'api/af-revenue/sql/webmeter_getNewHandChanceList', {data: {condition: self.condition, startDate: self.startdate, endDate: self.enddate}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
15
+ load.load('POST', 'api/af-revenue/sql/webmeter_getNewHandChanceList', {data: {condition: self.condition, startDate: self.startdate + ' 00:00:00', endDate: self.enddate + ' 23:59:59'}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
16
16
  // eslint-disable-next-line camelcase
17
17
  let every_time = res.data.map(x => x.f_insert_date)
18
18
  // eslint-disable-next-line camelcase
@@ -0,0 +1,986 @@
1
+ <template>
2
+ <div id="unit" class="flex-row">
3
+ <div class="basic-main" @keyup.enter="search">
4
+ <div class="flex">
5
+ <div style="flex:1;" class="flex" v-if="!show">
6
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
7
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
8
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
9
+ <div class="row">
10
+ <div class="col-sm-2 form-group">
11
+ <label class="font_normal_body">客户编号</label>
12
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
13
+ condition="f_userinfo_code = '{}' " placeholder="客户编号">
14
+ </div>
15
+ <div class="col-sm-2 form-group">
16
+ <label class="font_normal_body">客户名称</label>
17
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
18
+ condition="f_user_name like '%{}%'" placeholder="客户名称">
19
+ </div>
20
+ <div class="col-sm-2 form-group">
21
+ <label class="font_normal_body" title="旧客户编号">档案编号</label>
22
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_olduserinfo_code"
23
+ condition="f_olduserinfo_code = '{}' " placeholder="档案编号">
24
+ </div>
25
+ <div class="col-sm-2 form-group">
26
+ <label class="font_normal_body">客户电话</label>
27
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_phone"
28
+ condition="f_user_phone like '%{}%'" placeholder="客户电话">
29
+ </div>
30
+ <div class="span" style="float:right;">
31
+ <button class="button_search button_spacing" v-show="false"
32
+ @click="$parent.$parent.ReadIDCard()">读取身份证
33
+ </button>
34
+ <read-card v-if="!$filialeInfo || $filialeInfo !== 'rongcheng'"
35
+ :is-single.sync="$parent.$parent.isSingleUser" @read-info="$parent.$parent.cardBtn"
36
+ v-ref:readcard></read-card>
37
+ <button class="button_search button_spacing" @click="search()">查询</button>
38
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
39
+ <!--<button class="btn btn-default" @click="$parent.$parent.stamp()">打印</button>-->
40
+
41
+ <export-excel :data="$parent.$parent.getCondition" :field="$parent.$parent.getExportField"
42
+ :footer="$parent.$parent.footer" :header="$parent.$parent.other"
43
+ v-if="$parent.$parent.authArr.includes('档案查询导出')" sqlurl="api/af-revenue/logic/openapi/exportfile"
44
+ sql-name="meterQuery"
45
+ template-name='表具查询导出' :choose-col="true"></export-excel>
46
+ <print-data :sum-field="$parent.$parent.getExportField" :model="$parent.model"
47
+ :field="$parent.$parent.getExportField" :defaultfield="$parent.$parent.defaultfield"
48
+ titletable="客户查询" :sumsmodel="$parent.$parent.sumsmodel"></print-data>
49
+
50
+
51
+ <div style="float: right" class="button_spacing"
52
+ :class="{ 'button_shrink_top': $parent.$parent.criteriaShow, 'button_shrink_bottom': !$parent.$parent.criteriaShow }"
53
+ @click="$parent.$parent.hidden()"></div>
54
+ </div>
55
+ </div>
56
+ <div class="row" v-show="$parent.$parent.criteriaShow">
57
+ <res-select-group :initres="$parent.$parent.initres"
58
+ @re-res="$parent.$parent.getRes"></res-select-group>
59
+
60
+
61
+ <div class="col-sm-2 form-group">
62
+ <label class="font_normal_body">客户地址</label>
63
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
64
+ condition="f_address like '%{}%'" placeholder='客户地址'>
65
+ </div>
66
+ <div class="col-sm-2 form-group" v-if="!$filialeInfo || $filialeInfo !== 'rongcheng'">
67
+ <label class="font_normal_body">用气点</label>
68
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_userfiles_address"
69
+ condition="f_userfiles_address like '%{}%'" placeholder='用气点'>
70
+ </div>
71
+ <div class="col-sm-2 form-group">
72
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;表号&nbsp;&nbsp;&nbsp;</label>
73
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
74
+ condition="f_meternumber = '{}'" placeholder='表号'>
75
+ </div>
76
+
77
+ <div class="col-sm-2 form-group">
78
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;卡号&nbsp;&nbsp;&nbsp;</label>
79
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_card_id"
80
+ condition="f_card_id like '%{}%'" placeholder='卡号'>
81
+ </div>
82
+
83
+ <div class="col-sm-2 form-group">
84
+ <label class="font_normal_body">客户类型</label>
85
+ <v-select :value.sync="model.f_user_type" :options='$parent.$parent.usertypes'
86
+ @change="$parent.$parent.userTypeChange()" placeholder='请选择' v-model="model.f_user_type"
87
+ condition="f_user_type = '{}'" close-on-select></v-select>
88
+ </div>
89
+ <div class="col-sm-2 form-group">
90
+ <label for="f_usetype" class="font_normal_body">二次挂表</label>
91
+ <v-select :value.sync="model.issecondtype" v-model="model.issecondtype" condition="f_usetype {}"
92
+ :options='$parent.$parent.issecond' placeholder='请选择' close-on-select></v-select>
93
+ </div>
94
+ <div class="col-sm-2 form-group" v-if="titleShow">
95
+ <label for="f_usetype" class="font_normal_body" title="参数:使用类型">使用类型</label>
96
+ <v-select :value.sync="model.f_usetype" v-model="model.f_usetype" condition="f_usetype = '{}'"
97
+ :options='$parent.$parent.usetype' placeholder='请选择' close-on-select></v-select>
98
+ </div>
99
+ <div class="col-sm-2 form-group" v-if="titleShow">
100
+ <label class="font_normal_body">用气性质</label>
101
+ <v-select :value.sync="model.f_gasproperties" v-model="model.f_gasproperties"
102
+ :options='$parent.$parent.gasproperties' placeholder='请选择'
103
+ condition="f_gasproperties = '{}'"
104
+ close-on-select></v-select>
105
+ </div>
106
+ <div class="col-sm-2 form-group">
107
+ <label class="font_normal_body">气价类型</label>
108
+ <v-select :value.sync="model.pricetype" v-model="model.pricetype" placeholder='气价类型'
109
+ :options="$parent.$parent.pricetypes" condition="f_price_type = '{}'" close-on-select
110
+ v-ref:type>
111
+ </v-select>
112
+ </div>
113
+ <div class="col-sm-2 form-group">
114
+ <label class="font_normal_body">气价名称</label>
115
+ <v-select :value.sync="model.f_price_name" v-model="model.f_price_name"
116
+ :options="$parent.$parent.getPricenames" placeholder='请选择' condition="f_price_name = '{}'"
117
+ close-on-select></v-select>
118
+ </div>
119
+ <div class="col-sm-2 form-group">
120
+ <label class="font_normal_body">气表分类</label>
121
+ <v-select :value.sync="model.f_meter_classify" v-model="model.f_meter_classify"
122
+ :options='$parent.$parent.metertypes' placeholder='请选择'
123
+ condition="f_meter_classify = '{}'"
124
+ close-on-select></v-select>
125
+ </div>
126
+ <div class="col-sm-2 form-group">
127
+ <label class="font_normal_body">气表品牌</label>
128
+ <v-select :value.sync="model.f_meter_brand" v-model="model.f_meter_brand"
129
+ :options='$parent.$parent.meterbrands' placeholder='请选择' condition="f_meter_brand = '{}'"
130
+ close-on-select></v-select>
131
+ </div>
132
+ <div class="col-sm-2 form-group">
133
+ <label class="font_normal_body">气表型号</label>
134
+ <v-select :value.sync="model.f_meter_style" v-model="model.f_meter_style"
135
+ :options='$parent.$parent.meterstyle[model.f_meter_brand]' placeholder='请选择'
136
+ condition="f_meter_style = '{}'" close-on-select></v-select>
137
+ </div>
138
+ <div class="col-sm-2 form-group">
139
+ <label class="font_normal_body">气表状态</label>
140
+ <v-select :value.sync="model.f_table_state" v-model="model.f_table_state"
141
+ :options='$parent.$parent.tablestate' placeholder='请选择' condition="f_table_state = '{}'"
142
+ close-on-select></v-select>
143
+ </div>
144
+ <div class="col-sm-2 form-group">
145
+ <label class="font_normal_body">使用状态</label>
146
+ <v-select :value.sync="model.f_usestate" v-model="model.f_usestate"
147
+ :options='$parent.$parent.usestate' placeholder='请选择' condition="f_usestate = '{}'"
148
+ close-on-select></v-select>
149
+ </div>
150
+ <div class="col-sm-2 form-group">
151
+ <label for="startDate" class="font_normal_body">建表日期</label>
152
+ <datepicker id="startDate" placeholder="开始日期" style="width:60%" v-model="model.startDate"
153
+ :value.sync="model.startDate" :format="'yyyy-MM-dd'" :show-reset-button="true"
154
+ condition="f_input_date >= '{} 00:00:00'">
155
+ </datepicker>
156
+ </div>
157
+ <div class="col-sm-2 form-group">
158
+ <label for="endDate" class="font_normal_body">建表日期</label>
159
+ <datepicker id="endDate" placeholder="结束日期" style="width:60%" v-model="model.endDate"
160
+ :value.sync="model.endDate" :format="'yyyy-MM-dd'" :show-reset-button="true"
161
+ condition="f_input_date <= '{} 23:59:59'">
162
+ </datepicker>
163
+ </div>
164
+ <div class="col-sm-2 form-group">
165
+ <label for="startDate" class="font_normal_body">通气日期</label>
166
+ <datepicker id="startDate" placeholder="开始日期" style="width:60%" v-model="model.startTQDate"
167
+ :value.sync="model.startTQDate" :format="'yyyy-MM-dd'" :show-reset-button="true"
168
+ condition="f_gas_date >= '{} 00:00:00'">
169
+ </datepicker>
170
+ </div>
171
+ <div class="col-sm-2 form-group">
172
+ <label for="endDate" class="font_normal_body">通气日期</label>
173
+ <datepicker id="endDate" placeholder="结束日期" style="width:60%" v-model="model.endTQDate"
174
+ :value.sync="model.endTQDate" :format="'yyyy-MM-dd'" :show-reset-button="true"
175
+ condition="f_gas_date <= '{} 23:59:59'">
176
+ </datepicker>
177
+ </div>
178
+ <div class="col-sm-2 form-group">
179
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;壁挂炉</label>
180
+ <v-select :value.sync="model.isbgl" v-model="model.isbgl" :options='$parent.$parent.bgl'
181
+ placeholder='请选择' condition="isbgl = '{}'" close-on-select></v-select>
182
+ </div>
183
+ <div class="col-sm-2 form-group" v-if="titleShow">
184
+ <label class="font_normal_body">用户等级</label>
185
+ <v-select :value.sync="model.f_user_grade" v-model="model.f_user_grade"
186
+ :options='$parent.$parent.usergrade' placeholder='请选择' condition="f_user_grade = '{}'"
187
+ close-on-select></v-select>
188
+ </div>
189
+ <!--表册片区-->
190
+ <div class="col-sm-2 form-group">
191
+ <label class="font_normal_body">表册片区</label>
192
+ <v-select :value.sync="model.f_book_slice_area" v-model="model.f_book_slice_area"
193
+ :options='$parent.$parent.bookSlice' placeholder='片区/表册' style="width:60%" close-on-select
194
+ condition="f_book_slice_area = '{}'"></v-select>
195
+ </div>
196
+ <div class="col-sm-2 form-group">
197
+ <label class="font_normal_body">抄&nbsp;&nbsp;表&nbsp;员</label>
198
+ <v-select :value.sync="model.f_inputtor" v-model="model.f_inputtor"
199
+ :options='$parent.$parent.inputtores' placeholder='请选择' condition="f_inputtor = '{}'"
200
+ close-on-select :value-single="true" :search="false">
201
+ </v-select>
202
+ </div>
203
+ <div class="col-sm-2 form-group">
204
+ <label class="font_normal_body">抄&ensp;表&ensp;册</label>
205
+ <v-select :value.sync="model.f_meter_book" v-model="model.f_meter_book"
206
+ :options='$parent.$parent.meterbooks' placeholder='抄表册' style="width:60%" close-on-select
207
+ condition="f_meter_book_num = '{}'"></v-select>
208
+ </div>
209
+ <div class="col-sm-2 form-group">
210
+ <label class="font_normal_body">自动阀控</label>
211
+ <v-select placeholder='自动阀控' :value.sync="model.f_network_valve" style="width:60%"
212
+ v-model="model.f_network_valve" :options='$parent.$parent.networkvalves' close-on-select
213
+ condition="f_networkvalve='{}'">
214
+ </v-select>
215
+ </div>
216
+ <div class="col-sm-2 form-group">
217
+ <label class="font_normal_body">通&nbsp;气&nbsp;人&nbsp;</label>
218
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_gas_person"
219
+ condition="f_gas_person like '%{}%' " placeholder="通气人">
220
+ </div>
221
+ <div class="col-sm-2 form-group">
222
+ <label for="startGasDate" class="font_normal_body">首次通气日期</label>
223
+ <datepicker id="startGasDate" placeholder="开始日期" style="width:60%"
224
+ v-model="model.startGasDate"
225
+ :value.sync="model.startGasDate"
226
+ :format="'yyyy-MM-dd'"
227
+ :show-reset-button="true"
228
+ condition="f_uservent_date >= '{} 00:00:00'">
229
+ </datepicker>
230
+ </div>
231
+ </div>
232
+ </div>
233
+ </criteria>
234
+
235
+ <data-grid :model="model" partial='list' v-ref:grid class="list_area table_sy"
236
+ :classname="$parent.classname">
237
+ <template partial='head'>
238
+ <tr>
239
+ <th>
240
+ <!--<nobr>客户编号</nobr>-->
241
+ <data-order field="f_userinfo_code" name="客户编号"
242
+ :order.sync="$parent.$parent.$parent.orderFields.f_userinfo_code"></data-order>
243
+ </th>
244
+ <th>
245
+ <nobr>客户名称</nobr>
246
+ </th>
247
+ <th>
248
+ <nobr>档案编号</nobr>
249
+ </th>
250
+ <th>
251
+ <nobr>客户电话</nobr>
252
+ </th>
253
+ <th>
254
+ <nobr>备用电话</nobr>
255
+ </th>
256
+ <th>
257
+ <nobr>身份证号</nobr>
258
+ </th>
259
+ <th>
260
+ <!--<nobr>客户地址</nobr>-->
261
+ <data-order field="f_address" name="客户地址"
262
+ :order.sync="$parent.$parent.$parent.orderFields.f_address"></data-order>
263
+ </th>
264
+ <th>
265
+ <nobr>表册片区</nobr>
266
+ </th>
267
+ <th>
268
+ <nobr>累购气量</nobr>
269
+ </th>
270
+ <th>
271
+ <nobr>表上余额</nobr>
272
+ </th>
273
+ <th>
274
+ <nobr>客户类型</nobr>
275
+ </th>
276
+ <th v-if="titleShow">
277
+ <nobr>使用类型</nobr>
278
+ </th>
279
+ <th v-if="titleShow">
280
+ <nobr>用气性质</nobr>
281
+ </th>
282
+ <th>
283
+ <nobr>表号</nobr>
284
+ </th>
285
+ <th>
286
+ <nobr>卡号</nobr>
287
+ </th>
288
+
289
+
290
+ <th>
291
+ <nobr>气价名称</nobr>
292
+ </th>
293
+ <th>
294
+ <nobr>气价详情</nobr>
295
+ </th>
296
+ <th>
297
+ <nobr>气表品牌</nobr>
298
+ </th>
299
+ <th>
300
+ <nobr>气表型号</nobr>
301
+ </th>
302
+ <th>
303
+ <nobr>户管员</nobr>
304
+ </th>
305
+ <th>
306
+ <nobr>通气人</nobr>
307
+ </th>
308
+ <th>
309
+ <nobr>首次通气日期</nobr>
310
+ </th>
311
+ <th>
312
+ <!--<nobr>通气时间</nobr>-->
313
+ <data-order field="f_gas_date" name="通气时间"
314
+ :order.sync="$parent.$parent.$parent.orderFields.f_gas_date"></data-order>
315
+ </th>
316
+ <th>
317
+ <!--<nobr>建表时间</nobr>-->
318
+ <data-order field="f_input_date" name="建表时间"
319
+ :order.sync="$parent.$parent.$parent.orderFields.f_input_date"></data-order>
320
+ </th>
321
+ <th>
322
+ <nobr>气表状态</nobr>
323
+ </th>
324
+ <th>
325
+ <nobr>是否壁挂炉</nobr>
326
+ </th>
327
+ <th>
328
+ <nobr>自动阀控</nobr>
329
+ </th>
330
+ </tr>
331
+ </template>
332
+ <template partial='body'>
333
+ <td :class="row.f_table_state !== '正常' ? 'back-red' : 'back-blue'" style="text-align: center;">
334
+ <nobr>
335
+ <span @click="$parent.$parent.$parent.showmsg(row)"><a>{{ row.f_userinfo_code }}</a></span>
336
+ </nobr>
337
+ </td>
338
+ <td :class="row.f_table_state !== '正常' ? 'back-red' : 'back-blue'" style="text-align: center;">
339
+ <nobr>{{ row.f_user_name }}</nobr>
340
+ </td>
341
+ <td :class="row.f_table_state !== '正常' ? 'back-red' : 'back-blue'" style="text-align: center;">
342
+ <nobr>{{ row.f_olduserinfo_code }}</nobr>
343
+ </td>
344
+ <td :class="row.f_table_state !== '正常' ? 'back-red' : 'back-blue'" style="text-align: center;">
345
+ <nobr>{{ row.f_user_phone }}</nobr>
346
+ </td>
347
+ <td :class="row.f_table_state !== '正常' ? 'back-red' : 'back-blue'" style="text-align: center;">
348
+ <nobr>{{ row.f_rent_phone }}</nobr>
349
+ </td>
350
+ <td :class="row.f_table_state !== '正常' ? 'back-red' : 'back-blue'" style="text-align: center;">
351
+ <nobr>{{ row.idnumber }}</nobr>
352
+ </td>
353
+ <td :class="row.f_table_state !== '正常' ? 'back-red' : 'back-blue'" style="text-align: center;">
354
+ <nobr>{{ row.f_address }}</nobr>
355
+ </td>
356
+ <td :class="row.f_table_state !== '正常' ? 'back-red' : 'back-blue'" style="text-align: center;">
357
+ <nobr>{{ row.f_book_slice_area }}</nobr>
358
+ </td>
359
+ <td :class="row.f_total_gas!== '正常' ? 'back-red' : 'back-blue'" style="...">
360
+ <nobr>{{ row.f_total_gas }}</nobr>
361
+ </td>
362
+ <td :class="row.f_table_state !== '正常' ? 'back-red' : 'back-blue'" style="text-align: center;">
363
+ <nobr>{{ row.f_balance_amount }}</nobr>
364
+ </td>
365
+ <td :class="row.f_table_state !== '正常' ? 'back-red' : 'back-blue'" style="text-align: center;">
366
+ <nobr>{{ row.f_user_type }}</nobr>
367
+ </td>
368
+ <td :class="row.f_table_state !== '正常' ? 'back-red' : 'back-blue'" style="text-align: center;"
369
+ v-if="titleShow">
370
+ <nobr>{{ row.f_usetype }}</nobr>
371
+ </td>
372
+ <td :class="row.f_table_state !== '正常' ? 'back-red' : 'back-blue'" style="text-align: center;"
373
+ v-if="titleShow">
374
+ <nobr>{{ row.f_gasproperties }}</nobr>
375
+ </td>
376
+ <td :class="row.f_table_state !== '正常' ? 'back-red' : 'back-blue'" style="text-align: center;">
377
+ <nobr>{{ row.f_meternumber }}</nobr>
378
+ </td>
379
+ <td :class="row.f_table_state !== '正常' ? 'back-red' : 'back-blue'" style="text-align: center;">
380
+ <nobr>{{ row.f_card_id }}</nobr>
381
+ </td>
382
+
383
+
384
+ <td :class="row.f_table_state !== '正常' ? 'back-red' : 'back-blue'" style="text-align: center;">
385
+ <nobr>{{ row.f_price_name }}</nobr>
386
+ </td>
387
+ <th :class="row.f_table_state !== '正常' ? 'back-red' : 'back-blue'" style="text-align: center;">
388
+ <nobr>{{ row.value }}</nobr>
389
+ </th>
390
+ <td :class="row.f_table_state !== '正常' ? 'back-red' : 'back-blue'" style="text-align: center;">
391
+ <nobr>{{ row.f_meter_brand }}</nobr>
392
+ </td>
393
+ <td :class="row.f_table_state !== '正常' ? 'back-red' : 'back-blue'" style="text-align: center;">
394
+ <nobr>{{ row.f_meter_style }}</nobr>
395
+ </td>
396
+ <td :class="row.f_table_state !== '正常' ? 'back-red' : 'back-blue'" style="text-align: center;">
397
+ <nobr>{{ row.f_inputtor }}</nobr>
398
+ </td>
399
+ <td :class="row.f_table_state !== '正常' ? 'back-red' : 'back-blue'" style="text-align: center;">
400
+ <nobr>{{ row.f_gas_person }}</nobr>
401
+ </td>
402
+ <td :class="row.f_table_state !== '正常' ? 'back-red' : 'back-blue'" style="text-align: center;">
403
+ <nobr>{{ row.f_uservent_date }}</nobr>
404
+ </td>
405
+ <td :class="row.f_table_state !== '正常' ? 'back-red' : 'back-blue'" style="text-align: center;">
406
+ <nobr>{{ row.f_gas_date }}</nobr>
407
+ </td>
408
+ <td :class="row.f_table_state !== '正常' ? 'back-red' : 'back-blue'" style="text-align: center;">
409
+ <nobr>{{ row.f_input_date }}</nobr>
410
+ </td>
411
+ <td :class="row.f_table_state !== '正常' ? 'back-red' : 'back-blue'" style="text-align: center;">
412
+ <nobr>{{ row.f_table_state }}</nobr>
413
+ </td>
414
+ <td :class="row.f_table_state !== '正常' ? 'back-red' : 'back-blue'" style="text-align: center;">
415
+ <nobr>{{ row.isbgl }}</nobr>
416
+ </td>
417
+ <td :class="row.f_table_state !== '正常' ? 'back-red' : 'back-blue'" style="text-align: center;">
418
+ <nobr>{{ row.f_networkvalve }}</nobr>
419
+ </td>
420
+ </template>
421
+ <template partial='foot'>
422
+ </template>
423
+ </data-grid>
424
+ </criteria-paged>
425
+
426
+ <table class="table-hover">
427
+ <tr style="position: relative" class="table-bordered">
428
+ <td
429
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
430
+ 汇总信息
431
+ </td>
432
+ <td
433
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
434
+ 表上余额合计&emsp;{{ sumsmodel.f_balance_amount }}
435
+ </td>
436
+ </tr>
437
+ </table>
438
+
439
+ <!--<modal :show.sync="printshow" v-ref:modal backdrop="false">-->
440
+ <!--<header slot="modal-header" class="modal-header text-center">-->
441
+ <!--<h4 class="modal-title">打印列选择</h4>-->
442
+ <!--<input type="checkbox" class="" id="f_generations" v-model="all">-->
443
+ <!--<label for="f_generations" class="font-size">全选</label>-->
444
+ <!--</header>-->
445
+ <!--<article slot="modal-body">-->
446
+ <!--<div class="auto col-sm-11 col-md-offset-1" style="margin-top: 10px;">-->
447
+ <!--<div class="col-sm-3" v-for="f in fields">-->
448
+ <!--<input type="checkbox" class="" :id="'water-owe-details-'+$index" v-model="modelval" :value="$key">-->
449
+ <!--<label :for="'water-owe-details-'+$index" class="font-size">{{f}}</label>-->
450
+ <!--</div>-->
451
+ <!--</div>-->
452
+ <!--</article>-->
453
+ <!--<footer slot="modal-footer" class="modal-footer">-->
454
+ <!--<center>-->
455
+ <!--<button v-show="printshow" type="button" class="btn btn-default" @click='close()'>取消</button>-->
456
+ <!--<button v-show="printshow" type="button" class="btn btn-success" @click='print()'>打印</button>-->
457
+ <!--<print-table :model='model' v-show="false" v-ref:print-->
458
+ <!--:top='40' :left='60' :right='40' :bottom='60'-->
459
+ <!--:thead="thead" :tfoot='tfoot' :attach="yangsen"-->
460
+ <!--:fields="modelval" :printpage="true">-->
461
+ <!--</print-table>-->
462
+ <!--</center>-->
463
+ <!--</footer>-->
464
+ <!--</modal>-->
465
+ </div>
466
+ <div class="flex" v-if="show">
467
+ <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id"
468
+ @cancel-main="cancel"></user-info-detail-manage-new>
469
+ </div>
470
+ </div>
471
+ </div>
472
+ </div>
473
+ <high-meter-idcard :show.sync="false" v-ref:highcard></high-meter-idcard>
474
+ </template>
475
+
476
+ <script>
477
+ import {PagedList} from 'vue-client'
478
+ import exportConfig from './config/exportConfig'
479
+
480
+ let cardBtnGen = async function (self, val) {
481
+ self.cardInfo = val.data
482
+
483
+ // 判断读卡是否需要卡密码
484
+ console.log('读卡上的信息', self.cardInfo)
485
+
486
+ if (self.cardInfo.NewParam) {
487
+ if (self.cardInfo.NewParam.error) {
488
+ if (self.cardInfo.NewParam.error === '0001') {
489
+ // 需要重新读卡并传卡密码
490
+ if (self.model.rows.length == 1 && self.model.rows[0].f_alias === self.cardInfo.Factory) {
491
+ self.readCardParam = self.model.rows[0].f_card_password
492
+ self.cardInfo = await self.$refs.paged.$refs.cri.$refs.readcard.readCard2(self.model.rows[0].f_card_password)
493
+ } else {
494
+ self.$showAlert('此卡需要先获取客户信息。请通过条件查询该客户信息之后进行读卡!!', 'warning', 2000)
495
+ return
496
+ }
497
+ }
498
+ }
499
+ }
500
+ self.card = self.cardInfo.CardID
501
+ self.search()
502
+ }
503
+
504
+ let readySomething = async function (self) {
505
+ self.$MagGetSaleParam.initinputtor();
506
+ self.getinputtores();
507
+ self.initmeterbook();
508
+ // self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString()
509
+ // self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString()
510
+ // await self.$refs.paged.$refs.cri.search()
511
+ await self.$MagLoadParams.loadParam()
512
+ self.initParams()
513
+ self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
514
+ self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
515
+ }
516
+
517
+ export default {
518
+ title: '表具查询',
519
+ data() {
520
+ return {
521
+ IdCardInfo: '',
522
+ titleShow: true,
523
+ card: '',
524
+ isSingleUser: null,
525
+ other: [],
526
+ footer: [],
527
+ model: new PagedList('api/af-revenue/sql/meterQuery', 20, {orderitem: this.orderitem ? '"' + this.orderitem + ' "' : `'f_user_id,f_table_state desc'`}, {f_balance_amount: 0}),
528
+ criteriaShow: false,
529
+ orgCondtionStr: '',
530
+
531
+ modelval: [],
532
+ printshow: false,
533
+ all: false,
534
+ fields: {},
535
+ //排序
536
+ orderitem: 'f_user_id,f_table_state desc',
537
+ orderFields: {
538
+ f_userinfo_id: 'no'
539
+ },
540
+ thead: '',
541
+ tfoot: '',
542
+ initres: {
543
+ org: [this.$login.f.orgid],
544
+ dep: [],
545
+ user: [],
546
+ },
547
+ show: false,
548
+ rowdata: {},
549
+ meterbrands: [],
550
+ // 气表型号
551
+ meterstyle: {},
552
+ //默认打印列
553
+ defaultfield: [],
554
+ config: {
555
+ defaultPrint: ['f_userinfo_code', 'f_user_name', 'f_user_phone']
556
+ },
557
+ pricenames: [],
558
+ gasproperties: [],
559
+ inputtouPerson: [],
560
+ meterbooks: [{label: '全部', value: ''}], //抄表册
561
+ prices: [],
562
+ //合计数据
563
+ sumsmodel: {},
564
+ //表册片区
565
+ bookSlice: [{label: '全部', value: ''}],
566
+ inputtores: [{label: '全部', value: ''}], //抄表员
567
+ f_filialeid: this.$login.f.f_orgid,
568
+ allorgid: [],
569
+ tempfalg: false,
570
+ lastorgstr: '',
571
+ issecond: [{label: '是', value: " = '二次挂表'"}, {label: '否', value: " <> '二次挂表'"}],
572
+ usetype: this.$appdata.getParam('使用类型'),
573
+ networkvalves: this.$appdata.getParam('自动阀控') ? [{
574
+ label: '全部',
575
+ value: ''
576
+ }, ...this.$appdata.getParam('自动阀控')] : [],
577
+ }
578
+ },
579
+ ready() {
580
+ console.log("===========", this.$filialeInfo)
581
+ this.titleShow = this.$appdata.getSingleValue('是否显示筛选框') == null ? true : this.$appdata.getSingleValue('是否显示筛选框')
582
+ readySomething(this).then(() => {
583
+ this.$emit('ready')
584
+ }).catch((error) => {
585
+ this.$emit('error', error)
586
+ })
587
+ },
588
+ methods: {
589
+ ReadIDCard() {
590
+ this.$refs.highcard.sendMsg(this.$refs.highcard.CLT_MSG.READ_IDCARD, (msg) => {
591
+ console.log('======', msg)
592
+ if (msg.err !== 0) {
593
+ return
594
+ }
595
+ this.IdCardInfo = msg.strID
596
+ })
597
+ console.log(this.IdCardInfo)
598
+ if (this.IdCardInfo) {
599
+ this.search()
600
+ } else {
601
+ alert("读取失败,找不到用户信息")
602
+ }
603
+ },
604
+ cardBtn(val) {
605
+ // this.clear()
606
+ cardBtnGen(this, val)
607
+ },
608
+ async initmeterbook(orgstr) {
609
+ if (orgstr == null) {
610
+ orgstr = this.f_filialeid;
611
+ }
612
+ //获取新的抄表册,先去清理所有的抄表册
613
+ this.$GetSaleParam.meterbooks = [];
614
+ //开始加载新的抄表册
615
+ await this.$LoadParams.loadMeterBook(orgstr)
616
+ this.meterbooks = [{label: '全部', value: ''}, ...this.$GetSaleParam.getMeterBooks()]
617
+ },
618
+ async getinputtores() {
619
+ // 获取抄表员
620
+ let rs = []
621
+ if (this.$login.f.f_gasman.length > 0) {
622
+ for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
623
+ let temp = {
624
+ label: this.$login.f.f_gasman[i].name,
625
+ value: this.$login.f.f_gasman[i].name
626
+ }
627
+ rs.push(temp)
628
+ }
629
+ }
630
+ this.inputtores = [{label: '全部', value: ''}, ...rs]
631
+ },
632
+ getotherfooter() {
633
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData = [];
634
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData = [];
635
+ this.other = [];
636
+ this.footer = [];
637
+ let exportdata = this.getCondition;
638
+ let otherInData = [];
639
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
640
+ let footerData = [], exportfield = this.getExportField;
641
+ footerData.push("合计");
642
+ let self = this;
643
+ for (var field in self.sumsmodel) {
644
+ footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
645
+ }
646
+ this.footer.push(footerData);
647
+ this.other.push(otherInData);
648
+ },
649
+ search() {
650
+ this.$refs.paged.$refs.cri.search()
651
+ },
652
+ cancel() {
653
+ this.show = false
654
+ },
655
+ showmsg(obj) {
656
+ this.rowdata = obj
657
+ this.show = true
658
+ },
659
+ selfSearch(args) {
660
+ //抄表员查询条件
661
+ this.inputtouPerson = this.$refs.paged.$refs.cri.model.f_inputtor
662
+ if (this.inputtouPerson.length !== 0) {
663
+ let str = JSON.stringify(this.inputtouPerson)
664
+ str = str.replace(/"/g, `'`)
665
+ str = str.replace(/\[/g, ``)
666
+ str = str.replace(/\]/g, ``)
667
+ console.log("=====抄表员model22222222222绑定====", str)
668
+ //查询多个抄表员时条件
669
+ args.condition += ` and f_inputtor in ( ${str} )`
670
+ }
671
+ if (!this.orgCondtionStr) {
672
+ args.condition = `${args.condition}` + " and f_orgid = " + this.$login.f.orgid
673
+ } else {
674
+ args.condition = `${args.condition}` + this.orgCondtionStr
675
+ }
676
+ if (this.card != '') {
677
+ args.condition += ` and f_card_id='${this.card}'`
678
+ }
679
+ if (this.IdCardInfo != '') {
680
+ args.condition += ` and f_idnumber='${this.IdCardInfo}'`
681
+ }
682
+ this.model.search(args.condition, args.model)
683
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums;
684
+ this.card = ''
685
+ this.IdCardInfo = ''
686
+ },
687
+ clear() {
688
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
689
+ this.$refs.paged.$refs.cri.model[key] = []
690
+ })
691
+ },
692
+ hidden() {
693
+ this.criteriaShow = !this.criteriaShow
694
+ },
695
+ async getRes(condition) {
696
+ this.orgCondtionStr = condition
697
+
698
+ },
699
+ stamp() {
700
+ this.all = false
701
+ //默认选择要打印的列
702
+ this.modelval = defaultPrint.config
703
+ this.fields = this.getfield
704
+ console.log('所有打印字段', this.fields)
705
+ this.printshow = true
706
+ this.put()
707
+ },
708
+ put() {
709
+ // 对Modelval进行排序
710
+ this.sortModelval()
711
+ this.thead = `<tr><th colspan=${this.modelval.length}>表具查询统计报表</th></tr><tr>`
712
+ for (let key of this.modelval) {
713
+ this.thead += '<th>' + this.fields[key] + '</th>'
714
+ }
715
+ this.thead += '</tr>'
716
+ },
717
+ print() {
718
+ this.$refs.print.PrintAsFile()
719
+ this.printshow = false
720
+ },
721
+ close() {
722
+ this.printshow = false
723
+ this.all = false
724
+ },
725
+ userTypeChange() {
726
+ this.gasproperties = []
727
+ if (this.$refs.paged.$refs.cri.model !== null) {
728
+ this.$refs.paged.$refs.cri.model.f_gasproperties = ''
729
+ this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type[0])
730
+ } else {
731
+ this.gasproperties = [{label: '全部', value: ''}]
732
+ }
733
+ },
734
+ initParams() {
735
+ // 初始化气表品牌
736
+ let brandArr = []
737
+ this.$MagGetSaleParam.getGasbrand().forEach((item) => {
738
+ let temp = {}
739
+ temp.label = item.label
740
+ temp.value = item.value.f_meter_brand
741
+ brandArr.push(temp)
742
+ // 取出对应气表型号
743
+ let styleArr = []
744
+ for (let row of item.value.gasmodel) {
745
+ styleArr.push({label: row.label, value: row.value.f_meter_style})
746
+ }
747
+ this.meterstyle[temp.value] = styleArr
748
+ })
749
+ this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
750
+ //初始化气表价格
751
+ this.prices = this.$MagGetSaleParam.getPrices();
752
+ },
753
+ // 对选择的列进行排序
754
+ sortModelval() {
755
+ let sortModel = []
756
+ Object.keys(this.fields).forEach((key) => {
757
+ if (this.modelval.includes(key)) {
758
+ sortModel.push(key)
759
+ }
760
+ })
761
+ this.modelval = sortModel
762
+ console.log('选择的打印的字段', this.modelval)
763
+ },
764
+ async updateParams() {
765
+ await this.$MagLoadParams.loadParam(this.f_filialeid)
766
+ this.inputtores = [];
767
+ this.inputtores.push({label: "全部", value: ""})
768
+ this.initSlice(this.f_filialeid)
769
+ if (this.allorgid != null) {
770
+ this.allorgid.forEach((res) => {
771
+ this.inputtores = this.inputtores.concat(this.$MagGetSaleParam.getresinputtor(res));
772
+ })
773
+ }
774
+ },
775
+ async initSlice(val) {
776
+ if (val) {
777
+ let getAllArea = await this.$resetpost('/rs/search', {
778
+ source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
779
+ userid: this.$login.f.id
780
+ }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
781
+ let arr = getAllArea.data.filter((res) => {
782
+ return res.parentid == val
783
+ })
784
+ this.bookSlice = []
785
+ console.log('过滤之后的片区-------------------', arr)
786
+ arr.forEach((res) => {
787
+ this.bookSlice.push({label: res.name, value: res.name})
788
+ })
789
+ }
790
+ },
791
+ sort(field, rule) {
792
+ // 将所有排序方式设为不排序,实现相互排斥
793
+ for (let key in this.orderFields) {
794
+ if (key === field) {
795
+ this.orderFields[key] = rule
796
+ } else {
797
+ this.orderFields[key] = 'no'
798
+ }
799
+ }
800
+ // 如果新规则不排序,还原为默认排序
801
+ if (rule === 'no') {
802
+ this.model.paramSource.orderitem = `'${this.orderitem}'`
803
+ } else {
804
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
805
+ }
806
+
807
+ this.search()
808
+ }
809
+ },
810
+ watch: {
811
+ 'model.rows.length'() {
812
+ this.isSingleUser = this.model.rows
813
+ },
814
+ 'all'(val) {
815
+ if (val) {
816
+ this.modelval = this.bodyData
817
+ } else {
818
+ this.modelval = defaultPrint.config
819
+ this.put()
820
+ }
821
+ },
822
+ sumsmodel: {
823
+ handler: function (val) {
824
+ this.getotherfooter();
825
+ },
826
+ deep: true
827
+ },
828
+ 'modelval.length'() {
829
+ this.put()
830
+ },
831
+ async 'orgCondtionStr'(val) {
832
+ //更新抄表册
833
+ this.meterbooks = [{label: '全部', value: ''}];
834
+ if (this.lastorgstr != val) {
835
+ this.tempfalg = true;
836
+ this.lastorgstr = val;
837
+ }
838
+ if (this.tempfalg && val != null && val != '' && val.indexOf("(") > -1) {
839
+ this.tempfalg = false;
840
+ let a = val.substring(val.indexOf("(") + 2)
841
+ await this.initmeterbook(a.substring(0, a.indexOf(")") - 1));
842
+ }
843
+ let res = val.match(/'(.*?)'/)
844
+ console.log('正则提取:', res && res[1])
845
+ if (res) {
846
+ this.f_filialeid = res[1]
847
+ if (res.input != null) {
848
+ let resorgid = res.input.substring(res.input.indexOf("'"));
849
+ if (resorgid != null && resorgid != '') {
850
+ resorgid = resorgid.substring(0, resorgid.lastIndexOf("'") + 1);
851
+ // resorgid = resorgid.replaceAll("'","");
852
+ resorgid = resorgid.replace(/'/g, "");
853
+ this.allorgid = resorgid.split(",")
854
+ }
855
+ }
856
+ this.updateParams()
857
+ }
858
+ }
859
+ },
860
+ computed: {
861
+ authArr() {
862
+ return this.$login.r ? this.$login.r : []
863
+ },
864
+ getPricenames() {
865
+ let f_user_type = this.$refs.paged.$refs.cri.model.f_user_type;
866
+ let f_gasproperties = this.$refs.paged.$refs.cri.model.f_gasproperties;
867
+ let pricetype = this.$refs.paged.$refs.cri.model.pricetype;
868
+ // console.log("打印一下:",f_user_type,f_gasproperties,pricetype,this.f_filialeid,this.prices)
869
+ if (this.$refs.paged.$refs.cri.model !== null) {
870
+ let rs = []
871
+ let priceArr = []
872
+ if (pricetype.length > 0) {
873
+ let params = {
874
+ f_price_type: pricetype[0],
875
+ filter: this.f_filialeid,
876
+ prices: this.prices
877
+ }
878
+ this.$MagGetSaleParam.getPrice(params).forEach((item) => {
879
+ let temp = {}
880
+ temp.label = item.label
881
+ temp.value = item.value.f_price_name
882
+ priceArr.push(temp)
883
+ })
884
+ rs = [{label: '全部', value: ''}, ...priceArr]
885
+ }
886
+ if (rs.length === 0) {
887
+ console.log('rs读出来是空')
888
+ this.$refs.paged.$refs.cri.model.f_price_name = ''
889
+ }
890
+ return rs
891
+ }
892
+ },
893
+ getCondition() {
894
+ return {condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr, orderitem: this.orderitem}
895
+ },
896
+ getfield() {
897
+ let data = {}
898
+ this.bodyData.forEach((value, index) => {
899
+ data[this.bodyData[index]] = this.headData[index]
900
+ })
901
+ //合计字段打印
902
+ this.tfoot = `<tr><th colspan=${this.modelval.length}>全表汇总信息: `
903
+ if (this.sumsmodel) {
904
+ Object.keys(this.sumsmodel).forEach((key) => {
905
+ this.tfoot += this.fields[key] + '合计: ' + `<font color="blue">${this.sumsmodel[key]} </font>`
906
+ })
907
+ } else {
908
+ this.tfoot += '暂无'
909
+ }
910
+ this.tfoot += '</th></tr>'
911
+ return data
912
+ },
913
+ getExportField() {
914
+ return exportConfig.meterConfig
915
+ },
916
+ areas() {
917
+ let rs = []
918
+ for (let i = 0; i < this.$login.f.f_allArea.length; i++) {
919
+ let temp = {
920
+ label: this.$login.f.f_allArea[i].label,
921
+ value: this.$login.f.f_allArea[i].label
922
+ }
923
+ rs.push(temp)
924
+ }
925
+ return [{label: '全部', value: ''}, ...rs]
926
+ },
927
+ sliceArea() {
928
+ let rs = []
929
+ if (this.$refs.paged.$refs.cri.model.f_area.length > 0) {
930
+ for (let i = 0; i < this.$login.f.f_allArea.length; i++) {
931
+ if (this.$login.f.f_allArea[i].label === this.$refs.paged.$refs.cri.model.f_area[0]) {
932
+ rs = this.$login.f.f_allArea[i].value
933
+ }
934
+ }
935
+ }
936
+ return [{label: '全部', value: ''}, ...rs]
937
+ },
938
+ usertypes() {
939
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
940
+ },
941
+ // gasproperties() {
942
+ // return [{label: '全部', value: ''}, ...this.$appdata.getParam('用气性质')]
943
+ // },
944
+
945
+ metertypes() {
946
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('气表类型')]
947
+ },
948
+ // meterbrands() {
949
+ // let arr = []
950
+ // this.$MagGetSaleParam.getGasbrand().forEach((item) => {
951
+ // let temp = {}
952
+ // temp.label = item.label
953
+ // temp.value = item.value.f_meter_brand
954
+ // arr.push(temp)
955
+ // })
956
+ // return [{label: '全部', value: ''}, ...arr]
957
+ // },
958
+ pricetypes() {
959
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('气价类型')]
960
+ },
961
+ tablestate() {
962
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('气表状态')]
963
+ },
964
+ bgl() {
965
+ return [{label: '全部', value: ''}, {label: '是', value: '是'}, {label: '否', value: '否'}]
966
+ },
967
+ usergrade() {
968
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户等级')]
969
+ },
970
+ usestate() {
971
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('使用状态')]
972
+ }
973
+ }
974
+ }
975
+ </script>
976
+ <style>
977
+ .back-red {
978
+ /* 红色背景 */
979
+ background-color: #F6C6CE;
980
+ }
981
+
982
+ .back-blue {
983
+ /* 蓝色背景 */
984
+
985
+ }
986
+ </style>
@@ -117,6 +117,7 @@ export default {
117
117
  'f_meter_style': '气表型号',
118
118
  'f_inputtor': '户管员',
119
119
  'f_gas_person': '通气人',
120
+ 'f_uservent_date': '首次通气日期',
120
121
  'f_gas_date': '通气时间',
121
122
  'f_input_date': '建表时间',
122
123
  'f_table_state': '气表状态',
@@ -39,4 +39,8 @@ export default function () {
39
39
  Vue.component('business-manage', (resolve) => {
40
40
  require(['./BusinessManage'], resolve)
41
41
  })
42
+ // 表具查询
43
+ Vue.component('meter-query', (resolve) => {
44
+ require(['./MeterQuery'], resolve)
45
+ })
42
46
  }