safecheck-client 3.0.34-9 → 3.0.34-90

Sign up to get free protection for your applications and to get access to all the features.
Files changed (136) hide show
  1. package/package.json +1 -1
  2. package/src/App-/345/215/225/351/241/265/351/235/242/346/211/223/345/214/205/347/224/250.vue +55 -0
  3. package/src/assets/123.png +0 -0
  4. package/src/assets/f8632d3c8c4c1cb68e99da754cab1a7.png +0 -0
  5. package/src/components/LoadData.vue +62 -0
  6. package/src/components/NewDefectList/DefectListNew.vue +1 -0
  7. package/src/components/android/AddPlanItemYy.vue +451 -0
  8. package/src/components/android/AndroidDefectDeal.vue +634 -634
  9. package/src/components/android/AndroidDefectDealBeforeSafe.vue +502 -0
  10. package/src/components/android/AreaSelect.vue +198 -0
  11. package/src/components/android/BuildingSelect.vue +192 -0
  12. package/src/components/android/CheckPlanSelect.vue +229 -0
  13. package/src/components/android/CurrentCreateYy.vue +1051 -0
  14. package/src/components/android/PaperFeedback.vue +33 -0
  15. package/src/components/android/QRCode/QRCodeBinding.vue +300 -0
  16. package/src/components/android/QRCode/QRCodePage.vue +212 -0
  17. package/src/components/android/SafecheckDevices.vue +2 -2
  18. package/src/components/android/SafecheckOrderV.vue +8 -12
  19. package/src/components/android/UserinfoSelect.vue +714 -0
  20. package/src/components/android/examples/410.png +0 -0
  21. package/src/components/android/examples/SafeListExamples.vue +279 -0
  22. package/src/components/android/examples/UserExamples.vue +137 -0
  23. package/src/components/android/examples/ViewDetailsExamples.vue +1235 -0
  24. package/src/components/android/examples/touxiang.png +0 -0
  25. package/src/components/pc/SafeVisitInfo.vue +261 -0
  26. package/src/components/rongcheng/AddPlanItem.vue +8 -0
  27. package/src/components/rongcheng/AspiratedUserInfo.vue +1 -1
  28. package/src/components/rongcheng/CheckSearchUser.vue +46 -16
  29. package/src/components/rongcheng/PaperStatem.vue +6 -1
  30. package/src/components/rongcheng/PhoneDevicesInfo.vue +16 -1
  31. package/src/components/rongcheng/PhoneUpUserinfo.vue +0 -92
  32. package/src/components/rongcheng/SafecheckOrderV.vue +12 -3
  33. package/src/components/rongcheng/SafecheckOrderVCli.vue +9 -0
  34. package/src/filiale/baiyin/android/AndroidDefectDeal.vue +4 -4
  35. package/src/filiale/baiyin/android/SafecheckOrderV.vue +2785 -0
  36. package/src/filiale/baiyin/android.js +1 -0
  37. package/src/filiale/baiyin/pc/CheckSearchUser.vue +2 -2
  38. package/src/filiale/baiyin/pc/DefectListNew.vue +3 -3
  39. package/src/filiale/baiyin/pc/PaperList.vue +7 -7
  40. package/src/filiale/bayan/android/AddPlanItem.vue +8 -0
  41. package/src/filiale/bayan/android/PaperFeedback.vue +63 -49
  42. package/src/filiale/bayan/android/PhoneUpUserinfo.vue +40 -40
  43. package/src/filiale/bayan/android/SafecheckOrderV.vue +58 -58
  44. package/src/filiale/bayan/android/SafecheckUserInfo.vue +5 -0
  45. package/src/filiale/bayan/pc/PaperList.vue +1 -0
  46. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +35 -15
  47. package/src/filiale/huaran/android/SafecheckOrderV.vue +2803 -0
  48. package/src/filiale/huaran/android.js +12 -0
  49. package/src/filiale/huaran/pc/CheckBook.vue +313 -0
  50. package/src/filiale/huaran/pc/CheckBookAll.vue +69 -0
  51. package/src/filiale/huaran/pc/CheckBookArea.vue +170 -0
  52. package/src/filiale/huaran/pc/CheckBookCompany.vue +166 -0
  53. package/src/filiale/huaran/pc/CheckBookDetails.vue +196 -0
  54. package/src/filiale/huaran/pc/CheckBookEntry.vue +61 -0
  55. package/src/filiale/huaran/pc/CheckBookList.vue +386 -0
  56. package/src/filiale/huaran/pc/CheckBookSearchArea.vue +564 -0
  57. package/src/filiale/huaran/pc/CheckBookSearchUnit.vue +229 -0
  58. package/src/filiale/huaran/pc/CheckBookSearchUser.vue +604 -0
  59. package/src/filiale/huaran/pc/CheckBookUser.vue +112 -0
  60. package/src/filiale/huaran/pc/PaperList.vue +822 -0
  61. package/src/filiale/huaran/pc/PlanManage.vue +887 -0
  62. package/src/filiale/huaran/pc/checkPlanList.vue +419 -0
  63. package/src/filiale/huaran/pc/checkUserList.vue +867 -0
  64. package/src/filiale/huaran/pc.js +27 -0
  65. package/src/filiale/jiaxian/android/AddPlanItem.vue +447 -0
  66. package/src/filiale/jiaxian/android/PhoneUpUserinfo.vue +1229 -0
  67. package/src/filiale/jiaxian/android/SafecheckDevices.vue +6 -6
  68. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -0
  69. package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -0
  70. package/src/filiale/jiaxian/android.js +4 -0
  71. package/src/filiale/jingyang/android/AddPlanItem.vue +458 -458
  72. package/src/filiale/jingyang/android/CurrentCreate.vue +1080 -1080
  73. package/src/filiale/jingyang/android/SafecheckOrderV.vue +2734 -2734
  74. package/src/filiale/jingyang/android.js +15 -15
  75. package/src/filiale/kelai/pc/CheckPlanAreaList.vue +15 -7
  76. package/src/filiale/qianneng/android/SafecheckOrderV.vue +1 -1
  77. package/src/filiale/qingtongxia/android/AddPlanItem.vue +450 -0
  78. package/src/filiale/qingtongxia/android/CurrentCreate.vue +1053 -0
  79. package/src/filiale/qingtongxia/android/PhoneUpUserinfo.vue +1230 -0
  80. package/src/filiale/qingtongxia/android/SafecheckUserInfo.vue +782 -0
  81. package/src/filiale/qingtongxia/android.js +14 -10
  82. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -0
  83. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -0
  84. package/src/filiale/ruihua/android.js +11 -0
  85. package/src/filiale/shanxian/android/SafecheckOrderV.vue +1 -1
  86. package/src/filiale/shanxian/pc/checkUserList.vue +4 -4
  87. package/src/filiale/siyang/android/AddPlanItem.vue +450 -0
  88. package/src/filiale/siyang/android/AppCheckPlan.vue +246 -0
  89. package/src/filiale/siyang/android/CurrentCreate.vue +1051 -0
  90. package/src/filiale/siyang/android.js +15 -11
  91. package/src/filiale/siyang/pc/CheckBookList.vue +396 -0
  92. package/src/filiale/siyang/pc/CheckBookSearchArea.vue +667 -0
  93. package/src/filiale/siyang/pc/CheckPlanAreaList.vue +512 -0
  94. package/src/filiale/siyang/pc/CheckSearchUser.vue +1035 -0
  95. package/src/filiale/siyang/pc/HiddenSituation.vue +167 -0
  96. package/src/filiale/siyang/pc/checkPlanList.vue +367 -0
  97. package/src/filiale/siyang/pc/checkUserList.vue +22 -18
  98. package/src/filiale/siyang/pc.js +22 -16
  99. package/src/filiale/tongchuan/android/Select.vue +421 -0
  100. package/src/filiale/tongchuan/android.js +1 -0
  101. package/src/filiale/tongchuan/pc/CheckPlanCountChartArea.vue +3 -1
  102. package/src/filiale/tongchuan/pc/DefectPaperWeiXiu.vue +6 -2
  103. package/src/filiale/tongchuan/pc/HiddenSituation.vue +3 -1
  104. package/src/filiale/tongchuan/pc/NewCheckpaper.vue +13 -22
  105. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +1 -1
  106. package/src/filiale/tongchuan/pc/SelectCheckPlan.vue +5 -2
  107. package/src/filiale/tongchuan/utils/EventListener.js +29 -0
  108. package/src/filiale/tongchuan/utils/coerceBoolean.js +7 -0
  109. package/src/filiale/weinan/android/SafecheckDevices.vue +1 -1
  110. package/src/filiale/weinan/android/SafecheckOrderV.vue +6 -2
  111. package/src/filiale/weinan/pc/CheckBookSearchUserList.vue +75 -62
  112. package/src/filiale/weinan/pc/CheckDetail.vue +11 -11
  113. package/src/filiale/weinan/pc/DefectPaperNew.vue +31 -0
  114. package/src/filiale/weinan/pc/DeviceChange.vue +1088 -0
  115. package/src/filiale/weinan/pc/checkUserList.vue +49 -113
  116. package/src/filiale/weinan/pc.js +1 -0
  117. package/src/filiale/wuan/android/SafecheckOrderV.vue +2241 -2240
  118. package/src/filiale/wuan/android/SafecheckUserInfo.vue +596 -592
  119. package/src/filiale/xilan/pc/checkUserList.vue +772 -0
  120. package/src/filiale/xilan/pc.js +12 -0
  121. package/src/filiale/yangchunboneng/android/SafecheckDevices.vue +10 -6
  122. package/src/filiale/yangchunboneng/android/SafecheckOrderV.vue +21 -1
  123. package/src/filiale/yangchunboneng/pc/CheckBookSearchUser.vue +23 -11
  124. package/src/filiale/yangchunboneng/pc/CheckBookUser.vue +6 -6
  125. package/src/filiale/yangchunboneng/pc/CheckPlanAreaList.vue +96 -30
  126. package/src/filiale/yangchunboneng/pc/CheckSearchUser.vue +10 -10
  127. package/src/filiale/yangchunboneng/pc/DefectPaperNew.vue +10 -10
  128. package/src/filiale/yangchunboneng/pc/PaperDefectMain.vue +84 -10
  129. package/src/filiale/yangchunboneng/pc/PaperList.vue +6 -6
  130. package/src/filiale/yuansheng/android/SafecheckDevices.vue +11 -1
  131. package/src/filiale/yuansheng/pc/NewCheckpaper.vue +10 -2
  132. package/src/main-/345/215/225/351/241/265/351/235/242/346/211/223/345/214/205/347/224/250.js +24 -0
  133. package/src/main.js +34 -33
  134. package/src/safecheck-android.js +11 -0
  135. package/src/safecheck-page.js +12 -0
  136. package/src/safecheck.js +3 -0
@@ -0,0 +1,867 @@
1
+ <template>
2
+ <div>
3
+ <criteria-paged :model="model" v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:criteria>
5
+ <div partial>
6
+ <div class="row ">
7
+ <label class="form-group font_normal_body"><b>用户信息</b></label>
8
+
9
+ <div class="form-group col-sm-1">
10
+ <input type="text" class="input_search" v-model="model.f_userinfo_code"
11
+ style="width: 95%" placeholder="客户编号" condition="ui.f_userinfo_code='{}'">
12
+ </div>
13
+ <div class="form-group col-sm-1">
14
+ <input type="text" class="input_search" v-model="model.f_user_name"
15
+ style="width: 95%" placeholder="客户名称" condition="ui.f_user_name like '%{}%'">
16
+ </div>
17
+ <div class="form-group col-sm-1">
18
+ <input type="text" class="input_search" v-model="model.f_address"
19
+ style="width: 95%" placeholder="客户地址" condition="ua.f_address like '%{}%'">
20
+ </div>
21
+ <div class="form-group col-sm-1 upuserinfo_sel">
22
+ <v-select
23
+ class="select select_list"
24
+ :width="'95%'"
25
+ :value.sync="model.f_area"
26
+ v-model="model.f_area"
27
+ :options='$parent.$parent.areaList'
28
+ :timeout="500"
29
+ @select-search="$parent.$parent.select_search"
30
+ placeholder='小区选择'
31
+ condition="ua.f_residential_area = '{}'"
32
+ close-on-select
33
+ value-single
34
+ >
35
+ </v-select>
36
+ </div>
37
+ <div class="form-group col-sm-4">
38
+ <button class="button_new" style="margin-right: 10px" @click="$parent.$parent.showUserCondition()">
39
+ 更多条件
40
+ </button>
41
+ <button class="button_new" style="margin-right: 10px" @click="$parent.$parent.showUploadCodeCondition()">
42
+ 导入编号
43
+ </button>
44
+ <button class="button_new" style="margin-right: 10px" @click="$parent.$parent.clearUserInfoId()">
45
+ 清空编号
46
+ </button>
47
+ <button class="button_search" style="margin-right: 10px" @click="search()">查询</button>
48
+ </div>
49
+ <div class="form-group col-sm-1" style="float: right">
50
+ <button class="button_search" style="margin-right: 10px" @click="$parent.$parent.dragtoPlanItem()">
51
+ 添入任务
52
+ </button>
53
+ </div>
54
+ <modal :show.sync="$parent.$parent.showCondtion" v-ref:modal :width="'50%'" :backdrop="false">
55
+ <div slot="modal-header" class="modal-header">
56
+ <h4 class="modal-title">
57
+ 用户查询条件
58
+ </h4>
59
+ </div>
60
+ <div slot="modal-body" class="modal-body">
61
+ <div class="row">
62
+ <div class="form-group col-sm-4">
63
+ <label class="font_normal_body">用户类型:</label>
64
+ <v-select
65
+ class="select select_list"
66
+ :value.sync="model.f_user_type"
67
+ v-model="model.f_user_type"
68
+ :options='$parent.$parent.userTypes'
69
+ placeholder='请选择'
70
+ condition="uf.f_user_type='{}'"
71
+ :search="false"
72
+ close-on-select
73
+ value-single
74
+ >
75
+ </v-select>
76
+ </div>
77
+ <div class="form-group col-sm-4">
78
+ <label class="font_normal_body">用户状态:</label>
79
+ <v-select
80
+ class="select select_list"
81
+ :value.sync="model.f_user_state"
82
+ v-model="model.f_user_state"
83
+ :options='$parent.$parent.userStates'
84
+ placeholder='请选择'
85
+ condition="ui.f_user_state='{}'"
86
+ :search="false"
87
+ close-on-select
88
+ value-single
89
+ >
90
+ </v-select>
91
+ </div>
92
+ <div class="form-group col-sm-4">
93
+ <label class="font_normal_body">用气性质:</label>
94
+ <v-select
95
+ class="select select_list"
96
+ :value.sync="model.f_gasproperties"
97
+ v-model="model.f_gasproperties"
98
+ :options='$parent.$parent.gasproperties'
99
+ placeholder='请选择'
100
+ condition="uf.f_gasproperties='{}'"
101
+ :search="false"
102
+ close-on-select
103
+ value-single
104
+ >
105
+ </v-select>
106
+ </div>
107
+ <div class="form-group col-sm-4">
108
+ <label class="font_normal_body">气表类型:</label>
109
+ <v-select
110
+ class="select select_list"
111
+ :value.sync="model.meter_classify"
112
+ v-model="model.meter_classify"
113
+ :options='$parent.$parent.meter_classifys'
114
+ placeholder='请选择'
115
+ condition="uf.F_METER_CLASSIFY='{}'"
116
+ :search="false"
117
+ close-on-select
118
+ value-single
119
+ >
120
+ </v-select>
121
+ </div>
122
+ <div class="form-group col-sm-4">
123
+ <label class="font_normal_body">街&emsp;&emsp;道:</label>
124
+ <v-select
125
+ class="select select_list"
126
+ :value.sync="model.f_street"
127
+ v-model="model.f_street"
128
+ :options='$parent.$parent.streets'
129
+ placeholder='请选择'
130
+ condition="ua.f_street_id='{}'"
131
+ close-on-select
132
+ value-single
133
+ >
134
+ </v-select>
135
+ </div>
136
+ <!--<div class="form-group col-sm-4" >
137
+ <label class="font_normal_body">小区名称:</label>
138
+ <input type="text" class="input_search" v-model="model.f_userinfo_code"
139
+ style="width: 60%" placeholder="请选择" condition="ua.f_residential_area = '{}'">
140
+ </div>-->
141
+ <div class="form-group col-sm-4">
142
+ <label class="font_normal_body">楼&ensp;栋&ensp;号:</label>
143
+ <input type="text" class="input_search" v-model="model.f_building"
144
+ style="width: 60%" placeholder="请选择" condition="ua.f_building='{}'">
145
+ </div>
146
+ <div class="form-group col-sm-4">
147
+ <label class="font_normal_body">单&ensp;元&ensp;号:</label>
148
+ <input type="text" class="input_search" v-model="model.f_unit"
149
+ style="width: 60%" placeholder="请选择" condition="ua.f_unit='{}'">
150
+ </div>
151
+ <div class="form-group col-sm-4">
152
+ <label class="font_normal_body">楼&ensp;层&ensp;号:</label>
153
+ <input type="text" class="input_search" v-model="model.f_floor"
154
+ style="width: 60%" placeholder="请选择" condition="ua.f_floor='{}'">
155
+ </div>
156
+ <div class="form-group col-sm-4">
157
+ <label class="font_normal_body">开户起始:</label>
158
+ <datepicker
159
+ placeholder='请选择'
160
+ style="width:60%"
161
+ :disabled-days-of-week="[]"
162
+ :format="'yyyy-MM-dd'"
163
+ :show-rest-button="reset"
164
+ :value.sync="model.f_startfile_time"
165
+ v-model="model.f_startfile_time"
166
+ condition="ui.f_createfile_date >= '{} 00:00:00'">
167
+ </datepicker>
168
+ </div>
169
+ <div class="form-group col-sm-4">
170
+ <label class="font_normal_body">开户截止:</label>
171
+ <datepicker
172
+ placeholder='请选择'
173
+ :disabled-days-of-week="[]"
174
+ style="width:60%"
175
+ :format="'yyyy-MM-dd'"
176
+ :show-rest-button="reset"
177
+ :value.sync="model.f_endfile_time"
178
+ v-model="model.f_endfile_time"
179
+ condition="ui.f_createfile_date <= '{} 23:59:59'">
180
+ </datepicker>
181
+ </div>
182
+ <div class="form-group col-sm-4">
183
+ <label class="font_normal_body">表&ensp;箱&ensp;号:</label>
184
+ <input type="text" class="input_search" v-model="model.f_metertitles"
185
+ style="width: 60%" placeholder="请输入" condition="uf.f_metertitles='{}'">
186
+ </div>
187
+ <div class="form-group col-sm-4">
188
+ <label class="font_normal_body">用户电话:</label>
189
+ <input type="text" class="input_search" v-model="model.f_user_phone"
190
+ style="width: 60%" placeholder="请输入" condition="ui.f_user_phone='{}'">
191
+ </div>
192
+ <div class="form-group col-sm-4">
193
+ <label class="font_normal_body">片&ensp;&ensp;&ensp;&ensp;区:</label>
194
+ <v-select
195
+ class="select select_list"
196
+ :value.sync="model.f_book_slice_area"
197
+ v-model="model.f_book_slice_area"
198
+ :options='$parent.$parent.sliceArea'
199
+ @change="$parent.$parent.slice_areaChange(model.f_book_slice_area)"
200
+ placeholder='请选择'
201
+ condition="ua.f_slice_area ='{}'"
202
+ close-on-select
203
+ value-single
204
+ >
205
+ </v-select>
206
+ </div>
207
+ <div class="form-group col-sm-4">
208
+ <label class="font_normal_body">抄&ensp;表&ensp;册:</label>
209
+ <v-select
210
+ class="select select_list"
211
+ :value.sync="model.f_meter_book_num"
212
+ v-model="model.f_meter_book_num"
213
+ :options='$parent.$parent.cbc'
214
+ placeholder='请选择'
215
+ condition="uf.f_meter_book_num='{}'"
216
+ close-on-select
217
+ value-single
218
+ >
219
+ </v-select>
220
+ </div>
221
+ <div class="form-group col-sm-4">
222
+ <label class="font_normal_body">派发情况:</label>
223
+ <v-select
224
+ class="select select_list"
225
+ :value.sync="model.yearCheck"
226
+ v-model="model.yearCheck"
227
+ :options='$parent.$parent.yearCheckList'
228
+ placeholder='请选择'
229
+ condition="{}"
230
+ :search="false"
231
+ close-on-select
232
+ value-single
233
+ >
234
+ </v-select>
235
+ </div>
236
+ <div class="form-group col-sm-4">
237
+ <label class="font_normal_body">安检起始:</label>
238
+ <datepicker
239
+ placeholder='请选择'
240
+ style="width:60%"
241
+ :disabled-days-of-week="[]"
242
+ :format="'yyyy-MM-dd'"
243
+ :show-rest-button="reset"
244
+ :value.sync="model.f_start_time"
245
+ v-model="model.f_start_time"
246
+ >
247
+ </datepicker>
248
+ </div>
249
+ <div class="form-group col-sm-4">
250
+ <label class="font_normal_body">安检截止:</label>
251
+ <datepicker
252
+ placeholder='请选择'
253
+ :disabled-days-of-week="[]"
254
+ style="width:60%"
255
+ :format="'yyyy-MM-dd'"
256
+ :show-rest-button="reset"
257
+ :value.sync="model.f_end_time"
258
+ v-model="model.f_end_time"
259
+ >
260
+ </datepicker>
261
+ </div>
262
+ <div class="form-group col-sm-4">
263
+ <label class="font_normal_body">安检状态:</label>
264
+ <v-select
265
+ class="select select_list"
266
+ :value.sync="model.f_last_check_state"
267
+ v-model="model.f_last_check_state"
268
+ :options='$parent.$parent.entry_status'
269
+ placeholder='请选择'
270
+ :search="false"
271
+ close-on-select
272
+ value-single
273
+ >
274
+ </v-select>
275
+ </div>
276
+ <div class="form-group col-sm-4">
277
+ <label class="font_normal_body">安&ensp;检&ensp;册:</label>
278
+ <v-select
279
+ class="select select_list"
280
+ :value.sync="model.checkBook"
281
+ v-model="model.checkBook"
282
+ :options='$parent.$parent.checkBooks'
283
+ placeholder='请选择'
284
+ :search="false"
285
+ close-on-select
286
+ value-single
287
+ >
288
+ </v-select>
289
+ </div>
290
+ <div class="form-group col-sm-4">
291
+ <label class="font_normal_body">通气起始:</label>
292
+ <datepicker
293
+ placeholder='通气开始时间'
294
+ style="width:60%"
295
+ :disabled-days-of-week="[]"
296
+ :format="'yyyy-MM-dd'"
297
+ :show-rest-button="reset"
298
+ :value.sync="model.f_startgas_time"
299
+ v-model="model.f_startgas_time"
300
+ condition="ui.f_uservent_date >= '{} 00:00:00'">
301
+ </datepicker>
302
+ </div>
303
+ <div class="form-group col-sm-4">
304
+ <label class="font_normal_body">通气截止:</label>
305
+ <datepicker
306
+ placeholder='通气结束时间'
307
+ :disabled-days-of-week="[]"
308
+ style="width:60%"
309
+ :format="'yyyy-MM-dd'"
310
+ :show-rest-button="reset"
311
+ :value.sync="model.f_endgas_time"
312
+ v-model="model.f_endgas_time"
313
+ condition="ui.f_uservent_date <= '{} 23:59:59'">
314
+ </datepicker>
315
+ </div>
316
+ <!--<div class="form-group col-sm-4" >
317
+ <label class="font_normal_body">入户情况:</label>
318
+ <v-select
319
+ class="select select_list"
320
+ :value.sync="model.f_hasHousehold"
321
+ v-model="model.f_hasHousehold"
322
+ :options='$parent.$parent.hasHousehold'
323
+ placeholder='请选择'
324
+ close-on-select
325
+ :search="false"
326
+ value-single
327
+ >
328
+ </v-select>
329
+ </div>-->
330
+
331
+ </div>
332
+ </div>
333
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
334
+ <button class="button_search" style="margin-right: 15px" @click="search()">查询</button>
335
+ <button class="button_search" @click="$parent.$parent.cancel">取消</button>
336
+ </div>
337
+ </modal>
338
+ <modal :show.sync="$parent.$parent.excelUserCondtion" width="500px" v-ref:modal1>
339
+ <div slot="modal-header" class="modal-header">
340
+ <h4 class="modal-title">
341
+ 导入用户编号
342
+ </h4>
343
+ </div>
344
+ <div slot="modal-body" class="modal-body">
345
+ <div class="row">
346
+ <file-upload class="my-file-uploader " name="UploadFile" class="btn btn-success"
347
+ style="border-radius: 2px;"
348
+ action="rs/file/uploadFile" tagname="档案信息导入" v-ref:file :headers="headers"
349
+ multiple></file-upload>
350
+ <img src="../../../assets/Excelformat.png" style="width: 100%"/>
351
+ </div>
352
+ </div>
353
+ <footer slot="modal-footer" class="modal-footer">
354
+ </footer>
355
+ </modal>
356
+ <!--<div class="form-group col-sm-4 button-range" >
357
+
358
+ <button class="button_search" style="margin-right: 10px" @click="search()">查询</button>
359
+ <export-excel-safe :data="$parent.$parent.exportParameter"
360
+ :field="$parent.$parent.excelHeaders"
361
+ sqlurl="rs/logic/SafeExportExcel" sql-name="planItem"
362
+ template-name='安检任务明细' :choose-col="true">
363
+ </export-excel-safe>
364
+
365
+ </div>-->
366
+ </div>
367
+ </div>
368
+ </criteria>
369
+ <data-grid :model="model" partial='list' class="table_sy">
370
+
371
+ <template partial='head'>
372
+ <tr>
373
+ <th>
374
+ <nobr><input type="checkbox" onClick="event.cancelBubble = true"
375
+ :checked="$parent.$parent.$parent.checkAll" @change="$parent.$parent.$parent.setCheckAll()"/>
376
+ 全选
377
+ </nobr>
378
+ </th>
379
+ <th>
380
+ <nobr>用户编号</nobr>
381
+ </th>
382
+ <th>
383
+ <nobr>用户名称</nobr>
384
+ </th>
385
+ <th>
386
+ <nobr>用户类型</nobr>
387
+ </th>
388
+ <th>
389
+ <nobr>用户电话</nobr>
390
+ </th>
391
+ <th>
392
+ <nobr>表具类型</nobr>
393
+ </th>
394
+ <th>
395
+ <nobr>小区名称</nobr>
396
+ </th>
397
+ <th>
398
+ <nobr>安检册</nobr>
399
+ </th>
400
+ <th>
401
+ <nobr>抄表册</nobr>
402
+ </th>
403
+ <th title="当前所在的安检任务名称">
404
+ <nobr>所属任务</nobr>
405
+ </th>
406
+ <th title="最后一次安检日期">
407
+ <nobr>安检日期</nobr>
408
+ </th>
409
+ <th>
410
+ <nobr>首次通气时间</nobr>
411
+ </th>
412
+ <th>
413
+ <nobr>详细地址</nobr>
414
+ </th>
415
+ </tr>
416
+ </template>
417
+ <template partial='body'>
418
+ <td style="text-align: center;white-space:nowrap;"><input type="checkbox" onClick="event.cancelBubble = true"
419
+ :checked="$parent.$parent.$parent.isChecked(row.id)"
420
+ @change="$parent.$parent.$parent.setCheckes(row.id)"/>
421
+ </td>
422
+ <td style="text-align: center">
423
+ <nobr>{{ row.f_userinfo_code }}</nobr>
424
+ </td>
425
+ <td style="text-align: center">
426
+ <nobr>{{ row.f_user_name }}</nobr>
427
+ </td>
428
+ <td style="text-align: center">
429
+ <nobr>{{ row.f_user_type }}</nobr>
430
+ </td>
431
+ <td style="text-align: center">
432
+ <nobr>{{ row.f_user_phone }}</nobr>
433
+ </td>
434
+ <td style="text-align: center">
435
+ <nobr>{{ row.f_meter_classify }}</nobr>
436
+ </td>
437
+ <td style="text-align: center">
438
+ <nobr>{{ row.f_residential_area }}</nobr>
439
+ </td>
440
+ <td style="text-align: center">
441
+ <nobr>{{ row.f_book_slice_area }}</nobr>
442
+ </td>
443
+ <td style="text-align: center">
444
+ <nobr>{{ row.f_book_name }}</nobr>
445
+ </td>
446
+ <td style="text-align: center">
447
+ <nobr>{{ row.f_plan_name }}</nobr>
448
+ </td>
449
+ <td style="text-align: center">
450
+ <nobr>{{ row.f_last_check_date }}</nobr>
451
+ </td>
452
+ <td style="text-align: center">
453
+ <nobr>{{ row.f_uservent_date }}</nobr>
454
+ </td>
455
+ <td style="text-align: center">
456
+ <nobr>{{ row.f_address }}</nobr>
457
+ </td>
458
+ </template>
459
+ </data-grid>
460
+ </criteria-paged>
461
+ </div>
462
+ </template>
463
+
464
+ <script>
465
+ import {HttpResetClass, PagedList} from "vue-client";
466
+ import Vue from "vue";
467
+
468
+ export default {
469
+ name: "PlanManage",
470
+ title: '任务管理',
471
+ data() {
472
+ return {
473
+ model: new PagedList('/rs/sql/FetchUserFileByOrgNoRuHuSXQ', 100, {
474
+ "orderitem": "'f_residential_area,f_building,f_unit,f_floor,f_room'",
475
+ "f_usertype": "''",
476
+ "month": "''",
477
+ "SafeCheckSX": {"f_check_start": '', "f_check_end": ''},
478
+ "SafeCheckCQ": "''",
479
+ "startday": "''",
480
+ "endday": "''"
481
+ }),
482
+ a: '1',
483
+ opt: [{label: "测试", value: "测试"}],
484
+ showCondtion: false,
485
+ userTypes: [],//用户类型
486
+ userStates: [],//用户状态
487
+ gasproperties: [],//用气性质
488
+ meter_classifys: [],//气表类型
489
+ hasHousehold: [{label: "全部", value: ""}, {label: "已入户", value: "已入户"}, {
490
+ label: "未入户",
491
+ value: "未入户"
492
+ }],
493
+ yearCheckList: [{label: "全部", value: ""}, {
494
+ label: "已在任务中",
495
+ value: "ua.f_plan_id is not null"
496
+ }, {label: "未在任务中", value: "ua.f_plan_id is null"}],
497
+ entry_status: this.$appdata.getParam('安检状态') ? [{
498
+ label: '全部',
499
+ value: ''
500
+ }, ...this.$appdata.getParam('安检状态')] : [{label: '全部', value: ''}],
501
+ sliceArea: [],
502
+ meterbooks: [],
503
+ // hasCheckBooks:'否',
504
+ checkBooks: [],
505
+ cbc: [],
506
+ areaList: [],
507
+ checkAll: false,
508
+ checkes: [],
509
+ excelUserCondtion: false,
510
+ uploadCodeCondition: '',
511
+ streets: []
512
+ }
513
+ },
514
+ props: ["selectplan", "userlogin"],
515
+ ready() {
516
+ this.$refs.paged.$refs.criteria.model.f_user_state = '正常'
517
+ // this.hasCheckBooks=this.$appdata.getSingleValue('是否使用安检册')
518
+ // this.$refs.paged.$refs.criteria.model.f_endfile_time=Util.toStartDateYearString()
519
+ //this.$refs.paged.$refs.criteria.model.f_hasHousehold='未入户'
520
+ this.getCheckBook()
521
+ this.setConList()
522
+ this.loadpage()
523
+
524
+ },
525
+ methods: {
526
+ getCheckBook() {
527
+ this.checkBooks = []
528
+ new HttpResetClass().load('POST', `/rs/sql/safe_singleTable_OrderBy`, {
529
+ data: {
530
+ items: 'id,f_check_book_name,f_check_book_type',
531
+ tablename: 't_check_book',
532
+ condition: `f_orgid = '${this.userlogin.orgid}'`,
533
+ orderitem: 'id desc'
534
+ }
535
+ }, {resolveMsg: null, rejectMsg: null}).then(res => {
536
+ this.checkBooks.push({label: '全部', value: ''})
537
+ res.data.forEach(ress => {
538
+ this.checkBooks.push({
539
+ label: ress.f_check_book_name,
540
+ value: `${ress.id}-${ress.f_check_book_type}`
541
+ })
542
+ })
543
+ })
544
+ },
545
+ loadpage() {
546
+ this.select_search()
547
+ this.select_street()
548
+ this.Mreadibook()
549
+ this.getSliceArea()
550
+ },
551
+ cancel() {
552
+ this.showCondtion = false
553
+ this.excelUserCondtion = false
554
+ },
555
+ //清空用户编号
556
+ clearUserInfoId() {
557
+ this.uploadCodeCondition = ''
558
+ Vue.showMessage("已清空用户编号")
559
+ },
560
+ showUploadCodeCondition() {
561
+ this.excelUserCondtion = true
562
+ },
563
+ selfSearch(args) {
564
+ //tag)
565
+ args.condition += ` and ui.f_filialeid='${this.userlogin.orgid}'`
566
+ /*if(args.model.f_hasHousehold=='已入户'){
567
+ args.condition +=` and Extract(year from TO_DATE(ua.f_last_check_date,'yyyy-mm-dd hh24:mi:ss'))=2021 and ua.F_LAST_CHECK_STATE='入户'`
568
+ }else if(args.model.f_hasHousehold=='未入户'){
569
+ args.condition +=` and (Extract(year from nvl(TO_DATE(ua.f_last_check_date,'yyyy-mm-dd hh24:mi:ss'),'1990-01-01 00:00:00'))!=2021 or nvl(ua.F_LAST_CHECK_STATE,'未入户')!='入户')`
570
+ }*/
571
+
572
+ if (args.model.f_last_check_state == '未检') {
573
+ let nocheckcon = 'and ( ui.f_last_check_date is null '
574
+ if (args.model.f_start_time) {
575
+ nocheckcon += ` or ui.f_last_check_date <='${args.model.f_start_time} 00:00:00' `
576
+ }
577
+ if (args.model.f_end_time) {
578
+ nocheckcon += ` or ui.f_last_check_date >='${args.model.f_end_time} 23:59:59' `
579
+ }
580
+ nocheckcon += ')'
581
+ args.condition += nocheckcon
582
+ } else {
583
+ if (args.model.f_last_check_state) {
584
+ args.condition += ` and ui.f_last_check_state = '${args.model.f_last_check_state}'`
585
+ }
586
+ if (args.model.f_start_time) {
587
+ args.condition += ` and ui.f_last_check_date >='${args.model.f_start_time} 00:00:00' `
588
+ }
589
+ if (args.model.f_end_time) {
590
+ args.condition += ` and ui.f_last_check_date <='${args.model.f_end_time} 23:59:59' `
591
+ }
592
+ }
593
+
594
+ if (args.model.checkBook) {
595
+ let arr = args.model.checkBook.split('-')
596
+ if (arr[1] == '用户') {
597
+ args.condition += ` and ua.f_check_book_id='${arr[0]}'`
598
+ } else {
599
+ args.condition += ` and area.f_check_book_id=${arr[0]} and ua.f_check_book_id is null`
600
+ }
601
+ }
602
+ if (this.uploadCodeCondition) {
603
+ args.condition += ` and ${this.uploadCodeCondition}`
604
+ }
605
+ this.cancel()
606
+ this.checkes = []
607
+ this.checkAll = false
608
+ this.model.search(args.condition, args.model, args.condValue)
609
+ },
610
+ showUserCondition() {
611
+ this.showCondtion = true
612
+ },
613
+ setConList() {
614
+ this.userTypes = this.$appdata.getParam('用户类型') ? [{
615
+ label: '全部',
616
+ value: ''
617
+ }, ...this.$appdata.getParam('用户类型')] : [{label: '全部', value: ''}]
618
+
619
+ this.userStates = this.$appdata.getParam('安检用户状态') ? [{
620
+ label: '全部',
621
+ value: ''
622
+ }, ...this.$appdata.getParam('安检用户状态')] : [{label: '全部', value: ''}]
623
+ this.gasproperties = this.$appdata.getParam('用气性质') ? [{
624
+ label: '全部',
625
+ value: ''
626
+ }, ...this.$appdata.getParam('用气性质')] : [{label: '全部', value: ''}]
627
+ this.meter_classifys = this.$appdata.getParam('气表类型') ? [{
628
+ label: '全部',
629
+ value: ''
630
+ }, ...this.$appdata.getParam('气表类型')] : [{label: '全部', value: ''}]
631
+ },
632
+ select_search(text) {
633
+ //tag
634
+ let pcdText = text ? ` and f_residential_area like '%${text}%'` : ''
635
+ new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
636
+ data: {
637
+ items: "*",
638
+ tablename: "t_area",
639
+ orderitem: "id",
640
+ condition: `f_orgid = '${this.userlogin.orgid}' ${pcdText} `
641
+ }
642
+ }, {resolveMsg: null, rejectMsg: null}).then((res) => {
643
+ //tag)
644
+ if (res.data.length > 0) {
645
+ this.areaList = []
646
+ this.areaList.push({label: "全部", value: ""})
647
+ res.data.forEach((result) => {
648
+ this.areaList.push({label: result.f_residential_area, value: result.f_residential_area})
649
+ })
650
+ }
651
+ //tag)
652
+ })
653
+ },
654
+ select_street() {
655
+ //tag
656
+ new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
657
+ data: {
658
+ items: "id,f_street",
659
+ tablename: "t_street",
660
+ orderitem: "id",
661
+ condition: `f_orgid = '${this.userlogin.orgid}'`
662
+ }
663
+ }, {resolveMsg: null, rejectMsg: null}).then((res) => {
664
+ //tag)
665
+ if (res.data.length > 0) {
666
+ this.streets = []
667
+ this.streets.push({label: "全部", value: ""})
668
+ res.data.forEach((result) => {
669
+ this.streets.push({label: result.f_street, value: result.id})
670
+ })
671
+ }
672
+ })
673
+ },
674
+ //获取抄表册
675
+ async Mreadibook() {
676
+ this.cbc = []
677
+ this.sliceArea = []
678
+ let http = new HttpResetClass()
679
+ let getMeterReadingBooks = await http.load('POST', 'rs/logic/getMeterBooksData',
680
+ {data: {f_orgid: "('" + this.userlogin.orgid + "')"}},
681
+ {resolveMsg: null, rejectMsg: '获取失败!!!'})
682
+ this.cbc = [{label: '全部', value: ''}]
683
+ //tag
684
+ //tag)
685
+ //tag
686
+ this.meterbooks = []
687
+ this.meterbooks = getMeterReadingBooks.data.meterbooks
688
+ this.meterbooks.forEach((res) => {
689
+ this.cbc.push({label: res.f_book_name, value: res.id})
690
+ /*if(res.f_book_slice_area){
691
+ if(this.sliceArea.indexOf(res.f_book_slice_area)<0){
692
+ this.sliceArea.push(res.f_book_slice_area)
693
+ }
694
+ }*/
695
+ })
696
+
697
+ },
698
+ //安检册获取
699
+ async getSliceArea() {
700
+ let http = new HttpResetClass()
701
+ let getAllArea = await http.load('POST', '/rs/search', {
702
+ source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
703
+ userid: this.userlogin.id
704
+ }, {resolveMsg: null, rejectMsg: '获取安检册出错!!!'})
705
+ this.sliceArea = [{label: '全部', value: ''}]
706
+ //tag
707
+ //tag
708
+ //tag
709
+ getAllArea.data.forEach((res) => {
710
+ if (res.parentid == this.userlogin.orgid) {
711
+ this.sliceArea.push({label: res.name, value: res.name})
712
+ }
713
+ })
714
+ //tag
715
+ },
716
+ //安检册改变-对应抄表册下拉重新赋值
717
+ slice_areaChange(value) {
718
+ //tag
719
+ if (!value) {
720
+ this.cbc = []
721
+ this.meterbooks.forEach((res) => {
722
+ this.cbc.push({label: res.f_book_name, value: res.id})
723
+ })
724
+ } else {
725
+ this.cbc = []
726
+ this.meterbooks.forEach((res) => {
727
+ if (res.f_book_slice_area == value) {
728
+ this.cbc.push({label: res.f_book_name, value: res.id})
729
+ }
730
+ })
731
+ }
732
+ },
733
+ isChecked(v) {
734
+ // 如果全选,不在的按选中算,否则,在的按选中算
735
+ if (this.checkAll) {
736
+ return this.checkes.indexOf(v) == -1
737
+ } else {
738
+ return this.checkes.indexOf(v) != -1
739
+ }
740
+ },
741
+ setCheckAll() {
742
+ this.checkAll = this.checkAll ? false : true;
743
+ // 全选改变后,清空选中数据
744
+ this.checkes = []
745
+ },
746
+ setCheckes(id) {
747
+ let index = this.checkes.indexOf(id)
748
+ if (index < 0) {
749
+ this.checkes.push(id)
750
+ } else {
751
+ this.checkes.splice(index, 1)
752
+ }
753
+ },
754
+ //将客户信息拖至任务中
755
+ async dragtoPlanItem() {
756
+ if (this.model.rows.length == 0) {
757
+ Vue.showMessage("未检测到列表中有用户!")
758
+ return
759
+ }
760
+ if (!this.checkAll && this.checkes.length == 0) {
761
+ Vue.showMessage("请先勾选你要添入到上方任务中的用户!")
762
+ return
763
+ }
764
+ if (this.selectplan && this.selectplan.id) {
765
+ this.$parent.isSend = true
766
+ try {
767
+ let res = await new HttpResetClass().load("POST", "/rs/logic/AddCheckPlanItem", {
768
+ data: {
769
+ f_operator: this.userlogin.name,
770
+ f_plan_id: this.selectplan.id,
771
+ f_safecheck_type: this.selectplan.f_safecheck_type,
772
+ f_filialeid: this.userlogin.orgid,
773
+ f_subscribe_date: '',
774
+ condition: this.model.condition,
775
+ switchCheckAll: true,
776
+ checkAll: this.checkAll,
777
+ param: this.checkes,
778
+ columnName: "ua.id"
779
+ }
780
+ }, {resolveMsg: null, rejectMsg: null})
781
+ //tag+"---"+res.data.result.length)
782
+ this.$parent.isSend = false
783
+ if (res.data.code == 200) {
784
+ //alert("添加成功!有"+res.data.result.length+"条用户地址已经存在于其他任务中: \n"+res.data.result.reduce((c,v)=>{c += v.f_user_name+":"+v.f_address+"\n"}),0)
785
+ this.$showMessage("添加成功!" + (res.data.result.length > 0 ? "有" + res.data.result.length + "条用户地址已经存在于其他任务中" : ""))
786
+ this.$parent.refresh()
787
+ } else {
788
+ this.$showMessage("添加失败!")
789
+ }
790
+ } catch (e) {
791
+ this.$showMessage("添加失败!")
792
+ }
793
+ } else {
794
+ this.$parent.isSend = false
795
+ this.$showMessage("请先打开一个任务再进行操作")
796
+ }
797
+ }
798
+ },
799
+ events: {
800
+ onFileUpload: function (file, res) {
801
+ //tag)
802
+ //tag)
803
+ let data = {
804
+ filepath: res.f_downloadpath
805
+ }
806
+ new HttpResetClass().load('POST', '/rs/logic/safe_GetUserInfoFromExcel', {data: data}, {
807
+ resolveMsg: '导入成功!已生成条件,若要去除导入条件请点击旁边 ‘清空用户编号’ 按钮。',
808
+ rejectMsg: '导入失败'
809
+ }).then((res) => {
810
+ this.uploadCodeCondition = res.data.condition
811
+ this.excelUserCondtion = false
812
+ })
813
+ },
814
+
815
+ }
816
+ }
817
+ </script>
818
+
819
+ <style scoped>
820
+ .safe-planfont {
821
+ font-family: MicrosoftYaHei;
822
+ font-size: 15px;
823
+ font-weight: normal;
824
+ font-stretch: normal;
825
+ letter-spacing: 2px;
826
+ color: #333333;
827
+ line-height: 25px;
828
+ }
829
+
830
+ .safe-bodyfont {
831
+ font-family: MicrosoftYaHei;
832
+ font-size: 14px;
833
+ font-weight: normal;
834
+ font-stretch: normal;
835
+ letter-spacing: 0px;
836
+ color: #999999;
837
+ line-height: 30px;
838
+ }
839
+
840
+ .safe-leftplan {
841
+ height: auto;
842
+ border-bottom: 1px solid #ececec;
843
+ padding: 10px 5px
844
+ }
845
+
846
+ .leftplan-center {
847
+ border-top: 1px solid #ececec;
848
+ border-bottom: 1px solid #ececec;
849
+ }
850
+
851
+ .safe_p {
852
+ white-space: nowrap;
853
+ overflow: hidden;
854
+ text-overflow: ellipsis;
855
+ }
856
+
857
+ .safe-div-p {
858
+ color: #4792de;
859
+ text-align: end;
860
+ padding: 8px 15px;
861
+ }
862
+ </style>
863
+ <style lang="less">
864
+ .upuserinfo_sel ul {
865
+ width: 150% !important;
866
+ }
867
+ </style>