safecheck-client 3.0.34-7 → 3.0.34-71

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