apply-clients 5.0.36 → 5.0.37-2

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 (91) hide show
  1. package/package.json +111 -111
  2. package/src/android.js +1 -1
  3. package/src/apply.js +15 -1
  4. package/src/assets//345/210/240/351/231/244.png +0 -0
  5. package/src/assets//347/224/250/346/210/267/345/234/260/345/235/200.png +0 -0
  6. package/src/assets//347/224/250/346/210/267/345/247/223/345/220/215.png +0 -0
  7. package/src/assets//347/224/250/346/210/267/347/224/265/350/257/235.png +0 -0
  8. package/src/components/app_apply/ApplyApp.vue +6 -6
  9. package/src/components/app_apply/ApplyDownList.vue +18 -16
  10. package/src/components/app_apply/ApplyInfo.vue +2 -2
  11. package/src/components/app_apply/ApplyListUpload.vue +15 -5
  12. package/src/components/app_apply/ApplyToDoList.vue +201 -54
  13. package/src/components/app_apply/ApplyUserInfo.vue +2 -2
  14. package/src/components/app_apply/FieldExploration.vue +0 -1
  15. package/src/components/app_apply/Gongcheng.vue +3631 -0
  16. package/src/components/app_apply/OneToMany.vue +194 -0
  17. package/src/components/app_apply/PlaceControler.vue +230 -189
  18. package/src/components/app_apply/ServiceControl.vue +630 -385
  19. package/src/components/app_apply/ServiceView.vue +44 -17
  20. package/src/components/app_apply/ezhou/FeiMinYongV.vue +109 -0
  21. package/src/components/app_apply/ezhou/FeiMinYongVV.vue +100 -0
  22. package/src/components/app_apply/ezhou/MinYong.vue +92 -0
  23. package/src/components/app_apply/ezhou/ServiceView.vue +745 -0
  24. package/src/components/image/doc.jpg +0 -0
  25. package/src/components/image/dwg.png +0 -0
  26. package/src/components/image/dxf.png +0 -0
  27. package/src/components/image/excel.jpg +0 -0
  28. package/src/components/image/pdf.jpg +0 -0
  29. package/src/components/phone/phoneselect.vue +250 -0
  30. package/src/components/phone/phoneselect2.vue +112 -0
  31. package/src/components/product/Common/ApplyValidateBill.vue +13 -6
  32. package/src/components/product/Common/PrintBill.vue +7 -6
  33. package/src/components/product/EngineeringManagement/EngineerUpload.vue +304 -0
  34. package/src/components/product/EngineeringManagement/EngineeringManagement.vue +137 -0
  35. package/src/components/product/EngineeringManagement/EngineeringSelect.vue +586 -0
  36. package/src/components/product/EngineeringSupervisory/EngineeringApplyStopInfo.vue +281 -0
  37. package/src/components/product/EngineeringSupervisory/EngineeringSupervisoryControl.vue +132 -0
  38. package/src/components/product/EngineeringSupervisory/EngineeringSupervisoryList.vue +340 -0
  39. package/src/components/product/EngineeringSupervisory/EngineeringSupervisoryServiceControl.vue +490 -0
  40. package/src/components/product/Function/InstallInfoSelect.vue +3 -2
  41. package/src/components/product/Function/Service/FunctionServiceControl.vue +37 -1
  42. package/src/components/product/Function/functions/ApplyUpload.vue +556 -0
  43. package/src/components/product/Function/functions/BuyerMessage.vue +1 -1
  44. package/src/components/product/Function/functions/InstallFee.vue +589 -347
  45. package/src/components/product/Function/functions/InstallFeeInfo.vue +6 -1
  46. package/src/components/product/Process/ExplorationSelect.vue +669 -636
  47. package/src/components/product/Process/Processes/CustomerRecordMessage.vue +907 -907
  48. package/src/components/product/Process/Processes/Service/ApplyChargeSearch.vue +126 -39
  49. package/src/components/product/Process/Processes/Service/PaperTicketBill.vue +85 -0
  50. package/src/components/product/Process/Processes/Service/ServiceControl.vue +2200 -1808
  51. package/src/components/product/ServiceView.vue +810 -795
  52. package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +559 -407
  53. package/src/components/product/Supervisory/SupervisoryList.vue +102 -17
  54. package/src/components/product/applyReport/ApplyReport.vue +205 -0
  55. package/src/components/product/applyReport/PrintApplyReport.vue +116 -0
  56. package/src/components/product/stopInfo/ApplyStopInfo.vue +2 -1
  57. package/src/ezhouAndroid.js +48 -0
  58. package/src/index.js +3 -2
  59. package/src/main.js +1 -1
  60. package/src/plugins/commonService.js +11 -7
  61. package/static/newStyle/clear.png +0 -0
  62. package/static/newStyle/fife.png +0 -0
  63. package/static/newStyle/hidden.png +0 -0
  64. package/static/newStyle/label-clear.png +0 -0
  65. package/static/newStyle/left-img.png +0 -0
  66. package/static/newStyle/list_ok.png +0 -0
  67. package/static/newStyle/login-check.png +0 -0
  68. package/static/newStyle/login-con.png +0 -0
  69. package/static/newStyle/login-do.gif +0 -0
  70. package/static/newStyle/login-f.png +0 -0
  71. package/static/newStyle/login-info.png +0 -0
  72. package/static/newStyle/login-left.png +0 -0
  73. package/static/newStyle/login-org.png +0 -0
  74. package/static/newStyle/login-pwd.png +0 -0
  75. package/static/newStyle/login-user.png +0 -0
  76. package/static/newStyle/loginbg.gif +0 -0
  77. package/static/newStyle/loginbg1280.gif +0 -0
  78. package/static/newStyle/loginbg1366.gif +0 -0
  79. package/static/newStyle/loginbg_1.gif +0 -0
  80. package/static/newStyle/searchin.png +0 -0
  81. package/static/newStyle/searchout.png +0 -0
  82. package/static/newStyle/setting.png +0 -0
  83. package/static/newStyle/setting1.png +0 -0
  84. package/static/newStyle/shirk.png +0 -0
  85. package/static/newStyle/stretch_bottom.png +0 -0
  86. package/static/newStyle/stretch_left.png +0 -0
  87. package/static/newStyle/stretch_right.png +0 -0
  88. package/static/newStyle/stretch_top.png +0 -0
  89. package/static/newStyle/system-off.png +0 -0
  90. package/static/newStyle//350/261/252/344/275/263/347/207/203/346/260/224.png +0 -0
  91. package/yarn.lock +0 -8072
@@ -1,907 +1,907 @@
1
- <template>
2
- <div class="flex">
3
- <div class="form-inline auto" style="margin-bottom: 5px;">
4
- <label >用户查找:</label>
5
- <input type="text" class="form-control" placeholder='请输入查找的用户姓名' v-model="param"
6
- @keyup.enter="filterParams(param)" >
7
- <button type="button" class="btn btn-primary" @click="filterParams(param)">查询</button>
8
- <!--<div class="form-inline" style="float: right;margin-left: 1%" v-if="key == '户档案管理' && edit == true">
9
- <export-excel :data="{condition: ` 1=1 and f_process_id = '${selectdata.f_process_id}'`}"
10
- :field="getfield"
11
- sqlurl="rs/logic/fileExport" sql-name="singleTableUser" template-name='报建户档案导出'
12
- :choose-col="false"></export-excel>
13
- </div>-->
14
-
15
- <div class="form-inline" style="float: right" >
16
- <button type="button" class="btn btn-warning add-postition" @click="impexcel()" v-show="edit">导入档案</button>
17
- </div>
18
-
19
- </div>
20
-
21
-
22
-
23
-
24
- <!--户档案管理组件-->
25
- <div class="col-sm-12 span recordTable" style="margin-top: 10px;height:auto;">
26
-
27
- <partial-view v-ref:single-load>
28
- <data-grid :model="model" v-ref:grid>
29
- <template partial='head'>
30
- <tr>
31
- <th>档案编号</th>
32
- <th>用户姓名</th>
33
- <th>用户电话</th>
34
- <th>地址</th>
35
- <th>安全员</th>
36
- <th>缴费类型</th>
37
- <th>结算状态</th>
38
- <th>人口数</th>
39
- <th>用户状态</th>
40
- <th >操作</th>
41
- </tr>
42
- </template>
43
- <template partial='body' >
44
- <td @click="$parent.$parent.$parent.showdetail(row.f_userinfo_id)" style="text-align: center">{{row.f_userinfo_id}}</td>
45
- <td @click="$parent.$parent.$parent.showdetail(row.f_userinfo_id)" style="text-align: center">{{row.f_user_name}}</td>
46
- <td @click="$parent.$parent.$parent.showdetail(row.f_userinfo_id)" style="text-align: center">{{row.f_user_phone}}</td>
47
- <td @click="$parent.$parent.$parent.showdetail(row.f_userinfo_id)" style="text-align: center">{{row.f_address}}</td>
48
- <td @click="$parent.$parent.$parent.showdetail(row.f_userinfo_id)" style="text-align: center">{{row.f_checker}}</td>
49
- <td @click="$parent.$parent.$parent.showdetail(row.f_userinfo_id)" style="text-align: center">{{row.f_cost_type}}</td>
50
- <td @click="$parent.$parent.$parent.showdetail(row.f_userinfo_id)" style="text-align: center">{{row.f_cost_state}}</td>
51
- <td @click="$parent.$parent.$parent.showdetail(row.f_userinfo_id)" style="text-align: center">{{row.f_people_num}}</td>
52
- <td @click="$parent.$parent.$parent.showdetail(row.f_userinfo_id)" style="text-align: center">{{row.f_user_state}}</td>
53
- <!--<td>{{row.f_remarks}}</td>-->
54
- <td v-show="edit"><input type="checkbox" v-model="row.f_pay" @click="$parent.$parent.$parent.paychange(row)"/></td>
55
- <td class="" style="text-align: center">
56
- <!-- <button type="button" name="button" class="btn btn-link"-->
57
- <!-- @click.stop="$parent.$parent.$parent.modifyParam(row)" >修改-->
58
- <!-- </button>-->
59
- <button type="button" name="button" class="btn btn-link"
60
- @click.stop="$parent.$parent.$parent.delete(row)">删除
61
- </button>
62
- <!--<button type="button" name="button" class="btn btn-link"-->
63
- <!--@click.stop="$parent.$parent.$parent.deleteItem(row)">删除-->
64
- <!--</button>-->
65
- </td>
66
- </template>
67
- </data-grid>
68
-
69
- </partial-view>
70
- </div>
71
-
72
- <div class="col-sm-12 span recordTable" style="margin-top: 10px;height:auto;" v-if="isShowdetail" >
73
- <p class="text-center" style="padding: 8px;font-size: 20px">表档案列表
74
-
75
- <button type="button" class="close" @click="isShowdetail=false" aria-hidden="true">&times;</button>
76
- </p>
77
- <partial-view v-ref:single-load>
78
- <data-grid :model="batchmodel" v-ref:batchgrid>
79
- <template partial='head'>
80
- <tr>
81
- <th>序号</th>
82
- <th>户档案编号</th>
83
- <th>表档案编号</th>
84
- <th>表号</th>
85
- <th>气表品牌</th>
86
- <th>表型号</th>
87
- <th>用户类型</th>
88
- <th >操作</th>
89
- </tr>
90
- </template>
91
- <template partial='body'>
92
- <td style="text-align: center">{{$index+1}}</td>
93
- <td style="text-align: center">{{row.f_userinfo_id}}</td>
94
- <td style="text-align: center">{{row.f_user_id}}</td>
95
- <td style="text-align: center">{{row.f_meternumber}}</td>
96
- <td style="text-align: center">{{row.f_meter_brand}}</td>
97
- <td style="text-align: center">{{row.f_meter_style}}</td>
98
- <td style="text-align: center">{{row.f_user_type}}</td>
99
- <!--<td>{{row.f_remarks}}</td>-->
100
- <td class="" style="text-align: center">
101
- <button type="button" name="button" class="btn btn-link"
102
- @click.stop="$parent.$parent.$parent.filesModify(row)" >修改
103
- </button>
104
- <button type="button" name="button" class="btn btn-link"
105
- @click.stop="$parent.$parent.$parent.deleteItem(row)">删除
106
- </button>
107
- <!-- <button type="button" name="button" class="btn btn-link"
108
- @click.stop="$parent.$parent.$parent.deleteItem(row)" >删除
109
- </button>-->
110
- </td>
111
- </template>
112
- </data-grid>
113
-
114
-
115
-
116
-
117
- </partial-view>
118
- </div>
119
-
120
- </div>
121
- <modal :show.sync="show" v-ref:modal backdrop="false">
122
- <header slot="modal-header" class="modal-header">
123
- <button type="button" class="close" @click="close"><span>&times;</span></button>
124
- <h4 class="modal-title">配置</h4>
125
- </header>
126
- <!--户档案修改-->
127
- <article slot="modal-body" class="modal-body" >
128
- <div class="from-group" style="width: 100%">
129
- <label style="width: 15%;float: left">用户姓名</label>
130
- <input type="text" class="form-control" v-model="selectItem.f_user_name" style="width: 80%;float: left"/>
131
- </div>
132
- <div class="from-group" style="width: 100%">
133
- <label style="width: 15%;float: left">用户电话</label>
134
- <input type="text" class="form-control" v-model="selectItem.f_user_phone" style="width: 80%;float: left">
135
- </div>
136
- <div class="from-group" style="width: 100%">
137
- <label style="width: 15%;float: left">楼号</label>
138
- <input type="text" class="form-control" v-model="selectItem.f_building" style="width: 80%;float: left">
139
- </div>
140
- <div class="from-group" style="width: 100%">
141
- <label style="width: 15%;float: left">单元号</label>
142
- <input type="text" class="form-control" v-model="selectItem.f_unit" style="width: 80%;float: left">
143
- </div>
144
- <div class="from-group" style="width: 100%">
145
- <label style="width: 15%;float: left">楼层</label>
146
- <input type="text" class="form-control" v-model="selectItem.f_floor" style="width: 80%;float: left">
147
- </div>
148
- <div class="from-group" style="width: 100%">
149
- <label style="width: 15%;float: left">门牌号</label>
150
- <input type="text" class="form-control" v-model="selectItem.f_room" style="width: 80%;float: left">
151
- </div>
152
- <div class="from-group" style="width: 100%">
153
- <label style="width: 15%;float: left">人口数</label>
154
- <input type="number" class="form-control" v-model="selectItem.f_people_num" style="width: 80%;float: left">
155
- </div>
156
- <div class="from-group" style="width: 100%">
157
- <label style="width: 15%;float: left">缴费类型</label>
158
- <v-select :value.sync="selectItem.f_cost_type" v-model="selectItem.f_cost_type"
159
- :options='costtype' placeholder='请选择' style="width: 80%;float: left"
160
- close-on-select >
161
- </v-select>
162
- </div>
163
- <div class="from-group" style="width: 100%">
164
- <label style="width: 15%;float: left">结算状态</label>
165
- <v-select :value.sync="selectItem.f_cost_state" v-model="selectItem.f_cost_state"
166
- :options='coststate' placeholder='请选择' style="width: 80%;float: left"
167
- close-on-select >
168
- </v-select>
169
- </div>
170
-
171
- <div class="from-group" style="width: 100%">
172
- <label style="width: 15%;float: left">安全员</label>
173
- <v-select :value.sync="selectItem.f_checker" v-model="selectItem.f_checker"
174
- :options='checker' placeholder='请选择' style="width: 80%;float: left"
175
- close-on-select >
176
- </v-select>
177
- </div>
178
- <div class="from-group" style="width: 100%">
179
- <label style="width: 15%;float: left">用户状态</label>
180
- <v-select :value.sync="selectItem.f_user_state" v-model="selectItem.f_user_state"
181
- :options='userstate' placeholder='请选择' style="width: 80%;float: left"
182
- close-on-select >
183
- </v-select>
184
- </div>
185
- </article>
186
-
187
-
188
- <footer slot="modal-footer" class="modal-footer">
189
- <div class="from-group" style="width: 100%;float: left">
190
- <button v-show="show" type="button" class="btn btn-default" @click='close'>取消</button>
191
- <button v-show="show" type="button" class="btn btn-success" @click='confirm'>确认</button>
192
- </div>
193
- </footer>
194
- </modal>
195
-
196
-
197
- <modal :show.sync="addshow" v-ref:modal backdrop="false">
198
- <header slot="modal-header" class="modal-header">
199
- <button type="button" class="close" @click="addclose"><span>&times;</span></button>
200
- <h4 class="modal-title">配置</h4>
201
- </header>
202
- <!--户档案修改-->
203
- <article slot="modal-body" class="modal-body" >
204
- <div class="from-group">
205
- <label style="width: 20%;float: left">表号</label>
206
- <input type="text" style="width: 80%;float: left" readonly class="form-control" v-model="selectItem.f_meternumber"/>
207
- </div>
208
- <div class="from-group">
209
- <label style="width: 20%;float: left">用户类型</label>
210
- <v-select :value.sync="selectItem.f_user_type" v-model="selectItem.f_user_type"
211
- :options='usertypes' placeholder='请选择' style="width: 80%;float: left"
212
- close-on-select >
213
- </v-select>
214
- </div>
215
- <div class="from-group">
216
- <label style="width: 20%;float: left">用气性质</label>
217
- <v-select :value.sync="selectItem.f_gasproperties" v-model="selectItem.f_gasproperties"
218
- :options='gasproperties' placeholder='请选择' style="width: 80%;float: left"
219
- close-on-select >
220
- </v-select>
221
- </div>
222
- <div class="from-group">
223
- <label style="width: 20%;float: left">表底数</label>
224
- <input type="text" style="width: 80%;float: left" class="form-control" v-model="selectItem.f_meter_base"/>
225
- </div>
226
- <div class="from-group">
227
- <label style="width: 20%;float: left">气表品牌</label>
228
- <v-select :value.sync="selectItem.f_meter_brand" v-model="selectItem.f_meter_brand"
229
- :options='meterbrand' placeholder='请选择' style="width: 80%;float: left"
230
- close-on-select search="">
231
- </v-select>
232
- </div>
233
- <div class="from-group">
234
- <label style="width: 20%;float: left">表型号</label>
235
- <v-select :value.sync="selectItem.f_meter_style" v-model="selectItem.f_meter_style"
236
- :options='meterstyle' placeholder='请选择' style="width: 80%;float: left"
237
- close-on-select >
238
- </v-select>
239
- </div>
240
- <div class="from-group">
241
- <label style="width: 20%;float: left">左右表</label>
242
- <v-select :value.sync="selectItem.f_aroundmeter" v-model="selectItem.f_aroundmeter"
243
- :options='aroundmeter' placeholder='请选择' style="width: 80%;float: left"
244
- close-on-select >
245
- </v-select>
246
- </div>
247
- <div class="from-group">
248
- <label style="width: 20%;float: left">气价类型</label>
249
- <v-select :value.sync="selectItem.f_price_type" v-model="selectItem.f_price_type"
250
- :options='pricetype' placeholder='请选择' style="width: 80%;float: left"
251
- close-on-select >
252
- </v-select>
253
- </div>
254
- <div class="from-group">
255
- <label style="width: 20%;float: left">气价名称</label>
256
- <v-select :value.sync="selectItem.f_price_name" v-model="selectItem.f_price_name"
257
- :options='pricename' placeholder='请选择' style="width: 80%;float: left"
258
- close-on-select >
259
- </v-select>
260
- </div>
261
- <div class="from-group">
262
- <label style="width: 20%;float: left">剩余气量</label>
263
- <input type="text" style="width: 80%;float: left" class="form-control" v-model="selectItem.f_heater_gas"/>
264
- </div>
265
- <div class="from-group">
266
- <label style="width: 20%;float: left">表状态</label>
267
- <v-select :value.sync="selectItem.f_table_state" v-model="selectItem.f_table_state"
268
- :options='tablestate' placeholder='请选择' style="width: 80%;float: left"
269
- close-on-select >
270
- </v-select>
271
- </div>
272
- <div class="from-group">
273
- <label style="width: 20%;float: left">气表类型</label>
274
- <v-select :value.sync="selectItem.f_meter_classify" v-model="selectItem.f_meter_classify"
275
- :options='meterclassify' placeholder='请选择' style="width: 80%;float: left"
276
- close-on-select >
277
- </v-select>
278
- </div>
279
- <div class="from-group">
280
- <label style="width: 20%;float: left">是否发卡</label>
281
- <v-select :value.sync="selectItem.f_whether_hairpin" v-model="selectItem.f_whether_hairpin"
282
- :options='whetherhairpin' placeholder='请选择' style="width: 80%;float: left"
283
- close-on-select >
284
- </v-select>
285
- </div>
286
- <div class="from-group">
287
- <label style="width: 20%;float: left">安装位置</label>
288
- <v-select :value.sync="selectItem.f_position" v-model="selectItem.f_position"
289
- :options='position' placeholder='请选择' style="width: 80%;float: left"
290
- close-on-select >
291
- </v-select>
292
- </div>
293
- <div class="from-group">
294
- <label style="width: 20%;float: left">抄表员</label>
295
- <v-select :value.sync="selectItem.f_inputtor" v-model="selectItem.f_inputtor"
296
- :options='inputtor' placeholder='请选择' style="width: 80%;float: left"
297
- close-on-select >
298
- </v-select>
299
- </div>
300
- <!--<div class="from-group">
301
- <label style="width: 20%;float: left">输损率</label>
302
- <input type="number" style="width: 80%;float: left" class="form-control" v-model="selectItem.f_lossrate" v-validate:f_lossrate='{dctest: [1, "<" ] }'/>
303
- </div>-->
304
-
305
- </article>
306
- <footer slot="modal-footer" class="modal-footer">
307
- <button type="button" class="btn btn-default" @click='addclose'>取消</button>
308
- <button type="button" class="btn btn-success" @click='addconfirm'>确认</button>
309
- </footer>
310
- </modal>
311
-
312
- <modal :show.sync="updateshow" v-ref:modal backdrop="false">
313
- <header slot="modal-header" class="modal-header">
314
- <button type="button" class="close" @click="updateclose"><span>&times;</span></button>
315
- <h4 class="modal-title">配置</h4>
316
- </header>
317
- <!--户档案修改-->
318
- <article slot="modal-body" class="modal-body" >
319
- <div class="from-group">
320
- <label style="width: 20%;float: left">表号</label>
321
- <input type="text" style="width: 80%;float: left" class="form-control" v-model="selectItem.f_meternumber"/>
322
- </div>
323
- <div class="from-group">
324
- <label style="width: 20%;float: left">气表品牌</label>
325
- <v-select :value.sync="selectItem.f_meter_brand" v-model="selectItem.f_meter_brand"
326
- :options='meterbrand' placeholder='请选择' style="width: 80%;float: left"
327
- close-on-select search="">
328
- </v-select>
329
- </div>
330
- <div class="from-group">
331
- <label style="width: 20%;float: left">表型号</label>
332
- <v-select :value.sync="selectItem.f_meter_style" v-model="selectItem.f_meter_style"
333
- :options='meterstyle' placeholder='请选择' style="width: 80%;float: left"
334
- close-on-select >
335
- </v-select>
336
- </div>
337
- </article>
338
- <footer slot="modal-footer" class="modal-footer">
339
- <button type="button" class="btn btn-default" @click='updateclose'>取消</button>
340
- <button type="button" class="btn btn-success" @click='updateconfirm'>确认</button>
341
- </footer>
342
- </modal>
343
-
344
-
345
- <modal :show.sync="showFile" v-ref:modal backdrop="false">
346
- <header slot="modal-header" class="modal-header">
347
- <button type="button" class="close" @click="closeFile"><span>&times;</span></button>
348
- <h4 class="modal-title">档案导入</h4>
349
- </header>
350
- <article slot="modal-body" class="modal-body">
351
- <div class="form-group">
352
- <file-upload class="my-file-uploader" :name="key+Math.random()"
353
- action="rs/file/uploadFile" tagname="文件导入" :headers="headers" v-ref:file></file-upload>
354
- </div>
355
- </article>
356
- <footer slot="modal-footer" class="modal-footer"></footer>
357
- </modal>
358
-
359
- </template>
360
-
361
- <script>
362
- import {HttpResetClass} from 'vue-client'
363
-
364
- export default {
365
- title: '档案信息',
366
- props: ['selectdata', 'key','edit'],
367
- data() {
368
- return {
369
- headers: {'username': this.$login.f.name, 'blodid': this.selectdata.f_process_id, 'fusetype': '报建execl导入用户档案'},
370
- //户档案表头
371
- userHeadData: ['档案编号', '用户姓名', '用户电话', '区', '片区', '街道名称', '小区名称', '楼号', '单元号', '楼层', '门牌号', '用气性质', '用户状态'],
372
- //户档案内容
373
- userBodyData: ['f_userinfo_id', 'f_user_name', 'f_user_phone', 'f_area', 'f_slice_area', 'f_street', 'f_residential_area', 'f_building', 'f_unit', 'f_floor', 'f_room', 'f_gasproperties', 'f_user_state'],
374
- //表档案表头
375
- surHeadData: ['户档案编号', '表号', '气表品牌', '表型号'],
376
- //表档案内容
377
- surBodyData: ['f_userinfo_id', 'f_meternumber', 'f_meter_brand', 'f_meter_style'],
378
- //设备表头
379
- eqHeadData: ['户档案编号', '设备编号', '设备类型', '设备品牌','设备型号','设备数量'],
380
- //设备内容
381
- eqBodyData: ['f_userinfo_id', 'f_devices_no', 'f_devices_type', 'f_brand','f_devices_model','f_devices_num'],
382
- // params: null,
383
- record: {},
384
- selectItem: {},
385
- pricetype:[],
386
- pricename:[],
387
- model: {
388
- rows: []
389
- },
390
- batchmodel :{
391
- rows: []
392
- },
393
- params: { // 选择的具体内容
394
- rows: []
395
- },
396
- condition: '',
397
- show: false,
398
- showFile: false,
399
- ischecked: false,
400
- getfield: {},
401
- checked: [],
402
- isShowdetail:false,
403
- userinfo_id: null,
404
- addshow:false,
405
- meterstyle:[],
406
- meterbrand:[],
407
- updateshow:false,
408
- importtype:null,
409
- userstate:this.$appdata.getParam('用户状态'),
410
- checker:this.$appdata.getParam('安全员'),
411
- coststate:this.$appdata.getParam('结算状态'),
412
- costtype:this.$appdata.getParam('缴费类型'),
413
- aroundmeter:this.$appdata.getParam('左右表'),
414
- gasproperties:this.$appdata.getParam('用气性质'),
415
- usertypes:this.$appdata.getParam('用户类型'),
416
- tablestate:this.$appdata.getParam('表状态'),
417
- meterclassify:this.$appdata.getParam('气表类型'),
418
- whetherhairpin:this.$appdata.getParam('是否发卡'),
419
- position:this.$appdata.getParam('安装位置'),
420
- inputtor:this.$appdata.getParam('抄表员')
421
- }
422
- },
423
- ready() {
424
- this.load()
425
- this.getitem()
426
- },
427
- watch: {
428
- 'selectdata'() {
429
- this.headers.blodid = this.selectdata.f_process_id
430
- this.load()
431
- },
432
-
433
- 'selectItem.f_meter_brand[0]'(val) {
434
- console.log('选择的品牌改变了',val)
435
- if (!val){
436
- return
437
- }
438
- this.$resetpost('rs/logic/getMeterStyle', {data:{f_meter_brand :val}} ,{resolveMsg: null, rejectMsg: null}).then((res) => {
439
- console.log('获取的选项',res)
440
- let house2 = []
441
- for (let row of res.data){
442
- house2.push({label: row.f_meter_style,value: row.f_meter_style})
443
- }
444
- this.meterstyle = house2
445
- })
446
- },
447
- 'selectItem.f_user_type[0]'(val) {
448
- let condition =`f_user_type = '${val}' and f_filiale = '${this.$login.f.f_fengongsi}'
449
- and f_gasproperties = '${this.selectItem.f_gasproperties}'`
450
- this.$resetpost('rs/logic/getRecordItem', {condition}, {resolveMsg: null, rejectMsg: null}).then((res) => {
451
- console.log('获取的选项',res)
452
- let house2 = []
453
- for (let row of res.data.pricetype){
454
- house2.push({label: row.f_price_type,value: row.f_price_type})
455
- }
456
- this.pricetype = house2
457
- })
458
- },
459
- 'selectItem.f_gasproperties[0]'(val) {
460
- let condition =`f_user_type = '${this.selectItem.f_user_type}' and f_filiale = '${this.$login.f.f_fengongsi}'
461
- and f_gasproperties = '${val}'`
462
- this.$resetpost('rs/logic/getRecordItem', {condition}, {resolveMsg: null, rejectMsg: null}).then((res) => {
463
- console.log('获取的选项',res)
464
- let house2 = []
465
- for (let row of res.data.pricetype){
466
- house2.push({label: row.f_price_type,value: row.f_price_type})
467
- }
468
- this.pricetype = house2
469
- })
470
- },
471
- 'selectItem.f_price_type[0]'(val) {
472
- console.log('选择的品牌改变了',val)
473
- if (!val){
474
- return
475
- }
476
- let condition =`f_user_type = '${this.selectItem.f_user_type}' and f_filiale = '${this.$login.f.f_fengongsi}'
477
- and f_gasproperties = '${this.selectItem.f_gasproperties}'
478
- and f_price_type = '${val}'`
479
- this.$resetpost('rs/logic/getRecordItem', {condition}, {resolveMsg: null, rejectMsg: null}).then((res) => {
480
- console.log('获取的选项',res)
481
- let house2 = []
482
- for (let row of res.data.pricename){
483
- house2.push({label: row.f_price_name,value: row.f_price_name})
484
- }
485
- this.pricename = house2
486
- })
487
-
488
- }
489
- },
490
-
491
- computed: {
492
- address() {
493
- let strAddress = `${this.record.f_area ? this.record.f_area
494
- + '-' : ''}${this.record.f_street ? this.record.f_street
495
- + '-' : ''}${this.record.f_residential_area ? this.record.f_residential_area
496
- + '' : ''}${this.record.f_building ? this.record.f_building
497
- + '号楼' : ''}${this.record.f_unit ? this.record.f_unit
498
- + '单元' : ''}${this.record.f_floor ? this.record.f_floor
499
- + '层' : ''}${this.record.f_room ? this.record.f_room
500
- + '室' : ''}`
501
- this.record.f_address = strAddress
502
- return strAddress
503
- },
504
- getfield() {
505
- let data = {}
506
- this.userBodyData.forEach((value, index) => {
507
- data[this.userBodyData[index]] = this.userHeadData[index]
508
- })
509
-
510
- console.log('data', data)
511
- return data
512
- }
513
- },
514
- methods: {
515
- getitem(){
516
- console.log('开始获取品牌')
517
- let condition =`1=1`
518
- this.$resetpost('rs/logic/getRecordItem', {condition}, {resolveMsg: null, rejectMsg: null}).then((res) => {
519
- console.log('获取的选项',res)
520
- let house2 = []
521
- for (let row of res.data.meterbrand){
522
- house2.push({label: row.f_meter_brand,value: row.f_meter_brand})
523
- }
524
- this.meterbrand = house2
525
- })
526
- },
527
- addDetailed(){
528
- this.importtype='2'
529
- this.showFile = true
530
- },
531
- addclose(){
532
- this.addshow = false
533
- this.selectItem = {}
534
- },
535
-
536
- updateclose(){
537
- this.updateshow = false
538
- this.selectItem = {}
539
- },
540
- showdetail(val) {
541
-
542
- console.log(val)
543
- this.userinfo_id = val
544
- this.isShowdetail=true
545
- this.loadfiles()
546
- },
547
- async loadfiles() {
548
- if (!this.selectdata)
549
- return
550
- let data = {
551
- tablename: 't_userfiles',
552
- condition: 'a.f_userinfo_id=' + '\'' + this.userinfo_id + '\''
553
- }
554
-
555
- let self = this
556
- let http = new HttpResetClass()
557
- let res = await http.load('POST', 'rs/sql/getUserfiles', {data: data}, {
558
- resolveMsg: null,
559
- rejectMsg: '获取表档案信息失败'
560
- })
561
- self.batchmodel.rows = []
562
-
563
- self.batchmodel.rows = res.data
564
- },
565
- selected (val) {
566
- this.selectItem = {"q":"q"}
567
- },
568
- //选择需要转银收的户档案
569
- chooseOne(e, row, rows) {
570
- console.log('row', row)
571
- console.log('e', e)
572
- this.ischecked = e.target.checked
573
- console.log("state", e.target.checked)
574
- //判断当前行是否被选中
575
- if (this.ischecked) {
576
- this.checked.push(row)
577
- }
578
- },
579
- //修改选中的数据状态
580
- changeState() {
581
- if (this.checked.length > 0) {
582
- let http = new HttpResetClass()
583
- http.load('POST', 'rs/logic/updateUserState', {data: {rows: this.checked}}).then((res) => {
584
- this.show = false
585
- this.ischecked = false
586
- // 如果没有id,需要在数组中添加
587
- this.load()
588
- this.checked = []
589
- })
590
- }
591
- },
592
- // 父组件更新子组件属性
593
- updateData(val) {
594
- this.headers.blodid = val.f_process_id
595
- this.selectdata = val
596
- },
597
- async load() {
598
- if (!this.selectdata)
599
- return
600
- let data = {
601
- tablename: 't_userinfo',
602
- condition: 'f_process_id=' + '\'' + this.selectdata.f_process_id + '\''
603
- }
604
- let self = this
605
- let http = new HttpResetClass()
606
- let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
607
- resolveMsg: null,
608
- rejectMsg: '获取户档案信息失败'
609
- })
610
- self.model.rows = []
611
- self.model.rows = res.data
612
- self.params = res.data
613
- },
614
- impexcel() {
615
- this.importtype='1'
616
- this.showFile = true
617
- },
618
- closeFile() {
619
- this.showFile = false
620
- // 将选的文件清空
621
- this.$refs.file.$el.querySelector('input').value = ''
622
- },
623
- delete(row){
624
- console.log('开始删除')
625
- let http = new HttpResetClass()
626
- http.load('POST', 'rs/logic/deleteUserinfo', {data: {f_userinfo_id: row.f_userinfo_id}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
627
- console.log('返回的数据:',res)
628
- if (res.data != null && res.data != "") {
629
- this.$showMessage(res.data)
630
- }else {
631
- this.$showMessage("删除成功!")
632
- this.load()
633
- }
634
- })
635
- },
636
-
637
- deleteItem(row) {
638
-
639
-
640
- /* this.$showMessage('删除后不可恢复,确认删除吗?', ['confirm', 'cancel']).then((res) => {
641
- if (res === 'confirm') {
642
- let http = new HttpResetClass()
643
- http.load('DELETE', `rs/entity/t_userinfo/${row.f_userinfo_id}`).then((res) => {
644
- this.load()
645
- })
646
- }
647
- })*/
648
-
649
- this.$showMessage('删除后不可恢复,确认删除吗?', ['confirm', 'cancel']).then((res) => {
650
- if (res === 'confirm') {
651
- let http = new HttpResetClass()
652
- http.load('DELETE', `rs/entity/t_userfiles/${row.f_user_id}`).then((res) => {
653
- this.loadfiles()
654
- })
655
- }
656
- })
657
-
658
- },
659
- //户档案查询
660
- filterParams(param) {
661
- this.isShowdetail=false
662
- if (param && param !== "") {
663
- let temp = []
664
- for (var i = 0; i < this.model.rows.length; i++) {
665
- if (this.model.rows[i].f_user_name.includes(param)) {
666
- temp.push(this.model.rows[i])
667
- }
668
- }
669
- this.model.rows = temp
670
- } else {
671
- this.model.rows = this.params
672
- }
673
- },
674
- //表档案查询
675
- filterParam(param) {
676
- if (param && param !== "") {
677
- let temp = []
678
- for (var i = 0; i < this.model.rows.length; i++) {
679
- if (this.model.rows[i].f_meter_brand.includes(param)) {
680
- temp.push(this.model.rows[i])
681
- }
682
- }
683
- this.model.rows = temp
684
- } else {
685
- this.model.rows = this.params
686
- }
687
- },
688
- //设备列表查询
689
- findEq(param) {
690
- debugger
691
- if (param && param !== "") {
692
- let temp = []
693
- for (var i = 0; i < this.model.rows.length; i++) {
694
- if (this.model.rows[i].f_meter_brand.includes(param)) {
695
- temp.push(this.model.rows[i])
696
- }
697
- }
698
- this.model.rows = temp
699
- } else {
700
- this.model.rows = this.params
701
- }
702
- },
703
- add() {
704
- this.show = true
705
- console.log("点击了添加")
706
- },
707
- // 修改按钮
708
- modifyParam(row) {
709
- this.$set('selectItem.f_userinfo_id', row.f_userinfo_id)
710
- this.$set('selectItem.f_user_name', row.f_user_name)
711
- this.$set('selectItem.f_user_phone', row.f_user_phone)
712
- this.$set('selectItem.f_area', row.f_area)
713
- this.$set('selectItem.f_slice_area', row.f_slice_area)
714
- this.$set('selectItem.f_street', row.f_street)
715
- this.$set('selectItem.f_residential_area', row.f_residential_area)
716
- this.$set('selectItem.f_building', row.f_building)
717
- this.$set('selectItem.f_unit', row.f_unit)
718
- this.$set('selectItem.f_floor', row.f_floor)
719
- this.$set('selectItem.f_room', row.f_room)
720
- this.selectItem.f_cost_type= [row.f_cost_type]
721
- this.selectItem.f_cost_state=[row.f_cost_state]
722
- this.$set('selectItem.f_people_num', row.f_people_num)
723
- this.selectItem.f_checker=[row.f_checker]
724
- this.selectItem.f_user_state= [row.f_user_state]
725
- this.$set('selectItem.version', row.version)
726
- this.show = true
727
- },
728
-
729
- //获取当前用户表档案信息
730
- getUserFiles(row) {
731
- this.isShowFiles = true
732
- console.log('获取户档案信息')
733
-
734
- data = {
735
- tablename: 't_userfiles',
736
- condition: `f_userinfo_id=${row.f_userinfo_id}`
737
- }
738
- http = new HttpResetClass()
739
- let resGasbrand = http.load('POST', 'rs/sql/singleTable', {data: data}, {
740
- resolveMsg: null,
741
- rejectMsg: '获取档案信息失败'
742
- })
743
- self.model.rows = []
744
- self.model.rows = res.data
745
- },
746
- //表档案修改
747
- filesModify(row) {
748
- console.log('表档案数据',row)
749
- this.$set('selectItem.f_userinfo_id', row.f_userinfo_id)
750
- this.$set('selectItem.f_user_id', row.f_user_id)
751
- this.$set('selectItem.f_meternumber', row.f_meternumber)
752
- this.selectItem.version = row.version
753
- this.selectItem.f_user_type = [row.f_user_type]
754
- this.selectItem.f_gasproperties = [row.f_gasproperties]
755
- this.$set('selectItem.f_meter_base', row.f_meter_base)
756
- this.selectItem.f_meter_brand = [row.f_meter_brand]
757
- this.selectItem.f_meter_style = [row.f_meter_style]
758
- this.selectItem.f_aroundmeter = [row.f_aroundmeter]
759
- this.selectItem.f_price_type = [row.f_price_type]
760
- this.selectItem.f_price_name = [row.f_price_name]
761
- this.$set('selectItem.f_heater_gas', row.f_heater_gas)
762
- this.selectItem.f_table_state = [row.f_table_state]
763
- this.selectItem.f_meter_classify = [row.f_meter_classify]
764
- this.selectItem.f_whether_hairpin = [row.f_whether_hairpin]
765
- this.selectItem.f_position=[row.f_position]
766
- this.selectItem.f_inputtor=[row.f_inputtor]
767
- this.$set('selectItem.f_lossrate', row.f_lossrate)
768
- this.addshow = true
769
- this.getpricetype()
770
-
771
- },
772
- getpricetype(){
773
- console.log('开始获取气价类别')
774
- let condition =`f_user_type = '${this.selectItem.f_user_type}' and f_filiale = '${this.$login.f.f_fengongsi}'
775
- and f_gasproperties = '${this.selectItem.f_gasproperties}'`
776
- this.$resetpost('rs/logic/getRecordItem', {condition}, {resolveMsg: null, rejectMsg: null}).then((res) => {
777
- console.log('获取的选项',res)
778
- let house2 = []
779
- for (let row of res.data.pricetype){
780
- house2.push({label: row.f_price_type,value: row.f_price_type})
781
- }
782
- this.pricetype = house2
783
- let house = []
784
- for (let row of res.data.meterbrand){
785
- house.push({label: row.f_meter_brand,value: row.f_meter_brand})
786
- }
787
- this.meterbrand = house
788
- let house3 = []
789
- for (let row of res.data.pricename){
790
- house3.push({label: row.f_price_name,value: row.f_price_name})
791
- }
792
- this.pricename = house3
793
- })
794
- },
795
- //新增修改或删除提交
796
- async confirm() {
797
- let http = new HttpResetClass()
798
- await http.load('POST', 'rs/logic/recordSave', this.selectItem).then((res) => {
799
- this.show = false
800
- // 如果没有id,需要在数组中添加
801
- this.load()
802
- this.selectItem = {}
803
- })
804
-
805
- },
806
-
807
- async addconfirm() {
808
- if (!this.selectItem.f_price_type[0]){
809
- this.$showAlert("气价类型不能为空","warning", 1500)
810
- return
811
- }
812
- if (!this.selectItem.f_price_name[0]){
813
- this.$showAlert("气价名称不能为空","warning", 1500)
814
- return
815
- }
816
- let http = new HttpResetClass()
817
- this.$set('selectItem.f_userinfo_id', this.userinfo_id)
818
- this.selectItem.f_filiale=this.$login.f.f_fengongsi
819
- await http.load('POST', 'rs/logic/addmeterrecord', this.selectItem).then((res) => {
820
- this.addshow = false
821
- // 如果没有id,需要在数组中添加
822
- this.loadfiles()
823
- this.selectItem = {}
824
- if (res.data.msg != null && res.data.msg != "") {
825
- this.$showMessage(res.data.msg)
826
- }else {
827
- this.$showMessage("修改成功!")
828
- }
829
- })
830
- },
831
- async updateconfirm(){
832
- let http = new HttpResetClass()
833
-
834
- await http.load('POST', 'rs/logic/updatemetrecord', this.selectItem,{resolveMsg: null, rejectMsg: '修改失败'}).then((res) => {
835
- this.updateshow = false
836
- // 如果没有id,需要在数组中添加
837
- this.loadfiles()
838
- this.selectItem = {}
839
-
840
- })
841
- },
842
-
843
-
844
- // 关闭模态框
845
- close() {
846
- this.show = false
847
- this.selectItem = {}
848
- },
849
- },
850
- events: {
851
- async onFileUpload(file, res) {
852
- if (!this.selectdata.f_process_id) {
853
- this.$showMessage("数据异常,导入失败")
854
- return
855
- }
856
- if (this.importtype ==='1') {
857
- //户档案导入
858
- let data = {
859
- tablename: 't_userinfo',
860
- filepath: res.f_downloadpath,
861
- f_area:this.selectdata.f_area,
862
- f_slice_area:this.selectdata.f_slice_area,
863
- f_street:this.selectdata.f_street,
864
- f_residential_area:this.selectdata.f_residential_area,
865
- f_process_id: this.selectdata.f_process_id,
866
- f_key: this.$login.f.f_orgids,
867
- f_operator: this.$login.f.name,
868
- f_filiale: this.$login.f.f_fengongsi,
869
- f_outlets: this.$login.f.f_parentname,
870
- f_orgstr: this.$login.f.orgpathstr,
871
- f_filialeids: this.$login.f.f_orgids,
872
- f_filialeid: this.$login.f.f_orgids.split('.')[this.$login.f.f_orgids.split('.').length - 2] + '.'
873
- }
874
- let http2 = new HttpResetClass()
875
- console.log('即将转发的数据',data)
876
- await http2.load('POST', 'rs/logic/recordImport', data, {
877
- resolveMsg: "",
878
- rejectMsg: "导入失败!",
879
- }).then((res) => {
880
- console.log('返回信息',res)
881
- this.load()
882
- this.closeFile()
883
- if (res.data.msg != null && res.data.msg != "") {
884
- this.$showMessage(res.data.msg)
885
- } else if (res.data.userIds.length > 0) {
886
- this.$showMessage("以下编号的户档案不存在,请先添加户档案再添加表档案:" + res.data.userIds.toString())
887
- } else if (res.data.reuserIds.length > 0) {
888
- this.$showMessage("以下户档案编号的表档案已存在,请删除后重新导入:" + res.data.reuserIds.toString())
889
- } else {
890
- this.$showMessage("导入成功!")
891
- }
892
- })
893
- }
894
-
895
- }
896
- }
897
- }
898
- </script>
899
- <style>
900
- .recordTable table tr th {
901
- font-weight: bold;
902
- }
903
-
904
- .recordTable table tr:hover {
905
- background-color: rgb(230, 230, 230);
906
- }
907
- </style>
1
+ <template>
2
+ <div class="flex">
3
+ <div class="form-inline auto" style="margin-bottom: 5px;">
4
+ <label >用户查找:</label>
5
+ <input type="text" class="form-control" placeholder='请输入查找的用户姓名' v-model="param"
6
+ @keyup.enter="filterParams(param)" >
7
+ <button type="button" class="btn btn-primary" @click="filterParams(param)">查询</button>
8
+ <!--<div class="form-inline" style="float: right;margin-left: 1%" v-if="key == '户档案管理' && edit == true">
9
+ <export-excel :data="{condition: ` 1=1 and f_process_id = '${selectdata.f_process_id}'`}"
10
+ :field="getfield"
11
+ sqlurl="rs/logic/fileExport" sql-name="singleTableUser" template-name='报建户档案导出'
12
+ :choose-col="false"></export-excel>
13
+ </div>-->
14
+
15
+ <div class="form-inline" style="float: right" >
16
+ <button type="button" class="btn btn-warning add-postition" @click="impexcel()" v-show="edit">导入档案</button>
17
+ </div>
18
+
19
+ </div>
20
+
21
+
22
+
23
+
24
+ <!--户档案管理组件-->
25
+ <div class="col-sm-12 span recordTable" style="margin-top: 10px;height:auto;">
26
+
27
+ <partial-view v-ref:single-load>
28
+ <data-grid :model="model" v-ref:grid>
29
+ <template partial='head'>
30
+ <tr>
31
+ <th>档案编号</th>
32
+ <th>用户姓名</th>
33
+ <th>用户电话</th>
34
+ <th>地址</th>
35
+ <th>安全员</th>
36
+ <th>缴费类型</th>
37
+ <th>结算状态</th>
38
+ <th>人口数</th>
39
+ <th>用户状态</th>
40
+ <th >操作</th>
41
+ </tr>
42
+ </template>
43
+ <template partial='body' >
44
+ <td @click="$parent.$parent.$parent.showdetail(row.f_userinfo_id)" style="text-align: center">{{row.f_userinfo_id}}</td>
45
+ <td @click="$parent.$parent.$parent.showdetail(row.f_userinfo_id)" style="text-align: center">{{row.f_user_name}}</td>
46
+ <td @click="$parent.$parent.$parent.showdetail(row.f_userinfo_id)" style="text-align: center">{{row.f_user_phone}}</td>
47
+ <td @click="$parent.$parent.$parent.showdetail(row.f_userinfo_id)" style="text-align: center">{{row.f_address}}</td>
48
+ <td @click="$parent.$parent.$parent.showdetail(row.f_userinfo_id)" style="text-align: center">{{row.f_checker}}</td>
49
+ <td @click="$parent.$parent.$parent.showdetail(row.f_userinfo_id)" style="text-align: center">{{row.f_cost_type}}</td>
50
+ <td @click="$parent.$parent.$parent.showdetail(row.f_userinfo_id)" style="text-align: center">{{row.f_cost_state}}</td>
51
+ <td @click="$parent.$parent.$parent.showdetail(row.f_userinfo_id)" style="text-align: center">{{row.f_people_num}}</td>
52
+ <td @click="$parent.$parent.$parent.showdetail(row.f_userinfo_id)" style="text-align: center">{{row.f_user_state}}</td>
53
+ <!--<td>{{row.f_remarks}}</td>-->
54
+ <td v-show="edit"><input type="checkbox" v-model="row.f_pay" @click="$parent.$parent.$parent.paychange(row)"/></td>
55
+ <td class="" style="text-align: center">
56
+ <!-- <button type="button" name="button" class="btn btn-link"-->
57
+ <!-- @click.stop="$parent.$parent.$parent.modifyParam(row)" >修改-->
58
+ <!-- </button>-->
59
+ <button type="button" name="button" class="btn btn-link"
60
+ @click.stop="$parent.$parent.$parent.delete(row)">删除
61
+ </button>
62
+ <!--<button type="button" name="button" class="btn btn-link"-->
63
+ <!--@click.stop="$parent.$parent.$parent.deleteItem(row)">删除-->
64
+ <!--</button>-->
65
+ </td>
66
+ </template>
67
+ </data-grid>
68
+
69
+ </partial-view>
70
+ </div>
71
+
72
+ <div class="col-sm-12 span recordTable" style="margin-top: 10px;height:auto;" v-if="isShowdetail" >
73
+ <p class="text-center" style="padding: 8px;font-size: 20px">表档案列表
74
+
75
+ <button type="button" class="close" @click="isShowdetail=false" aria-hidden="true">&times;</button>
76
+ </p>
77
+ <partial-view v-ref:single-load>
78
+ <data-grid :model="batchmodel" v-ref:batchgrid>
79
+ <template partial='head'>
80
+ <tr>
81
+ <th>序号</th>
82
+ <th>户档案编号</th>
83
+ <th>表档案编号</th>
84
+ <th>表号</th>
85
+ <th>气表品牌</th>
86
+ <th>表型号</th>
87
+ <th>用户类型</th>
88
+ <th >操作</th>
89
+ </tr>
90
+ </template>
91
+ <template partial='body'>
92
+ <td style="text-align: center">{{$index+1}}</td>
93
+ <td style="text-align: center">{{row.f_userinfo_id}}</td>
94
+ <td style="text-align: center">{{row.f_user_id}}</td>
95
+ <td style="text-align: center">{{row.f_meternumber}}</td>
96
+ <td style="text-align: center">{{row.f_meter_brand}}</td>
97
+ <td style="text-align: center">{{row.f_meter_style}}</td>
98
+ <td style="text-align: center">{{row.f_user_type}}</td>
99
+ <!--<td>{{row.f_remarks}}</td>-->
100
+ <td class="" style="text-align: center">
101
+ <button type="button" name="button" class="btn btn-link"
102
+ @click.stop="$parent.$parent.$parent.filesModify(row)" >修改
103
+ </button>
104
+ <button type="button" name="button" class="btn btn-link"
105
+ @click.stop="$parent.$parent.$parent.deleteItem(row)">删除
106
+ </button>
107
+ <!-- <button type="button" name="button" class="btn btn-link"
108
+ @click.stop="$parent.$parent.$parent.deleteItem(row)" >删除
109
+ </button>-->
110
+ </td>
111
+ </template>
112
+ </data-grid>
113
+
114
+
115
+
116
+
117
+ </partial-view>
118
+ </div>
119
+
120
+ </div>
121
+ <modal :show.sync="show" v-ref:modal backdrop="false">
122
+ <header slot="modal-header" class="modal-header">
123
+ <button type="button" class="close" @click="close"><span>&times;</span></button>
124
+ <h4 class="modal-title">配置</h4>
125
+ </header>
126
+ <!--户档案修改-->
127
+ <article slot="modal-body" class="modal-body" >
128
+ <div class="from-group" style="width: 100%">
129
+ <label style="width: 15%;float: left">用户姓名</label>
130
+ <input type="text" class="form-control" v-model="selectItem.f_user_name" style="width: 80%;float: left"/>
131
+ </div>
132
+ <div class="from-group" style="width: 100%">
133
+ <label style="width: 15%;float: left">用户电话</label>
134
+ <input type="text" class="form-control" v-model="selectItem.f_user_phone" style="width: 80%;float: left">
135
+ </div>
136
+ <div class="from-group" style="width: 100%">
137
+ <label style="width: 15%;float: left">楼号</label>
138
+ <input type="text" class="form-control" v-model="selectItem.f_building" style="width: 80%;float: left">
139
+ </div>
140
+ <div class="from-group" style="width: 100%">
141
+ <label style="width: 15%;float: left">单元号</label>
142
+ <input type="text" class="form-control" v-model="selectItem.f_unit" style="width: 80%;float: left">
143
+ </div>
144
+ <div class="from-group" style="width: 100%">
145
+ <label style="width: 15%;float: left">楼层</label>
146
+ <input type="text" class="form-control" v-model="selectItem.f_floor" style="width: 80%;float: left">
147
+ </div>
148
+ <div class="from-group" style="width: 100%">
149
+ <label style="width: 15%;float: left">门牌号</label>
150
+ <input type="text" class="form-control" v-model="selectItem.f_room" style="width: 80%;float: left">
151
+ </div>
152
+ <div class="from-group" style="width: 100%">
153
+ <label style="width: 15%;float: left">人口数</label>
154
+ <input type="number" class="form-control" v-model="selectItem.f_people_num" style="width: 80%;float: left">
155
+ </div>
156
+ <div class="from-group" style="width: 100%">
157
+ <label style="width: 15%;float: left">缴费类型</label>
158
+ <v-select :value.sync="selectItem.f_cost_type" v-model="selectItem.f_cost_type"
159
+ :options='costtype' placeholder='请选择' style="width: 80%;float: left"
160
+ close-on-select >
161
+ </v-select>
162
+ </div>
163
+ <div class="from-group" style="width: 100%">
164
+ <label style="width: 15%;float: left">结算状态</label>
165
+ <v-select :value.sync="selectItem.f_cost_state" v-model="selectItem.f_cost_state"
166
+ :options='coststate' placeholder='请选择' style="width: 80%;float: left"
167
+ close-on-select >
168
+ </v-select>
169
+ </div>
170
+
171
+ <div class="from-group" style="width: 100%">
172
+ <label style="width: 15%;float: left">安全员</label>
173
+ <v-select :value.sync="selectItem.f_checker" v-model="selectItem.f_checker"
174
+ :options='checker' placeholder='请选择' style="width: 80%;float: left"
175
+ close-on-select >
176
+ </v-select>
177
+ </div>
178
+ <div class="from-group" style="width: 100%">
179
+ <label style="width: 15%;float: left">用户状态</label>
180
+ <v-select :value.sync="selectItem.f_user_state" v-model="selectItem.f_user_state"
181
+ :options='userstate' placeholder='请选择' style="width: 80%;float: left"
182
+ close-on-select >
183
+ </v-select>
184
+ </div>
185
+ </article>
186
+
187
+
188
+ <footer slot="modal-footer" class="modal-footer">
189
+ <div class="from-group" style="width: 100%;float: left">
190
+ <button v-show="show" type="button" class="btn btn-default" @click='close'>取消</button>
191
+ <button v-show="show" type="button" class="btn btn-success" @click='confirm'>确认</button>
192
+ </div>
193
+ </footer>
194
+ </modal>
195
+
196
+
197
+ <modal :show.sync="addshow" v-ref:modal backdrop="false">
198
+ <header slot="modal-header" class="modal-header">
199
+ <button type="button" class="close" @click="addclose"><span>&times;</span></button>
200
+ <h4 class="modal-title">配置</h4>
201
+ </header>
202
+ <!--户档案修改-->
203
+ <article slot="modal-body" class="modal-body" >
204
+ <div class="from-group">
205
+ <label style="width: 20%;float: left">表号</label>
206
+ <input type="text" style="width: 80%;float: left" readonly class="form-control" v-model="selectItem.f_meternumber"/>
207
+ </div>
208
+ <div class="from-group">
209
+ <label style="width: 20%;float: left">用户类型</label>
210
+ <v-select :value.sync="selectItem.f_user_type" v-model="selectItem.f_user_type"
211
+ :options='usertypes' placeholder='请选择' style="width: 80%;float: left"
212
+ close-on-select >
213
+ </v-select>
214
+ </div>
215
+ <div class="from-group">
216
+ <label style="width: 20%;float: left">用气性质</label>
217
+ <v-select :value.sync="selectItem.f_gasproperties" v-model="selectItem.f_gasproperties"
218
+ :options='gasproperties' placeholder='请选择' style="width: 80%;float: left"
219
+ close-on-select >
220
+ </v-select>
221
+ </div>
222
+ <div class="from-group">
223
+ <label style="width: 20%;float: left">表底数</label>
224
+ <input type="text" style="width: 80%;float: left" class="form-control" v-model="selectItem.f_meter_base"/>
225
+ </div>
226
+ <div class="from-group">
227
+ <label style="width: 20%;float: left">气表品牌</label>
228
+ <v-select :value.sync="selectItem.f_meter_brand" v-model="selectItem.f_meter_brand"
229
+ :options='meterbrand' placeholder='请选择' style="width: 80%;float: left"
230
+ close-on-select search="">
231
+ </v-select>
232
+ </div>
233
+ <div class="from-group">
234
+ <label style="width: 20%;float: left">表型号</label>
235
+ <v-select :value.sync="selectItem.f_meter_style" v-model="selectItem.f_meter_style"
236
+ :options='meterstyle' placeholder='请选择' style="width: 80%;float: left"
237
+ close-on-select >
238
+ </v-select>
239
+ </div>
240
+ <div class="from-group">
241
+ <label style="width: 20%;float: left">左右表</label>
242
+ <v-select :value.sync="selectItem.f_aroundmeter" v-model="selectItem.f_aroundmeter"
243
+ :options='aroundmeter' placeholder='请选择' style="width: 80%;float: left"
244
+ close-on-select >
245
+ </v-select>
246
+ </div>
247
+ <div class="from-group">
248
+ <label style="width: 20%;float: left">气价类型</label>
249
+ <v-select :value.sync="selectItem.f_price_type" v-model="selectItem.f_price_type"
250
+ :options='pricetype' placeholder='请选择' style="width: 80%;float: left"
251
+ close-on-select >
252
+ </v-select>
253
+ </div>
254
+ <div class="from-group">
255
+ <label style="width: 20%;float: left">气价名称</label>
256
+ <v-select :value.sync="selectItem.f_price_name" v-model="selectItem.f_price_name"
257
+ :options='pricename' placeholder='请选择' style="width: 80%;float: left"
258
+ close-on-select >
259
+ </v-select>
260
+ </div>
261
+ <div class="from-group">
262
+ <label style="width: 20%;float: left">剩余气量</label>
263
+ <input type="text" style="width: 80%;float: left" class="form-control" v-model="selectItem.f_heater_gas"/>
264
+ </div>
265
+ <div class="from-group">
266
+ <label style="width: 20%;float: left">表状态</label>
267
+ <v-select :value.sync="selectItem.f_table_state" v-model="selectItem.f_table_state"
268
+ :options='tablestate' placeholder='请选择' style="width: 80%;float: left"
269
+ close-on-select >
270
+ </v-select>
271
+ </div>
272
+ <div class="from-group">
273
+ <label style="width: 20%;float: left">气表类型</label>
274
+ <v-select :value.sync="selectItem.f_meter_classify" v-model="selectItem.f_meter_classify"
275
+ :options='meterclassify' placeholder='请选择' style="width: 80%;float: left"
276
+ close-on-select >
277
+ </v-select>
278
+ </div>
279
+ <div class="from-group">
280
+ <label style="width: 20%;float: left">是否发卡</label>
281
+ <v-select :value.sync="selectItem.f_whether_hairpin" v-model="selectItem.f_whether_hairpin"
282
+ :options='whetherhairpin' placeholder='请选择' style="width: 80%;float: left"
283
+ close-on-select >
284
+ </v-select>
285
+ </div>
286
+ <div class="from-group">
287
+ <label style="width: 20%;float: left">安装位置</label>
288
+ <v-select :value.sync="selectItem.f_position" v-model="selectItem.f_position"
289
+ :options='position' placeholder='请选择' style="width: 80%;float: left"
290
+ close-on-select >
291
+ </v-select>
292
+ </div>
293
+ <div class="from-group">
294
+ <label style="width: 20%;float: left">抄表员</label>
295
+ <v-select :value.sync="selectItem.f_inputtor" v-model="selectItem.f_inputtor"
296
+ :options='inputtor' placeholder='请选择' style="width: 80%;float: left"
297
+ close-on-select >
298
+ </v-select>
299
+ </div>
300
+ <!--<div class="from-group">
301
+ <label style="width: 20%;float: left">输损率</label>
302
+ <input type="number" style="width: 80%;float: left" class="form-control" v-model="selectItem.f_lossrate" v-validate:f_lossrate='{dctest: [1, "<" ] }'/>
303
+ </div>-->
304
+
305
+ </article>
306
+ <footer slot="modal-footer" class="modal-footer">
307
+ <button type="button" class="btn btn-default" @click='addclose'>取消</button>
308
+ <button type="button" class="btn btn-success" @click='addconfirm'>确认</button>
309
+ </footer>
310
+ </modal>
311
+
312
+ <modal :show.sync="updateshow" v-ref:modal backdrop="false">
313
+ <header slot="modal-header" class="modal-header">
314
+ <button type="button" class="close" @click="updateclose"><span>&times;</span></button>
315
+ <h4 class="modal-title">配置</h4>
316
+ </header>
317
+ <!--户档案修改-->
318
+ <article slot="modal-body" class="modal-body" >
319
+ <div class="from-group">
320
+ <label style="width: 20%;float: left">表号</label>
321
+ <input type="text" style="width: 80%;float: left" class="form-control" v-model="selectItem.f_meternumber"/>
322
+ </div>
323
+ <div class="from-group">
324
+ <label style="width: 20%;float: left">气表品牌</label>
325
+ <v-select :value.sync="selectItem.f_meter_brand" v-model="selectItem.f_meter_brand"
326
+ :options='meterbrand' placeholder='请选择' style="width: 80%;float: left"
327
+ close-on-select search="">
328
+ </v-select>
329
+ </div>
330
+ <div class="from-group">
331
+ <label style="width: 20%;float: left">表型号</label>
332
+ <v-select :value.sync="selectItem.f_meter_style" v-model="selectItem.f_meter_style"
333
+ :options='meterstyle' placeholder='请选择' style="width: 80%;float: left"
334
+ close-on-select >
335
+ </v-select>
336
+ </div>
337
+ </article>
338
+ <footer slot="modal-footer" class="modal-footer">
339
+ <button type="button" class="btn btn-default" @click='updateclose'>取消</button>
340
+ <button type="button" class="btn btn-success" @click='updateconfirm'>确认</button>
341
+ </footer>
342
+ </modal>
343
+
344
+
345
+ <modal :show.sync="showFile" v-ref:modal backdrop="false">
346
+ <header slot="modal-header" class="modal-header">
347
+ <button type="button" class="close" @click="closeFile"><span>&times;</span></button>
348
+ <h4 class="modal-title">档案导入</h4>
349
+ </header>
350
+ <article slot="modal-body" class="modal-body">
351
+ <div class="form-group">
352
+ <file-upload class="my-file-uploader" :name="key+Math.random()"
353
+ action="rs/file/uploadFile" tagname="文件导入" :headers="headers" v-ref:file></file-upload>
354
+ </div>
355
+ </article>
356
+ <footer slot="modal-footer" class="modal-footer"></footer>
357
+ </modal>
358
+
359
+ </template>
360
+
361
+ <script>
362
+ import {HttpResetClass} from 'vue-client'
363
+
364
+ export default {
365
+ title: '档案信息',
366
+ props: ['selectdata', 'key','edit'],
367
+ data() {
368
+ return {
369
+ headers: {'username': this.$login.f.name, 'blodid': this.selectdata.f_process_id, 'fusetype': '报建execl导入用户档案'},
370
+ //户档案表头
371
+ userHeadData: ['档案编号', '用户姓名', '用户电话', '区', '片区', '街道名称', '小区名称', '楼号', '单元号', '楼层', '门牌号', '用气性质', '用户状态'],
372
+ //户档案内容
373
+ userBodyData: ['f_userinfo_id', 'f_user_name', 'f_user_phone', 'f_area', 'f_slice_area', 'f_street', 'f_residential_area', 'f_building', 'f_unit', 'f_floor', 'f_room', 'f_gasproperties', 'f_user_state'],
374
+ //表档案表头
375
+ surHeadData: ['户档案编号', '表号', '气表品牌', '表型号'],
376
+ //表档案内容
377
+ surBodyData: ['f_userinfo_id', 'f_meternumber', 'f_meter_brand', 'f_meter_style'],
378
+ //设备表头
379
+ eqHeadData: ['户档案编号', '设备编号', '设备类型', '设备品牌','设备型号','设备数量'],
380
+ //设备内容
381
+ eqBodyData: ['f_userinfo_id', 'f_devices_no', 'f_devices_type', 'f_brand','f_devices_model','f_devices_num'],
382
+ // params: null,
383
+ record: {},
384
+ selectItem: {},
385
+ pricetype:[],
386
+ pricename:[],
387
+ model: {
388
+ rows: []
389
+ },
390
+ batchmodel :{
391
+ rows: []
392
+ },
393
+ params: { // 选择的具体内容
394
+ rows: []
395
+ },
396
+ condition: '',
397
+ show: false,
398
+ showFile: false,
399
+ ischecked: false,
400
+ getfield: {},
401
+ checked: [],
402
+ isShowdetail:false,
403
+ userinfo_id: null,
404
+ addshow:false,
405
+ meterstyle:[],
406
+ meterbrand:[],
407
+ updateshow:false,
408
+ importtype:null,
409
+ userstate:this.$appdata.getParam('用户状态'),
410
+ checker:this.$appdata.getParam('安全员'),
411
+ coststate:this.$appdata.getParam('结算状态'),
412
+ costtype:this.$appdata.getParam('缴费类型'),
413
+ aroundmeter:this.$appdata.getParam('左右表'),
414
+ gasproperties:this.$appdata.getParam('用气性质'),
415
+ usertypes:this.$appdata.getParam('用户类型'),
416
+ tablestate:this.$appdata.getParam('表状态'),
417
+ meterclassify:this.$appdata.getParam('气表类型'),
418
+ whetherhairpin:this.$appdata.getParam('是否发卡'),
419
+ position:this.$appdata.getParam('安装位置'),
420
+ inputtor:this.$appdata.getParam('抄表员')
421
+ }
422
+ },
423
+ ready() {
424
+ this.load()
425
+ this.getitem()
426
+ },
427
+ watch: {
428
+ 'selectdata'() {
429
+ this.headers.blodid = this.selectdata.f_process_id
430
+ this.load()
431
+ },
432
+
433
+ 'selectItem.f_meter_brand[0]'(val) {
434
+ console.log('选择的品牌改变了',val)
435
+ if (!val){
436
+ return
437
+ }
438
+ this.$resetpost('rs/logic/getMeterStyle', {data:{f_meter_brand :val}} ,{resolveMsg: null, rejectMsg: null}).then((res) => {
439
+ console.log('获取的选项',res)
440
+ let house2 = []
441
+ for (let row of res.data){
442
+ house2.push({label: row.f_meter_style,value: row.f_meter_style})
443
+ }
444
+ this.meterstyle = house2
445
+ })
446
+ },
447
+ 'selectItem.f_user_type[0]'(val) {
448
+ let condition =`f_user_type = '${val}' and f_filiale = '${this.$login.f.f_fengongsi}'
449
+ and f_gasproperties = '${this.selectItem.f_gasproperties}'`
450
+ this.$resetpost('rs/logic/getRecordItem', {condition}, {resolveMsg: null, rejectMsg: null}).then((res) => {
451
+ console.log('获取的选项',res)
452
+ let house2 = []
453
+ for (let row of res.data.pricetype){
454
+ house2.push({label: row.f_price_type,value: row.f_price_type})
455
+ }
456
+ this.pricetype = house2
457
+ })
458
+ },
459
+ 'selectItem.f_gasproperties[0]'(val) {
460
+ let condition =`f_user_type = '${this.selectItem.f_user_type}' and f_filiale = '${this.$login.f.f_fengongsi}'
461
+ and f_gasproperties = '${val}'`
462
+ this.$resetpost('rs/logic/getRecordItem', {condition}, {resolveMsg: null, rejectMsg: null}).then((res) => {
463
+ console.log('获取的选项',res)
464
+ let house2 = []
465
+ for (let row of res.data.pricetype){
466
+ house2.push({label: row.f_price_type,value: row.f_price_type})
467
+ }
468
+ this.pricetype = house2
469
+ })
470
+ },
471
+ 'selectItem.f_price_type[0]'(val) {
472
+ console.log('选择的品牌改变了',val)
473
+ if (!val){
474
+ return
475
+ }
476
+ let condition =`f_user_type = '${this.selectItem.f_user_type}' and f_filiale = '${this.$login.f.f_fengongsi}'
477
+ and f_gasproperties = '${this.selectItem.f_gasproperties}'
478
+ and f_price_type = '${val}'`
479
+ this.$resetpost('rs/logic/getRecordItem', {condition}, {resolveMsg: null, rejectMsg: null}).then((res) => {
480
+ console.log('获取的选项',res)
481
+ let house2 = []
482
+ for (let row of res.data.pricename){
483
+ house2.push({label: row.f_price_name,value: row.f_price_name})
484
+ }
485
+ this.pricename = house2
486
+ })
487
+
488
+ }
489
+ },
490
+
491
+ computed: {
492
+ address() {
493
+ let strAddress = `${this.record.f_area ? this.record.f_area
494
+ + '-' : ''}${this.record.f_street ? this.record.f_street
495
+ + '-' : ''}${this.record.f_residential_area ? this.record.f_residential_area
496
+ + '' : ''}${this.record.f_building ? this.record.f_building
497
+ + '号楼' : ''}${this.record.f_unit ? this.record.f_unit
498
+ + '单元' : ''}${this.record.f_floor ? this.record.f_floor
499
+ + '层' : ''}${this.record.f_room ? this.record.f_room
500
+ + '室' : ''}`
501
+ this.record.f_address = strAddress
502
+ return strAddress
503
+ },
504
+ getfield() {
505
+ let data = {}
506
+ this.userBodyData.forEach((value, index) => {
507
+ data[this.userBodyData[index]] = this.userHeadData[index]
508
+ })
509
+
510
+ console.log('data', data)
511
+ return data
512
+ }
513
+ },
514
+ methods: {
515
+ getitem(){
516
+ console.log('开始获取品牌')
517
+ let condition =`1=1`
518
+ this.$resetpost('rs/logic/getRecordItem', {condition}, {resolveMsg: null, rejectMsg: null}).then((res) => {
519
+ console.log('获取的选项',res)
520
+ let house2 = []
521
+ for (let row of res.data.meterbrand){
522
+ house2.push({label: row.f_meter_brand,value: row.f_meter_brand})
523
+ }
524
+ this.meterbrand = house2
525
+ })
526
+ },
527
+ addDetailed(){
528
+ this.importtype='2'
529
+ this.showFile = true
530
+ },
531
+ addclose(){
532
+ this.addshow = false
533
+ this.selectItem = {}
534
+ },
535
+
536
+ updateclose(){
537
+ this.updateshow = false
538
+ this.selectItem = {}
539
+ },
540
+ showdetail(val) {
541
+
542
+ console.log(val)
543
+ this.userinfo_id = val
544
+ this.isShowdetail=true
545
+ this.loadfiles()
546
+ },
547
+ async loadfiles() {
548
+ if (!this.selectdata)
549
+ return
550
+ let data = {
551
+ tablename: 't_userfiles',
552
+ condition: 'a.f_userinfo_id=' + '\'' + this.userinfo_id + '\''
553
+ }
554
+
555
+ let self = this
556
+ let http = new HttpResetClass()
557
+ let res = await http.load('POST', 'rs/sql/getUserfiles', {data: data}, {
558
+ resolveMsg: null,
559
+ rejectMsg: '获取表档案信息失败'
560
+ })
561
+ self.batchmodel.rows = []
562
+
563
+ self.batchmodel.rows = res.data
564
+ },
565
+ selected (val) {
566
+ this.selectItem = {"q":"q"}
567
+ },
568
+ //选择需要转银收的户档案
569
+ chooseOne(e, row, rows) {
570
+ console.log('row', row)
571
+ console.log('e', e)
572
+ this.ischecked = e.target.checked
573
+ console.log("state", e.target.checked)
574
+ //判断当前行是否被选中
575
+ if (this.ischecked) {
576
+ this.checked.push(row)
577
+ }
578
+ },
579
+ //修改选中的数据状态
580
+ changeState() {
581
+ if (this.checked.length > 0) {
582
+ let http = new HttpResetClass()
583
+ http.load('POST', 'rs/logic/updateUserState', {data: {rows: this.checked}}).then((res) => {
584
+ this.show = false
585
+ this.ischecked = false
586
+ // 如果没有id,需要在数组中添加
587
+ this.load()
588
+ this.checked = []
589
+ })
590
+ }
591
+ },
592
+ // 父组件更新子组件属性
593
+ updateData(val) {
594
+ this.headers.blodid = val.f_process_id
595
+ this.selectdata = val
596
+ },
597
+ async load() {
598
+ if (!this.selectdata)
599
+ return
600
+ let data = {
601
+ tablename: 't_userinfo u left join t_user_address ua on u.f_userinfo_id=ua.f_userinfo_id',
602
+ condition: 'f_process_id=' + '\'' + this.selectdata.f_process_id + '\''
603
+ }
604
+ let self = this
605
+ let http = new HttpResetClass()
606
+ let res = await http.load('POST', 'rs/sql/singleTableUserInfo', {data: data}, {
607
+ resolveMsg: null,
608
+ rejectMsg: '获取户档案信息失败'
609
+ })
610
+ self.model.rows = []
611
+ self.model.rows = res.data
612
+ self.params = res.data
613
+ },
614
+ impexcel() {
615
+ this.importtype='1'
616
+ this.showFile = true
617
+ },
618
+ closeFile() {
619
+ this.showFile = false
620
+ // 将选的文件清空
621
+ this.$refs.file.$el.querySelector('input').value = ''
622
+ },
623
+ delete(row){
624
+ console.log('开始删除')
625
+ let http = new HttpResetClass()
626
+ http.load('POST', 'rs/logic/deleteUserinfo', {data: {f_userinfo_id: row.f_userinfo_id}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
627
+ console.log('返回的数据:',res)
628
+ if (res.data != null && res.data != "") {
629
+ this.$showMessage(res.data)
630
+ }else {
631
+ this.$showMessage("删除成功!")
632
+ this.load()
633
+ }
634
+ })
635
+ },
636
+
637
+ deleteItem(row) {
638
+
639
+
640
+ /* this.$showMessage('删除后不可恢复,确认删除吗?', ['confirm', 'cancel']).then((res) => {
641
+ if (res === 'confirm') {
642
+ let http = new HttpResetClass()
643
+ http.load('DELETE', `rs/entity/t_userinfo/${row.f_userinfo_id}`).then((res) => {
644
+ this.load()
645
+ })
646
+ }
647
+ })*/
648
+
649
+ this.$showMessage('删除后不可恢复,确认删除吗?', ['confirm', 'cancel']).then((res) => {
650
+ if (res === 'confirm') {
651
+ let http = new HttpResetClass()
652
+ http.load('DELETE', `rs/entity/t_userfiles/${row.f_user_id}`).then((res) => {
653
+ this.loadfiles()
654
+ })
655
+ }
656
+ })
657
+
658
+ },
659
+ //户档案查询
660
+ filterParams(param) {
661
+ this.isShowdetail=false
662
+ if (param && param !== "") {
663
+ let temp = []
664
+ for (var i = 0; i < this.model.rows.length; i++) {
665
+ if (this.model.rows[i].f_user_name.includes(param)) {
666
+ temp.push(this.model.rows[i])
667
+ }
668
+ }
669
+ this.model.rows = temp
670
+ } else {
671
+ this.model.rows = this.params
672
+ }
673
+ },
674
+ //表档案查询
675
+ filterParam(param) {
676
+ if (param && param !== "") {
677
+ let temp = []
678
+ for (var i = 0; i < this.model.rows.length; i++) {
679
+ if (this.model.rows[i].f_meter_brand.includes(param)) {
680
+ temp.push(this.model.rows[i])
681
+ }
682
+ }
683
+ this.model.rows = temp
684
+ } else {
685
+ this.model.rows = this.params
686
+ }
687
+ },
688
+ //设备列表查询
689
+ findEq(param) {
690
+ debugger
691
+ if (param && param !== "") {
692
+ let temp = []
693
+ for (var i = 0; i < this.model.rows.length; i++) {
694
+ if (this.model.rows[i].f_meter_brand.includes(param)) {
695
+ temp.push(this.model.rows[i])
696
+ }
697
+ }
698
+ this.model.rows = temp
699
+ } else {
700
+ this.model.rows = this.params
701
+ }
702
+ },
703
+ add() {
704
+ this.show = true
705
+ console.log("点击了添加")
706
+ },
707
+ // 修改按钮
708
+ modifyParam(row) {
709
+ this.$set('selectItem.f_userinfo_id', row.f_userinfo_id)
710
+ this.$set('selectItem.f_user_name', row.f_user_name)
711
+ this.$set('selectItem.f_user_phone', row.f_user_phone)
712
+ this.$set('selectItem.f_area', row.f_area)
713
+ this.$set('selectItem.f_slice_area', row.f_slice_area)
714
+ this.$set('selectItem.f_street', row.f_street)
715
+ this.$set('selectItem.f_residential_area', row.f_residential_area)
716
+ this.$set('selectItem.f_building', row.f_building)
717
+ this.$set('selectItem.f_unit', row.f_unit)
718
+ this.$set('selectItem.f_floor', row.f_floor)
719
+ this.$set('selectItem.f_room', row.f_room)
720
+ this.selectItem.f_cost_type= [row.f_cost_type]
721
+ this.selectItem.f_cost_state=[row.f_cost_state]
722
+ this.$set('selectItem.f_people_num', row.f_people_num)
723
+ this.selectItem.f_checker=[row.f_checker]
724
+ this.selectItem.f_user_state= [row.f_user_state]
725
+ this.$set('selectItem.version', row.version)
726
+ this.show = true
727
+ },
728
+
729
+ //获取当前用户表档案信息
730
+ getUserFiles(row) {
731
+ this.isShowFiles = true
732
+ console.log('获取户档案信息')
733
+
734
+ data = {
735
+ tablename: 't_userfiles',
736
+ condition: `f_userinfo_id=${row.f_userinfo_id}`
737
+ }
738
+ http = new HttpResetClass()
739
+ let resGasbrand = http.load('POST', 'rs/sql/singleTable', {data: data}, {
740
+ resolveMsg: null,
741
+ rejectMsg: '获取档案信息失败'
742
+ })
743
+ self.model.rows = []
744
+ self.model.rows = res.data
745
+ },
746
+ //表档案修改
747
+ filesModify(row) {
748
+ console.log('表档案数据',row)
749
+ this.$set('selectItem.f_userinfo_id', row.f_userinfo_id)
750
+ this.$set('selectItem.f_user_id', row.f_user_id)
751
+ this.$set('selectItem.f_meternumber', row.f_meternumber)
752
+ this.selectItem.version = row.version
753
+ this.selectItem.f_user_type = [row.f_user_type]
754
+ this.selectItem.f_gasproperties = [row.f_gasproperties]
755
+ this.$set('selectItem.f_meter_base', row.f_meter_base)
756
+ this.selectItem.f_meter_brand = [row.f_meter_brand]
757
+ this.selectItem.f_meter_style = [row.f_meter_style]
758
+ this.selectItem.f_aroundmeter = [row.f_aroundmeter]
759
+ this.selectItem.f_price_type = [row.f_price_type]
760
+ this.selectItem.f_price_name = [row.f_price_name]
761
+ this.$set('selectItem.f_heater_gas', row.f_heater_gas)
762
+ this.selectItem.f_table_state = [row.f_table_state]
763
+ this.selectItem.f_meter_classify = [row.f_meter_classify]
764
+ this.selectItem.f_whether_hairpin = [row.f_whether_hairpin]
765
+ this.selectItem.f_position=[row.f_position]
766
+ this.selectItem.f_inputtor=[row.f_inputtor]
767
+ this.$set('selectItem.f_lossrate', row.f_lossrate)
768
+ this.addshow = true
769
+ this.getpricetype()
770
+
771
+ },
772
+ getpricetype(){
773
+ console.log('开始获取气价类别')
774
+ let condition =`f_user_type = '${this.selectItem.f_user_type}' and f_filiale = '${this.$login.f.f_fengongsi}'
775
+ and f_gasproperties = '${this.selectItem.f_gasproperties}'`
776
+ this.$resetpost('rs/logic/getRecordItem', {condition}, {resolveMsg: null, rejectMsg: null}).then((res) => {
777
+ console.log('获取的选项',res)
778
+ let house2 = []
779
+ for (let row of res.data.pricetype){
780
+ house2.push({label: row.f_price_type,value: row.f_price_type})
781
+ }
782
+ this.pricetype = house2
783
+ let house = []
784
+ for (let row of res.data.meterbrand){
785
+ house.push({label: row.f_meter_brand,value: row.f_meter_brand})
786
+ }
787
+ this.meterbrand = house
788
+ let house3 = []
789
+ for (let row of res.data.pricename){
790
+ house3.push({label: row.f_price_name,value: row.f_price_name})
791
+ }
792
+ this.pricename = house3
793
+ })
794
+ },
795
+ //新增修改或删除提交
796
+ async confirm() {
797
+ let http = new HttpResetClass()
798
+ await http.load('POST', 'rs/logic/recordSave', this.selectItem).then((res) => {
799
+ this.show = false
800
+ // 如果没有id,需要在数组中添加
801
+ this.load()
802
+ this.selectItem = {}
803
+ })
804
+
805
+ },
806
+
807
+ async addconfirm() {
808
+ if (!this.selectItem.f_price_type[0]){
809
+ this.$showAlert("气价类型不能为空","warning", 1500)
810
+ return
811
+ }
812
+ if (!this.selectItem.f_price_name[0]){
813
+ this.$showAlert("气价名称不能为空","warning", 1500)
814
+ return
815
+ }
816
+ let http = new HttpResetClass()
817
+ this.$set('selectItem.f_userinfo_id', this.userinfo_id)
818
+ this.selectItem.f_filiale=this.$login.f.f_fengongsi
819
+ await http.load('POST', 'rs/logic/addmeterrecord', this.selectItem).then((res) => {
820
+ this.addshow = false
821
+ // 如果没有id,需要在数组中添加
822
+ this.loadfiles()
823
+ this.selectItem = {}
824
+ if (res.data.msg != null && res.data.msg != "") {
825
+ this.$showMessage(res.data.msg)
826
+ }else {
827
+ this.$showMessage("修改成功!")
828
+ }
829
+ })
830
+ },
831
+ async updateconfirm(){
832
+ let http = new HttpResetClass()
833
+
834
+ await http.load('POST', 'rs/logic/updatemetrecord', this.selectItem,{resolveMsg: null, rejectMsg: '修改失败'}).then((res) => {
835
+ this.updateshow = false
836
+ // 如果没有id,需要在数组中添加
837
+ this.loadfiles()
838
+ this.selectItem = {}
839
+
840
+ })
841
+ },
842
+
843
+
844
+ // 关闭模态框
845
+ close() {
846
+ this.show = false
847
+ this.selectItem = {}
848
+ },
849
+ },
850
+ events: {
851
+ async onFileUpload(file, res) {
852
+ if (!this.selectdata.f_process_id) {
853
+ this.$showMessage("数据异常,导入失败")
854
+ return
855
+ }
856
+ if (this.importtype ==='1') {
857
+ //户档案导入
858
+ let data = {
859
+ tablename: 't_userinfo',
860
+ filepath: res.f_downloadpath,
861
+ f_area:this.selectdata.f_area,
862
+ f_slice_area:this.selectdata.f_slice_area,
863
+ f_street:this.selectdata.f_street,
864
+ f_residential_area:this.selectdata.f_residential_area,
865
+ f_process_id: this.selectdata.f_process_id,
866
+ f_key: this.$login.f.f_orgids,
867
+ f_operator: this.$login.f.name,
868
+ f_filiale: this.$login.f.f_fengongsi,
869
+ f_outlets: this.$login.f.f_parentname,
870
+ f_orgstr: this.$login.f.orgpathstr,
871
+ f_filialeids: this.$login.f.f_orgids,
872
+ f_filialeid: this.$login.f.f_orgids.split('.')[this.$login.f.f_orgids.split('.').length - 2] + '.'
873
+ }
874
+ let http2 = new HttpResetClass()
875
+ console.log('即将转发的数据',data)
876
+ await http2.load('POST', 'rs/logic/recordImport', data, {
877
+ resolveMsg: "",
878
+ rejectMsg: "导入失败!",
879
+ }).then((res) => {
880
+ console.log('返回信息',res)
881
+ this.load()
882
+ this.closeFile()
883
+ if (res.data.msg != null && res.data.msg != "") {
884
+ this.$showMessage(res.data.msg)
885
+ } else if (res.data.userIds.length > 0) {
886
+ this.$showMessage("以下编号的户档案不存在,请先添加户档案再添加表档案:" + res.data.userIds.toString())
887
+ } else if (res.data.reuserIds.length > 0) {
888
+ this.$showMessage("以下户档案编号的表档案已存在,请删除后重新导入:" + res.data.reuserIds.toString())
889
+ } else {
890
+ this.$showMessage("导入成功!")
891
+ }
892
+ })
893
+ }
894
+
895
+ }
896
+ }
897
+ }
898
+ </script>
899
+ <style>
900
+ .recordTable table tr th {
901
+ font-weight: bold;
902
+ }
903
+
904
+ .recordTable table tr:hover {
905
+ background-color: rgb(230, 230, 230);
906
+ }
907
+ </style>