safecheck-client 4.0.1-91 → 4.0.1-94

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/package.json +2 -2
  2. package/src/App.vue +31 -31
  3. package/src/components/CheckerCount/CheckCountUserList.vue +144 -144
  4. package/src/components/DefectDealMain/DefectListNew.vue +642 -642
  5. package/src/components/NewDefectList/DefectListNew.vue +6 -0
  6. package/src/components/Util/RightTreeSafeDep.vue +362 -362
  7. package/src/components/android/AddPlanItem.vue +447 -447
  8. package/src/components/android/AddPlanItemYy.vue +451 -451
  9. package/src/components/android/AddSpecialPlanItem.vue +426 -426
  10. package/src/components/android/AndroidDefectDeal.vue +701 -701
  11. package/src/components/android/CurrentCreateYy.vue +1051 -1051
  12. package/src/components/android/DailyworkloadQuery.vue +473 -473
  13. package/src/components/android/Devices.vue +327 -327
  14. package/src/components/android/Devicesm.vue +327 -327
  15. package/src/components/android/NewCheckpaperAndroid.vue +1338 -1343
  16. package/src/components/android/PaperFeedbackm.vue +1026 -1026
  17. package/src/components/android/PhoneRecordInfo.vue +113 -113
  18. package/src/components/android/PhoneSellInfo.vue +113 -113
  19. package/src/components/android/PhoneUpDetail.vue +1040 -1040
  20. package/src/components/android/QRCode/QRCodeBinding.vue +300 -300
  21. package/src/components/android/QRCode/QRCodePage.vue +212 -212
  22. package/src/components/android/SafePlanItem.vue +509 -509
  23. package/src/components/android/UploadPage.vue +232 -232
  24. package/src/components/android/examples/SafeListExamples.vue +296 -296
  25. package/src/components/android/old/PaperFeedback.vue +1015 -1015
  26. package/src/components/android/recheck/Recheck.vue +402 -402
  27. package/src/components/android/userinfo/SafecheckUserInfo.vue +776 -776
  28. package/src/components/checkplan/checkmsg.vue +459 -459
  29. package/src/components/defect/DefectList.vue +507 -507
  30. package/src/components/defect/DefectListWeixiu.vue +484 -484
  31. package/src/components/filialCircle/CircleList.vue +139 -139
  32. package/src/components/inspections/AddInspectPlanItem.vue +325 -325
  33. package/src/components/inspections/AddInspectPlanItems.vue +325 -325
  34. package/src/components/inspections/AddInspectPlanItemss.vue +317 -317
  35. package/src/components/inspections/DisplayInspectionList.vue +1224 -1224
  36. package/src/components/inspections/inspectionOrderV.vue +1853 -1853
  37. package/src/components/inspections/inspectionOrderVs.vue +1853 -1853
  38. package/src/components/inspections/inspectionOrderVss.vue +1856 -1856
  39. package/src/components/inspections/inspectionUserInfo.vue +398 -398
  40. package/src/components/map/PersonTrack.vue +226 -226
  41. package/src/components/paper/RegionalList.vue +220 -220
  42. package/src/components/pc/AnnouncementPC.vue +524 -524
  43. package/src/components/pc/DefectList.vue +742 -742
  44. package/src/components/pc/DefectMaterialLook.vue +98 -98
  45. package/src/components/pc/DeviceChange.vue +1068 -1068
  46. package/src/components/pc/PaperDefectMain.vue +905 -905
  47. package/src/components/pc/RoleSelectorDep.vue +166 -166
  48. package/src/components/pc/SafeVisitInfo.vue +261 -261
  49. package/src/components/report/HiddenSituation.vue +165 -165
  50. package/src/components/rongcheng/AspiratedOrderV.vue +2377 -2377
  51. package/src/components/rongcheng/CurrentCreateOnline.vue +906 -906
  52. package/src/components/rongcheng/DefectList.vue +560 -560
  53. package/src/components/rongcheng/SafecheckOrderVCli.vue +2641 -2641
  54. package/src/components/safecheckNew/android/AddPlanItem.vue +419 -419
  55. package/src/components/safecheckNew/android/CurrentCreate.vue +1050 -1050
  56. package/src/components/safecheckNew/android/Recheck.vue +379 -379
  57. package/src/components/sendsingle/EquipmentManagement.vue +727 -727
  58. package/src/components/shaoguan/DefectList.vue +473 -473
  59. package/src/components/shaoguan/SafecheckOrderV.vue +2140 -2140
  60. package/src/components/tongcheng/PaperFeedback.vue +1061 -1061
  61. package/src/components/userfile/SecurityAudit.vue +243 -243
  62. package/src/filiale/ALshan/pc/DefectListWeixiu.vue +476 -476
  63. package/src/filiale/ancheng/android/SafecheckOrderV.vue +2703 -2703
  64. package/src/filiale/ancheng/android/SafecheckUserInfo.vue +737 -737
  65. package/src/filiale/ancheng/pc/checkScreen.vue +923 -923
  66. package/src/filiale/ankangyihua/android/AddPlanItem.vue +446 -446
  67. package/src/filiale/ankangyihua/android/SafecheckOrderV.vue +2908 -2908
  68. package/src/filiale/ankangyihua/pc/DefectListWeixiu.vue +491 -491
  69. package/src/filiale/baiyin/android/SafecheckOrderV.vue +2785 -2785
  70. package/src/filiale/baiyin/pc/DefectListNew.vue +597 -597
  71. package/src/filiale/bayan/android/Edit.vue +132 -132
  72. package/src/filiale/bayan/pc/DefectListNew.vue +597 -597
  73. package/src/filiale/bayan/pc/DeviceChange.vue +1838 -1838
  74. package/src/filiale/bayan/pc/HiddenSituation.vue +295 -295
  75. package/src/filiale/dexin/android/CasualSave.vue +1050 -1050
  76. package/src/filiale/dexin/android/SafecheckOrderV.vue +2950 -2950
  77. package/src/filiale/fugou/android/AddPlanItem.vue +413 -413
  78. package/src/filiale/fugou/android/SafecheckOrderV.vue +2796 -2796
  79. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +830 -830
  80. package/src/filiale/fugu/android/SafecheckOrderV.vue +2484 -2484
  81. package/src/filiale/fugu/pc/NewCheckpaper.vue +1287 -1287
  82. package/src/filiale/ganquan/android/AddPlanItem.vue +444 -444
  83. package/src/filiale/ganquan/android/SafecheckOrderV.vue +2485 -2485
  84. package/src/filiale/ganquan/pc/NewCheckpaper.vue +1354 -1354
  85. package/src/filiale/guangxi/pc/DefectListNew.vue +518 -518
  86. package/src/filiale/hanzhong/android/SafecheckOrderV.vue +2683 -2683
  87. package/src/filiale/hanzhong/android/SafecheckUserInfo.vue +786 -786
  88. package/src/filiale/huaran/android/SafecheckOrderV.vue +2803 -2803
  89. package/src/filiale/huatong/android/SafecheckOrderV.vue +2426 -2426
  90. package/src/filiale/huatong/android/SafecheckUserInfo.vue +749 -749
  91. package/src/filiale/huayin/pc/NewCheckpaper.vue +1307 -1307
  92. package/src/filiale/jiaocheng/android/AddPlanItem.vue +435 -435
  93. package/src/filiale/jiaocheng/android/SafecheckUserInfo.vue +737 -737
  94. package/src/filiale/jiaocheng/pc/DefectListNew.vue +576 -576
  95. package/src/filiale/jiaxian/android/AddPlanItem.vue +447 -447
  96. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -2807
  97. package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -784
  98. package/src/filiale/jinbin/pc/DefectListWeixiu.vue +478 -478
  99. package/src/filiale/jingyang/android/AddPlanItem.vue +458 -458
  100. package/src/filiale/jingyang/android/SafecheckOrderV.vue +2734 -2734
  101. package/src/filiale/jingyang/android/SafecheckUserInfo.vue +781 -781
  102. package/src/filiale/jinhong/android/CurrentCreate.vue +1310 -1284
  103. package/src/filiale/jinhong/pc/CheckBookList.vue +393 -393
  104. package/src/filiale/jinhong/pc/PaperList.vue +853 -853
  105. package/src/filiale/jinhong/pc/PlanManage.vue +927 -927
  106. package/src/filiale/jinhong/pc/checkPlanList.vue +420 -420
  107. package/src/filiale/jinhong/pc/checkUserList.vue +770 -766
  108. package/src/filiale/kelai/android/AddPlanItem.vue +488 -488
  109. package/src/filiale/kelai/android/SafecheckUserInfo.vue +774 -774
  110. package/src/filiale/kelai/android/SafecheckUserInfo1.vue +618 -618
  111. package/src/filiale/kelai/pc/DefectListNew.vue +688 -688
  112. package/src/filiale/kelai/pc/FaultLimitGas/FaultLimitGasList.vue +518 -518
  113. package/src/filiale/kelai/pc/NewCheckpaper.vue +1454 -1454
  114. package/src/filiale/liaoyuan/android/AddPlanItem.vue +412 -412
  115. package/src/filiale/liaoyuan/android/CurrentCreate.vue +1066 -1066
  116. package/src/filiale/liaoyuan/android/SafecheckOrderV.vue +2388 -2388
  117. package/src/filiale/liaoyuan/android/SafecheckUserInfo.vue +557 -557
  118. package/src/filiale/liaoyuan/pc/DefectListWeixiu.vue +489 -489
  119. package/src/filiale/liaoyuan/pc/NewCheckpaper.vue +1020 -1020
  120. package/src/filiale/libo/android/CurrentCreate.vue +1091 -1091
  121. package/src/filiale/libo/android.js +15 -15
  122. package/src/filiale/lixian/android/SafecheckOrderV.vue +2404 -2404
  123. package/src/filiale/lixian/android/SafecheckUserInfo.vue +578 -578
  124. package/src/filiale/lixian/pc/NewCheckpaper.vue +1211 -1211
  125. package/src/filiale/meihekou/android/AreaPlan.vue +577 -577
  126. package/src/filiale/meihekou/android/MeterReading.vue +110 -110
  127. package/src/filiale/meihekou/android/PhoneUpUserinfo.vue +1307 -1307
  128. package/src/filiale/meihekou/android/SafecheckUserInfo.vue +785 -785
  129. package/src/filiale/meihekou/pc/NewCheckpaperTemp.vue +1288 -1288
  130. package/src/filiale/minsheng/android/SafecheckUserInfo.vue +754 -754
  131. package/src/filiale/minsheng/pc/DefectListNew.vue +535 -535
  132. package/src/filiale/pingxiang/android/SafecheckOrderV.vue +2424 -2424
  133. package/src/filiale/pingxiang/android/SafecheckUserInfo.vue +600 -600
  134. package/src/filiale/pingxiang/pc/DefectListNew.vue +519 -519
  135. package/src/filiale/pingxiang/pc/NewCheckpaper.vue +1294 -1294
  136. package/src/filiale/qianneng/android/AddPlanItem.vue +482 -482
  137. package/src/filiale/qianneng/android/SafecheckOrderV.vue +2785 -2785
  138. package/src/filiale/qianneng/android/SafecheckUserInfo.vue +775 -775
  139. package/src/filiale/qianneng/pc/DefectListNew.vue +576 -576
  140. package/src/filiale/qianneng/pc/NewCheckpaper.vue +1546 -1546
  141. package/src/filiale/qingjian/android/SafecheckOrderV.vue +2844 -2844
  142. package/src/filiale/qingjian/android/SafecheckUserInfo.vue +800 -800
  143. package/src/filiale/qingjian/pc/NewCheckpaper.vue +1871 -1871
  144. package/src/filiale/qingjian/pc/SecurityCheckCoordinates.vue +359 -359
  145. package/src/filiale/qingjian/pc.js +15 -15
  146. package/src/filiale/qingtongxia/android/AddPlanItem.vue +450 -450
  147. package/src/filiale/qingtongxia/android/SafecheckOrderV.vue +2726 -2726
  148. package/src/filiale/qingtongxia/android/SafecheckUserInfo.vue +782 -782
  149. package/src/filiale/qingtongxia/pc/DefectListNew.vue +594 -594
  150. package/src/filiale/rizhao/android/AddPlanItem.vue +446 -446
  151. package/src/filiale/rizhao/android/SafecheckOrderV.vue +2430 -2430
  152. package/src/filiale/rizhao/android/SafecheckUserInfo.vue +640 -640
  153. package/src/filiale/rizhao/pc/DefectList.vue +489 -489
  154. package/src/filiale/rongchuang/android/SafecheckOrderV.vue +2696 -2696
  155. package/src/filiale/rongchuang/android/checkpapermsg.vue +209 -209
  156. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -2747
  157. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -804
  158. package/src/filiale/shanggao/android/SafecheckOrderV.vue +2426 -2426
  159. package/src/filiale/shanxian/android/SafecheckUserInfo.vue +749 -749
  160. package/src/filiale/shanxian/pc/HiddenSituation.vue +121 -121
  161. package/src/filiale/shanxian/pc/NewCheckpaper.vue +1526 -1526
  162. package/src/filiale/shexian/android/AddPlanItem.vue +444 -444
  163. package/src/filiale/shexian/android/SafecheckOrderV.vue +2879 -2879
  164. package/src/filiale/shexian/pc/DefectListNew.vue +593 -593
  165. package/src/filiale/shexian/pc/NewCheckpaper.vue +1469 -1469
  166. package/src/filiale/shimen/android/SafecheckUserInfo.vue +547 -547
  167. package/src/filiale/shimen/pc/DefectList.vue +473 -473
  168. package/src/filiale/shimen/pc/NewCheckpaper.vue +1275 -1275
  169. package/src/filiale/siyang/android/AddPlanItem.vue +450 -450
  170. package/src/filiale/siyang/android/CurrentCreate.vue +1051 -1051
  171. package/src/filiale/siyang/android/PhoneRecordInfo.vue +214 -214
  172. package/src/filiale/siyang/android/SafecheckOrderV.vue +2796 -2796
  173. package/src/filiale/siyang/android/SafecheckUserInfo.vue +789 -789
  174. package/src/filiale/siyang/pc/HiddenSituation.vue +167 -167
  175. package/src/filiale/taiyuan/pc/NewCheckpaper.vue +1976 -1976
  176. package/src/filiale/taiyuan/pc/PlanManage.vue +891 -891
  177. package/src/filiale/taiyuan/pc/checkUserList.vue +798 -798
  178. package/src/filiale/tianke/android/AddPlanItem.vue +455 -455
  179. package/src/filiale/tianke/android/SafecheckOrderV.vue +2431 -2431
  180. package/src/filiale/tianke/android/SafecheckUserInfo.vue +744 -744
  181. package/src/filiale/tongchuan/android/AddPlanItem.vue +483 -483
  182. package/src/filiale/tongchuan/android/PhoneRecordInfo.vue +191 -191
  183. package/src/filiale/tongchuan/android/PhoneSellInfo.vue +113 -113
  184. package/src/filiale/tongchuan/android/SafecheckUserInfo.vue +720 -720
  185. package/src/filiale/tongchuan/pc/CheckBookDetails.vue +209 -209
  186. package/src/filiale/tongchuan/pc/DefectListWeixiu.vue +484 -484
  187. package/src/filiale/tongchuan/pc/HiddenSituation.vue +166 -166
  188. package/src/filiale/weinan/android/AddPlanItem.vue +438 -438
  189. package/src/filiale/weinan/android/CurrentCreate.vue +1171 -1171
  190. package/src/filiale/weinan/android/CurrentCreateOnline.vue +911 -911
  191. package/src/filiale/weinan/android/SafePlanItem.vue +440 -440
  192. package/src/filiale/weinan/android/SafecheckUserInfo.vue +778 -778
  193. package/src/filiale/weinan/pc/DefectListNew.vue +617 -617
  194. package/src/filiale/weinan/pc/DeviceChange.vue +1088 -1088
  195. package/src/filiale/weinan/pc/HiddenSituation.vue +167 -167
  196. package/src/filiale/weinan/pc/checkScreen.vue +1094 -1094
  197. package/src/filiale/weinanct/android/SafecheckOrderV.vue +2730 -2730
  198. package/src/filiale/weinanct/pc/NewCheckpaper.vue +1315 -1315
  199. package/src/filiale/wensu/android/AddPlanItem.vue +495 -495
  200. package/src/filiale/wensu/android/AndroidDefectDeal.vue +464 -464
  201. package/src/filiale/wensu/android/PaperFeedback.vue +1358 -1358
  202. package/src/filiale/wensu/android/SafecheckOrderV.vue +2430 -2430
  203. package/src/filiale/wensu/android/SafecheckUserInfo.vue +627 -627
  204. package/src/filiale/wensu/pc/DefectListNew.vue +735 -735
  205. package/src/filiale/wenxi/android/AddPlanItem.vue +431 -431
  206. package/src/filiale/wenxi/android/SafecheckOrderV.vue +2671 -2671
  207. package/src/filiale/wenxi/android/SafecheckUserInfo.vue +673 -673
  208. package/src/filiale/wenxi/pc/DefectList.vue +653 -653
  209. package/src/filiale/wenxi/pc/NewCheckpaper.vue +1358 -1358
  210. package/src/filiale/wuan/android/SafecheckOrderV.vue +2241 -2241
  211. package/src/filiale/wuan/android/SafecheckUserInfo.vue +596 -596
  212. package/src/filiale/wuan/pc/DefectListWeixiu.vue +506 -506
  213. package/src/filiale/wuan/pc/NewCheckpaper.vue +1169 -1169
  214. package/src/filiale/wuhai/android/SafecheckOrderV.vue +2456 -2456
  215. package/src/filiale/wuhai/android/SafecheckUserInfo.vue +573 -573
  216. package/src/filiale/wuhai/pc/NewCheckpaper.vue +1281 -1281
  217. package/src/filiale/xiangyuanzhongai/android/PhoneUpUserinfo.vue +1251 -1251
  218. package/src/filiale/xinkang/pc/CheckSearchUser.vue +1026 -1026
  219. package/src/filiale/xinkang/pc/DefectListWeixiu.vue +475 -475
  220. package/src/filiale/yangchunboneng/android/AddPlanItem.vue +496 -496
  221. package/src/filiale/yangchunboneng/android/SafecheckOrderV.vue +2865 -2865
  222. package/src/filiale/yangchunboneng/android/SafecheckUserInfo.vue +887 -887
  223. package/src/filiale/yangchunboneng/pc/DefectListNew.vue +576 -576
  224. package/src/filiale/yongzhou/android/SafecheckOrderV.vue +2774 -2774
  225. package/src/filiale/yongzhou/android/SafecheckUserInfo.vue +776 -776
  226. package/src/filiale/yuansheng/android/SafecheckOrderV.vue +2758 -2758
  227. package/src/filiale/yuansheng/android/SafecheckUserInfo.vue +797 -797
  228. package/src/filiale/yuansheng/pc/DefectListNew.vue +524 -524
  229. package/src/filiale/yuansheng/pc/NewCheckpaper.vue +1371 -1371
  230. package/src/filiale/yuansheng/pc/checkmsg.vue +464 -464
  231. package/src/filiale/yunchengminsheng/android/DailyworkloadQuery.vue +491 -491
  232. package/src/filiale/yunchengminsheng/android/PaperFeedback.vue +1509 -1509
  233. package/src/filiale/yunchengminsheng/android/PhoneSellInfo.vue +113 -113
  234. package/src/filiale/yunchengminsheng/android/SafecheckDevices.vue +1270 -1270
  235. package/src/filiale/yunchengminsheng/android/SafecheckUserInfo.vue +785 -785
  236. package/src/filiale/yunchengminsheng/android.js +15 -15
  237. package/src/filiale/yunchengminsheng/pc/PaperList.vue +811 -811
  238. package/src/filiale/yunchengminsheng/pc.js +15 -15
  239. package/src/filiale/zhongsheng/android/BuyRecords.vue +122 -122
  240. package/src/filiale/zhongsheng/android/SafecheckOrderV.vue +2461 -2461
  241. package/src/filiale/zhongsheng/android/SafecheckUserInfo.vue +690 -690
  242. package/src/filiale/zhongsheng/pc/DefectListWeixiu.vue +514 -514
  243. package/src/filiale/zhongsheng/pc/NewCheckpaper.vue +1322 -1322
  244. package/src/filiale/zhongyi/android/SafecheckOrderV.vue +2431 -2431
  245. package/src/filiale/zhongyi/pc/DefectListNew.vue +514 -514
  246. package/src/filiale/zhoukou/android/SafecheckOrderV.vue +2502 -2502
  247. package/src/filiale/zhoukou/android/SafecheckUserInfo.vue +588 -588
  248. package/src/main.js +33 -32
  249. package/src/safecheck.js +924 -924
@@ -1,766 +1,770 @@
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_meternumber"
15
- style="width: 95%" placeholder="表号" condition="uf.f_meternumber 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-1 upuserinfo_sel" >
38
- <v-select v-model="model.f_meter_book_num"
39
- :multiple="true" :options='$parent.$parent.checkBooks'
40
- :value.sync="model.f_meter_book_num"
41
- class="select select_list"
42
- @select-search="$parent.$parent.select_book"
43
- :width="'95%'"
44
- :timeout="500"
45
- placeholder='安检册选择'
46
- condition="ua.f_check_book_id in {}" >
47
- </v-select>
48
-
49
- </div>
50
- <div class="form-group col-sm-4" >
51
- <button class="button_new" style="margin-right: 10px" @click="$parent.$parent.showUserCondition()">更多条件</button>
52
- <button class="button_new" style="margin-right: 10px" @click="$parent.$parent.showUploadCodeCondition()">导入编号</button>
53
- <button class="button_new" style="margin-right: 10px" @click="$parent.$parent.clearUserInfoId()">清空编号</button>
54
- <button class="button_search" style="margin-right: 10px" @click="search()">查询</button>
55
- <button class="button_search" style="margin-right: 10px" @click="$parent.$parent.clearcon()">重置</button>
56
- </div>
57
- <div class="form-group col-sm-1" style="float: right">
58
- <button class="button_search" style="margin-right: 10px" @click="$parent.$parent.dragtoPlanItem()">添入计划</button>
59
- </div>
60
- <modal :show.sync="$parent.$parent.showCondtion" v-ref:modal :width="'50%'" :backdrop="false">
61
- <div slot="modal-header" class="modal-header">
62
- <h4 class="modal-title">
63
- 用户查询条件
64
- </h4>
65
- </div>
66
- <div slot="modal-body" class="modal-body">
67
- <div class="row">
68
- <div class="form-group col-sm-4" >
69
- <label class="font_normal_body">用户类型:</label>
70
- <v-select
71
- class="select select_list"
72
- :value.sync="model.f_user_type"
73
- v-model="model.f_user_type"
74
- :options='$parent.$parent.userTypes'
75
- placeholder='请选择'
76
- condition="uf.f_user_type='{}'"
77
- :search="false"
78
- close-on-select
79
- value-single
80
- >
81
- </v-select>
82
- </div>
83
- <div class="form-group col-sm-4" >
84
- <label class="font_normal_body">用户状态:</label>
85
- <v-select
86
- class="select select_list"
87
- :value.sync="model.f_user_state"
88
- v-model="model.f_user_state"
89
- :options='$parent.$parent.userStates'
90
- placeholder='请选择'
91
- condition="ui.f_user_state='{}'"
92
- :search="false"
93
- close-on-select
94
- value-single
95
- >
96
- </v-select>
97
- </div>
98
- <div class="form-group col-sm-4" >
99
- <label class="font_normal_body">用气性质:</label>
100
- <v-select
101
- class="select select_list"
102
- :value.sync="model.f_gasproperties"
103
- v-model="model.f_gasproperties"
104
- :options='$parent.$parent.gasproperties'
105
- placeholder='请选择'
106
- condition="uf.f_gasproperties='{}'"
107
- :search="false"
108
- close-on-select
109
- value-single
110
- >
111
- </v-select>
112
- </div>
113
- <div class="form-group col-sm-4" >
114
- <label class="font_normal_body">气表类型:</label>
115
- <v-select
116
- class="select select_list"
117
- :value.sync="model.meter_classify"
118
- v-model="model.meter_classify"
119
- :options='$parent.$parent.meter_classifys'
120
- placeholder='请选择'
121
- condition="uf.F_METER_CLASSIFY='{}'"
122
- :search="false"
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">街&emsp;&emsp;道:</label>
130
- <v-select
131
- class="select select_list"
132
- :value.sync="model.f_street"
133
- v-model="model.f_street"
134
- :options='$parent.$parent.streets'
135
- placeholder='请选择'
136
- condition="ua.f_street_id='{}'"
137
- close-on-select
138
- value-single
139
- >
140
- </v-select>
141
- </div>
142
- <div class="form-group col-sm-4" >
143
- <label class="font_normal_body">楼&ensp;栋&ensp;号:</label>
144
- <input type="text" class="input_search" v-model="model.f_building"
145
- style="width: 60%" placeholder="请选择" condition="ua.f_building='{}'">
146
- </div>
147
- <div class="form-group col-sm-4" >
148
- <label class="font_normal_body">单&ensp;元&ensp;号:</label>
149
- <input type="text" class="input_search" v-model="model.f_unit"
150
- style="width: 60%" placeholder="请选择" condition="ua.f_unit='{}'">
151
- </div>
152
- <div class="form-group col-sm-4" >
153
- <label class="font_normal_body">楼&ensp;层&ensp;号:</label>
154
- <input type="text" class="input_search" v-model="model.f_floor"
155
- style="width: 60%" placeholder="请选择" condition="ua.f_floor='{}'">
156
- </div>
157
- <div class="form-group col-sm-4" >
158
- <label class="font_normal_body">开户起始:</label>
159
- <datepicker
160
- placeholder='请选择'
161
- style="width:60%"
162
- :disabled-days-of-week="[]"
163
- :format="'yyyy-MM-dd'"
164
- :show-rest-button="reset"
165
- :value.sync="model.f_startfile_time"
166
- v-model="model.f_startfile_time"
167
- condition="ui.f_createfile_date >= '{} 00:00:00'">
168
- </datepicker>
169
- </div>
170
- <div class="form-group col-sm-4" >
171
- <label class="font_normal_body">开户截止:</label>
172
- <datepicker
173
- placeholder='请选择'
174
- :disabled-days-of-week="[]"
175
- style="width:60%"
176
- :format="'yyyy-MM-dd'"
177
- :show-rest-button="reset"
178
- :value.sync="model.f_endfile_time"
179
- v-model="model.f_endfile_time"
180
- condition="ui.f_createfile_date <= '{} 23:59:59'">
181
- </datepicker>
182
- </div>
183
- <div class="form-group col-sm-4" >
184
- <label class="font_normal_body">表&ensp;箱&ensp;号:</label>
185
- <input type="text" class="input_search" v-model="model.f_metertitles"
186
- style="width: 60%" placeholder="请输入" condition="uf.f_metertitles='{}'">
187
- </div>
188
- <div class="form-group col-sm-4" >
189
- <label class="font_normal_body">用户电话:</label>
190
- <input type="text" class="input_search" v-model="model.f_user_phone"
191
- style="width: 60%" placeholder="请输入" condition="ui.f_user_phone='{}'">
192
- </div>
193
- <div class="form-group col-sm-4" >
194
- <label class="font_normal_body">片&ensp;&ensp;&ensp;&ensp;区:</label>
195
- <v-select
196
- class="select select_list"
197
- :value.sync="model.f_book_slice_area"
198
- v-model="model.f_book_slice_area"
199
- :options='$parent.$parent.sliceArea'
200
- @change="$parent.$parent.slice_areaChange(model.f_book_slice_area)"
201
- placeholder='请选择'
202
- condition="ua.f_slice_area ='{}'"
203
- close-on-select
204
- value-single
205
- >
206
- </v-select>
207
- </div>
208
- <div class="form-group col-sm-4" >
209
- <label class="font_normal_body">派发情况:</label>
210
- <v-select
211
- class="select select_list"
212
- :value.sync="model.yearCheck"
213
- v-model="model.yearCheck"
214
- :options='$parent.$parent.yearCheckList'
215
- placeholder='请选择'
216
- condition="{}"
217
- :search="false"
218
- close-on-select
219
- value-single
220
- >
221
- </v-select>
222
- </div>
223
- <div class="form-group col-sm-4" >
224
- <label class="font_normal_body">安检起始:</label>
225
- <datepicker
226
- placeholder='请选择'
227
- style="width:60%"
228
- :disabled-days-of-week="[]"
229
- :format="'yyyy-MM-dd'"
230
- :show-rest-button="reset"
231
- :value.sync="model.f_start_time"
232
- v-model="model.f_start_time"
233
- >
234
- </datepicker>
235
- </div>
236
- <div class="form-group col-sm-4" >
237
- <label class="font_normal_body">安检截止:</label>
238
- <datepicker
239
- placeholder='请选择'
240
- :disabled-days-of-week="[]"
241
- style="width:60%"
242
- :format="'yyyy-MM-dd'"
243
- :show-rest-button="reset"
244
- :value.sync="model.f_end_time"
245
- v-model="model.f_end_time"
246
- >
247
- </datepicker>
248
- </div>
249
- <div class="form-group col-sm-4">
250
- <label class="font_normal_body">安检状态:</label>
251
- <v-select
252
- class="select select_list"
253
- :value.sync="model.f_last_check_state"
254
- v-model="model.f_last_check_state"
255
- :options='$parent.$parent.entry_status'
256
- placeholder='请选择'
257
- :search="false"
258
- close-on-select
259
- value-single
260
- >
261
- </v-select>
262
- </div>
263
- <div class="form-group col-sm-4" >
264
- <label class="font_normal_body">通气起始:</label>
265
- <datepicker
266
- placeholder='通气开始时间'
267
- style="width:60%"
268
- :disabled-days-of-week="[]"
269
- :format="'yyyy-MM-dd'"
270
- :show-rest-button="reset"
271
- :value.sync="model.f_startgas_time"
272
- v-model="model.f_startgas_time"
273
- condition="ui.f_uservent_date >= '{} 00:00:00'">
274
- </datepicker>
275
- </div>
276
- <div class="form-group col-sm-4" >
277
- <label class="font_normal_body">通气截止:</label>
278
- <datepicker
279
- placeholder='通气结束时间'
280
- :disabled-days-of-week="[]"
281
- style="width:60%"
282
- :format="'yyyy-MM-dd'"
283
- :show-rest-button="reset"
284
- :value.sync="model.f_endgas_time"
285
- v-model="model.f_endgas_time"
286
- condition="ui.f_uservent_date <= '{} 23:59:59'">
287
- </datepicker>
288
- </div>
289
- </div>
290
- </div>
291
- <div slot="modal-footer" class="modal-footer" style="text-align: center">
292
- <button class="button_search" style="margin-right: 15px" @click="search()">查询</button>
293
- <button class="button_search" @click="$parent.$parent.cancel">取消</button>
294
- </div>
295
- </modal>
296
- <modal :show.sync="$parent.$parent.excelUserCondtion" width="500px" v-ref:modal1 >
297
- <div slot="modal-header" class="modal-header">
298
- <h4 class="modal-title">
299
- 导入用户编号
300
- </h4>
301
- </div>
302
- <div slot="modal-body" class="modal-body">
303
- <div class="row">
304
- <file-upload class="my-file-uploader " name="UploadFile" class="btn btn-success" style="border-radius: 2px;"
305
- action="rs/file/uploadFile" tagname="档案信息导入" v-ref:file :headers="headers" multiple></file-upload>
306
- <img src="../../../assets/Excelformat.png" style="width: 100%"/>
307
- </div>
308
- </div>
309
- <footer slot="modal-footer" class="modal-footer">
310
- </footer>
311
- </modal>
312
- </div>
313
- </div>
314
- </criteria>
315
- <data-grid :model="model" partial='list' class="table_sy">
316
-
317
- <template partial='head'>
318
- <tr>
319
- <th><nobr><input type="checkbox" onClick="event.cancelBubble = true" :checked="$parent.$parent.$parent.checkAll" @change="$parent.$parent.$parent.setCheckAll()"/> 全选</nobr></th>
320
- <th><nobr>用户编号</nobr></th>
321
- <th><nobr>用户名称</nobr></th>
322
- <th><nobr>用户类型</nobr></th>
323
- <th><nobr>用户电话</nobr></th>
324
- <th><nobr>表具类型</nobr></th>
325
- <th><nobr>表号</nobr></th>
326
- <th><nobr>小区名称</nobr></th>
327
- <th><nobr>片区</nobr></th>
328
- <th><nobr>安检册</nobr></th>
329
- <th title="当前所在的安检计划名称"><nobr>所属计划</nobr></th>
330
- <th title="最后一次安检日期"><nobr>安检日期</nobr></th>
331
- <th><nobr>首次通气时间</nobr></th>
332
- <th><nobr>详细地址</nobr></th>
333
- </tr>
334
- </template>
335
- <template partial='body'>
336
- <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>
337
- <td style="text-align: center"><nobr>{{row.f_userinfo_code}}</nobr></td>
338
- <td style="text-align: center"><nobr>{{row.f_user_name}}</nobr></td>
339
- <td style="text-align: center"><nobr>{{row.f_user_type}}</nobr></td>
340
- <td style="text-align: center"><nobr>{{row.f_user_phone}}</nobr></td>
341
- <td style="text-align: center"><nobr>{{row.f_meter_classify}}</nobr></td>
342
- <td style="text-align: center"><nobr>{{row.f_meternumber}}</nobr></td>
343
- <td style="text-align: center"><nobr>{{row.f_residential_area}}</nobr></td>
344
- <td style="text-align: center"><nobr>{{row.f_book_slice_area}}</nobr></td>
345
- <td style="text-align: center"><nobr>{{row.f_book_name}}</nobr></td>
346
- <td style="text-align: center"><nobr>{{row.f_plan_name}}</nobr></td>
347
- <td style="text-align: center"><nobr>{{row.f_last_check_date}}</nobr></td>
348
- <td style="text-align: center"><nobr>{{row.f_uservent_date}}</nobr></td>
349
- <td style="text-align: center"><nobr>{{row.f_address}}</nobr></td>
350
- </template>
351
- </data-grid>
352
- </criteria-paged>
353
- </div>
354
- </template>
355
-
356
- <script>
357
- import {HttpResetClass, PagedList} from "vue-client";
358
- import Vue from "vue";
359
-
360
- export default {
361
- name: "PlanManage",
362
- title: '计划管理',
363
- data() {
364
- return {
365
- model:new PagedList('/api/af-safecheck/sql/FetchUserFileByOrgNoRuHuSXQ', 100, {
366
- "orderitem": "'f_residential_area,f_building,f_unit,f_floor,f_room'",
367
- "f_usertype": "''",
368
- "month": "''",
369
- "SafeCheckSX": {"f_check_start": '', "f_check_end": ''},
370
- "SafeCheckCQ": "''",
371
- "startday":"''",
372
- "endday":"''"}),
373
- a:'1',
374
- opt:[{label:"测试",value:"测试"}],
375
- showCondtion:false,
376
- userTypes:[],//用户类型
377
- userStates:[],//用户状态
378
- gasproperties:[],//用气性质
379
- meter_classifys:[],//气表类型
380
- hasHousehold:[{label:"全部",value:""},{label:"已入户",value:"已入户"},{label:"未入户",value:"未入户"}],
381
- yearCheckList:[{label:"全部",value:""},{label:"已在计划中",value:"ua.f_plan_id is not null"},{label:"未在计划中",value:"ua.f_plan_id is null"}],
382
- entry_status: this.$appdata.getParam('安检状态')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安检状态')]:[{label: '全部', value: ''}],
383
- sliceArea:[],
384
- meterbooks:[],
385
- checkBooks:[],
386
- cbc:[],
387
- areaList:[],
388
- checkAll:false,
389
- checkes:[],
390
- excelUserCondtion:false,
391
- uploadCodeCondition:'',
392
- streets:[]
393
- }
394
- },
395
- props:["selectplan","userlogin"],
396
- ready(){
397
- this.getCheckBook()
398
- this.setConList()
399
- this.loadpage()
400
- document.addEventListener('keydown', this.handleEnter, true);
401
- },
402
- methods: {
403
- clearcon(){
404
- this.$refs.paged.$refs.criteria.model.f_userinfo_code = ''
405
- this.$refs.paged.$refs.criteria.model.f_meternumber = ''
406
- this.$refs.paged.$refs.criteria.model.f_address = ''
407
- this.$refs.paged.$refs.criteria.model.f_area = ''
408
- this.$refs.paged.$refs.criteria.model.f_meter_book_num = []
409
- this.$refs.paged.$refs.criteria.model.f_user_type = ''
410
- this.$refs.paged.$refs.criteria.model.f_user_state = ''
411
- this.$refs.paged.$refs.criteria.model.f_gasproperties = ''
412
- this.$refs.paged.$refs.criteria.model.meter_classify = ''
413
- this.$refs.paged.$refs.criteria.model.f_street = ''
414
- this.$refs.paged.$refs.criteria.model.f_building = ''
415
- this.$refs.paged.$refs.criteria.model.f_unit = ''
416
- this.$refs.paged.$refs.criteria.model.f_floor = ''
417
- this.$refs.paged.$refs.criteria.model.f_startfile_time = ''
418
- this.$refs.paged.$refs.criteria.model.f_endfile_time = ''
419
- this.$refs.paged.$refs.criteria.model.f_metertitles = ''
420
- this.$refs.paged.$refs.criteria.model.f_user_phone = ''
421
- this.$refs.paged.$refs.criteria.model.f_book_slice_area = ''
422
- this.$refs.paged.$refs.criteria.model.yearCheck = ''
423
- this.$refs.paged.$refs.criteria.model.f_start_time = ''
424
- this.$refs.paged.$refs.criteria.model.f_end_time = ''
425
- this.$refs.paged.$refs.criteria.model.f_last_check_state = ''
426
- this.$refs.paged.$refs.criteria.model.f_startgas_time = ''
427
- this.$refs.paged.$refs.criteria.model.f_endgas_time = ''
428
- this.$refs.paged.$refs.criteria.model.f_last_check_state = ''
429
- this.$refs.paged.$refs.criteria.model.f_last_check_state = ''
430
- },
431
- handleEnter(e) {
432
- if (e.key === 'Enter') {
433
- this.$refs.paged.$refs.criteria.search()
434
- }
435
- },
436
- getCheckBook(){
437
- this.checkBooks=[]
438
- new HttpResetClass().load('POST', `/api/af-safecheck/sql/safe_singleTable_OrderBy?pageNo=1&pageSize=1000`, {
439
- data: {
440
- items: 'id,f_check_book_name,f_check_book_type',
441
- tablename: 't_check_book',
442
- condition: `f_orgid = '${this.userlogin.orgid}'`,
443
- orderitem: 'id desc'
444
- }
445
- }, {resolveMsg: null, rejectMsg: null}).then(res => {
446
- res.data.forEach(ress => {
447
- this.checkBooks.push({
448
- label: ress.f_check_book_name,
449
- value: ress.id
450
- })
451
- })
452
- })
453
- },
454
- loadpage(){
455
- this.select_search()
456
- this.select_street()
457
- this.Mreadibook()
458
- this.getSliceArea()
459
- },
460
- cancel(){
461
- this.showCondtion=false
462
- this.excelUserCondtion=false
463
- },
464
- //清空用户编号
465
- clearUserInfoId(){
466
- this.uploadCodeCondition=''
467
- Vue.showMessage("已清空用户编号")
468
- },
469
- showUploadCodeCondition(){
470
- this.excelUserCondtion=true
471
- },
472
- selfSearch (args) {
473
- //tag)
474
- args.condition += ` and ui.f_filialeid='${this.userlogin.orgid}'`
475
-
476
- if (args.model.f_last_check_state == '未检') {
477
- let nocheckcon = 'and ( ui.f_last_check_date is null '
478
- if(args.model.f_start_time){
479
- nocheckcon += ` or ui.f_last_check_date <='${args.model.f_start_time} 00:00:00' `
480
- }
481
- if(args.model.f_end_time){
482
- nocheckcon += ` or ui.f_last_check_date >='${args.model.f_end_time} 23:59:59' `
483
- }
484
- nocheckcon += ')'
485
- args.condition += nocheckcon
486
- }else{
487
- if(args.model.f_last_check_state){
488
- args.condition += ` and ui.f_last_check_state = '${args.model.f_last_check_state}'`
489
- }
490
- if(args.model.f_start_time){
491
- args.condition += ` and ui.f_last_check_date >='${args.model.f_start_time} 00:00:00' `
492
- }
493
- if(args.model.f_end_time){
494
- args.condition += ` and ui.f_last_check_date <='${args.model.f_end_time} 23:59:59' `
495
- }
496
- }
497
-
498
- if(args.model.checkBook){
499
- let arr=args.model.checkBook.split('-')
500
- if(arr[1] == '用户'){
501
- args.condition +=` and ua.f_check_book_id='${arr[0]}'`
502
- }else{
503
- args.condition +=` and area.f_check_book_id=${arr[0]} and ua.f_check_book_id is null`
504
- }
505
- }
506
- if(this.uploadCodeCondition){
507
- args.condition +=` and ${this.uploadCodeCondition}`
508
- }
509
- this.cancel()
510
- this.checkes=[]
511
- this.checkAll=false
512
- this.model.search(args.condition, args.model, args.condValue)
513
- },
514
- showUserCondition(){
515
- this.showCondtion=true
516
- },
517
- setConList(){
518
- this.userTypes=this.$appdata.getParam('用户类型') ? [{
519
- label: '全部',
520
- value: ''
521
- }, ...this.$appdata.getParam('用户类型')] : [{label: '全部', value: ''}]
522
-
523
- this.userStates=this.$appdata.getParam('安检用户状态') ? [{
524
- label: '全部',
525
- value: ''
526
- },...this.$appdata.getParam('安检用户状态')] : [{label: '全部', value: ''}]
527
- this.gasproperties=this.$appdata.getParam('用气性质') ? [{
528
- label: '全部',
529
- value: ''
530
- }, ...this.$appdata.getParam('用气性质')] : [{label: '全部', value: ''}]
531
- this.meter_classifys=this.$appdata.getParam('气表类型') ? [{
532
- label: '全部',
533
- value: ''
534
- }, ...this.$appdata.getParam('气表类型')] : [{label: '全部', value: ''}]
535
- },
536
- select_search(text){
537
- //tag
538
- let pcdText=text?` and f_residential_area like '%${text}%'`:''
539
- new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/safe_singleTable_OrderBy`, {data:{items:"*",tablename:"t_area",orderitem:"id",condition:`f_orgid = '${this.userlogin.orgid}' ${pcdText} `}}, {resolveMsg: null, rejectMsg: null}).then((res)=>{
540
- //tag)
541
- if(res.data.length>0){
542
- this.areaList=[]
543
- this.areaList.push({label:"全部",value:""})
544
- res.data.forEach((result)=>{
545
- this.areaList.push({label:result.f_residential_area,value:result.f_residential_area})
546
- })
547
- }
548
- //tag)
549
- })
550
- },
551
- select_book(text){
552
- //tag
553
- let pcdText=text?` and f_check_book_name like '%${text}%'`:''
554
- new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/safe_singleTable_OrderBy`, {data:{items:"*",tablename:"t_check_book",orderitem:"id",condition:`f_orgid = '${this.userlogin.orgid}' ${pcdText} `}}, {resolveMsg: null, rejectMsg: null}).then((res)=>{
555
- //tag)
556
- if(res.data.length>0){
557
- this.checkBooks = []
558
- res.data.forEach((result)=>{
559
- this.checkBooks.push({label:result.f_check_book_name,value:result.id})
560
- })
561
- }
562
- //tag)
563
- })
564
- },
565
- select_street(){
566
- //tag
567
- new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/api/af-safecheck/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)=>{
568
- //tag)
569
- if(res.data.length>0){
570
- this.streets=[]
571
- this.streets.push({label:"全部",value:""})
572
- res.data.forEach((result)=>{
573
- this.streets.push({label:result.f_street,value:result.id})
574
- })
575
- }
576
- })
577
- },
578
- //获取安检册
579
- async Mreadibook(){
580
- this.cbc=[]
581
- this.sliceArea=[]
582
- let http = new HttpResetClass()
583
- let getMeterReadingBooks = await http.load('POST','api/af-safecheck/logic/getMeterBooksData',
584
- {data: {f_orgid: "('"+this.userlogin.orgid+"')"}},
585
- {resolveMsg: null, rejectMsg: '获取失败!!!'})
586
- this.cbc = [{label: '全部', value: ''}]
587
- //tag
588
- //tag)
589
- //tag
590
- this.meterbooks=[]
591
- this.meterbooks=getMeterReadingBooks.data.meterbooks
592
- this.meterbooks.forEach((res) => {
593
- this.cbc.push({label: res.f_book_name, value: res.id})
594
- /*if(res.f_book_slice_area){
595
- if(this.sliceArea.indexOf(res.f_book_slice_area)<0){
596
- this.sliceArea.push(res.f_book_slice_area)
597
- }
598
- }*/
599
- })
600
-
601
- },
602
- //片区获取
603
- async getSliceArea() {
604
- let http = new HttpResetClass()
605
- let getAllArea = await http.load('POST', '/rs/search', {
606
- source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
607
- userid: this.userlogin.id
608
- }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
609
- this.sliceArea = [{label: '全部', value: ''}]
610
- //tag
611
- //tag
612
- //tag
613
- getAllArea.data.forEach((res) => {
614
- if(res.parentid==this.userlogin.orgid){
615
- this.sliceArea.push({label:res.name,value:res.name})
616
- }
617
- })
618
- //tag
619
- },
620
- //片区改变-对应安检册下拉重新赋值
621
- slice_areaChange(value) {
622
- //tag
623
- if(!value){
624
- this.cbc=[]
625
- this.meterbooks.forEach((res) => {
626
- this.cbc.push({label: res.f_book_name, value: res.id})
627
- })
628
- }else{
629
- this.cbc=[]
630
- this.meterbooks.forEach((res) => {
631
- if(res.f_book_slice_area==value){
632
- this.cbc.push({label: res.f_book_name, value: res.id})
633
- }
634
- })
635
- }
636
- },
637
- isChecked(v) {
638
- // 如果全选,不在的按选中算,否则,在的按选中算
639
- if (this.checkAll) {
640
- return this.checkes.indexOf(v) == -1
641
- } else {
642
- return this.checkes.indexOf(v) != -1
643
- }
644
- },
645
- setCheckAll() {
646
- this.checkAll=this.checkAll?false:true;
647
- // 全选改变后,清空选中数据
648
- this.checkes = []
649
- },
650
- setCheckes(id) {
651
- let index=this.checkes.indexOf(id)
652
- if(index<0){
653
- this.checkes.push(id)
654
- }else{
655
- this.checkes.splice(index,1)
656
- }
657
- },
658
- //将客户信息拖至计划中
659
- async dragtoPlanItem() {
660
- if(this.model.rows.length==0){
661
- Vue.showMessage("未检测到列表中有用户!")
662
- return
663
- }
664
- if(!this.checkAll && this.checkes.length==0){
665
- Vue.showMessage("请先勾选你要添入到上方计划中的用户!")
666
- return
667
- }
668
- if(this.selectplan && this.selectplan.id){
669
- this.$parent.isSend=true
670
- try{
671
- let res=await new HttpResetClass().load("POST", "/api/af-safecheck/logic/AddCheckPlanItem", {
672
- data:{
673
- f_operator:this.userlogin.name,
674
- f_plan_id:this.selectplan.id,
675
- f_safecheck_type:this.selectplan.f_safecheck_type,
676
- f_filialeid:this.userlogin.orgid,
677
- f_subscribe_date:'',
678
- condition:this.model.condition,
679
- switchCheckAll:true,
680
- checkAll:this.checkAll,
681
- param:this.checkes,
682
- columnName: "ua.id"
683
- }
684
- }, {resolveMsg: null, rejectMsg: null})
685
- //tag+"---"+res.data.result.length)
686
- this.$parent.isSend=false
687
- if(res.data.code==200){
688
- //alert("添加成功!有"+res.data.result.length+"条用户地址已经存在于其他计划中: \n"+res.data.result.reduce((c,v)=>{c += v.f_user_name+":"+v.f_address+"\n"}),0)
689
- this.$showMessage("添加成功!"+(res.data.result.length>0?""+res.data.result.length+"条用户地址已经存在于其他计划中":""))
690
- this.$parent.refresh()
691
- }else{
692
- this.$showMessage("添加失败!")
693
- }
694
- }catch (e) {
695
- this.$showMessage("添加失败!")
696
- }
697
- }else{
698
- this.$parent.isSend=false
699
- this.$showMessage("请先打开一个计划再进行操作")
700
- }
701
- }
702
- },
703
- events: {
704
- onFileUpload: function (file, res) {
705
- //tag)
706
- //tag)
707
- let data = {
708
- filepath: res.f_downloadpath
709
- }
710
- new HttpResetClass().load('POST','/api/af-safecheck/logic/safe_GetUserInfoFromExcel', {data: data}, {
711
- resolveMsg: '导入成功!已生成条件,若要去除导入条件请点击旁边 ‘清空用户编号’ 按钮。',
712
- rejectMsg: '导入失败'
713
- }).then((res) => {
714
- this.uploadCodeCondition=res.data.condition
715
- this.excelUserCondtion = false
716
- })
717
- },
718
-
719
- }
720
- }
721
- </script>
722
-
723
- <style scoped>
724
- .safe-planfont{
725
- font-family: MicrosoftYaHei;
726
- font-size: 15px;
727
- font-weight: normal;
728
- font-stretch: normal;
729
- letter-spacing: 2px;
730
- color: #333333;
731
- line-height: 25px;
732
- }
733
- .safe-bodyfont{
734
- font-family: MicrosoftYaHei;
735
- font-size: 14px;
736
- font-weight: normal;
737
- font-stretch: normal;
738
- letter-spacing: 0px;
739
- color: #999999;
740
- line-height: 30px;
741
- }
742
- .safe-leftplan{
743
- height:auto;
744
- border-bottom:1px solid #ececec;
745
- padding: 10px 5px
746
- }
747
- .leftplan-center{
748
- border-top:1px solid #ececec;
749
- border-bottom:1px solid #ececec;
750
- }
751
- .safe_p{
752
- white-space: nowrap;
753
- overflow: hidden;
754
- text-overflow: ellipsis;
755
- }
756
- .safe-div-p{
757
- color: #4792de;
758
- text-align: end;
759
- padding: 8px 15px;
760
- }
761
- </style>
762
- <style lang="less">
763
- .upuserinfo_sel ul{
764
- width: 300% !important;
765
- }
766
- </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_meternumber"
19
+ style="width: 95%" placeholder="表号" condition="uf.f_meternumber like '%{}%'">
20
+ </div>
21
+ <div class="form-group col-sm-1" >
22
+ <input type="text" class="input_search" v-model="model.f_address"
23
+ style="width: 95%" placeholder="客户地址" condition="ua.f_address like '%{}%'">
24
+ </div>
25
+ <div class="form-group col-sm-1 upuserinfo_sel" >
26
+ <v-select
27
+ class="select select_list"
28
+ :width="'95%'"
29
+ :value.sync="model.f_area"
30
+ v-model="model.f_area"
31
+ :options='$parent.$parent.areaList'
32
+ :timeout="500"
33
+ @select-search="$parent.$parent.select_search"
34
+ placeholder='小区选择'
35
+ condition="ua.f_residential_area = '{}'"
36
+ close-on-select
37
+ value-single
38
+ >
39
+ </v-select>
40
+ </div>
41
+ <div class="form-group col-sm-1 upuserinfo_sel" >
42
+ <v-select v-model="model.f_meter_book_num"
43
+ :multiple="true" :options='$parent.$parent.checkBooks'
44
+ :value.sync="model.f_meter_book_num"
45
+ class="select select_list"
46
+ @select-search="$parent.$parent.select_book"
47
+ :width="'95%'"
48
+ :timeout="500"
49
+ placeholder='安检册选择'
50
+ condition="ua.f_check_book_id in {}" >
51
+ </v-select>
52
+
53
+ </div>
54
+ <div class="form-group col-sm-4" >
55
+ <button class="button_new" style="margin-right: 10px" @click="$parent.$parent.showUserCondition()">更多条件</button>
56
+ <button class="button_new" style="margin-right: 10px" @click="$parent.$parent.showUploadCodeCondition()">导入编号</button>
57
+ <button class="button_new" style="margin-right: 10px" @click="$parent.$parent.clearUserInfoId()">清空编号</button>
58
+ <button class="button_search" style="margin-right: 10px" @click="search()">查询</button>
59
+ <button class="button_search" style="margin-right: 10px" @click="$parent.$parent.clearcon()">重置</button>
60
+ </div>
61
+ <div class="form-group col-sm-1" style="float: right">
62
+ <button class="button_search" style="margin-right: 10px" @click="$parent.$parent.dragtoPlanItem()">添入计划</button>
63
+ </div>
64
+ <modal :show.sync="$parent.$parent.showCondtion" v-ref:modal :width="'50%'" :backdrop="false">
65
+ <div slot="modal-header" class="modal-header">
66
+ <h4 class="modal-title">
67
+ 用户查询条件
68
+ </h4>
69
+ </div>
70
+ <div slot="modal-body" class="modal-body">
71
+ <div class="row">
72
+ <div class="form-group col-sm-4" >
73
+ <label class="font_normal_body">用户类型:</label>
74
+ <v-select
75
+ class="select select_list"
76
+ :value.sync="model.f_user_type"
77
+ v-model="model.f_user_type"
78
+ :options='$parent.$parent.userTypes'
79
+ placeholder='请选择'
80
+ condition="uf.f_user_type='{}'"
81
+ :search="false"
82
+ close-on-select
83
+ value-single
84
+ >
85
+ </v-select>
86
+ </div>
87
+ <div class="form-group col-sm-4" >
88
+ <label class="font_normal_body">用户状态:</label>
89
+ <v-select
90
+ class="select select_list"
91
+ :value.sync="model.f_user_state"
92
+ v-model="model.f_user_state"
93
+ :options='$parent.$parent.userStates'
94
+ placeholder='请选择'
95
+ condition="ui.f_user_state='{}'"
96
+ :search="false"
97
+ close-on-select
98
+ value-single
99
+ >
100
+ </v-select>
101
+ </div>
102
+ <div class="form-group col-sm-4" >
103
+ <label class="font_normal_body">用气性质:</label>
104
+ <v-select
105
+ class="select select_list"
106
+ :value.sync="model.f_gasproperties"
107
+ v-model="model.f_gasproperties"
108
+ :options='$parent.$parent.gasproperties'
109
+ placeholder='请选择'
110
+ condition="uf.f_gasproperties='{}'"
111
+ :search="false"
112
+ close-on-select
113
+ value-single
114
+ >
115
+ </v-select>
116
+ </div>
117
+ <div class="form-group col-sm-4" >
118
+ <label class="font_normal_body">气表类型:</label>
119
+ <v-select
120
+ class="select select_list"
121
+ :value.sync="model.meter_classify"
122
+ v-model="model.meter_classify"
123
+ :options='$parent.$parent.meter_classifys'
124
+ placeholder='请选择'
125
+ condition="uf.F_METER_CLASSIFY='{}'"
126
+ :search="false"
127
+ close-on-select
128
+ value-single
129
+ >
130
+ </v-select>
131
+ </div>
132
+ <div class="form-group col-sm-4" >
133
+ <label class="font_normal_body">街&emsp;&emsp;道:</label>
134
+ <v-select
135
+ class="select select_list"
136
+ :value.sync="model.f_street"
137
+ v-model="model.f_street"
138
+ :options='$parent.$parent.streets'
139
+ placeholder='请选择'
140
+ condition="ua.f_street_id='{}'"
141
+ close-on-select
142
+ value-single
143
+ >
144
+ </v-select>
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_building"
149
+ style="width: 60%" placeholder="请选择" condition="ua.f_building='{}'">
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_unit"
154
+ style="width: 60%" placeholder="请选择" condition="ua.f_unit='{}'">
155
+ </div>
156
+ <div class="form-group col-sm-4" >
157
+ <label class="font_normal_body">楼&ensp;层&ensp;号:</label>
158
+ <input type="text" class="input_search" v-model="model.f_floor"
159
+ style="width: 60%" placeholder="请选择" condition="ua.f_floor='{}'">
160
+ </div>
161
+ <div class="form-group col-sm-4" >
162
+ <label class="font_normal_body">开户起始:</label>
163
+ <datepicker
164
+ placeholder='请选择'
165
+ style="width:60%"
166
+ :disabled-days-of-week="[]"
167
+ :format="'yyyy-MM-dd'"
168
+ :show-rest-button="reset"
169
+ :value.sync="model.f_startfile_time"
170
+ v-model="model.f_startfile_time"
171
+ condition="ui.f_createfile_date >= '{} 00:00:00'">
172
+ </datepicker>
173
+ </div>
174
+ <div class="form-group col-sm-4" >
175
+ <label class="font_normal_body">开户截止:</label>
176
+ <datepicker
177
+ placeholder='请选择'
178
+ :disabled-days-of-week="[]"
179
+ style="width:60%"
180
+ :format="'yyyy-MM-dd'"
181
+ :show-rest-button="reset"
182
+ :value.sync="model.f_endfile_time"
183
+ v-model="model.f_endfile_time"
184
+ condition="ui.f_createfile_date <= '{} 23:59:59'">
185
+ </datepicker>
186
+ </div>
187
+ <div class="form-group col-sm-4" >
188
+ <label class="font_normal_body">表&ensp;箱&ensp;号:</label>
189
+ <input type="text" class="input_search" v-model="model.f_metertitles"
190
+ style="width: 60%" placeholder="请输入" condition="uf.f_metertitles='{}'">
191
+ </div>
192
+ <div class="form-group col-sm-4" >
193
+ <label class="font_normal_body">用户电话:</label>
194
+ <input type="text" class="input_search" v-model="model.f_user_phone"
195
+ style="width: 60%" placeholder="请输入" condition="ui.f_user_phone='{}'">
196
+ </div>
197
+ <div class="form-group col-sm-4" >
198
+ <label class="font_normal_body">片&ensp;&ensp;&ensp;&ensp;区:</label>
199
+ <v-select
200
+ class="select select_list"
201
+ :value.sync="model.f_book_slice_area"
202
+ v-model="model.f_book_slice_area"
203
+ :options='$parent.$parent.sliceArea'
204
+ @change="$parent.$parent.slice_areaChange(model.f_book_slice_area)"
205
+ placeholder='请选择'
206
+ condition="ua.f_slice_area ='{}'"
207
+ close-on-select
208
+ value-single
209
+ >
210
+ </v-select>
211
+ </div>
212
+ <div class="form-group col-sm-4" >
213
+ <label class="font_normal_body">派发情况:</label>
214
+ <v-select
215
+ class="select select_list"
216
+ :value.sync="model.yearCheck"
217
+ v-model="model.yearCheck"
218
+ :options='$parent.$parent.yearCheckList'
219
+ placeholder='请选择'
220
+ condition="{}"
221
+ :search="false"
222
+ close-on-select
223
+ value-single
224
+ >
225
+ </v-select>
226
+ </div>
227
+ <div class="form-group col-sm-4" >
228
+ <label class="font_normal_body">安检起始:</label>
229
+ <datepicker
230
+ placeholder='请选择'
231
+ style="width:60%"
232
+ :disabled-days-of-week="[]"
233
+ :format="'yyyy-MM-dd'"
234
+ :show-rest-button="reset"
235
+ :value.sync="model.f_start_time"
236
+ v-model="model.f_start_time"
237
+ >
238
+ </datepicker>
239
+ </div>
240
+ <div class="form-group col-sm-4" >
241
+ <label class="font_normal_body">安检截止:</label>
242
+ <datepicker
243
+ placeholder='请选择'
244
+ :disabled-days-of-week="[]"
245
+ style="width:60%"
246
+ :format="'yyyy-MM-dd'"
247
+ :show-rest-button="reset"
248
+ :value.sync="model.f_end_time"
249
+ v-model="model.f_end_time"
250
+ >
251
+ </datepicker>
252
+ </div>
253
+ <div class="form-group col-sm-4">
254
+ <label class="font_normal_body">安检状态:</label>
255
+ <v-select
256
+ class="select select_list"
257
+ :value.sync="model.f_last_check_state"
258
+ v-model="model.f_last_check_state"
259
+ :options='$parent.$parent.entry_status'
260
+ placeholder='请选择'
261
+ :search="false"
262
+ close-on-select
263
+ value-single
264
+ >
265
+ </v-select>
266
+ </div>
267
+ <div class="form-group col-sm-4" >
268
+ <label class="font_normal_body">通气起始:</label>
269
+ <datepicker
270
+ placeholder='通气开始时间'
271
+ style="width:60%"
272
+ :disabled-days-of-week="[]"
273
+ :format="'yyyy-MM-dd'"
274
+ :show-rest-button="reset"
275
+ :value.sync="model.f_startgas_time"
276
+ v-model="model.f_startgas_time"
277
+ condition="ui.f_uservent_date >= '{} 00:00:00'">
278
+ </datepicker>
279
+ </div>
280
+ <div class="form-group col-sm-4" >
281
+ <label class="font_normal_body">通气截止:</label>
282
+ <datepicker
283
+ placeholder='通气结束时间'
284
+ :disabled-days-of-week="[]"
285
+ style="width:60%"
286
+ :format="'yyyy-MM-dd'"
287
+ :show-rest-button="reset"
288
+ :value.sync="model.f_endgas_time"
289
+ v-model="model.f_endgas_time"
290
+ condition="ui.f_uservent_date <= '{} 23:59:59'">
291
+ </datepicker>
292
+ </div>
293
+ </div>
294
+ </div>
295
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
296
+ <button class="button_search" style="margin-right: 15px" @click="search()">查询</button>
297
+ <button class="button_search" @click="$parent.$parent.cancel">取消</button>
298
+ </div>
299
+ </modal>
300
+ <modal :show.sync="$parent.$parent.excelUserCondtion" width="500px" v-ref:modal1 >
301
+ <div slot="modal-header" class="modal-header">
302
+ <h4 class="modal-title">
303
+ 导入用户编号
304
+ </h4>
305
+ </div>
306
+ <div slot="modal-body" class="modal-body">
307
+ <div class="row">
308
+ <file-upload class="my-file-uploader " name="UploadFile" class="btn btn-success" style="border-radius: 2px;"
309
+ action="rs/file/uploadFile" tagname="档案信息导入" v-ref:file :headers="headers" multiple></file-upload>
310
+ <img src="../../../assets/Excelformat.png" style="width: 100%"/>
311
+ </div>
312
+ </div>
313
+ <footer slot="modal-footer" class="modal-footer">
314
+ </footer>
315
+ </modal>
316
+ </div>
317
+ </div>
318
+ </criteria>
319
+ <data-grid :model="model" partial='list' class="table_sy">
320
+
321
+ <template partial='head'>
322
+ <tr>
323
+ <th><nobr><input type="checkbox" onClick="event.cancelBubble = true" :checked="$parent.$parent.$parent.checkAll" @change="$parent.$parent.$parent.setCheckAll()"/> 全选</nobr></th>
324
+ <th><nobr>用户编号</nobr></th>
325
+ <th><nobr>用户名称</nobr></th>
326
+ <th><nobr>用户类型</nobr></th>
327
+ <th><nobr>用户电话</nobr></th>
328
+ <th><nobr>表具类型</nobr></th>
329
+ <th><nobr>表号</nobr></th>
330
+ <th><nobr>小区名称</nobr></th>
331
+ <th><nobr>片区</nobr></th>
332
+ <th><nobr>安检册</nobr></th>
333
+ <th title="当前所在的安检计划名称"><nobr>所属计划</nobr></th>
334
+ <th title="最后一次安检日期"><nobr>安检日期</nobr></th>
335
+ <th><nobr>首次通气时间</nobr></th>
336
+ <th><nobr>详细地址</nobr></th>
337
+ </tr>
338
+ </template>
339
+ <template partial='body'>
340
+ <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>
341
+ <td style="text-align: center"><nobr>{{row.f_userinfo_code}}</nobr></td>
342
+ <td style="text-align: center"><nobr>{{row.f_user_name}}</nobr></td>
343
+ <td style="text-align: center"><nobr>{{row.f_user_type}}</nobr></td>
344
+ <td style="text-align: center"><nobr>{{row.f_user_phone}}</nobr></td>
345
+ <td style="text-align: center"><nobr>{{row.f_meter_classify}}</nobr></td>
346
+ <td style="text-align: center"><nobr>{{row.f_meternumber}}</nobr></td>
347
+ <td style="text-align: center"><nobr>{{row.f_residential_area}}</nobr></td>
348
+ <td style="text-align: center"><nobr>{{row.f_book_slice_area}}</nobr></td>
349
+ <td style="text-align: center"><nobr>{{row.f_book_name}}</nobr></td>
350
+ <td style="text-align: center"><nobr>{{row.f_plan_name}}</nobr></td>
351
+ <td style="text-align: center"><nobr>{{row.f_last_check_date}}</nobr></td>
352
+ <td style="text-align: center"><nobr>{{row.f_uservent_date}}</nobr></td>
353
+ <td style="text-align: center"><nobr>{{row.f_address}}</nobr></td>
354
+ </template>
355
+ </data-grid>
356
+ </criteria-paged>
357
+ </div>
358
+ </template>
359
+
360
+ <script>
361
+ import {HttpResetClass, PagedList} from "vue-client";
362
+ import Vue from "vue";
363
+
364
+ export default {
365
+ name: "PlanManage",
366
+ title: '计划管理',
367
+ data() {
368
+ return {
369
+ model:new PagedList('/api/af-safecheck/sql/FetchUserFileByOrgNoRuHuSXQ', 100, {
370
+ "orderitem": "'f_residential_area,f_building,f_unit,f_floor,f_room'",
371
+ "f_usertype": "''",
372
+ "month": "''",
373
+ "SafeCheckSX": {"f_check_start": '', "f_check_end": ''},
374
+ "SafeCheckCQ": "''",
375
+ "startday":"''",
376
+ "endday":"''"}),
377
+ a:'1',
378
+ opt:[{label:"测试",value:"测试"}],
379
+ showCondtion:false,
380
+ userTypes:[],//用户类型
381
+ userStates:[],//用户状态
382
+ gasproperties:[],//用气性质
383
+ meter_classifys:[],//气表类型
384
+ hasHousehold:[{label:"全部",value:""},{label:"已入户",value:"已入户"},{label:"未入户",value:"未入户"}],
385
+ yearCheckList:[{label:"全部",value:""},{label:"已在计划中",value:"ua.f_plan_id is not null"},{label:"未在计划中",value:"ua.f_plan_id is null"}],
386
+ entry_status: this.$appdata.getParam('安检状态')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安检状态')]:[{label: '全部', value: ''}],
387
+ sliceArea:[],
388
+ meterbooks:[],
389
+ checkBooks:[],
390
+ cbc:[],
391
+ areaList:[],
392
+ checkAll:false,
393
+ checkes:[],
394
+ excelUserCondtion:false,
395
+ uploadCodeCondition:'',
396
+ streets:[]
397
+ }
398
+ },
399
+ props:["selectplan","userlogin"],
400
+ ready(){
401
+ this.getCheckBook()
402
+ this.setConList()
403
+ this.loadpage()
404
+ document.addEventListener('keydown', this.handleEnter, true);
405
+ },
406
+ methods: {
407
+ clearcon(){
408
+ this.$refs.paged.$refs.criteria.model.f_userinfo_code = ''
409
+ this.$refs.paged.$refs.criteria.model.f_meternumber = ''
410
+ this.$refs.paged.$refs.criteria.model.f_address = ''
411
+ this.$refs.paged.$refs.criteria.model.f_area = ''
412
+ this.$refs.paged.$refs.criteria.model.f_meter_book_num = []
413
+ this.$refs.paged.$refs.criteria.model.f_user_type = ''
414
+ this.$refs.paged.$refs.criteria.model.f_user_state = ''
415
+ this.$refs.paged.$refs.criteria.model.f_gasproperties = ''
416
+ this.$refs.paged.$refs.criteria.model.meter_classify = ''
417
+ this.$refs.paged.$refs.criteria.model.f_street = ''
418
+ this.$refs.paged.$refs.criteria.model.f_building = ''
419
+ this.$refs.paged.$refs.criteria.model.f_unit = ''
420
+ this.$refs.paged.$refs.criteria.model.f_floor = ''
421
+ this.$refs.paged.$refs.criteria.model.f_startfile_time = ''
422
+ this.$refs.paged.$refs.criteria.model.f_endfile_time = ''
423
+ this.$refs.paged.$refs.criteria.model.f_metertitles = ''
424
+ this.$refs.paged.$refs.criteria.model.f_user_phone = ''
425
+ this.$refs.paged.$refs.criteria.model.f_book_slice_area = ''
426
+ this.$refs.paged.$refs.criteria.model.yearCheck = ''
427
+ this.$refs.paged.$refs.criteria.model.f_start_time = ''
428
+ this.$refs.paged.$refs.criteria.model.f_end_time = ''
429
+ this.$refs.paged.$refs.criteria.model.f_last_check_state = ''
430
+ this.$refs.paged.$refs.criteria.model.f_startgas_time = ''
431
+ this.$refs.paged.$refs.criteria.model.f_endgas_time = ''
432
+ this.$refs.paged.$refs.criteria.model.f_last_check_state = ''
433
+ this.$refs.paged.$refs.criteria.model.f_last_check_state = ''
434
+ },
435
+ handleEnter(e) {
436
+ if (e.key === 'Enter') {
437
+ this.$refs.paged.$refs.criteria.search()
438
+ }
439
+ },
440
+ getCheckBook(){
441
+ this.checkBooks=[]
442
+ new HttpResetClass().load('POST', `/api/af-safecheck/sql/safe_singleTable_OrderBy?pageNo=1&pageSize=1000`, {
443
+ data: {
444
+ items: 'id,f_check_book_name,f_check_book_type',
445
+ tablename: 't_check_book',
446
+ condition: `f_orgid = '${this.userlogin.orgid}'`,
447
+ orderitem: 'id desc'
448
+ }
449
+ }, {resolveMsg: null, rejectMsg: null}).then(res => {
450
+ res.data.forEach(ress => {
451
+ this.checkBooks.push({
452
+ label: ress.f_check_book_name,
453
+ value: ress.id
454
+ })
455
+ })
456
+ })
457
+ },
458
+ loadpage(){
459
+ this.select_search()
460
+ this.select_street()
461
+ this.Mreadibook()
462
+ this.getSliceArea()
463
+ },
464
+ cancel(){
465
+ this.showCondtion=false
466
+ this.excelUserCondtion=false
467
+ },
468
+ //清空用户编号
469
+ clearUserInfoId(){
470
+ this.uploadCodeCondition=''
471
+ Vue.showMessage("已清空用户编号")
472
+ },
473
+ showUploadCodeCondition(){
474
+ this.excelUserCondtion=true
475
+ },
476
+ selfSearch (args) {
477
+ //tag)
478
+ args.condition += ` and ui.f_filialeid='${this.userlogin.orgid}'`
479
+
480
+ if (args.model.f_last_check_state == '未检') {
481
+ let nocheckcon = 'and ( ui.f_last_check_date is null '
482
+ if(args.model.f_start_time){
483
+ nocheckcon += ` or ui.f_last_check_date <='${args.model.f_start_time} 00:00:00' `
484
+ }
485
+ if(args.model.f_end_time){
486
+ nocheckcon += ` or ui.f_last_check_date >='${args.model.f_end_time} 23:59:59' `
487
+ }
488
+ nocheckcon += ')'
489
+ args.condition += nocheckcon
490
+ }else{
491
+ if(args.model.f_last_check_state){
492
+ args.condition += ` and ui.f_last_check_state = '${args.model.f_last_check_state}'`
493
+ }
494
+ if(args.model.f_start_time){
495
+ args.condition += ` and ui.f_last_check_date >='${args.model.f_start_time} 00:00:00' `
496
+ }
497
+ if(args.model.f_end_time){
498
+ args.condition += ` and ui.f_last_check_date <='${args.model.f_end_time} 23:59:59' `
499
+ }
500
+ }
501
+
502
+ if(args.model.checkBook){
503
+ let arr=args.model.checkBook.split('-')
504
+ if(arr[1] == '用户'){
505
+ args.condition +=` and ua.f_check_book_id='${arr[0]}'`
506
+ }else{
507
+ args.condition +=` and area.f_check_book_id=${arr[0]} and ua.f_check_book_id is null`
508
+ }
509
+ }
510
+ if(this.uploadCodeCondition){
511
+ args.condition +=` and ${this.uploadCodeCondition}`
512
+ }
513
+ this.cancel()
514
+ this.checkes=[]
515
+ this.checkAll=false
516
+ this.model.search(args.condition, args.model, args.condValue)
517
+ },
518
+ showUserCondition(){
519
+ this.showCondtion=true
520
+ },
521
+ setConList(){
522
+ this.userTypes=this.$appdata.getParam('用户类型') ? [{
523
+ label: '全部',
524
+ value: ''
525
+ }, ...this.$appdata.getParam('用户类型')] : [{label: '全部', value: ''}]
526
+
527
+ this.userStates=this.$appdata.getParam('安检用户状态') ? [{
528
+ label: '全部',
529
+ value: ''
530
+ },...this.$appdata.getParam('安检用户状态')] : [{label: '全部', value: ''}]
531
+ this.gasproperties=this.$appdata.getParam('用气性质') ? [{
532
+ label: '全部',
533
+ value: ''
534
+ }, ...this.$appdata.getParam('用气性质')] : [{label: '全部', value: ''}]
535
+ this.meter_classifys=this.$appdata.getParam('气表类型') ? [{
536
+ label: '全部',
537
+ value: ''
538
+ }, ...this.$appdata.getParam('气表类型')] : [{label: '全部', value: ''}]
539
+ },
540
+ select_search(text){
541
+ //tag
542
+ let pcdText=text?` and f_residential_area like '%${text}%'`:''
543
+ new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/safe_singleTable_OrderBy`, {data:{items:"*",tablename:"t_area",orderitem:"id",condition:`f_orgid = '${this.userlogin.orgid}' ${pcdText} `}}, {resolveMsg: null, rejectMsg: null}).then((res)=>{
544
+ //tag)
545
+ if(res.data.length>0){
546
+ this.areaList=[]
547
+ this.areaList.push({label:"全部",value:""})
548
+ res.data.forEach((result)=>{
549
+ this.areaList.push({label:result.f_residential_area,value:result.f_residential_area})
550
+ })
551
+ }
552
+ //tag)
553
+ })
554
+ },
555
+ select_book(text){
556
+ //tag
557
+ let pcdText=text?` and f_check_book_name like '%${text}%'`:''
558
+ new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/safe_singleTable_OrderBy`, {data:{items:"*",tablename:"t_check_book",orderitem:"id",condition:`f_orgid = '${this.userlogin.orgid}' ${pcdText} `}}, {resolveMsg: null, rejectMsg: null}).then((res)=>{
559
+ //tag)
560
+ if(res.data.length>0){
561
+ this.checkBooks = []
562
+ res.data.forEach((result)=>{
563
+ this.checkBooks.push({label:result.f_check_book_name,value:result.id})
564
+ })
565
+ }
566
+ //tag)
567
+ })
568
+ },
569
+ select_street(){
570
+ //tag
571
+ new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/api/af-safecheck/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)=>{
572
+ //tag)
573
+ if(res.data.length>0){
574
+ this.streets=[]
575
+ this.streets.push({label:"全部",value:""})
576
+ res.data.forEach((result)=>{
577
+ this.streets.push({label:result.f_street,value:result.id})
578
+ })
579
+ }
580
+ })
581
+ },
582
+ //获取安检册
583
+ async Mreadibook(){
584
+ this.cbc=[]
585
+ this.sliceArea=[]
586
+ let http = new HttpResetClass()
587
+ let getMeterReadingBooks = await http.load('POST','api/af-safecheck/logic/getMeterBooksData',
588
+ {data: {f_orgid: "('"+this.userlogin.orgid+"')"}},
589
+ {resolveMsg: null, rejectMsg: '获取失败!!!'})
590
+ this.cbc = [{label: '全部', value: ''}]
591
+ //tag
592
+ //tag)
593
+ //tag
594
+ this.meterbooks=[]
595
+ this.meterbooks=getMeterReadingBooks.data.meterbooks
596
+ this.meterbooks.forEach((res) => {
597
+ this.cbc.push({label: res.f_book_name, value: res.id})
598
+ /*if(res.f_book_slice_area){
599
+ if(this.sliceArea.indexOf(res.f_book_slice_area)<0){
600
+ this.sliceArea.push(res.f_book_slice_area)
601
+ }
602
+ }*/
603
+ })
604
+
605
+ },
606
+ //片区获取
607
+ async getSliceArea() {
608
+ let http = new HttpResetClass()
609
+ let getAllArea = await http.load('POST', '/rs/search', {
610
+ source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
611
+ userid: this.userlogin.id
612
+ }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
613
+ this.sliceArea = [{label: '全部', value: ''}]
614
+ //tag
615
+ //tag
616
+ //tag
617
+ getAllArea.data.forEach((res) => {
618
+ if(res.parentid==this.userlogin.orgid){
619
+ this.sliceArea.push({label:res.name,value:res.name})
620
+ }
621
+ })
622
+ //tag
623
+ },
624
+ //片区改变-对应安检册下拉重新赋值
625
+ slice_areaChange(value) {
626
+ //tag
627
+ if(!value){
628
+ this.cbc=[]
629
+ this.meterbooks.forEach((res) => {
630
+ this.cbc.push({label: res.f_book_name, value: res.id})
631
+ })
632
+ }else{
633
+ this.cbc=[]
634
+ this.meterbooks.forEach((res) => {
635
+ if(res.f_book_slice_area==value){
636
+ this.cbc.push({label: res.f_book_name, value: res.id})
637
+ }
638
+ })
639
+ }
640
+ },
641
+ isChecked(v) {
642
+ // 如果全选,不在的按选中算,否则,在的按选中算
643
+ if (this.checkAll) {
644
+ return this.checkes.indexOf(v) == -1
645
+ } else {
646
+ return this.checkes.indexOf(v) != -1
647
+ }
648
+ },
649
+ setCheckAll() {
650
+ this.checkAll=this.checkAll?false:true;
651
+ // 全选改变后,清空选中数据
652
+ this.checkes = []
653
+ },
654
+ setCheckes(id) {
655
+ let index=this.checkes.indexOf(id)
656
+ if(index<0){
657
+ this.checkes.push(id)
658
+ }else{
659
+ this.checkes.splice(index,1)
660
+ }
661
+ },
662
+ //将客户信息拖至计划中
663
+ async dragtoPlanItem() {
664
+ if(this.model.rows.length==0){
665
+ Vue.showMessage("未检测到列表中有用户!")
666
+ return
667
+ }
668
+ if(!this.checkAll && this.checkes.length==0){
669
+ Vue.showMessage("请先勾选你要添入到上方计划中的用户!")
670
+ return
671
+ }
672
+ if(this.selectplan && this.selectplan.id){
673
+ this.$parent.isSend=true
674
+ try{
675
+ let res=await new HttpResetClass().load("POST", "/api/af-safecheck/logic/AddCheckPlanItem", {
676
+ data:{
677
+ f_operator:this.userlogin.name,
678
+ f_plan_id:this.selectplan.id,
679
+ f_safecheck_type:this.selectplan.f_safecheck_type,
680
+ f_filialeid:this.userlogin.orgid,
681
+ f_subscribe_date:'',
682
+ condition:this.model.condition,
683
+ switchCheckAll:true,
684
+ checkAll:this.checkAll,
685
+ param:this.checkes,
686
+ columnName: "ua.id"
687
+ }
688
+ }, {resolveMsg: null, rejectMsg: null})
689
+ //tag+"---"+res.data.result.length)
690
+ this.$parent.isSend=false
691
+ if(res.data.code==200){
692
+ //alert("添加成功!有"+res.data.result.length+"条用户地址已经存在于其他计划中: \n"+res.data.result.reduce((c,v)=>{c += v.f_user_name+":"+v.f_address+"\n"}),0)
693
+ this.$showMessage("添加成功!"+(res.data.result.length>0?"有"+res.data.result.length+"条用户地址已经存在于其他计划中":""))
694
+ this.$parent.refresh()
695
+ }else{
696
+ this.$showMessage("添加失败!")
697
+ }
698
+ }catch (e) {
699
+ this.$showMessage("添加失败!")
700
+ }
701
+ }else{
702
+ this.$parent.isSend=false
703
+ this.$showMessage("请先打开一个计划再进行操作")
704
+ }
705
+ }
706
+ },
707
+ events: {
708
+ onFileUpload: function (file, res) {
709
+ //tag)
710
+ //tag)
711
+ let data = {
712
+ filepath: res.f_downloadpath
713
+ }
714
+ new HttpResetClass().load('POST','/api/af-safecheck/logic/safe_GetUserInfoFromExcel', {data: data}, {
715
+ resolveMsg: '导入成功!已生成条件,若要去除导入条件请点击旁边 ‘清空用户编号’ 按钮。',
716
+ rejectMsg: '导入失败'
717
+ }).then((res) => {
718
+ this.uploadCodeCondition=res.data.condition
719
+ this.excelUserCondtion = false
720
+ })
721
+ },
722
+
723
+ }
724
+ }
725
+ </script>
726
+
727
+ <style scoped>
728
+ .safe-planfont{
729
+ font-family: MicrosoftYaHei;
730
+ font-size: 15px;
731
+ font-weight: normal;
732
+ font-stretch: normal;
733
+ letter-spacing: 2px;
734
+ color: #333333;
735
+ line-height: 25px;
736
+ }
737
+ .safe-bodyfont{
738
+ font-family: MicrosoftYaHei;
739
+ font-size: 14px;
740
+ font-weight: normal;
741
+ font-stretch: normal;
742
+ letter-spacing: 0px;
743
+ color: #999999;
744
+ line-height: 30px;
745
+ }
746
+ .safe-leftplan{
747
+ height:auto;
748
+ border-bottom:1px solid #ececec;
749
+ padding: 10px 5px
750
+ }
751
+ .leftplan-center{
752
+ border-top:1px solid #ececec;
753
+ border-bottom:1px solid #ececec;
754
+ }
755
+ .safe_p{
756
+ white-space: nowrap;
757
+ overflow: hidden;
758
+ text-overflow: ellipsis;
759
+ }
760
+ .safe-div-p{
761
+ color: #4792de;
762
+ text-align: end;
763
+ padding: 8px 15px;
764
+ }
765
+ </style>
766
+ <style lang="less">
767
+ .upuserinfo_sel ul{
768
+ width: 300% !important;
769
+ }
770
+ </style>