safecheck-client 4.0.1-5 → 4.0.1-6

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